@angular/build 21.0.0-rc.0 → 21.0.0-rc.2

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.
Files changed (56) hide show
  1. package/package.json +10 -9
  2. package/src/builders/application/chunk-optimizer.js +0 -1
  3. package/src/builders/application/chunk-optimizer.js.map +1 -1
  4. package/src/builders/application/schema.d.ts +6 -6
  5. package/src/builders/application/schema.js +3 -3
  6. package/src/builders/application/schema.json +1 -1
  7. package/src/builders/dev-server/vite/index.js +8 -28
  8. package/src/builders/dev-server/vite/index.js.map +1 -1
  9. package/src/builders/dev-server/vite/server.js +7 -2
  10. package/src/builders/dev-server/vite/server.js.map +1 -1
  11. package/src/builders/karma/find-tests.d.ts +2 -1
  12. package/src/builders/karma/find-tests.js +12 -4
  13. package/src/builders/karma/find-tests.js.map +1 -1
  14. package/src/builders/unit-test/builder.js +6 -0
  15. package/src/builders/unit-test/builder.js.map +1 -1
  16. package/src/builders/unit-test/runners/vitest/browser-provider.js +11 -3
  17. package/src/builders/unit-test/runners/vitest/browser-provider.js.map +1 -1
  18. package/src/builders/unit-test/runners/vitest/build-options.js +24 -16
  19. package/src/builders/unit-test/runners/vitest/build-options.js.map +1 -1
  20. package/src/builders/unit-test/runners/vitest/executor.d.ts +1 -0
  21. package/src/builders/unit-test/runners/vitest/executor.js +34 -69
  22. package/src/builders/unit-test/runners/vitest/executor.js.map +1 -1
  23. package/src/builders/unit-test/runners/vitest/index.js +12 -3
  24. package/src/builders/unit-test/runners/vitest/index.js.map +1 -1
  25. package/src/builders/unit-test/runners/vitest/plugins.d.ts +14 -5
  26. package/src/builders/unit-test/runners/vitest/plugins.js +238 -114
  27. package/src/builders/unit-test/runners/vitest/plugins.js.map +1 -1
  28. package/src/builders/unit-test/test-discovery.js +42 -17
  29. package/src/builders/unit-test/test-discovery.js.map +1 -1
  30. package/src/private.d.ts +2 -0
  31. package/src/private.js +5 -1
  32. package/src/private.js.map +1 -1
  33. package/src/tools/angular/compilation/angular-compilation.d.ts +1 -0
  34. package/src/tools/angular/compilation/angular-compilation.js.map +1 -1
  35. package/src/tools/angular/compilation/aot-compilation.d.ts +1 -0
  36. package/src/tools/angular/compilation/aot-compilation.js +3 -0
  37. package/src/tools/angular/compilation/aot-compilation.js.map +1 -1
  38. package/src/tools/angular/compilation/parallel-worker.d.ts +1 -0
  39. package/src/tools/angular/compilation/parallel-worker.js +2 -1
  40. package/src/tools/angular/compilation/parallel-worker.js.map +1 -1
  41. package/src/tools/esbuild/angular/compiler-plugin.js +2 -2
  42. package/src/tools/esbuild/application-code-bundle.js +5 -3
  43. package/src/tools/esbuild/application-code-bundle.js.map +1 -1
  44. package/src/tools/esbuild/i18n-inliner.js +2 -2
  45. package/src/tools/esbuild/lmdb-cache-store.d.ts +1 -1
  46. package/src/tools/esbuild/lmdb-cache-store.js +3 -3
  47. package/src/tools/vite/plugins/index.d.ts +1 -0
  48. package/src/tools/vite/plugins/index.js +3 -1
  49. package/src/tools/vite/plugins/index.js.map +1 -1
  50. package/src/tools/vite/plugins/ssr-ssl-plugin.d.ts +9 -0
  51. package/src/tools/vite/plugins/ssr-ssl-plugin.js +71 -0
  52. package/src/tools/vite/plugins/ssr-ssl-plugin.js.map +1 -0
  53. package/src/tools/vite/utils.d.ts +13 -0
  54. package/src/tools/vite/utils.js +39 -0
  55. package/src/tools/vite/utils.js.map +1 -1
  56. package/src/utils/normalize-cache.js +1 -1
@@ -46,9 +46,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
46
46
  exports.VitestExecutor = void 0;
47
47
  const node_assert_1 = __importDefault(require("node:assert"));
48
48
  const node_path_1 = __importDefault(require("node:path"));
49
- const picomatch_1 = require("picomatch");
49
+ const utils_1 = require("../../../../tools/vite/utils");
50
50
  const error_1 = require("../../../../utils/error");
51
- const path_1 = require("../../../../utils/path");
52
51
  const results_1 = require("../../../application/results");
53
52
  const browser_provider_1 = require("./browser-provider");
54
53
  const configuration_1 = require("./configuration");
@@ -59,6 +58,12 @@ class VitestExecutor {
59
58
  projectName;
60
59
  options;
61
60
  buildResultFiles = new Map();
61
+ externalMetadata = {
62
+ implicitBrowser: [],
63
+ implicitServer: [],
64
+ explicitBrowser: [],
65
+ explicitServer: [],
66
+ };
62
67
  // This is a reverse map of the entry points created in `build-options.ts`.
63
68
  // It is used by the in-memory provider plugin to map the requested test file
64
69
  // path back to its bundled output path.
@@ -91,6 +96,7 @@ class VitestExecutor {
91
96
  this.buildResultFiles.set(this.normalizePath(path), file);
92
97
  }
93
98
  }
99
+ (0, utils_1.updateExternalMetadata)(buildResult, this.externalMetadata, undefined, true);
94
100
  // Initialize Vitest if not already present.
95
101
  this.vitest ??= await this.initializeVitest();
96
102
  const vitest = this.vitest;
@@ -105,7 +111,7 @@ class VitestExecutor {
105
111
  if (source) {
106
112
  modifiedSourceFiles.add(source);
107
113
  }
108
- vitest.invalidateFile((0, path_1.toPosixPath)(node_path_1.default.join(this.options.workspaceRoot, modifiedFile)));
114
+ vitest.invalidateFile(this.normalizePath(node_path_1.default.join(this.options.workspaceRoot, modifiedFile)));
109
115
  }
110
116
  const specsToRerun = [];
111
117
  for (const file of modifiedSourceFiles) {
@@ -138,10 +144,9 @@ class VitestExecutor {
138
144
  }
139
145
  async initializeVitest() {
140
146
  const { coverage, reporters, outputFile, workspaceRoot, browsers, debug, watch, browserViewport, ui, } = this.options;
147
+ const projectName = this.projectName;
141
148
  let vitestNodeModule;
142
- let vitestCoverageModule;
143
149
  try {
144
- vitestCoverageModule = await Promise.resolve().then(() => __importStar(require('vitest/coverage')));
145
150
  vitestNodeModule = await Promise.resolve().then(() => __importStar(require('vitest/node')));
146
151
  }
147
152
  catch (error) {
@@ -152,21 +157,6 @@ class VitestExecutor {
152
157
  throw new Error('The `vitest` package was not found. Please install the package and rerun the test command.');
153
158
  }
154
159
  const { startVitest } = vitestNodeModule;
155
- // Augment BaseCoverageProvider to include logic to support the built virtual files.
156
- // Temporary workaround to avoid the direct filesystem checks in the base provider that
157
- // were introduced in v4. Also ensures that all built virtual files are available.
158
- const builtVirtualFiles = this.buildResultFiles;
159
- vitestCoverageModule.BaseCoverageProvider.prototype.isIncluded = function (filename) {
160
- const relativeFilename = node_path_1.default.relative(workspaceRoot, filename);
161
- if (!this.options.include || builtVirtualFiles.has(relativeFilename)) {
162
- return !(0, picomatch_1.isMatch)(relativeFilename, this.options.exclude);
163
- }
164
- else {
165
- return (0, picomatch_1.isMatch)(relativeFilename, this.options.include, {
166
- ignore: this.options.exclude,
167
- });
168
- }
169
- };
170
160
  // Setup vitest browser options if configured
171
161
  const browserOptions = await (0, browser_provider_1.setupBrowserConfiguration)(browsers, debug, this.options.projectSourceRoot, browserViewport);
172
162
  if (browserOptions.errors?.length) {
@@ -174,12 +164,10 @@ class VitestExecutor {
174
164
  }
175
165
  (0, node_assert_1.default)(this.buildResultFiles.size > 0, 'buildResult must be available before initializing vitest');
176
166
  const testSetupFiles = this.prepareSetupFiles();
177
- const plugins = (0, plugins_1.createVitestPlugins)(this.options, testSetupFiles, browserOptions, {
167
+ const projectPlugins = (0, plugins_1.createVitestPlugins)({
178
168
  workspaceRoot,
179
169
  projectSourceRoot: this.options.projectSourceRoot,
180
- projectName: this.projectName,
181
- include: this.options.include,
182
- exclude: this.options.exclude,
170
+ projectName,
183
171
  buildResultFiles: this.buildResultFiles,
184
172
  testFileToEntryPoint: this.testFileToEntryPoint,
185
173
  });
@@ -191,64 +179,41 @@ class VitestExecutor {
191
179
  }
192
180
  : {};
193
181
  const runnerConfig = this.options.runnerConfig;
182
+ const externalConfigPath = runnerConfig === true
183
+ ? await (0, configuration_1.findVitestBaseConfig)([this.options.projectRoot, this.options.workspaceRoot])
184
+ : runnerConfig;
194
185
  return startVitest('test', undefined, {
195
- config: runnerConfig === true
196
- ? await (0, configuration_1.findVitestBaseConfig)([this.options.projectRoot, this.options.workspaceRoot])
197
- : runnerConfig,
186
+ config: externalConfigPath,
198
187
  root: workspaceRoot,
199
- project: ['base', this.projectName],
200
- name: 'base',
201
- include: [],
188
+ project: projectName,
189
+ outputFile,
202
190
  testNamePattern: this.options.filter,
203
191
  watch,
204
192
  ui,
193
+ ...debugOptions,
205
194
  }, {
206
- test: {
207
- coverage: await generateCoverageOption(coverage, this.projectName),
208
- outputFile,
209
- ...debugOptions,
210
- ...(reporters ? { reporters } : {}),
211
- },
212
195
  server: {
213
196
  // Disable the actual file watcher. The boolean watch option above should still
214
197
  // be enabled as it controls other internal behavior related to rerunning tests.
215
198
  watch: null,
216
199
  },
217
- plugins,
200
+ plugins: [
201
+ await (0, plugins_1.createVitestConfigPlugin)({
202
+ browser: browserOptions.browser,
203
+ coverage,
204
+ projectName,
205
+ projectSourceRoot: this.options.projectSourceRoot,
206
+ optimizeDepsInclude: this.externalMetadata.explicitBrowser,
207
+ reporters,
208
+ setupFiles: testSetupFiles,
209
+ projectPlugins,
210
+ include: [...this.testFileToEntryPoint.keys()].filter(
211
+ // Filter internal entries
212
+ (entry) => !entry.startsWith('angular:')),
213
+ }),
214
+ ],
218
215
  });
219
216
  }
220
217
  }
221
218
  exports.VitestExecutor = VitestExecutor;
222
- async function generateCoverageOption(coverage, projectName) {
223
- let defaultExcludes = [];
224
- if (coverage.exclude) {
225
- try {
226
- const vitestConfig = await Promise.resolve().then(() => __importStar(require('vitest/config')));
227
- defaultExcludes = vitestConfig.coverageConfigDefaults.exclude;
228
- }
229
- catch { }
230
- }
231
- return {
232
- enabled: coverage.enabled,
233
- excludeAfterRemap: true,
234
- include: coverage.include,
235
- reportsDirectory: (0, path_1.toPosixPath)(node_path_1.default.join('coverage', projectName)),
236
- thresholds: coverage.thresholds,
237
- watermarks: coverage.watermarks,
238
- // Special handling for `exclude`/`reporters` due to an undefined value causing upstream failures
239
- ...(coverage.exclude
240
- ? {
241
- exclude: [
242
- // Augment the default exclude https://vitest.dev/config/#coverage-exclude
243
- // with the user defined exclusions
244
- ...coverage.exclude,
245
- ...defaultExcludes,
246
- ],
247
- }
248
- : {}),
249
- ...(coverage.reporters
250
- ? { reporter: coverage.reporters }
251
- : {}),
252
- };
253
- }
254
219
  //# sourceMappingURL=executor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["executor.ts"],"names":[],"mappings":"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"}
@@ -23,11 +23,17 @@ const VitestTestRunner = {
23
23
  const checker = new dependency_checker_1.DependencyChecker(options.projectSourceRoot);
24
24
  checker.check('vitest');
25
25
  if (options.browsers?.length) {
26
- checker.checkAny(['playwright', 'webdriverio'], 'The "browsers" option requires either "playwright" or "webdriverio" to be installed.');
26
+ if (process.versions.webcontainer) {
27
+ checker.check('@vitest/browser-preview');
28
+ }
29
+ else {
30
+ checker.checkAny(['@vitest/browser-playwright', '@vitest/browser-webdriverio', '@vitest/browser-preview'], 'The "browsers" option requires either ' +
31
+ '"@vitest/browser-playwright", "@vitest/browser-webdriverio", or "@vitest/browser-preview" to be installed.');
32
+ }
27
33
  }
28
34
  else {
29
- // JSDOM is used when no browsers are specified
30
- checker.check('jsdom');
35
+ // DOM emulation is used when no browsers are specified
36
+ checker.checkAny(['jsdom', 'happy-dom'], 'A DOM environment is required for non-browser tests. Please install either "jsdom" or "happy-dom".');
31
37
  }
32
38
  if (options.coverage.enabled) {
33
39
  checker.check('@vitest/coverage-v8');
@@ -40,6 +46,9 @@ const VitestTestRunner = {
40
46
  async createExecutor(context, options, testEntryPointMappings) {
41
47
  const projectName = context.target?.project;
42
48
  (0, node_assert_1.default)(projectName, 'The builder requires a target.');
49
+ if (!!process.versions.webcontainer && options.browsers?.length) {
50
+ context.logger.info(`Webcontainer environment detected. Using '@vitest/browser-preview' for browser-based tests.`);
51
+ }
43
52
  if (typeof options.runnerConfig === 'string') {
44
53
  context.logger.info(`Using Vitest configuration file: ${options.runnerConfig}`);
45
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAEH,8DAAiC;AAEjC,8DAA0D;AAC1D,mDAAwD;AACxD,yCAA4C;AAE5C;;GAEG;AACH,MAAM,gBAAgB,GAAe;IACnC,IAAI,EAAE,QAAQ;IAEd,oBAAoB,CAAC,OAAO;QAC1B,MAAM,OAAO,GAAG,IAAI,sCAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAExB,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,QAAQ,CACd,CAAC,YAAY,EAAE,aAAa,CAAC,EAC7B,sFAAsF,CACvF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,+CAA+C;YAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,CAAC,MAAM,EAAE,CAAC;IACnB,CAAC;IAED,eAAe,CAAC,OAAO,EAAE,gBAAgB;QACvC,OAAO,IAAA,qCAAqB,EAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,sBAAsB;QAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;QAC5C,IAAA,qBAAM,EAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC;QAEtD,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QAClF,CAAC;aAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,IAAI,yBAAc,CAAC,WAAW,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;IAC1E,CAAC;CACF,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAEH,8DAAiC;AAEjC,8DAA0D;AAC1D,mDAAwD;AACxD,yCAA4C;AAE5C;;GAEG;AACH,MAAM,gBAAgB,GAAe;IACnC,IAAI,EAAE,QAAQ;IAEd,oBAAoB,CAAC,OAAO;QAC1B,MAAM,OAAO,GAAG,IAAI,sCAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAExB,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAClC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,QAAQ,CACd,CAAC,4BAA4B,EAAE,6BAA6B,EAAE,yBAAyB,CAAC,EACxF,wCAAwC;oBACtC,4GAA4G,CAC/G,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,uDAAuD;YACvD,OAAO,CAAC,QAAQ,CACd,CAAC,OAAO,EAAE,WAAW,CAAC,EACtB,oGAAoG,CACrG,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,CAAC,MAAM,EAAE,CAAC;IACnB,CAAC;IAED,eAAe,CAAC,OAAO,EAAE,gBAAgB;QACvC,OAAO,IAAA,qCAAqB,EAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,sBAAsB;QAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;QAC5C,IAAA,qBAAM,EAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC;QAEtD,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YAChE,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,6FAA6F,CAC9F,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QAClF,CAAC;aAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,IAAI,yBAAc,CAAC,WAAW,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;IAC1E,CAAC;CACF,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
@@ -5,19 +5,28 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
- import type { VitestPlugin } from 'vitest/node';
8
+ import type { BrowserConfigOptions, UserWorkspaceConfig, VitestPlugin } from 'vitest/node';
9
9
  import type { ResultFile } from '../../../application/results';
10
10
  import type { NormalizedUnitTestBuilderOptions } from '../../options';
11
- import type { BrowserConfiguration } from './browser-provider';
12
11
  type VitestPlugins = Awaited<ReturnType<typeof VitestPlugin>>;
13
12
  interface PluginOptions {
14
13
  workspaceRoot: string;
15
14
  projectSourceRoot: string;
16
15
  projectName: string;
17
- include?: string[];
18
- exclude?: string[];
19
16
  buildResultFiles: ReadonlyMap<string, ResultFile>;
20
17
  testFileToEntryPoint: ReadonlyMap<string, string>;
21
18
  }
22
- export declare function createVitestPlugins(options: NormalizedUnitTestBuilderOptions, testSetupFiles: string[], browserOptions: BrowserConfiguration, pluginOptions: PluginOptions): VitestPlugins;
19
+ interface VitestConfigPluginOptions {
20
+ browser: BrowserConfigOptions | undefined;
21
+ coverage: NormalizedUnitTestBuilderOptions['coverage'];
22
+ projectName: string;
23
+ projectSourceRoot: string;
24
+ reporters?: string[] | [string, object][];
25
+ setupFiles: string[];
26
+ projectPlugins: Exclude<UserWorkspaceConfig['plugins'], undefined>;
27
+ include: string[];
28
+ optimizeDepsInclude: string[];
29
+ }
30
+ export declare function createVitestConfigPlugin(options: VitestConfigPluginOptions): Promise<VitestPlugins[0]>;
31
+ export declare function createVitestPlugins(pluginOptions: PluginOptions): VitestPlugins;
23
32
  export {};