Skip to content

Commit 23be765

Browse files
authored
Adds cacheNames.prefix and suffix (#2001)
1 parent bb78e35 commit 23be765

File tree

4 files changed

+28
-3
lines changed

4 files changed

+28
-3
lines changed

packages/workbox-core/_private/cacheNames.mjs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,13 @@ export const cacheNames = {
3737
getPrecacheName: (userCacheName) => {
3838
return userCacheName || _createCacheName(_cacheNameDetails.precache);
3939
},
40+
getPrefix: () => {
41+
return _cacheNameDetails.prefix;
42+
},
4043
getRuntimeName: (userCacheName) => {
4144
return userCacheName || _createCacheName(_cacheNameDetails.runtime);
4245
},
46+
getSuffix: () => {
47+
return _cacheNameDetails.suffix;
48+
},
4349
};

packages/workbox-core/cacheNames.mjs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,17 @@ import './_version.mjs';
1111

1212

1313
/**
14-
* Get the current cache names used by Workbox.
14+
* Get the current cache names and prefix/suffix used by Workbox.
1515
*
1616
* `cacheNames.precache` is used for precached assets,
1717
* `cacheNames.googleAnalytics` is used by `workbox-google-analytics` to
1818
* store `analytics.js`, and `cacheNames.runtime` is used for everything else.
1919
*
20-
* @return {Object} An object with `precache`, `runtime`, and
21-
* `googleAnalytics` cache names.
20+
* `cacheNames.prefix` can be used to retrieve just the current prefix value.
21+
* `cacheNames.suffix` can be used to retrieve just the current suffix value.
22+
*
23+
* @return {Object} An object with `precache`, `runtime`, `prefix`, and
24+
* `googleAnalytics` properties.
2225
*
2326
* @alias workbox.core.cacheNames
2427
*/
@@ -29,7 +32,13 @@ export const cacheNames = {
2932
get precache() {
3033
return _cacheNames.getPrecacheName();
3134
},
35+
get prefix() {
36+
return _cacheNames.getPrefix();
37+
},
3238
get runtime() {
3339
return _cacheNames.getRuntimeName();
3440
},
41+
get suffix() {
42+
return _cacheNames.getSuffix();
43+
},
3544
};

test/workbox-core/static/core-in-browser/sw.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ if (!workbox.core.cacheNames.precache) {
1919
if (!workbox.core.cacheNames.runtime) {
2020
throw new Error(`cacheNames.runtime is not defined`);
2121
}
22+
if (!workbox.core.cacheNames.prefix) {
23+
throw new Error(`cacheNames.prefix is not defined`);
24+
}
25+
if (!workbox.core.cacheNames.suffix) {
26+
throw new Error(`cacheNames.suffix is not defined`);
27+
}
2228

2329
if (!workbox.core.setCacheNameDetails) {
2430
throw new Error('setCacheNameDetails() is not defined.');

test/workbox-core/sw/test-cacheNames.mjs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ describe(`cacheNames`, function() {
2828
// Scope be default is '/' from 'service-worker-mock'
2929
expect(cacheNames.precache).to.equal(`workbox-precache-v2-${self.registration.scope}`);
3030
expect(cacheNames.runtime).to.equal(`workbox-runtime-${self.registration.scope}`);
31+
expect(cacheNames.prefix).to.equal('workbox');
32+
expect(cacheNames.suffix).to.equal(self.registration.scope);
3133
});
3234

3335
it('should allow customising the prefix', function() {
@@ -36,6 +38,7 @@ describe(`cacheNames`, function() {
3638
// Scope by default is '/' from 'service-worker-mock'
3739
expect(cacheNames.precache).to.equal(`test-prefix-precache-${self.registration.scope}`);
3840
expect(cacheNames.runtime).to.equal(`test-prefix-runtime-${self.registration.scope}`);
41+
expect(cacheNames.prefix).to.equal('test-prefix');
3942
});
4043

4144
it('should allow customising the suffix', function() {
@@ -44,6 +47,7 @@ describe(`cacheNames`, function() {
4447
// Scope be default is '/' from 'service-worker-mock'
4548
expect(cacheNames.precache).to.equal(`workbox-precache-test-suffix`);
4649
expect(cacheNames.runtime).to.equal(`workbox-runtime-test-suffix`);
50+
expect(cacheNames.suffix).to.equal('test-suffix');
4751
});
4852

4953

0 commit comments

Comments
 (0)