feat(service-worker): remove deprecated versionedFiles option (#32862)

BREAKING CHANGE:

Remove deprecated option `versionedFiles` from service worker asset group configuration in `ngsw-config.json`

Before
```json
"assetGroups": [
  {
    "name": "test",
    "resources": {
      "versionedFiles": [
        "/**/*.txt"
      ]
    }
  }
]
```

After
```json
"assetGroups": [
  {
    "name": "test",
    "resources": {
      "files": [
        "/**/*.txt"
      ]
    }
  }
]
```

PR Close #32862
This commit is contained in:
Alan Agius
2019-09-26 18:10:28 +02:00
committed by atscott
parent 090732fc2d
commit 5d5c94d83a
6 changed files with 5 additions and 40 deletions

View File

@ -45,26 +45,13 @@ export class Generator {
Promise<Object[]> {
const seenMap = new Set<string>();
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 || []);
const allFiles = await this.fs.list('/');
const plainFiles = allFiles.filter(fileMatcher).filter(file => !seenMap.has(file));
plainFiles.forEach(file => seenMap.add(file));
const versionedFiles = allFiles.filter(versionedMatcher).filter(file => !seenMap.has(file));
versionedFiles.forEach(file => seenMap.add(file));
const matchedFiles = allFiles.filter(fileMatcher).filter(file => !seenMap.has(file)).sort();
matchedFiles.forEach(file => seenMap.add(file));
// Add the hashes.
const matchedFiles = [...plainFiles, ...versionedFiles].sort();
await matchedFiles.reduce(async(previous, file) => {
await previous;
const hash = await this.fs.hash(file);

View File

@ -38,13 +38,7 @@ export interface AssetGroup {
name: string;
installMode?: 'prefetch'|'lazy';
updateMode?: 'prefetch'|'lazy';
resources: {
files?: Glob[];
/** @deprecated As of v6 `versionedFiles` and `files` options have the same behavior. Use
`files` instead. */
versionedFiles?: Glob[];
urls?: Glob[];
};
resources: {files?: Glob[]; urls?: Glob[];};
}
/**

View File

@ -35,8 +35,6 @@ describe('Generator', () => {
'/**/*.html',
'/**/*.?s',
'!/ignored/**',
],
versionedFiles: [
'/**/*.txt',
],
urls: [