@nx/angular 21.6.0-canary.20250912-cfc03a2 → 21.6.0-canary.20250916-a429972

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/migrations.json CHANGED
@@ -374,6 +374,15 @@
374
374
  },
375
375
  "description": "Remove any Karma configuration files that only contain the default content. The default configuration is automatically available without a specific project configurationfile.",
376
376
  "factory": "./src/migrations/update-21-5-0/remove-default-karma-configuration-files"
377
+ },
378
+ "update-angular-cli-version-20-3-0": {
379
+ "cli": "nx",
380
+ "version": "21.6.1-beta.2",
381
+ "requires": {
382
+ "@angular/core": ">=20.3.0"
383
+ },
384
+ "description": "Update the @angular/cli package version to ~20.3.0.",
385
+ "factory": "./src/migrations/update-21-6-1/update-angular-cli"
377
386
  }
378
387
  },
379
388
  "packageJsonUpdates": {
@@ -1906,21 +1915,6 @@
1906
1915
  }
1907
1916
  }
1908
1917
  },
1909
- "21.3.5-jest": {
1910
- "version": "21.3.5-beta.0",
1911
- "requires": {
1912
- "@angular/compiler-cli": ">=18.0.0 <21.0.0",
1913
- "@angular/core": ">=18.0.0 <21.0.0",
1914
- "@angular/platform-browser-dynamic": ">=18.0.0 <21.0.0",
1915
- "jest": "^30.0.0"
1916
- },
1917
- "packages": {
1918
- "jest-preset-angular": {
1919
- "version": "~15.0.0",
1920
- "alwaysAddToPackageJson": false
1921
- }
1922
- }
1923
- },
1924
1918
  "21.4.0-ngrx": {
1925
1919
  "version": "21.4.0-beta.3",
1926
1920
  "requires": {
@@ -2084,6 +2078,158 @@
2084
2078
  "alwaysAddToPackageJson": false
2085
2079
  }
2086
2080
  }
2081
+ },
2082
+ "21.6.1": {
2083
+ "version": "21.6.1-beta.2",
2084
+ "x-prompt": "Do you want to update the Angular version to v20.3?",
2085
+ "requires": {
2086
+ "@angular/core": ">=20.2.0 <20.3.0"
2087
+ },
2088
+ "packages": {
2089
+ "@angular-devkit/build-angular": {
2090
+ "version": "~20.3.0",
2091
+ "alwaysAddToPackageJson": false
2092
+ },
2093
+ "@angular-devkit/core": {
2094
+ "version": "~20.3.0",
2095
+ "alwaysAddToPackageJson": false
2096
+ },
2097
+ "@angular-devkit/schematics": {
2098
+ "version": "~20.3.0",
2099
+ "alwaysAddToPackageJson": false
2100
+ },
2101
+ "@angular/build": {
2102
+ "version": "~20.3.0",
2103
+ "alwaysAddToPackageJson": false
2104
+ },
2105
+ "@angular/pwa": {
2106
+ "version": "~20.3.0",
2107
+ "alwaysAddToPackageJson": false
2108
+ },
2109
+ "@angular/ssr": {
2110
+ "version": "~20.3.0",
2111
+ "alwaysAddToPackageJson": false
2112
+ },
2113
+ "@schematics/angular": {
2114
+ "version": "~20.3.0",
2115
+ "alwaysAddToPackageJson": false
2116
+ },
2117
+ "@angular-devkit/architect": {
2118
+ "version": "~0.2003.0",
2119
+ "alwaysAddToPackageJson": false
2120
+ },
2121
+ "@angular-devkit/build-webpack": {
2122
+ "version": "~0.2003.0",
2123
+ "alwaysAddToPackageJson": false
2124
+ },
2125
+ "@angular/core": {
2126
+ "version": "~20.3.0",
2127
+ "alwaysAddToPackageJson": true
2128
+ },
2129
+ "@angular/material": {
2130
+ "version": "~20.2.3",
2131
+ "alwaysAddToPackageJson": false
2132
+ },
2133
+ "@angular/cdk": {
2134
+ "version": "~20.2.3",
2135
+ "alwaysAddToPackageJson": false
2136
+ },
2137
+ "@angular/google-maps": {
2138
+ "version": "~20.2.3",
2139
+ "alwaysAddToPackageJson": false
2140
+ },
2141
+ "ng-packagr": {
2142
+ "version": "~20.3.0",
2143
+ "alwaysAddToPackageJson": false
2144
+ }
2145
+ }
2146
+ },
2147
+ "21.6.1-angular-eslint": {
2148
+ "version": "21.6.1-beta.2",
2149
+ "requires": {
2150
+ "@angular/core": ">= 20.0.0 < 21.0.0",
2151
+ "typescript-eslint": "^8.0.0",
2152
+ "eslint": "^8.57.0 || ^9.0.0"
2153
+ },
2154
+ "packages": {
2155
+ "angular-eslint": {
2156
+ "version": "^20.3.0",
2157
+ "alwaysAddToPackageJson": false
2158
+ },
2159
+ "@angular-eslint/eslint-plugin": {
2160
+ "version": "^20.3.0",
2161
+ "alwaysAddToPackageJson": false
2162
+ },
2163
+ "@angular-eslint/eslint-plugin-template": {
2164
+ "version": "^20.3.0",
2165
+ "alwaysAddToPackageJson": false
2166
+ },
2167
+ "@angular-eslint/template-parser": {
2168
+ "version": "^20.3.0",
2169
+ "alwaysAddToPackageJson": false
2170
+ },
2171
+ "@angular-eslint/utils": {
2172
+ "version": "^20.3.0",
2173
+ "alwaysAddToPackageJson": false
2174
+ },
2175
+ "@angular-eslint/schematics": {
2176
+ "version": "^20.3.0",
2177
+ "alwaysAddToPackageJson": false
2178
+ },
2179
+ "@angular-eslint/test-utils": {
2180
+ "version": "^20.3.0",
2181
+ "alwaysAddToPackageJson": false
2182
+ },
2183
+ "@angular-eslint/builder": {
2184
+ "version": "^20.3.0",
2185
+ "alwaysAddToPackageJson": false
2186
+ },
2187
+ "@angular-eslint/bundled-angular-compiler": {
2188
+ "version": "^20.3.0",
2189
+ "alwaysAddToPackageJson": false
2190
+ }
2191
+ }
2192
+ },
2193
+ "21.6.1-@angular-eslint": {
2194
+ "version": "21.6.1-beta.2",
2195
+ "requires": {
2196
+ "@angular/core": ">= 20.0.0 < 21.0.0",
2197
+ "eslint": "^8.57.0 || ^9.0.0"
2198
+ },
2199
+ "packages": {
2200
+ "@angular-eslint/eslint-plugin": {
2201
+ "version": "^20.3.0",
2202
+ "alwaysAddToPackageJson": false
2203
+ },
2204
+ "@angular-eslint/eslint-plugin-template": {
2205
+ "version": "^20.3.0",
2206
+ "alwaysAddToPackageJson": false
2207
+ },
2208
+ "@angular-eslint/template-parser": {
2209
+ "version": "^20.3.0",
2210
+ "alwaysAddToPackageJson": false
2211
+ },
2212
+ "@angular-eslint/utils": {
2213
+ "version": "^20.3.0",
2214
+ "alwaysAddToPackageJson": false
2215
+ },
2216
+ "@angular-eslint/schematics": {
2217
+ "version": "^20.3.0",
2218
+ "alwaysAddToPackageJson": false
2219
+ },
2220
+ "@angular-eslint/test-utils": {
2221
+ "version": "^20.3.0",
2222
+ "alwaysAddToPackageJson": false
2223
+ },
2224
+ "@angular-eslint/builder": {
2225
+ "version": "^20.3.0",
2226
+ "alwaysAddToPackageJson": false
2227
+ },
2228
+ "@angular-eslint/bundled-angular-compiler": {
2229
+ "version": "^20.3.0",
2230
+ "alwaysAddToPackageJson": false
2231
+ }
2232
+ }
2087
2233
  }
2088
2234
  }
2089
2235
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/angular",
3
- "version": "21.6.0-canary.20250912-cfc03a2",
3
+ "version": "21.6.0-canary.20250916-a429972",
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": {
@@ -58,14 +58,14 @@
58
58
  "migrations": "./migrations.json"
59
59
  },
60
60
  "dependencies": {
61
- "@nx/devkit": "21.6.0-canary.20250912-cfc03a2",
62
- "@nx/eslint": "21.6.0-canary.20250912-cfc03a2",
63
- "@nx/js": "21.6.0-canary.20250912-cfc03a2",
64
- "@nx/module-federation": "21.6.0-canary.20250912-cfc03a2",
65
- "@nx/rspack": "21.6.0-canary.20250912-cfc03a2",
66
- "@nx/web": "21.6.0-canary.20250912-cfc03a2",
67
- "@nx/webpack": "21.6.0-canary.20250912-cfc03a2",
68
- "@nx/workspace": "21.6.0-canary.20250912-cfc03a2",
61
+ "@nx/devkit": "21.6.0-canary.20250916-a429972",
62
+ "@nx/eslint": "21.6.0-canary.20250916-a429972",
63
+ "@nx/js": "21.6.0-canary.20250916-a429972",
64
+ "@nx/module-federation": "21.6.0-canary.20250916-a429972",
65
+ "@nx/rspack": "21.6.0-canary.20250916-a429972",
66
+ "@nx/web": "21.6.0-canary.20250916-a429972",
67
+ "@nx/webpack": "21.6.0-canary.20250916-a429972",
68
+ "@nx/workspace": "21.6.0-canary.20250916-a429972",
69
69
  "@phenomnomnominal/tsquery": "~5.0.1",
70
70
  "@typescript-eslint/type-utils": "^8.0.0",
71
71
  "enquirer": "~2.3.6",
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=update-angular-cli.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-angular-cli.spec.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/migrations/update-21-6-1/update-angular-cli.spec.ts"],"names":[],"mappings":""}
@@ -1,7 +1,12 @@
1
- import { bootstrapApplication } from '@angular/platform-browser';
1
+ import { <% if (useBootstrapContext) { %>BootstrapContext, <% } %>bootstrapApplication } from '@angular/platform-browser';
2
2
  import { RemoteEntry<%= componentType %> } from './app/remote-entry/entry<%= componentFileSuffix %>';
3
3
  import { config } from './app/app.config.server';
4
4
 
5
+ <%_ if (useBootstrapContext) { _%>
6
+ const bootstrap = (context: BootstrapContext) =>
7
+ bootstrapApplication(RemoteEntry<%= componentType %>, config, context);
8
+ <%_ } else { _%>
5
9
  const bootstrap = () => bootstrapApplication(RemoteEntry<%= componentType %>, config);
10
+ <%_ } _%>
6
11
 
7
12
  export default bootstrap;
@@ -1 +1 @@
1
- {"version":3,"file":"update-ssr-setup.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/remote/lib/update-ssr-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAmBvC,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,EACE,OAAO,EACP,IAAI,EACJ,UAAU,EACV,uBAAuB,EACvB,eAAe,GAChB,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,uBAAuB,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,mDAmHF"}
1
+ {"version":3,"file":"update-ssr-setup.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/remote/lib/update-ssr-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAoBvC,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,EACE,OAAO,EACP,IAAI,EACJ,UAAU,EACV,uBAAuB,EACvB,eAAe,GAChB,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,uBAAuB,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,mDA6HF"}
@@ -4,11 +4,12 @@ exports.updateSsrSetup = updateSsrSetup;
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
6
6
  const path_1 = require("path");
7
+ const semver_1 = require("semver");
7
8
  const versions_1 = require("../../../utils/versions");
8
9
  const artifact_types_1 = require("../../utils/artifact-types");
9
10
  const version_utils_1 = require("../../utils/version-utils");
10
11
  async function updateSsrSetup(tree, { appName, port, standalone, typescriptConfiguration, skipPackageJson, }) {
11
- const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
12
+ const { major: angularMajorVersion, version: angularVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
12
13
  let project = (0, devkit_1.readProjectConfiguration)(tree, appName);
13
14
  const sourceRoot = (0, ts_solution_setup_1.getProjectSourceRoot)(project, tree);
14
15
  tree.rename((0, devkit_1.joinPathFragments)(sourceRoot, 'main.server.ts'), (0, devkit_1.joinPathFragments)(sourceRoot, 'bootstrap.server.ts'));
@@ -31,11 +32,19 @@ async function updateSsrSetup(tree, { appName, port, standalone, typescriptConfi
31
32
  if (standalone) {
32
33
  const componentType = (0, artifact_types_1.getComponentType)(tree);
33
34
  const componentFileSuffix = componentType ? `.${componentType}` : '';
35
+ const useBootstrapContext =
36
+ // https://github.com/angular/angular-cli/releases/tag/20.3.0
37
+ (0, semver_1.gte)(angularVersion, '20.3.0') ||
38
+ // https://github.com/angular/angular-cli/releases/tag/19.2.16
39
+ (angularMajorVersion === 19 && (0, semver_1.gte)(angularVersion, '19.2.16')) ||
40
+ // https://github.com/angular/angular-cli/releases/tag/18.2.21
41
+ (angularMajorVersion === 18 && (0, semver_1.gte)(angularVersion, '18.2.21'));
34
42
  (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/standalone'), project.root, {
35
43
  appName,
36
44
  standalone,
37
45
  componentType: componentType ? (0, devkit_1.names)(componentType).className : '',
38
46
  componentFileSuffix,
47
+ useBootstrapContext,
39
48
  tmpl: '',
40
49
  });
41
50
  }
@@ -1,7 +1,12 @@
1
- import { bootstrapApplication } from '@angular/platform-browser';
1
+ import { <% if (useBootstrapContext) { %>BootstrapContext, <% } %>bootstrapApplication } from '@angular/platform-browser';
2
2
  import { AppComponent } from './app/app.component';
3
3
  import { config } from './app/app.config.server';
4
4
 
5
+ <%_ if (useBootstrapContext) { _%>
6
+ const bootstrap = (context: BootstrapContext) =>
7
+ bootstrapApplication(AppComponent, config, context);
8
+ <%_ } else { _%>
5
9
  const bootstrap = () => bootstrapApplication(AppComponent, config);
10
+ <%_ } _%>
6
11
 
7
12
  export default bootstrap;
@@ -1,7 +1,12 @@
1
- import { bootstrapApplication } from '@angular/platform-browser';
1
+ import { <% if (useBootstrapContext) { %>BootstrapContext, <% } %>bootstrapApplication } from '@angular/platform-browser';
2
2
  import { AppComponent } from './app/app.component';
3
3
  import { config } from './app/app.config.server';
4
4
 
5
+ <%_ if (useBootstrapContext) { _%>
6
+ const bootstrap = (context: BootstrapContext) =>
7
+ bootstrapApplication(AppComponent, config, context);
8
+ <%_ } else { _%>
5
9
  const bootstrap = () => bootstrapApplication(AppComponent, config);
10
+ <%_ } _%>
6
11
 
7
12
  export default bootstrap;
@@ -1,7 +1,12 @@
1
- import { bootstrapApplication } from '@angular/platform-browser';
1
+ import { <% if (useBootstrapContext) { %>BootstrapContext, <% } %>bootstrapApplication } from '@angular/platform-browser';
2
2
  import { AppComponent } from './app/app.component';
3
3
  import { config } from './app/app.config.server';
4
4
 
5
+ <%_ if (useBootstrapContext) { _%>
6
+ const bootstrap = (context: BootstrapContext) =>
7
+ bootstrapApplication(AppComponent, config, context);
8
+ <%_ } else { _%>
5
9
  const bootstrap = () => bootstrapApplication(AppComponent, config);
10
+ <%_ } _%>
6
11
 
7
12
  export default bootstrap;
@@ -1,7 +1,12 @@
1
- import { bootstrapApplication } from '@angular/platform-browser';
1
+ import { <% if (useBootstrapContext) { %>BootstrapContext, <% } %>bootstrapApplication } from '@angular/platform-browser';
2
2
  import { <%= appSymbolName %> } from './app/<%= appFileName %>';
3
3
  import { config } from './app/app.config.server';
4
4
 
5
+ <%_ if (useBootstrapContext) { _%>
6
+ const bootstrap = (context: BootstrapContext) =>
7
+ bootstrapApplication(<%= appSymbolName %>, config, context);
8
+ <%_ } else { _%>
5
9
  const bootstrap = () => bootstrapApplication(<%= appSymbolName %>, config);
10
+ <%_ } _%>
6
11
 
7
12
  export default bootstrap;
@@ -1,7 +1,12 @@
1
- import { bootstrapApplication } from '@angular/platform-browser';
1
+ import { <% if (useBootstrapContext) { %>BootstrapContext, <% } %>bootstrapApplication } from '@angular/platform-browser';
2
2
  import { <%= appSymbolName %> } from './app/<%= appFileName %>';
3
3
  import { config } from './app/app.config.server';
4
4
 
5
+ <%_ if (useBootstrapContext) { _%>
6
+ const bootstrap = (context: BootstrapContext) =>
7
+ bootstrapApplication(<%= appSymbolName %>, config, context);
8
+ <%_ } else { _%>
5
9
  const bootstrap = () => bootstrapApplication(<%= appSymbolName %>, config);
10
+ <%_ } _%>
6
11
 
7
12
  export default bootstrap;
@@ -1 +1 @@
1
- {"version":3,"file":"generate-files.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/generate-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAkBvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAE5D,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,0BAA0B,QAwEpC"}
1
+ {"version":3,"file":"generate-files.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/generate-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAkBvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAE5D,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,0BAA0B,QAiFpC"}
@@ -16,7 +16,7 @@ function generateSSRFiles(tree, options) {
16
16
  // server has already been added
17
17
  return;
18
18
  }
19
- const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
19
+ const { major: angularMajorVersion, version: angularVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
20
20
  const baseFilesPath = (0, path_1.join)(__dirname, '..', 'files');
21
21
  let pathToFiles;
22
22
  if (angularMajorVersion >= 20) {
@@ -40,6 +40,13 @@ function generateSSRFiles(tree, options) {
40
40
  const componentType = (0, artifact_types_1.getComponentType)(tree);
41
41
  const appComponentInfo = (0, app_components_info_1.getAppComponentInfo)(tree, componentType ? `.${componentType}` : '', project);
42
42
  const moduleTypeSeparator = (0, artifact_types_1.getModuleTypeSeparator)(tree);
43
+ const useBootstrapContext =
44
+ // https://github.com/angular/angular-cli/releases/tag/20.3.0
45
+ (0, semver_1.gte)(angularVersion, '20.3.0') ||
46
+ // https://github.com/angular/angular-cli/releases/tag/19.2.16
47
+ (angularMajorVersion === 19 && (0, semver_1.gte)(angularVersion, '19.2.16')) ||
48
+ // https://github.com/angular/angular-cli/releases/tag/18.2.21
49
+ (angularMajorVersion === 18 && (0, semver_1.gte)(angularVersion, '18.2.21'));
43
50
  (0, devkit_1.generateFiles)(tree, pathToFiles, sourceRoot, {
44
51
  ...options,
45
52
  provideServerRoutingFn: !cleanedSsrVersion || (0, semver_1.gte)(cleanedSsrVersion, '19.2.0')
@@ -48,6 +55,7 @@ function generateSSRFiles(tree, options) {
48
55
  appFileName: appComponentInfo.extensionlessFileName,
49
56
  appSymbolName: appComponentInfo.symbolName,
50
57
  moduleTypeSeparator,
58
+ useBootstrapContext,
51
59
  tpl: '',
52
60
  });
53
61
  if (angularMajorVersion === 19 && !options.serverRouting) {
@@ -1 +1 @@
1
- {"version":3,"file":"add-jest.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/utils/add-jest.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AAIpB,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAsB,OAAO,CAC3B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAkDf"}
1
+ {"version":3,"file":"add-jest.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/utils/add-jest.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AAIpB,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAsB,OAAO,CAC3B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAsDf"}
@@ -11,7 +11,11 @@ async function addJest(tree, options) {
11
11
  (0, devkit_1.addDependenciesToPackageJson)(tree, {
12
12
  // TODO(leo): jest-preset-angular still needs this until https://github.com/thymikee/jest-preset-angular/pull/3079 is merged
13
13
  '@angular/platform-browser-dynamic': pkgVersions.angularVersion,
14
- }, { 'jest-preset-angular': pkgVersions.jestPresetAngularVersion }, undefined, true);
14
+ }, {
15
+ // force jest v29.7.0, Angular doesn't support Jest v30 yet: https://github.com/angular/angular-cli/pull/30761
16
+ jest: '^29.7.0',
17
+ 'jest-preset-angular': pkgVersions.jestPresetAngularVersion,
18
+ }, undefined, true);
15
19
  }
16
20
  const { configurationGenerator } = (0, devkit_1.ensurePackage)('@nx/jest', versions_1.nxVersion);
17
21
  await configurationGenerator(tree, {
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ export declare const angularCliVersion = "~20.3.0";
3
+ export default function (tree: Tree): Promise<void>;
4
+ //# sourceMappingURL=update-angular-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-angular-cli.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/migrations/update-21-6-1/update-angular-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,IAAI,EAAc,MAAM,YAAY,CAAC;AAE3D,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,yBAA+B,IAAI,EAAE,IAAI,iBAkBxC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.angularCliVersion = void 0;
4
+ exports.default = default_1;
5
+ const devkit_1 = require("@nx/devkit");
6
+ exports.angularCliVersion = '~20.3.0';
7
+ async function default_1(tree) {
8
+ let shouldFormat = false;
9
+ (0, devkit_1.updateJson)(tree, 'package.json', (json) => {
10
+ if (json.devDependencies?.['@angular/cli']) {
11
+ json.devDependencies['@angular/cli'] = exports.angularCliVersion;
12
+ shouldFormat = true;
13
+ }
14
+ else if (json.dependencies?.['@angular/cli']) {
15
+ json.dependencies['@angular/cli'] = exports.angularCliVersion;
16
+ shouldFormat = true;
17
+ }
18
+ return json;
19
+ });
20
+ if (shouldFormat) {
21
+ await (0, devkit_1.formatFiles)(tree);
22
+ }
23
+ }
@@ -1,7 +1,7 @@
1
1
  export declare const nxVersion: any;
2
- export declare const angularVersion = "~20.2.0";
3
- export declare const angularDevkitVersion = "~20.2.0";
4
- export declare const ngPackagrVersion = "~20.2.0";
2
+ export declare const angularVersion = "~20.3.0";
3
+ export declare const angularDevkitVersion = "~20.3.0";
4
+ export declare const ngPackagrVersion = "~20.3.0";
5
5
  export declare const ngrxVersion = "^20.0.0";
6
6
  export declare const rxjsVersion = "~7.8.0";
7
7
  export declare const zoneJsVersion = "~0.15.0";
@@ -15,7 +15,7 @@ export declare const browserSyncVersion = "^3.0.0";
15
15
  export declare const moduleFederationNodeVersion = "^2.7.11";
16
16
  export declare const moduleFederationEnhancedVersion = "^0.18.0";
17
17
  export declare const webpackMergeVersion = "^5.8.0";
18
- export declare const angularEslintVersion = "^20.2.0";
18
+ export declare const angularEslintVersion = "^20.3.0";
19
19
  export declare const typescriptEslintVersion = "^7.16.0";
20
20
  export declare const tailwindVersion = "^3.0.2";
21
21
  export declare const postcssVersion = "^8.4.5";
@@ -23,7 +23,7 @@ export declare const postcssUrlVersion = "~10.1.3";
23
23
  export declare const autoprefixerVersion = "^10.4.0";
24
24
  export declare const tsNodeVersion = "10.9.1";
25
25
  export declare const lessVersion = "^4.3.0";
26
- export declare const jestPresetAngularVersion = "~15.0.0";
26
+ export declare const jestPresetAngularVersion = "~14.6.1";
27
27
  export declare const typesNodeVersion = "20.19.9";
28
28
  export declare const jasmineMarblesVersion = "^0.9.2";
29
29
  export declare const jsoncEslintParserVersion = "^2.1.0";
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.jsoncEslintParserVersion = exports.jasmineMarblesVersion = exports.typesNodeVersion = exports.jestPresetAngularVersion = exports.lessVersion = exports.tsNodeVersion = exports.autoprefixerVersion = exports.postcssUrlVersion = exports.postcssVersion = exports.tailwindVersion = exports.typescriptEslintVersion = exports.angularEslintVersion = exports.webpackMergeVersion = exports.moduleFederationEnhancedVersion = exports.moduleFederationNodeVersion = exports.browserSyncVersion = exports.typesExpressVersion = exports.expressVersion = exports.typesCorsVersion = exports.corsVersion = exports.tsLibVersion = exports.angularJsVersion = exports.zoneJsVersion = exports.rxjsVersion = exports.ngrxVersion = exports.ngPackagrVersion = exports.angularDevkitVersion = exports.angularVersion = exports.nxVersion = void 0;
4
4
  exports.nxVersion = require('../../package.json').version;
5
- exports.angularVersion = '~20.2.0';
6
- exports.angularDevkitVersion = '~20.2.0';
7
- exports.ngPackagrVersion = '~20.2.0';
5
+ exports.angularVersion = '~20.3.0';
6
+ exports.angularDevkitVersion = '~20.3.0';
7
+ exports.ngPackagrVersion = '~20.3.0';
8
8
  exports.ngrxVersion = '^20.0.0';
9
9
  exports.rxjsVersion = '~7.8.0';
10
10
  exports.zoneJsVersion = '~0.15.0';
@@ -18,7 +18,7 @@ exports.browserSyncVersion = '^3.0.0';
18
18
  exports.moduleFederationNodeVersion = '^2.7.11';
19
19
  exports.moduleFederationEnhancedVersion = '^0.18.0';
20
20
  exports.webpackMergeVersion = '^5.8.0';
21
- exports.angularEslintVersion = '^20.2.0';
21
+ exports.angularEslintVersion = '^20.3.0';
22
22
  exports.typescriptEslintVersion = '^7.16.0';
23
23
  exports.tailwindVersion = '^3.0.2';
24
24
  exports.postcssVersion = '^8.4.5';
@@ -26,7 +26,7 @@ exports.postcssUrlVersion = '~10.1.3';
26
26
  exports.autoprefixerVersion = '^10.4.0';
27
27
  exports.tsNodeVersion = '10.9.1';
28
28
  exports.lessVersion = '^4.3.0';
29
- exports.jestPresetAngularVersion = '~15.0.0';
29
+ exports.jestPresetAngularVersion = '~14.6.1';
30
30
  exports.typesNodeVersion = '20.19.9';
31
31
  exports.jasmineMarblesVersion = '^0.9.2';
32
32
  exports.jsoncEslintParserVersion = '^2.1.0';