@nx/angular 22.7.1 → 22.7.3

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/angular",
3
- "version": "22.7.1",
3
+ "version": "22.7.3",
4
4
  "private": false,
5
5
  "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, Playwright and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.",
6
6
  "repository": {
@@ -62,15 +62,15 @@
62
62
  "migrations": "./migrations.json"
63
63
  },
64
64
  "dependencies": {
65
- "@nx/devkit": "22.7.1",
66
- "@nx/eslint": "22.7.1",
67
- "@nx/js": "22.7.1",
68
- "@nx/module-federation": "22.7.1",
69
- "@nx/rspack": "22.7.1",
70
- "@nx/web": "22.7.1",
71
- "@nx/webpack": "22.7.1",
72
- "@nx/workspace": "22.7.1",
73
- "@phenomnomnominal/tsquery": "~6.1.4",
65
+ "@nx/devkit": "22.7.3",
66
+ "@nx/eslint": "22.7.3",
67
+ "@nx/js": "22.7.3",
68
+ "@nx/module-federation": "22.7.3",
69
+ "@nx/rspack": "22.7.3",
70
+ "@nx/web": "22.7.3",
71
+ "@nx/webpack": "22.7.3",
72
+ "@nx/workspace": "22.7.3",
73
+ "@phenomnomnominal/tsquery": "~6.2.0",
74
74
  "@typescript-eslint/type-utils": "^8.0.0",
75
75
  "enquirer": "~2.3.6",
76
76
  "magic-string": "~0.30.2",
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/application/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,iBAAiB,EAKjB,IAAI,EAEL,MAAM,YAAY,CAAC;AA2BpB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC,CAsI5B;AAED,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/application/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,iBAAiB,EAKjB,IAAI,EAEL,MAAM,YAAY,CAAC;AA2BpB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC,CAuI5B;AAED,eAAe,oBAAoB,CAAC"}
@@ -45,7 +45,7 @@ async function applicationGenerator(tree, schema) {
45
45
  });
46
46
  }
47
47
  await (0, lib_1.addLinting)(tree, options);
48
- await (0, lib_1.addUnitTestRunner)(tree, options);
48
+ const unitTestRunnerTask = await (0, lib_1.addUnitTestRunner)(tree, options);
49
49
  const e2ePort = await (0, lib_1.addE2e)(tree, options);
50
50
  (0, lib_1.addServeStaticTarget)(tree, options, options.e2eTestRunner !== 'none' ? e2ePort : options.port);
51
51
  (0, lib_1.updateTsconfigFiles)(tree, options);
@@ -111,7 +111,8 @@ async function applicationGenerator(tree, schema) {
111
111
  if (!options.skipFormat) {
112
112
  await (0, devkit_1.formatFiles)(tree);
113
113
  }
114
- return () => {
114
+ return async () => {
115
+ await unitTestRunnerTask();
115
116
  (0, devkit_1.installPackagesTask)(tree);
116
117
  (0, log_show_project_command_1.logShowProjectCommand)(options.name);
117
118
  };
@@ -1,4 +1,4 @@
1
- import type { Tree } from '@nx/devkit';
1
+ import type { GeneratorCallback, Tree } from '@nx/devkit';
2
2
  import type { NormalizedSchema } from './normalized-schema';
3
- export declare function addUnitTestRunner(host: Tree, options: NormalizedSchema): Promise<void>;
3
+ export declare function addUnitTestRunner(host: Tree, options: NormalizedSchema): Promise<GeneratorCallback>;
4
4
  //# sourceMappingURL=add-unit-test-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-unit-test-runner.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/application/lib/add-unit-test-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,iBAgC5E"}
1
+ {"version":3,"file":"add-unit-test-runner.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/application/lib/add-unit-test-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAI1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAgC5B"}
@@ -16,16 +16,15 @@ async function addUnitTestRunner(host, options) {
16
16
  runtimeTsconfigFileName: 'tsconfig.app.json',
17
17
  zoneless: options.zoneless,
18
18
  });
19
- break;
19
+ return () => { };
20
20
  case test_runners_1.UnitTestRunner.VitestAngular:
21
- await (0, add_vitest_1.addVitestAngular)(host, {
21
+ return (0, add_vitest_1.addVitestAngular)(host, {
22
22
  name: options.name,
23
23
  projectRoot: options.appProjectRoot,
24
24
  skipPackageJson: options.skipPackageJson,
25
25
  });
26
- break;
27
26
  case test_runners_1.UnitTestRunner.VitestAnalog:
28
- await (0, add_vitest_1.addVitestAnalog)(host, {
27
+ return (0, add_vitest_1.addVitestAnalog)(host, {
29
28
  name: options.name,
30
29
  projectRoot: options.appProjectRoot,
31
30
  skipFormat: options.skipFormat,
@@ -34,6 +33,7 @@ async function addUnitTestRunner(host, options) {
34
33
  addPlugin: options.addPlugin,
35
34
  zoneless: options.zoneless,
36
35
  });
37
- break;
36
+ default:
37
+ return () => { };
38
38
  }
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/library/library.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,iBAAiB,EAIjB,IAAI,EACL,MAAM,YAAY,CAAC;AAwBpB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC,CAyE5B;AAoED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/library/library.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,iBAAiB,EAIjB,IAAI,EACL,MAAM,YAAY,CAAC;AAwBpB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC,CA4E5B;AAoED,eAAe,gBAAgB,CAAC"}
@@ -44,7 +44,7 @@ async function libraryGenerator(tree, schema) {
44
44
  }
45
45
  const project = await (0, add_project_1.addProject)(tree, libraryOptions);
46
46
  (0, create_files_1.createFiles)(tree, options, project);
47
- await addUnitTestRunner(tree, libraryOptions);
47
+ const unitTestRunnerTask = await addUnitTestRunner(tree, libraryOptions);
48
48
  (0, update_tsconfig_files_1.updateTsConfigFiles)(tree, libraryOptions);
49
49
  updateNpmScopeIfBuildableOrPublishable(tree, libraryOptions);
50
50
  (0, set_generator_defaults_1.setGeneratorDefaults)(tree, options);
@@ -72,7 +72,10 @@ async function libraryGenerator(tree, schema) {
72
72
  if (!libraryOptions.skipFormat) {
73
73
  await (0, devkit_1.formatFiles)(tree);
74
74
  }
75
- const tasks = [() => (0, devkit_1.installPackagesTask)(tree)];
75
+ const tasks = [
76
+ unitTestRunnerTask,
77
+ () => (0, devkit_1.installPackagesTask)(tree),
78
+ ];
76
79
  if (libraryOptions.publishable) {
77
80
  tasks.push(await (0, add_release_config_1.releaseTasks)(tree));
78
81
  }
@@ -91,17 +94,16 @@ async function addUnitTestRunner(host, options) {
91
94
  runtimeTsconfigFileName: 'tsconfig.lib.json',
92
95
  zoneless,
93
96
  });
94
- break;
97
+ return () => { };
95
98
  case test_runners_1.UnitTestRunner.VitestAngular:
96
- await (0, add_vitest_1.addVitestAngular)(host, {
99
+ return (0, add_vitest_1.addVitestAngular)(host, {
97
100
  name: options.name,
98
101
  projectRoot: options.projectRoot,
99
102
  skipPackageJson: options.skipPackageJson,
100
103
  useNxUnitTestRunnerExecutor: true,
101
104
  });
102
- break;
103
105
  case test_runners_1.UnitTestRunner.VitestAnalog:
104
- await (0, add_vitest_1.addVitestAnalog)(host, {
106
+ return (0, add_vitest_1.addVitestAnalog)(host, {
105
107
  name: options.name,
106
108
  projectRoot: options.projectRoot,
107
109
  skipFormat: options.skipFormat,
@@ -109,7 +111,8 @@ async function addUnitTestRunner(host, options) {
109
111
  strict: options.strict,
110
112
  zoneless,
111
113
  });
112
- break;
114
+ default:
115
+ return () => { };
113
116
  }
114
117
  }
115
118
  function updateNpmScopeIfBuildableOrPublishable(host, options) {
@@ -1,4 +1,4 @@
1
- import { type Tree } from '@nx/devkit';
1
+ import { type GeneratorCallback, type Tree } from '@nx/devkit';
2
2
  export type AddVitestAngularOptions = {
3
3
  name: string;
4
4
  projectRoot: string;
@@ -14,6 +14,6 @@ export type AddVitestAnalogOptions = {
14
14
  zoneless: boolean;
15
15
  addPlugin?: boolean;
16
16
  };
17
- export declare function addVitestAngular(tree: Tree, options: AddVitestAngularOptions): Promise<void>;
18
- export declare function addVitestAnalog(tree: Tree, options: AddVitestAnalogOptions): Promise<void>;
17
+ export declare function addVitestAngular(tree: Tree, options: AddVitestAngularOptions): Promise<GeneratorCallback>;
18
+ export declare function addVitestAnalog(tree: Tree, options: AddVitestAnalogOptions): Promise<GeneratorCallback>;
19
19
  //# sourceMappingURL=add-vitest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-vitest.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/utils/add-vitest.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,IAAI,EAKV,MAAM,YAAY,CAAC;AAUpB,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAsCf"}
1
+ {"version":3,"file":"add-vitest.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/utils/add-vitest.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,iBAAiB,EAQtB,KAAK,IAAI,EAKV,MAAM,YAAY,CAAC;AAUpB,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CA4C5B;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,iBAAiB,CAAC,CAuD5B"}
@@ -47,7 +47,7 @@ async function addVitestAngular(tree, options) {
47
47
  : '@angular/build:unit-test';
48
48
  const project = (0, devkit_1.readProjectConfiguration)(tree, options.name);
49
49
  project.targets ??= {};
50
- project.targets.test = { executor, options: {} };
50
+ project.targets.test = { executor, options: { watch: false } };
51
51
  (0, devkit_1.updateProjectConfiguration)(tree, options.name, project);
52
52
  const nxJson = (0, devkit_1.readNxJson)(tree);
53
53
  nxJson.targetDefaults ??= {};
@@ -60,29 +60,36 @@ async function addVitestAngular(tree, options) {
60
60
  (0, devkit_1.updateNxJson)(tree, nxJson);
61
61
  configureTypeScriptForVitest(tree, options.projectRoot);
62
62
  addVitestScreenshotsToGitIgnore(tree);
63
- if (!options.skipPackageJson) {
64
- const pkgVersions = (0, version_utils_1.versions)(tree, { minAngularMajorVersion: 21 });
65
- const angularDevkitVersion = (0, version_utils_1.getInstalledAngularDevkitVersion)(tree) ??
66
- pkgVersions.angularDevkitVersion;
67
- (0, devkit_1.addDependenciesToPackageJson)(tree, {}, {
68
- '@angular/build': angularDevkitVersion,
69
- // @angular/build uses rolldown which injects @oxc-project/runtime
70
- // helpers at transform time but doesn't declare it as a dependency
71
- '@oxc-project/runtime': versions_1.oxcProjectRuntimeVersion,
72
- jsdom: pkgVersions.jsdomVersion,
73
- vitest: pkgVersions.vitestVersion,
74
- }, undefined, true);
63
+ if (options.skipPackageJson) {
64
+ return () => { };
75
65
  }
66
+ const pkgVersions = (0, version_utils_1.versions)(tree, { minAngularMajorVersion: 21 });
67
+ const angularDevkitVersion = (0, version_utils_1.getInstalledAngularDevkitVersion)(tree) ?? pkgVersions.angularDevkitVersion;
68
+ return (0, devkit_1.addDependenciesToPackageJson)(tree, {}, {
69
+ '@angular/build': angularDevkitVersion,
70
+ jsdom: pkgVersions.jsdomVersion,
71
+ vitest: pkgVersions.vitestVersion,
72
+ }, undefined, true);
76
73
  }
77
74
  async function addVitestAnalog(tree, options) {
78
75
  const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
76
+ const tasks = [];
79
77
  if (!options.skipPackageJson) {
80
78
  const angularDevkitVersion = (0, version_utils_1.getInstalledAngularDevkitVersion)(tree) ??
81
79
  (0, version_utils_1.versions)(tree).angularDevkitVersion;
82
80
  const devDependencies = {
83
81
  '@angular/build': angularDevkitVersion,
84
- // @angular/build uses rolldown which injects @oxc-project/runtime
85
- // helpers at transform time but doesn't declare it as a dependency
82
+ // `@analogjs/vite-plugin-angular` (wired in by `@nx/vitest`'s
83
+ // configurationGenerator for `uiFramework: 'angular'`) registers
84
+ // an `angularVitestPlugin` whose `transform` hook downlevels
85
+ // `@angular/*` fesm2022 modules via
86
+ // `vite.transformWithOxc({ target: 'es2016', … })` so Zone.js
87
+ // `fakeAsync` can intercept async/await. The lowered code emits
88
+ // external `@oxc-project/runtime/helpers/*` imports (oxc default
89
+ // `HelperMode = 'Runtime'`). Nothing in the upstream chain
90
+ // (analogjs, @angular/core, vite, rolldown) declares the runtime
91
+ // in a way that's resolvable from the consumer's workspace, so
92
+ // it must be added here.
86
93
  '@oxc-project/runtime': versions_1.oxcProjectRuntimeVersion,
87
94
  };
88
95
  // Add compatible vitest/jsdom versions BEFORE calling configurationGenerator
@@ -92,11 +99,11 @@ async function addVitestAnalog(tree, options) {
92
99
  devDependencies['vitest'] = pkgVersions.vitestVersion;
93
100
  devDependencies['jsdom'] = pkgVersions.jsdomVersion;
94
101
  }
95
- (0, devkit_1.addDependenciesToPackageJson)(tree, {}, devDependencies, undefined, true);
102
+ tasks.push((0, devkit_1.addDependenciesToPackageJson)(tree, {}, devDependencies, undefined, true));
96
103
  }
97
104
  (0, devkit_1.ensurePackage)('@nx/vitest', versions_1.nxVersion);
98
105
  const { configurationGenerator } = await Promise.resolve().then(() => __importStar(require('@nx/vitest/generators')));
99
- await configurationGenerator(tree, {
106
+ tasks.push(await configurationGenerator(tree, {
100
107
  project: options.name,
101
108
  uiFramework: 'angular',
102
109
  testEnvironment: 'jsdom',
@@ -105,7 +112,8 @@ async function addVitestAnalog(tree, options) {
105
112
  skipFormat: options.skipFormat,
106
113
  skipPackageJson: options.skipPackageJson,
107
114
  zoneless: options.zoneless,
108
- });
115
+ }));
116
+ return (0, devkit_1.runTasksInSerial)(...tasks);
109
117
  }
110
118
  function validateVitestVersion(tree) {
111
119
  let installedVitestVersion = null;
@@ -1 +1 @@
1
- {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../../../packages/angular/src/utils/versions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,KAAwC,CAAC;AAE/D,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAC1C,eAAO,MAAM,WAAW,YAAY,CAAC;AACrC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,gBAAgB,WAAW,CAAC;AACzC,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAC3C,eAAO,MAAM,2BAA2B,YAAY,CAAC;AACrD,eAAO,MAAM,+BAA+B,WAAW,CAAC;AACxD,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAE5C,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,uBAAuB,YAAY,CAAC;AACjD,eAAO,MAAM,eAAe,WAAW,CAAC;AACxC,eAAO,MAAM,cAAc,WAAW,CAAC;AACvC,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,aAAa,WAAW,CAAC;AACtC,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAClD,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAC1C,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAE9C,eAAO,MAAM,aAAa,WAAW,CAAC;AACtC,eAAO,MAAM,YAAY,YAAY,CAAC;AAGtC,eAAO,MAAM,wBAAwB,aAAa,CAAC;AAEnD,eAAO,MAAM,wBAAwB,WAAW,CAAC"}
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../../../packages/angular/src/utils/versions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,KAAwC,CAAC;AAE/D,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAC1C,eAAO,MAAM,WAAW,YAAY,CAAC;AACrC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,gBAAgB,WAAW,CAAC;AACzC,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAC3C,eAAO,MAAM,2BAA2B,YAAY,CAAC;AACrD,eAAO,MAAM,+BAA+B,WAAW,CAAC;AACxD,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAE5C,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,uBAAuB,YAAY,CAAC;AACjD,eAAO,MAAM,eAAe,WAAW,CAAC;AACxC,eAAO,MAAM,cAAc,WAAW,CAAC;AACvC,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,aAAa,WAAW,CAAC;AACtC,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAClD,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAC1C,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAE9C,eAAO,MAAM,aAAa,WAAW,CAAC;AACtC,eAAO,MAAM,YAAY,YAAY,CAAC;AAQtC,eAAO,MAAM,wBAAwB,aAAa,CAAC;AAEnD,eAAO,MAAM,wBAAwB,WAAW,CAAC"}
@@ -30,7 +30,12 @@ exports.typesNodeVersion = '20.19.9';
30
30
  exports.jasmineMarblesVersion = '^0.9.2';
31
31
  exports.vitestVersion = '^4.0.8';
32
32
  exports.jsdomVersion = '^27.1.0';
33
- // @angular/build uses rolldown which injects @oxc-project/runtime helpers
34
- // at transform time but doesn't declare it as a dependency
33
+ // `@analogjs/vite-plugin-angular` (vitest-analog path) registers an
34
+ // `angularVitestPlugin` whose `transform` hook downlevels `@angular/*`
35
+ // fesm2022 modules via `vite.transformWithOxc({ target: 'es2016', … })`
36
+ // so Zone.js `fakeAsync` can intercept async/await. The lowered code
37
+ // emits external `@oxc-project/runtime/helpers/*` imports (oxc default
38
+ // `HelperMode = 'Runtime'`). Nothing upstream declares the runtime, so
39
+ // we add it explicitly to user projects.
35
40
  exports.oxcProjectRuntimeVersion = '^0.115.0';
36
41
  exports.jsoncEslintParserVersion = '^2.1.0';