diff --git a/aio/content/examples/service-worker-getting-started/src/ngsw-config.json b/aio/content/examples/service-worker-getting-started/src/ngsw-config.json index 8b78a4f893..19133dc879 100755 --- a/aio/content/examples/service-worker-getting-started/src/ngsw-config.json +++ b/aio/content/examples/service-worker-getting-started/src/ngsw-config.json @@ -7,12 +7,9 @@ "resources": { "files": [ "/favicon.ico", - "/index.html" - ], - "versionedFiles": [ - "/*.bundle.css", - "/*.bundle.js", - "/*.chunk.js" + "/index.html", + "/*.css", + "/*.js" ] } }, { @@ -25,4 +22,4 @@ ] } }] -} \ No newline at end of file +} diff --git a/aio/content/guide/service-worker-config.md b/aio/content/guide/service-worker-config.md index 8f7beaeba6..d2293d0e48 100644 --- a/aio/content/guide/service-worker-config.md +++ b/aio/content/guide/service-worker-config.md @@ -70,6 +70,7 @@ interface AssetGroup { updateMode?: 'prefetch' | 'lazy'; resources: { files?: string[]; + /** @deprecated As of v6 `versionedFiles` and `files` options have the same behavior. Use `files` instead. */ versionedFiles?: string[]; urls?: string[]; }; @@ -102,7 +103,7 @@ This section describes the resources to cache, broken up into three groups. * `files` lists patterns that match files in the distribution directory. These can be single files or glob-like patterns that match a number of files. -* `versionedFiles` is like `files` but should be used for build artifacts that already include a hash in the filename, which is used for cache busting. The Angular service worker can optimize some aspects of its operation if it can assume file contents are immutable. +* `versionedFiles` has been deprecated. As of v6 `versionedFiles` and `files` options have the same behavior. Use `files` instead. * `urls` includes both URLs and URL patterns that will be matched at runtime. These resources are not fetched directly and do not have content hashes, but they will be cached according to their HTTP headers. This is most useful for CDNs such as the Google Fonts service.
_(Negative glob patterns are not supported.)_ diff --git a/packages/service-worker/config/src/generator.ts b/packages/service-worker/config/src/generator.ts index 399d733e67..fc9dfb31a6 100644 --- a/packages/service-worker/config/src/generator.ts +++ b/packages/service-worker/config/src/generator.ts @@ -44,6 +44,13 @@ export class Generator { Promise { const seenMap = new Set(); return Promise.all((config.assetGroups || []).map(async(group) => { + if (group.resources.versionedFiles) { + console.warn( + `Asset-group '${group.name}' in 'ngsw-config.json' uses the 'versionedFiles' option.\n` + + 'As of v6 \'versionedFiles\' and \'files\' options have the same behavior. ' + + 'Use \'files\' instead.'); + } + const fileMatcher = globListToMatcher(group.resources.files || []); const versionedMatcher = globListToMatcher(group.resources.versionedFiles || []); diff --git a/packages/service-worker/config/src/in.ts b/packages/service-worker/config/src/in.ts index bf3e27a6c3..0328a53356 100644 --- a/packages/service-worker/config/src/in.ts +++ b/packages/service-worker/config/src/in.ts @@ -38,7 +38,13 @@ export interface AssetGroup { name: string; installMode?: 'prefetch'|'lazy'; updateMode?: 'prefetch'|'lazy'; - resources: {files?: Glob[]; versionedFiles?: Glob[]; urls?: Glob[];}; + resources: { + files?: Glob[]; + /** @deprecated As of v6 `versionedFiles` and `files` options have the same behavior. Use + `files` instead. */ + versionedFiles?: Glob[]; + urls?: Glob[]; + }; } /** diff --git a/tools/public_api_guard/service-worker/config.d.ts b/tools/public_api_guard/service-worker/config.d.ts index f1f664af34..6e68fd291e 100644 --- a/tools/public_api_guard/service-worker/config.d.ts +++ b/tools/public_api_guard/service-worker/config.d.ts @@ -4,7 +4,7 @@ export interface AssetGroup { name: string; resources: { files?: Glob[]; - versionedFiles?: Glob[]; + /** @deprecated */ versionedFiles?: Glob[]; urls?: Glob[]; }; updateMode?: 'prefetch' | 'lazy';