@nx/angular 16.6.0 → 16.7.0-beta.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/migrations.json CHANGED
@@ -269,6 +269,15 @@
269
269
  "version": "16.6.0-beta.0",
270
270
  "description": "Explicitly set 'updateBuildableProjectDepsInPackageJson' to 'true' in targets that rely on that value as the default.",
271
271
  "factory": "./src/migrations/update-16-6-0/explicitly-set-projects-to-update-buildable-deps"
272
+ },
273
+ "update-angular-cli-version-16-2-0-rc-1": {
274
+ "cli": "nx",
275
+ "version": "16.7.0-beta.2",
276
+ "requires": {
277
+ "@angular/core": ">=16.2.0-rc.0"
278
+ },
279
+ "description": "Update the @angular/cli package version to ~16.2.0-rc.1.",
280
+ "factory": "./src/migrations/update-16-7-0/update-angular-cli"
272
281
  }
273
282
  },
274
283
  "packageJsonUpdates": {
@@ -1235,6 +1244,67 @@
1235
1244
  "alwaysAddToPackageJson": false
1236
1245
  }
1237
1246
  }
1247
+ },
1248
+ "16.7.0": {
1249
+ "version": "16.7.0-beta.2",
1250
+ "packages": {
1251
+ "@angular-devkit/architect": {
1252
+ "version": "~0.1602.0-rc.1",
1253
+ "alwaysAddToPackageJson": false
1254
+ },
1255
+ "@angular-devkit/build-angular": {
1256
+ "version": "~16.2.0-rc.1",
1257
+ "alwaysAddToPackageJson": false
1258
+ },
1259
+ "@angular-devkit/build-webpack": {
1260
+ "version": "~0.1602.0-rc.1",
1261
+ "alwaysAddToPackageJson": false
1262
+ },
1263
+ "@angular-devkit/core": {
1264
+ "version": "~16.2.0-rc.1",
1265
+ "alwaysAddToPackageJson": false
1266
+ },
1267
+ "@angular-devkit/schematics": {
1268
+ "version": "~16.2.0-rc.1",
1269
+ "alwaysAddToPackageJson": false
1270
+ },
1271
+ "@angular/core": {
1272
+ "version": "~16.2.0-rc.0",
1273
+ "alwaysAddToPackageJson": true
1274
+ },
1275
+ "@angular/material": {
1276
+ "version": "~16.2.0-rc.0",
1277
+ "alwaysAddToPackageJson": false
1278
+ },
1279
+ "@angular/cdk": {
1280
+ "version": "~16.2.0-rc.0",
1281
+ "alwaysAddToPackageJson": false
1282
+ },
1283
+ "@nguniversal/builders": {
1284
+ "version": "~16.2.0-rc.0",
1285
+ "alwaysAddToPackageJson": false
1286
+ },
1287
+ "@nguniversal/common": {
1288
+ "version": "~16.2.0-rc.0",
1289
+ "alwaysAddToPackageJson": false
1290
+ },
1291
+ "@nguniversal/express-engine": {
1292
+ "version": "~16.2.0-rc.0",
1293
+ "alwaysAddToPackageJson": false
1294
+ },
1295
+ "@schematics/angular": {
1296
+ "version": "~16.2.0-rc.1",
1297
+ "alwaysAddToPackageJson": false
1298
+ },
1299
+ "ng-packagr": {
1300
+ "version": "~16.2.0-next.1",
1301
+ "alwaysAddToPackageJson": false
1302
+ }
1303
+ },
1304
+ "x-prompt": "Do you want to update the Angular version to v16.2?",
1305
+ "requires": {
1306
+ "@angular/core": ">=16.1.0 <16.2.0-next.1"
1307
+ }
1238
1308
  }
1239
1309
  }
1240
1310
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/angular",
3
- "version": "16.6.0",
3
+ "version": "16.7.0-beta.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, 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- Upgrading AngularJS applications \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.",
6
6
  "repository": {
@@ -66,21 +66,21 @@
66
66
  "migrations": "./migrations.json"
67
67
  },
68
68
  "dependencies": {
69
- "@nrwl/angular": "16.6.0",
70
- "@nx/cypress": "16.6.0",
71
- "@nx/devkit": "16.6.0",
72
- "@nx/jest": "16.6.0",
73
- "@nx/js": "16.6.0",
74
- "@nx/linter": "16.6.0",
75
- "@nx/webpack": "16.6.0",
76
- "@nx/workspace": "16.6.0",
69
+ "@nrwl/angular": "16.7.0-beta.3",
70
+ "@nx/cypress": "16.7.0-beta.3",
71
+ "@nx/devkit": "16.7.0-beta.3",
72
+ "@nx/jest": "16.7.0-beta.3",
73
+ "@nx/js": "16.7.0-beta.3",
74
+ "@nx/linter": "16.7.0-beta.3",
75
+ "@nx/webpack": "16.7.0-beta.3",
76
+ "@nx/workspace": "16.7.0-beta.3",
77
77
  "@phenomnomnominal/tsquery": "~5.0.1",
78
78
  "@typescript-eslint/type-utils": "^5.36.1",
79
79
  "chalk": "^4.1.0",
80
80
  "enquirer": "^2.3.6",
81
81
  "find-cache-dir": "^3.3.2",
82
82
  "ignore": "^5.0.4",
83
- "magic-string": "~0.26.2",
83
+ "magic-string": "~0.30.2",
84
84
  "minimatch": "3.0.5",
85
85
  "semver": "7.5.3",
86
86
  "tslib": "^2.3.0",
@@ -107,5 +107,5 @@
107
107
  "module": "fesm2022/nx-angular.mjs",
108
108
  "typings": "index.d.ts",
109
109
  "sideEffects": false,
110
- "gitHead": "d02a8dbf06c85de78c0c76f64a17f10ae8085739"
110
+ "gitHead": "118faf4e432667fd041954d96aa6c9c99fea5ebd"
111
111
  }
@@ -1,4 +1,5 @@
1
1
  import type { Schema } from './schema';
2
- export declare function executeModuleFederationDevServerBuilder(schema: Schema, context: import('@angular-devkit/architect').BuilderContext): import("rxjs").Observable<import("@angular-devkit/build-angular").DevServerBuilderOutput>;
2
+ import { executeWebpackDevServerBuilder } from '../webpack-dev-server/webpack-dev-server.impl';
3
+ export declare function executeModuleFederationDevServerBuilder(schema: Schema, context: import('@angular-devkit/architect').BuilderContext): ReturnType<typeof executeWebpackDevServerBuilder>;
3
4
  declare const _default: any;
4
5
  export default _default;
@@ -2,11 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addE2e = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const cypress_1 = require("@nx/cypress");
6
5
  const devkit_1 = require("@nx/devkit");
7
6
  const versions_1 = require("../../../utils/versions");
8
7
  const remove_scaffolded_e2e_1 = require("./remove-scaffolded-e2e");
8
+ const cypress_1 = require("@nx/cypress");
9
9
  function addE2e(tree, options) {
10
+ var _a;
10
11
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
12
  (0, remove_scaffolded_e2e_1.removeScaffoldedE2e)(tree, options, options.ngCliSchematicE2ERoot);
12
13
  if (options.e2eTestRunner === 'cypress') {
@@ -22,6 +23,26 @@ function addE2e(tree, options) {
22
23
  skipFormat: true,
23
24
  });
24
25
  }
26
+ else if (options.e2eTestRunner === 'playwright') {
27
+ const { configurationGenerator: playwrightConfigurationGenerator } = (0, devkit_1.ensurePackage)('@nx/playwright', versions_1.nxVersion);
28
+ (0, devkit_1.addProjectConfiguration)(tree, options.e2eProjectName, {
29
+ root: options.e2eProjectRoot,
30
+ sourceRoot: (0, devkit_1.joinPathFragments)(options.e2eProjectRoot, 'src'),
31
+ targets: {},
32
+ implicitDependencies: [options.name],
33
+ });
34
+ yield playwrightConfigurationGenerator(tree, {
35
+ project: options.e2eProjectName,
36
+ skipFormat: true,
37
+ skipPackageJson: options.skipPackageJson,
38
+ directory: 'src',
39
+ js: false,
40
+ linter: options.linter,
41
+ setParserOptionsProject: options.setParserOptionsProject,
42
+ webServerCommand: `${(0, devkit_1.getPackageManagerCommand)().exec} nx serve ${options.name}`,
43
+ webServerAddress: `http://localhost:${(_a = options.port) !== null && _a !== void 0 ? _a : 4200}`,
44
+ });
45
+ }
25
46
  });
26
47
  }
27
48
  exports.addE2e = addE2e;
@@ -105,8 +105,9 @@
105
105
  },
106
106
  "e2eTestRunner": {
107
107
  "type": "string",
108
- "enum": ["cypress", "none"],
108
+ "enum": ["cypress", "playwright", "none"],
109
109
  "description": "Test runner to use for end to end (E2E) tests.",
110
+ "x-prompt": "Which E2E test runner would you like to use?",
110
111
  "default": "cypress"
111
112
  },
112
113
  "tags": {
@@ -112,8 +112,9 @@
112
112
  },
113
113
  "e2eTestRunner": {
114
114
  "type": "string",
115
- "enum": ["cypress", "none"],
115
+ "enum": ["cypress", "playwright", "none"],
116
116
  "description": "Test runner to use for end to end (E2E) tests.",
117
+ "x-prompt": "Which E2E test runner would you like to use?",
117
118
  "default": "cypress"
118
119
  },
119
120
  "tags": {
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.angularInitGenerator = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const cypress_1 = require("@nx/cypress");
6
5
  const devkit_1 = require("@nx/devkit");
7
6
  const jest_1 = require("@nx/jest");
8
7
  const linter_1 = require("@nx/linter");
9
8
  const js_1 = require("@nx/js");
10
9
  const test_runners_1 = require("../../utils/test-runners");
11
10
  const version_utils_1 = require("../utils/version-utils");
11
+ const versions_1 = require("../../utils/versions");
12
12
  function angularInitGenerator(tree, rawOptions) {
13
13
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
14
14
  const tasks = [];
@@ -123,7 +123,14 @@ function addE2ETestRunner(tree, options) {
123
123
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
124
124
  switch (options.e2eTestRunner) {
125
125
  case test_runners_1.E2eTestRunner.Cypress:
126
- return (0, cypress_1.cypressInitGenerator)(tree, {
126
+ const { cypressInitGenerator } = (0, devkit_1.ensurePackage)('@nx/cypress', versions_1.nxVersion);
127
+ return cypressInitGenerator(tree, {
128
+ skipPackageJson: options.skipPackageJson,
129
+ });
130
+ case test_runners_1.E2eTestRunner.Playwright:
131
+ const { initGenerator: playwrightInitGenerator } = (0, devkit_1.ensurePackage)('@nx/playwright', versions_1.nxVersion);
132
+ return playwrightInitGenerator(tree, {
133
+ skipFormat: true,
127
134
  skipPackageJson: options.skipPackageJson,
128
135
  });
129
136
  default:
@@ -21,7 +21,8 @@
21
21
  },
22
22
  "e2eTestRunner": {
23
23
  "type": "string",
24
- "enum": ["cypress", "none"],
24
+ "enum": ["cypress", "playwright", "none"],
25
+ "x-prompt": "Which E2E test runner would you like to use?",
25
26
  "description": "Test runner to use for end to end (e2e) tests.",
26
27
  "default": "cypress",
27
28
  "x-priority": "important"
@@ -57,7 +57,9 @@ function createNxJson(tree, options, defaultProject) {
57
57
  '!{projectRoot}/karma.conf.js',
58
58
  ]
59
59
  : []),
60
- targets.lint ? '!{projectRoot}/.eslintrc.json' : undefined,
60
+ ...(targets.lint
61
+ ? ['!{projectRoot}/.eslintrc.json', '!{projectRoot}/eslint.config.js']
62
+ : []),
61
63
  ].filter(Boolean),
62
64
  },
63
65
  targetDefaults: {
@@ -72,7 +74,11 @@ function createNxJson(tree, options, defaultProject) {
72
74
  : undefined,
73
75
  lint: targets.lint
74
76
  ? {
75
- inputs: ['default', '{workspaceRoot}/.eslintrc.json'],
77
+ inputs: [
78
+ 'default',
79
+ '{workspaceRoot}/.eslintrc.json',
80
+ '{workspaceRoot}/eslint.config.js',
81
+ ],
76
82
  }
77
83
  : undefined,
78
84
  e2e: targets.e2e
@@ -106,8 +106,9 @@
106
106
  },
107
107
  "e2eTestRunner": {
108
108
  "type": "string",
109
- "enum": ["cypress", "none"],
109
+ "enum": ["cypress", "playwright", "none"],
110
110
  "description": "Test runner to use for end to end (E2E) tests.",
111
+ "x-prompt": "Which E2E test runner would you like to use?",
111
112
  "default": "cypress"
112
113
  },
113
114
  "tags": {
@@ -25,11 +25,9 @@ function fixBootstrap(tree, appRoot, options) {
25
25
  : bootstrapImportCode);
26
26
  }
27
27
  exports.fixBootstrap = fixBootstrap;
28
- const standaloneBootstrapCode = (includeEnvironments = false) => `import {importProvidersFrom} from "@angular/core";
29
- import {bootstrapApplication} from "@angular/platform-browser";
30
- import {RouterModule} from "@angular/router";
31
- import {RemoteEntryComponent} from "./app/remote-entry/entry.component";
32
- import {appRoutes} from "./app/app.routes";
28
+ const standaloneBootstrapCode = (includeEnvironments = false) => `import {bootstrapApplication} from "@angular/platform-browser";
29
+ import {appConfig} from './app/app.config';
30
+ import {RemoteEntryComponent} from './app/remote-entry/entry.component';
33
31
  ${includeEnvironments
34
32
  ? `import {enableProdMode} from '@angular/core';
35
33
  import {environment} from './environments/environment';
@@ -38,10 +36,6 @@ if(environment.production) {
38
36
  }
39
37
  `
40
38
  : ``}
41
- bootstrapApplication(RemoteEntryComponent, {
42
- providers: [
43
- importProvidersFrom(
44
- RouterModule.forRoot(appRoutes, {initialNavigation: 'enabledBlocking'})
45
- )
46
- ]
47
- });`;
39
+ bootstrapApplication(RemoteEntryComponent, appConfig).catch((err) =>
40
+ console.error(err)
41
+ );`;
@@ -10,7 +10,8 @@ const tree_utilities_1 = require("./tree-utilities");
10
10
  let tsModule;
11
11
  let tsquery;
12
12
  function getComponentsInfo(tree, entryPoint, moduleFilePaths, projectName) {
13
- return moduleFilePaths.flatMap((moduleFilePath) => {
13
+ return moduleFilePaths
14
+ .flatMap((moduleFilePath) => {
14
15
  const file = (0, ast_utils_1.getTsSourceFile)(tree, moduleFilePath);
15
16
  const declaredComponents = (0, module_info_1.getModuleDeclaredComponents)(file, moduleFilePath, projectName);
16
17
  if (declaredComponents.length === 0) {
@@ -22,7 +23,8 @@ function getComponentsInfo(tree, entryPoint, moduleFilePaths, projectName) {
22
23
  const imports = file.statements.filter((statement) => statement.kind === tsModule.SyntaxKind.ImportDeclaration);
23
24
  const componentsInfo = declaredComponents.map((componentName) => getComponentInfo(tree, entryPoint, file, imports, moduleFilePath, componentName));
24
25
  return componentsInfo;
25
- });
26
+ })
27
+ .filter((f) => f !== undefined);
26
28
  }
27
29
  exports.getComponentsInfo = getComponentsInfo;
28
30
  function getStandaloneComponentsInfo(tree, entryPoint) {
@@ -0,0 +1,3 @@
1
+ import { Tree } from '@nx/devkit';
2
+ export declare const angularCliVersion = "~16.2.0-rc.1";
3
+ export default function (tree: Tree): Promise<void>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.angularCliVersion = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nx/devkit");
6
+ exports.angularCliVersion = '~16.2.0-rc.1';
7
+ function default_1(tree) {
8
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
+ let shouldFormat = false;
10
+ (0, devkit_1.updateJson)(tree, 'package.json', (json) => {
11
+ var _a, _b;
12
+ if ((_a = json.devDependencies) === null || _a === void 0 ? void 0 : _a['@angular/cli']) {
13
+ json.devDependencies['@angular/cli'] = exports.angularCliVersion;
14
+ shouldFormat = true;
15
+ }
16
+ else if ((_b = json.dependencies) === null || _b === void 0 ? void 0 : _b['@angular/cli']) {
17
+ json.dependencies['@angular/cli'] = exports.angularCliVersion;
18
+ shouldFormat = true;
19
+ }
20
+ return json;
21
+ });
22
+ if (shouldFormat) {
23
+ yield (0, devkit_1.formatFiles)(tree);
24
+ }
25
+ });
26
+ }
27
+ exports.default = default_1;
@@ -4,5 +4,6 @@ export declare enum UnitTestRunner {
4
4
  }
5
5
  export declare enum E2eTestRunner {
6
6
  Cypress = "cypress",
7
+ Playwright = "playwright",
7
8
  None = "none"
8
9
  }
@@ -9,5 +9,6 @@ var UnitTestRunner;
9
9
  var E2eTestRunner;
10
10
  (function (E2eTestRunner) {
11
11
  E2eTestRunner["Cypress"] = "cypress";
12
+ E2eTestRunner["Playwright"] = "playwright";
12
13
  E2eTestRunner["None"] = "none";
13
14
  })(E2eTestRunner || (exports.E2eTestRunner = E2eTestRunner = {}));
@@ -1,13 +1,13 @@
1
1
  export declare const nxVersion: any;
2
- export declare const angularVersion = "~16.1.0";
3
- export declare const angularDevkitVersion = "~16.1.0";
4
- export declare const ngPackagrVersion = "~16.1.0";
2
+ export declare const angularVersion = "~16.2.0-rc.0";
3
+ export declare const angularDevkitVersion = "~16.2.0-rc.1";
4
+ export declare const ngPackagrVersion = "~16.2.0-next.1";
5
5
  export declare const ngrxVersion = "~16.0.0";
6
6
  export declare const rxjsVersion = "~7.8.0";
7
7
  export declare const zoneJsVersion = "~0.13.0";
8
8
  export declare const angularJsVersion = "1.7.9";
9
9
  export declare const tsLibVersion = "^2.3.0";
10
- export declare const ngUniversalVersion = "~16.1.0";
10
+ export declare const ngUniversalVersion = "~16.2.0-rc.0";
11
11
  export declare const corsVersion = "~2.8.5";
12
12
  export declare const typesCorsVersion = "~2.8.5";
13
13
  export declare const expressVersion = "~4.18.2";
@@ -2,15 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.jasmineMarblesVersion = exports.typesNodeVersion = exports.jestPresetAngularVersion = exports.tsNodeVersion = exports.autoprefixerVersion = exports.postcssUrlVersion = exports.postcssPresetEnvVersion = exports.postcssImportVersion = exports.postcssVersion = exports.tailwindVersion = exports.angularEslintVersion = exports.moduleFederationNodeVersion = exports.typesExpressVersion = exports.expressVersion = exports.typesCorsVersion = exports.corsVersion = exports.ngUniversalVersion = 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 = '~16.1.0';
6
- exports.angularDevkitVersion = '~16.1.0';
7
- exports.ngPackagrVersion = '~16.1.0';
5
+ exports.angularVersion = '~16.2.0-rc.0';
6
+ exports.angularDevkitVersion = '~16.2.0-rc.1';
7
+ exports.ngPackagrVersion = '~16.2.0-next.1';
8
8
  exports.ngrxVersion = '~16.0.0';
9
9
  exports.rxjsVersion = '~7.8.0';
10
10
  exports.zoneJsVersion = '~0.13.0';
11
11
  exports.angularJsVersion = '1.7.9';
12
12
  exports.tsLibVersion = '^2.3.0';
13
- exports.ngUniversalVersion = '~16.1.0';
13
+ exports.ngUniversalVersion = '~16.2.0-rc.0';
14
14
  exports.corsVersion = '~2.8.5';
15
15
  exports.typesCorsVersion = '~2.8.5';
16
16
  exports.expressVersion = '~4.18.2';