@angular-devkit/build-angular 17.3.8 → 17.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@angular-devkit/build-angular",
3
- "version": "17.3.8",
3
+ "version": "17.3.9",
4
4
  "description": "Angular Webpack Build Facade",
5
5
  "main": "src/index.js",
6
6
  "typings": "src/index.d.ts",
7
7
  "builders": "builders.json",
8
8
  "dependencies": {
9
9
  "@ampproject/remapping": "2.3.0",
10
- "@angular-devkit/architect": "0.1703.8",
11
- "@angular-devkit/build-webpack": "0.1703.8",
12
- "@angular-devkit/core": "17.3.8",
10
+ "@angular-devkit/architect": "0.1703.9",
11
+ "@angular-devkit/build-webpack": "0.1703.9",
12
+ "@angular-devkit/core": "17.3.9",
13
13
  "@babel/core": "7.24.0",
14
14
  "@babel/generator": "7.23.6",
15
15
  "@babel/helper-annotate-as-pure": "7.22.5",
@@ -20,7 +20,7 @@
20
20
  "@babel/preset-env": "7.24.0",
21
21
  "@babel/runtime": "7.24.0",
22
22
  "@discoveryjs/json-ext": "0.5.7",
23
- "@ngtools/webpack": "17.3.8",
23
+ "@ngtools/webpack": "17.3.9",
24
24
  "@vitejs/plugin-basic-ssl": "1.1.0",
25
25
  "ansi-colors": "4.1.3",
26
26
  "autoprefixer": "10.4.18",
@@ -64,7 +64,7 @@
64
64
  "undici": "6.11.1",
65
65
  "vite": "5.1.7",
66
66
  "watchpack": "2.4.0",
67
- "webpack": "5.90.3",
67
+ "webpack": "5.94.0",
68
68
  "webpack-dev-middleware": "6.1.2",
69
69
  "webpack-dev-server": "4.15.1",
70
70
  "webpack-merge": "5.10.0",
@@ -89,6 +89,11 @@ function execute(options, context, transforms = {}) {
89
89
  ? {}
90
90
  : getBuiltInKarmaConfig(context.workspaceRoot, projectName);
91
91
  karmaOptions.singleRun = singleRun;
92
+ // Workaround https://github.com/angular/angular-cli/issues/28271, by clearing context by default
93
+ // for single run executions. Not clearing context for multi-run (watched) builds allows the
94
+ // Jasmine Spec Runner to be visible in the browser after test execution.
95
+ karmaOptions.client ??= {};
96
+ karmaOptions.client.clearContext ??= singleRun ?? false; // `singleRun` defaults to `false` per Karma docs.
92
97
  // Convert browsers from a string to an array
93
98
  if (typeof options.browsers === 'string' && options.browsers) {
94
99
  karmaOptions.browsers = options.browsers.split(',');
@@ -171,9 +176,6 @@ function getBuiltInKarmaConfig(workspaceRoot, projectName) {
171
176
  'karma-coverage',
172
177
  '@angular-devkit/build-angular/plugins/karma',
173
178
  ].map((p) => workspaceRootRequire(p)),
174
- client: {
175
- clearContext: false, // leave Jasmine Spec Runner output visible in browser
176
- },
177
179
  jasmineHtmlReporter: {
178
180
  suppressAll: true, // removes the duplicated traces
179
181
  },
@@ -51,7 +51,7 @@ class BuilderWatchFileSystem {
51
51
  const directoryChanges = new Set();
52
52
  const missingChanges = new Set();
53
53
  for (const event of events) {
54
- this.inputFileSystem.purge?.(event.path);
54
+ this.inputFileSystem?.purge?.(event.path);
55
55
  if (event.type === 'deleted') {
56
56
  timeInfo.delete(event.path);
57
57
  removals.add(event.path);
@@ -70,7 +70,7 @@ class BuilderWatchFileSystem {
70
70
  }
71
71
  }
72
72
  const timeInfoMap = new Map(timeInfo);
73
- callback(undefined, timeInfoMap, timeInfoMap, new Set([...fileChanges, ...directoryChanges, ...missingChanges]), removals);
73
+ callback(null, timeInfoMap, timeInfoMap, new Set([...fileChanges, ...directoryChanges, ...missingChanges]), removals);
74
74
  });
75
75
  });
76
76
  return {
@@ -34,7 +34,7 @@ class StylesWebpackPlugin {
34
34
  preferRelative: true,
35
35
  useSyncFileSystemCalls: true,
36
36
  symlinks: !preserveSymlinks,
37
- fileSystem: compiler.inputFileSystem,
37
+ fileSystem: compiler.inputFileSystem ?? undefined,
38
38
  });
39
39
  const webpackOptions = compiler.options;
40
40
  compiler.hooks.environment.tap(PLUGIN_NAME, () => {