Skip to content

Commit 7c08ab7

Browse files
clydinfilipesilva
authored andcommittedJan 31, 2018
feat(@angular/cli): add scripts plugin webpack 4 support
1 parent 3fda890 commit 7c08ab7

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed
 

Diff for: ‎packages/@angular/cli/plugins/scripts-webpack-plugin.ts

+22-3
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,18 @@ interface ScriptOutput {
2525
source: CachedSource;
2626
}
2727

28+
function addDependencies(compilation: any, scripts: string[]): void {
29+
if (compilation.fileDependencies.add) {
30+
// Webpack 4+ uses a Set
31+
for (const script of scripts) {
32+
compilation.fileDependencies.add(script);
33+
}
34+
} else {
35+
// Webpack 3
36+
compilation.fileDependencies.push(...scripts);
37+
}
38+
}
39+
2840
export class ScriptsWebpackPlugin {
2941
private _lastBuildTime?: number;
3042
private _cachedOutput?: ScriptOutput;
@@ -38,7 +50,14 @@ export class ScriptsWebpackPlugin {
3850
}
3951

4052
for (let i = 0; i < scripts.length; i++) {
41-
const scriptTime = compilation.fileTimestamps[scripts[i]];
53+
let scriptTime;
54+
if (compilation.fileTimestamps.get) {
55+
// Webpack 4+ uses a Map
56+
scriptTime = compilation.fileTimestamps.get(scripts[i]);
57+
} else {
58+
// Webpack 3
59+
scriptTime = compilation.fileTimestamps[scripts[i]];
60+
}
4261
if (!scriptTime || scriptTime > this._lastBuildTime) {
4362
this._lastBuildTime = Date.now();
4463
return false;
@@ -76,8 +95,8 @@ export class ScriptsWebpackPlugin {
7695
if (this._cachedOutput) {
7796
this._insertOutput(compilation, this._cachedOutput, true);
7897
}
79-
compilation.fileDependencies.push(...scripts);
8098

99+
addDependencies(compilation, scripts);
81100
callback();
82101

83102
return;
@@ -129,7 +148,7 @@ export class ScriptsWebpackPlugin {
129148
const output = { filename, source: combinedSource };
130149
this._insertOutput(compilation, output);
131150
this._cachedOutput = output;
132-
compilation.fileDependencies.push(...scripts);
151+
addDependencies(compilation, scripts);
133152

134153
callback();
135154
})

0 commit comments

Comments
 (0)