@nx/angular 16.8.0-beta.3 → 16.8.0-beta.5
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/mf/mf.js +31 -36
- package/migrations.json +9 -0
- package/package.json +11 -11
- package/plugins/component-testing.js +82 -44
- package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.js +4 -6
- package/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.js +4 -6
- package/src/builders/utilities/buildable-libs.js +1 -2
- package/src/builders/utilities/module-federation.js +2 -3
- package/src/builders/utilities/webpack.js +16 -21
- package/src/builders/webpack-browser/webpack-browser.impl.js +13 -13
- package/src/builders/webpack-dev-server/lib/normalize-options.js +8 -1
- package/src/builders/webpack-dev-server/webpack-dev-server.impl.js +24 -18
- package/src/builders/webpack-server/webpack-server.impl.js +5 -7
- package/src/executors/browser-esbuild/browser-esbuild.impl.js +19 -23
- package/src/executors/browser-esbuild/lib/buildable-libs.js +1 -2
- package/src/executors/delegate-build/delegate-build.impl.js +9 -12
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js +4 -7
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/entry-point.transform.js +4 -5
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-package.transform.js +158 -156
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/options.di.js +6 -3
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ngc/compile-source-files.js +118 -118
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/styles/stylesheet-processor.js +96 -103
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ts/cache-compiler-host.js +20 -12
- package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js +18 -21
- package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js +6 -9
- package/src/executors/package/ng-packagr-adjustments/ng-package/options.di.js +6 -3
- package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.js +122 -122
- package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.js +96 -103
- package/src/executors/package/ng-packagr-adjustments/ts/cache-compiler-host.js +21 -13
- package/src/executors/package/ng-packagr-adjustments/utils/ng-compiler-cli.js +5 -8
- package/src/executors/package/package.impl.js +33 -38
- package/src/executors/utilities/angular-version-utils.js +1 -1
- package/src/executors/utilities/tailwindcss.js +2 -2
- package/src/executors/utilities/typescript.js +23 -28
- package/src/generators/add-linting/add-linting.js +76 -69
- package/src/generators/add-linting/lib/add-angular-eslint-dependencies.js +2 -0
- package/src/generators/add-linting/lib/create-eslint-configuration.js +12 -4
- package/src/generators/application/application.js +56 -55
- package/src/generators/application/lib/add-e2e.js +36 -40
- package/src/generators/application/lib/add-linting.js +12 -15
- package/src/generators/application/lib/add-proxy-config.js +4 -1
- package/src/generators/application/lib/add-unit-test-runner.js +15 -18
- package/src/generators/application/lib/create-files.js +44 -47
- package/src/generators/application/lib/enable-strict-type-checking.js +2 -2
- package/src/generators/application/lib/normalize-options.js +37 -25
- package/src/generators/application/lib/set-app-strict-default.js +1 -2
- package/src/generators/application/lib/update-editor-tsconfig.js +1 -2
- package/src/generators/component/component.js +40 -43
- package/src/generators/component/lib/normalize-options.js +15 -5
- package/src/generators/component-cypress-spec/component-cypress-spec.js +25 -28
- package/src/generators/component-story/component-story.js +19 -22
- package/src/generators/convert-to-with-mf/convert-to-with-mf.js +19 -22
- package/src/generators/convert-to-with-mf/lib/get-webpack-config-path.js +3 -4
- package/src/generators/convert-tslint-to-eslint/convert-tslint-to-eslint.js +103 -106
- package/src/generators/cypress-component-configuration/cypress-component-configuration.js +59 -62
- package/src/generators/directive/directive.js +21 -24
- package/src/generators/directive/lib/normalize-options.js +11 -5
- package/src/generators/host/files/src/main.server.ts__tmpl__ +1 -1
- package/src/generators/host/host.js +77 -67
- package/src/generators/host/lib/add-ssr.js +32 -33
- package/src/generators/init/init.js +101 -92
- package/src/generators/library/lib/add-standalone-component.js +18 -13
- package/src/generators/library/lib/enable-strict-type-checking.js +17 -5
- package/src/generators/library/lib/normalize-options.js +68 -53
- package/src/generators/library/library.js +89 -92
- package/src/generators/library-secondary-entry-point/lib/add-files.js +5 -1
- package/src/generators/library-secondary-entry-point/lib/normalize-options.js +6 -3
- package/src/generators/library-secondary-entry-point/lib/update-linting-file-patterns.js +1 -2
- package/src/generators/library-secondary-entry-point/library-secondary-entry-point.js +6 -9
- package/src/generators/move/lib/normalize-schema.js +5 -1
- package/src/generators/move/lib/update-module-name.js +1 -1
- package/src/generators/move/lib/update-ng-package.js +1 -2
- package/src/generators/move/lib/update-secondary-entry-points.js +1 -2
- package/src/generators/move/move.js +9 -12
- package/src/generators/ng-add/migrate-from-angular-cli.js +54 -53
- package/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.js +4 -3
- package/src/generators/ng-add/migrators/builders/angular-devkit-ng-packagr.migrator.js +11 -12
- package/src/generators/ng-add/migrators/builders/angular-eslint-lint.migrator.js +39 -42
- package/src/generators/ng-add/migrators/builders/builder.migrator.js +1 -2
- package/src/generators/ng-add/migrators/migrator.js +7 -11
- package/src/generators/ng-add/migrators/projects/app.migrator.js +39 -43
- package/src/generators/ng-add/migrators/projects/e2e.migrator.js +115 -91
- package/src/generators/ng-add/migrators/projects/lib.migrator.js +23 -31
- package/src/generators/ng-add/migrators/projects/project.migrator.js +10 -14
- package/src/generators/ng-add/ng-add.js +5 -8
- package/src/generators/ng-add/utilities/dependencies.js +2 -3
- package/src/generators/ng-add/utilities/format-files-task.js +1 -1
- package/src/generators/ng-add/utilities/projects.js +1 -1
- package/src/generators/ng-add/utilities/workspace.js +25 -36
- package/src/generators/ngrx/lib/add-imports-to-module.js +1 -2
- package/src/generators/ngrx/lib/add-ngrx-to-package-json.js +1 -3
- package/src/generators/ngrx/lib/generate-files.js +11 -2
- package/src/generators/ngrx/lib/normalize-options.js +9 -4
- package/src/generators/ngrx/lib/validate-options.js +3 -3
- package/src/generators/ngrx/ngrx.js +18 -21
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.actions.ts__tmpl__ +1 -1
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.effects.spec.ts__tmpl__ +2 -2
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.effects.ts__tmpl__ +2 -2
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.facade.spec.ts__tmpl__ +6 -6
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.facade.ts__tmpl__ +3 -3
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.reducer.spec.ts__tmpl__ +3 -3
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.reducer.ts__tmpl__ +2 -2
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.selectors.spec.ts__tmpl__ +3 -3
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.selectors.ts__tmpl__ +1 -1
- package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.effects.ts__tmpl__ +2 -2
- package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.facade.ts__tmpl__ +3 -3
- package/src/generators/ngrx-feature-store/lib/add-exports-barrel.js +4 -1
- package/src/generators/ngrx-feature-store/lib/add-imports.js +1 -1
- package/src/generators/ngrx-feature-store/lib/add-ngrx-to-package-json.js +1 -3
- package/src/generators/ngrx-feature-store/lib/generate-files.js +20 -4
- package/src/generators/ngrx-feature-store/lib/normalize-options.d.ts +1 -0
- package/src/generators/ngrx-feature-store/lib/normalize-options.js +22 -3
- package/src/generators/ngrx-feature-store/lib/validate-options.js +2 -2
- package/src/generators/ngrx-feature-store/ngrx-feature-store.js +18 -21
- package/src/generators/ngrx-root-store/lib/add-ngrx-to-package-json.js +8 -6
- package/src/generators/ngrx-root-store/lib/normalize-options.js +8 -4
- package/src/generators/ngrx-root-store/lib/validate-options.js +2 -2
- package/src/generators/ngrx-root-store/ngrx-root-store.js +27 -30
- package/src/generators/pipe/lib/normalize-options.js +9 -3
- package/src/generators/pipe/pipe.js +21 -24
- package/src/generators/remote/files/base/src/main.server.ts__tmpl__ +2 -2
- package/src/generators/remote/lib/add-ssr.js +46 -43
- package/src/generators/remote/lib/find-next-available-port.js +1 -2
- package/src/generators/remote/remote.js +52 -49
- package/src/generators/scam/lib/convert-component-to-scam.js +1 -2
- package/src/generators/scam/lib/normalize-options.js +11 -4
- package/src/generators/scam/scam.js +15 -12
- package/src/generators/scam-directive/lib/normalize-options.js +12 -4
- package/src/generators/scam-directive/scam-directive.js +13 -10
- package/src/generators/scam-pipe/lib/normalize-options.js +12 -4
- package/src/generators/scam-pipe/scam-pipe.js +13 -10
- package/src/generators/scam-to-standalone/scam-to-standalone.js +23 -26
- package/src/generators/setup-mf/lib/add-cypress-workaround.js +1 -1
- package/src/generators/setup-mf/lib/add-remote-to-host.js +4 -1
- package/src/generators/setup-mf/lib/change-build-target.js +10 -4
- package/src/generators/setup-mf/lib/generate-config.js +1 -1
- package/src/generators/setup-mf/lib/get-remotes-with-ports.js +1 -2
- package/src/generators/setup-mf/lib/normalize-options.js +5 -2
- package/src/generators/setup-mf/lib/set-tsconfig-target.js +7 -1
- package/src/generators/setup-mf/lib/setup-host-if-dynamic.js +1 -2
- package/src/generators/setup-mf/lib/setup-serve-target.js +10 -3
- package/src/generators/setup-mf/setup-mf.js +32 -35
- package/src/generators/setup-ssr/lib/generate-files.js +8 -5
- package/src/generators/setup-ssr/lib/normalize-options.js +9 -10
- package/src/generators/setup-ssr/lib/update-project-config.js +21 -17
- package/src/generators/setup-ssr/setup-ssr.js +26 -27
- package/src/generators/setup-tailwind/lib/add-tailwind-config-path-to-project.js +6 -4
- package/src/generators/setup-tailwind/lib/detect-tailwind-installed-version.js +1 -2
- package/src/generators/setup-tailwind/lib/normalize-options.js +4 -1
- package/src/generators/setup-tailwind/lib/update-application-styles.js +5 -6
- package/src/generators/setup-tailwind/setup-tailwind.js +20 -23
- package/src/generators/stories/lib/get-e2e-project.js +1 -1
- package/src/generators/stories/stories.js +43 -50
- package/src/generators/storybook-configuration/lib/assert-compatible-storybook-version.js +1 -1
- package/src/generators/storybook-configuration/lib/generate-stories.js +10 -13
- package/src/generators/storybook-configuration/lib/generate-storybook-configuration.js +12 -15
- package/src/generators/storybook-configuration/storybook-configuration.js +20 -16
- package/src/generators/utils/create-ts-config.js +1 -1
- package/src/generators/utils/entry-point.js +1 -2
- package/src/generators/utils/export-scam.js +1 -1
- package/src/generators/utils/insert-ngmodule-import.js +1 -1
- package/src/generators/utils/path.js +3 -3
- package/src/generators/utils/project.js +2 -3
- package/src/generators/utils/selector.js +1 -1
- package/src/generators/utils/storybook-ast/component-info.js +1 -2
- package/src/generators/utils/storybook-ast/entry-point.js +1 -2
- package/src/generators/utils/storybook-ast/module-info.js +1 -2
- package/src/generators/utils/storybook-ast/tree-utilities.js +1 -1
- package/src/generators/utils/testing.js +141 -138
- package/src/generators/utils/validations.js +1 -1
- package/src/generators/utils/version-utils.js +5 -7
- package/src/generators/web-worker/lib/normalize-options.js +6 -3
- package/src/generators/web-worker/web-worker.js +25 -28
- package/src/migrations/update-14-2-0/remove-show-circular-dependencies-option.js +10 -13
- package/src/migrations/update-14-2-0/update-angular-cli.js +14 -18
- package/src/migrations/update-14-2-0/update-libraries-secondary-entrypoints.js +22 -26
- package/src/migrations/update-14-2-0/update-ngcc-target.js +10 -14
- package/src/migrations/update-14-2-0/update-router-initial-navigation.js +31 -39
- package/src/migrations/update-14-2-0/update-tsconfig-target.js +48 -56
- package/src/migrations/update-14-5-0/migrate-mfe-to-mf.js +14 -17
- package/src/migrations/update-14-5-2/update-angular-cli.js +14 -18
- package/src/migrations/update-14-6-0/update-angular-cli.js +14 -18
- package/src/migrations/update-15-0-0/add-karma-inputs.js +27 -32
- package/src/migrations/update-15-0-0/switch-to-jasmine-marbles.js +62 -68
- package/src/migrations/update-15-2-0/remove-browserlist-config.js +34 -37
- package/src/migrations/update-15-2-0/remove-platform-server-exports.js +49 -52
- package/src/migrations/update-15-2-0/update-angular-cli.js +14 -18
- package/src/migrations/update-15-2-0/update-karma-main-file.js +11 -12
- package/src/migrations/update-15-2-0/update-typescript-target.js +40 -39
- package/src/migrations/update-15-2-0/update-workspace-config.js +16 -19
- package/src/migrations/update-15-5-0/update-angular-cli.js +14 -18
- package/src/migrations/update-15-7-0/install-required-packages.js +26 -28
- package/src/migrations/update-15-8-0/update-angular-cli.js +14 -18
- package/src/migrations/update-15-9-0/update-file-server-executor.js +31 -35
- package/src/migrations/update-15-9-0/update-testing-tsconfig.js +17 -22
- package/src/migrations/update-16-0-0/remove-karma-defaults.js +15 -18
- package/src/migrations/update-16-0-0/remove-library-generator-simple-module-name-option.js +22 -25
- package/src/migrations/update-16-0-0/remove-protractor-defaults.js +15 -18
- package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +3 -6
- package/src/migrations/update-16-1-0/extract-standalone-config-from-bootstrap.js +38 -42
- package/src/migrations/update-16-1-0/remove-ngcc-invocation.js +15 -19
- package/src/migrations/update-16-1-0/remove-render-module-platform-server-exports.js +49 -52
- package/src/migrations/update-16-1-0/update-angular-cli.js +14 -18
- package/src/migrations/update-16-1-0/update-server-executor-config.js +13 -16
- package/src/migrations/update-16-2-0/switch-data-persistence-operators-imports-to-ngrx-router-store.js +25 -29
- package/src/migrations/update-16-4-0/rename-angular-eslint-accesibility-rules.js +13 -16
- package/src/migrations/update-16-4-0/update-angular-cli.js +14 -18
- package/src/migrations/update-16-6-0/explicitly-set-projects-to-update-buildable-deps.js +19 -24
- package/src/migrations/update-16-7-0/update-angular-cli.js +14 -18
- package/src/migrations/utils/projects.js +9 -15
- package/src/utils/backward-compatible-versions.js +2 -0
- package/src/utils/get-mf-projects.js +1 -2
- package/src/utils/mf/utils.js +43 -44
- package/src/utils/mf/with-module-federation-ssr.js +39 -24
- package/src/utils/mf/with-module-federation.js +40 -21
- package/src/utils/nx-devkit/ast-utils.js +2 -3
- package/src/utils/nx-devkit/testing.js +9 -9
- package/src/utils/version-utils.js +2 -4
- package/src/utils/versions.d.ts +1 -0
- package/src/utils/versions.js +2 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.applicationGeneratorInternal = exports.applicationGenerator = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
4
|
const devkit_1 = require("@nx/devkit");
|
|
6
5
|
const init_1 = require("../init/init");
|
|
7
6
|
const setup_tailwind_1 = require("../setup-tailwind/setup-tailwind");
|
|
@@ -9,65 +8,67 @@ const version_utils_1 = require("../utils/version-utils");
|
|
|
9
8
|
const lib_1 = require("./lib");
|
|
10
9
|
const semver_1 = require("semver");
|
|
11
10
|
const enquirer_1 = require("enquirer");
|
|
12
|
-
function applicationGenerator(tree, schema) {
|
|
13
|
-
return
|
|
14
|
-
|
|
11
|
+
async function applicationGenerator(tree, schema) {
|
|
12
|
+
return await applicationGeneratorInternal(tree, {
|
|
13
|
+
projectNameAndRootFormat: 'derived',
|
|
14
|
+
...schema,
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
17
|
exports.applicationGenerator = applicationGenerator;
|
|
18
|
-
function applicationGeneratorInternal(tree, schema) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
throw new Error((0, devkit_1.stripIndents) `The "standalone" option is only supported in Angular >= 14.1.0. You are currently using ${installedAngularVersionInfo.version}.
|
|
18
|
+
async function applicationGeneratorInternal(tree, schema) {
|
|
19
|
+
const installedAngularVersionInfo = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
20
|
+
if ((0, semver_1.lt)(installedAngularVersionInfo.version, '14.1.0') && schema.standalone) {
|
|
21
|
+
throw new Error((0, devkit_1.stripIndents) `The "standalone" option is only supported in Angular >= 14.1.0. You are currently using ${installedAngularVersionInfo.version}.
|
|
23
22
|
You can resolve this error by removing the "standalone" option or by migrating to Angular 14.1.0.`);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (options.addTailwind) {
|
|
40
|
-
yield (0, setup_tailwind_1.setupTailwindGenerator)(tree, {
|
|
41
|
-
project: options.name,
|
|
42
|
-
skipFormat: true,
|
|
43
|
-
skipPackageJson: options.skipPackageJson,
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
yield (0, lib_1.addLinting)(tree, options);
|
|
47
|
-
yield (0, lib_1.addUnitTestRunner)(tree, options);
|
|
48
|
-
yield (0, lib_1.addE2e)(tree, options);
|
|
49
|
-
(0, lib_1.updateEditorTsConfig)(tree, options);
|
|
50
|
-
if (options.rootProject) {
|
|
51
|
-
const nxJson = (0, devkit_1.readNxJson)(tree);
|
|
52
|
-
nxJson.defaultProject = options.name;
|
|
53
|
-
(0, devkit_1.updateNxJson)(tree, nxJson);
|
|
54
|
-
}
|
|
55
|
-
if (options.backendProject) {
|
|
56
|
-
(0, lib_1.addProxyConfig)(tree, options);
|
|
57
|
-
}
|
|
58
|
-
if (options.strict) {
|
|
59
|
-
(0, lib_1.enableStrictTypeChecking)(tree, options);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
(0, lib_1.setApplicationStrictDefault)(tree, false);
|
|
63
|
-
}
|
|
64
|
-
if (!options.skipFormat) {
|
|
65
|
-
yield (0, devkit_1.formatFiles)(tree);
|
|
66
|
-
}
|
|
67
|
-
return () => {
|
|
68
|
-
(0, devkit_1.installPackagesTask)(tree);
|
|
69
|
-
};
|
|
23
|
+
}
|
|
24
|
+
if ((0, semver_1.gte)(installedAngularVersionInfo.version, '14.1.0') &&
|
|
25
|
+
schema.standalone === undefined &&
|
|
26
|
+
process.env.NX_INTERACTIVE === 'true') {
|
|
27
|
+
schema.standalone = await (0, enquirer_1.prompt)({
|
|
28
|
+
name: 'standalone-components',
|
|
29
|
+
message: 'Would you like to use Standalone Components?',
|
|
30
|
+
type: 'confirm',
|
|
31
|
+
}).then((a) => a['standalone-components']);
|
|
32
|
+
}
|
|
33
|
+
const options = await (0, lib_1.normalizeOptions)(tree, schema);
|
|
34
|
+
const rootOffset = (0, devkit_1.offsetFromRoot)(options.appProjectRoot);
|
|
35
|
+
await (0, init_1.angularInitGenerator)(tree, {
|
|
36
|
+
...options,
|
|
37
|
+
skipFormat: true,
|
|
70
38
|
});
|
|
39
|
+
(0, lib_1.createProject)(tree, options);
|
|
40
|
+
await (0, lib_1.createFiles)(tree, options, rootOffset);
|
|
41
|
+
if (options.addTailwind) {
|
|
42
|
+
await (0, setup_tailwind_1.setupTailwindGenerator)(tree, {
|
|
43
|
+
project: options.name,
|
|
44
|
+
skipFormat: true,
|
|
45
|
+
skipPackageJson: options.skipPackageJson,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
await (0, lib_1.addLinting)(tree, options);
|
|
49
|
+
await (0, lib_1.addUnitTestRunner)(tree, options);
|
|
50
|
+
await (0, lib_1.addE2e)(tree, options);
|
|
51
|
+
(0, lib_1.updateEditorTsConfig)(tree, options);
|
|
52
|
+
if (options.rootProject) {
|
|
53
|
+
const nxJson = (0, devkit_1.readNxJson)(tree);
|
|
54
|
+
nxJson.defaultProject = options.name;
|
|
55
|
+
(0, devkit_1.updateNxJson)(tree, nxJson);
|
|
56
|
+
}
|
|
57
|
+
if (options.backendProject) {
|
|
58
|
+
(0, lib_1.addProxyConfig)(tree, options);
|
|
59
|
+
}
|
|
60
|
+
if (options.strict) {
|
|
61
|
+
(0, lib_1.enableStrictTypeChecking)(tree, options);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
(0, lib_1.setApplicationStrictDefault)(tree, false);
|
|
65
|
+
}
|
|
66
|
+
if (!options.skipFormat) {
|
|
67
|
+
await (0, devkit_1.formatFiles)(tree);
|
|
68
|
+
}
|
|
69
|
+
return () => {
|
|
70
|
+
(0, devkit_1.installPackagesTask)(tree);
|
|
71
|
+
};
|
|
71
72
|
}
|
|
72
73
|
exports.applicationGeneratorInternal = applicationGeneratorInternal;
|
|
73
74
|
exports.default = applicationGenerator;
|
|
@@ -1,49 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addE2e = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
4
|
const devkit_1 = require("@nx/devkit");
|
|
6
5
|
const versions_1 = require("../../../utils/versions");
|
|
7
6
|
const cypress_1 = require("@nx/cypress");
|
|
8
|
-
function addE2e(tree, options) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
(0, devkit_1.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
});
|
|
7
|
+
async function addE2e(tree, options) {
|
|
8
|
+
if (options.e2eTestRunner === 'cypress') {
|
|
9
|
+
// TODO: This can call `@nx/web:static-config` generator when ready
|
|
10
|
+
addFileServerTarget(tree, options, 'serve-static');
|
|
11
|
+
await (0, cypress_1.cypressProjectGenerator)(tree, {
|
|
12
|
+
name: options.e2eProjectName,
|
|
13
|
+
directory: options.e2eProjectRoot,
|
|
14
|
+
// the name and root are already normalized, instruct the generator to use them as is
|
|
15
|
+
projectNameAndRootFormat: 'as-provided',
|
|
16
|
+
project: options.name,
|
|
17
|
+
linter: options.linter,
|
|
18
|
+
standaloneConfig: options.standaloneConfig,
|
|
19
|
+
skipPackageJson: options.skipPackageJson,
|
|
20
|
+
skipFormat: true,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
else if (options.e2eTestRunner === 'playwright') {
|
|
24
|
+
const { configurationGenerator: playwrightConfigurationGenerator } = (0, devkit_1.ensurePackage)('@nx/playwright', versions_1.nxVersion);
|
|
25
|
+
(0, devkit_1.addProjectConfiguration)(tree, options.e2eProjectName, {
|
|
26
|
+
root: options.e2eProjectRoot,
|
|
27
|
+
sourceRoot: (0, devkit_1.joinPathFragments)(options.e2eProjectRoot, 'src'),
|
|
28
|
+
targets: {},
|
|
29
|
+
implicitDependencies: [options.name],
|
|
30
|
+
});
|
|
31
|
+
await playwrightConfigurationGenerator(tree, {
|
|
32
|
+
project: options.e2eProjectName,
|
|
33
|
+
skipFormat: true,
|
|
34
|
+
skipPackageJson: options.skipPackageJson,
|
|
35
|
+
directory: 'src',
|
|
36
|
+
js: false,
|
|
37
|
+
linter: options.linter,
|
|
38
|
+
setParserOptionsProject: options.setParserOptionsProject,
|
|
39
|
+
webServerCommand: `${(0, devkit_1.getPackageManagerCommand)().exec} nx serve ${options.name}`,
|
|
40
|
+
webServerAddress: `http://localhost:${options.port ?? 4200}`,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
47
43
|
}
|
|
48
44
|
exports.addE2e = addE2e;
|
|
49
45
|
function addFileServerTarget(tree, options, targetName) {
|
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addLinting = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
4
|
const linter_1 = require("@nx/linter");
|
|
6
5
|
const add_linting_1 = require("../../add-linting/add-linting");
|
|
7
|
-
function addLinting(host, options) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
skipFormat: true,
|
|
20
|
-
});
|
|
6
|
+
async function addLinting(host, options) {
|
|
7
|
+
if (options.linter === linter_1.Linter.None) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
await (0, add_linting_1.default)(host, {
|
|
11
|
+
projectName: options.name,
|
|
12
|
+
projectRoot: options.appProjectRoot,
|
|
13
|
+
prefix: options.prefix,
|
|
14
|
+
setParserOptionsProject: options.setParserOptionsProject,
|
|
15
|
+
skipPackageJson: options.skipPackageJson,
|
|
16
|
+
unitTestRunner: options.unitTestRunner,
|
|
17
|
+
skipFormat: true,
|
|
21
18
|
});
|
|
22
19
|
}
|
|
23
20
|
exports.addLinting = addLinting;
|
|
@@ -15,7 +15,10 @@ function addProxyConfig(host, options) {
|
|
|
15
15
|
secure: false,
|
|
16
16
|
},
|
|
17
17
|
}));
|
|
18
|
-
projectConfig.targets.serve.options =
|
|
18
|
+
projectConfig.targets.serve.options = {
|
|
19
|
+
...projectConfig.targets.serve.options,
|
|
20
|
+
proxyConfig: pathToProxyFile,
|
|
21
|
+
};
|
|
19
22
|
(0, devkit_1.updateProjectConfiguration)(host, options.name, projectConfig);
|
|
20
23
|
}
|
|
21
24
|
}
|
|
@@ -1,25 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addUnitTestRunner = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
4
|
const devkit_1 = require("@nx/devkit");
|
|
6
5
|
const jest_1 = require("@nx/jest");
|
|
7
6
|
const test_runners_1 = require("../../../utils/test-runners");
|
|
8
|
-
function addUnitTestRunner(host, options) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
host.write(setupFile, `// @ts-expect-error https://thymikee.github.io/jest-preset-angular/docs/getting-started/test-environment
|
|
7
|
+
async function addUnitTestRunner(host, options) {
|
|
8
|
+
if (options.unitTestRunner === test_runners_1.UnitTestRunner.Jest) {
|
|
9
|
+
await (0, jest_1.configurationGenerator)(host, {
|
|
10
|
+
project: options.name,
|
|
11
|
+
setupFile: 'angular',
|
|
12
|
+
supportTsx: false,
|
|
13
|
+
skipSerializers: false,
|
|
14
|
+
skipPackageJson: options.skipPackageJson,
|
|
15
|
+
skipFormat: true,
|
|
16
|
+
});
|
|
17
|
+
const setupFile = (0, devkit_1.joinPathFragments)(options.appProjectRoot, 'src', 'test-setup.ts');
|
|
18
|
+
if (options.strict && host.exists(setupFile)) {
|
|
19
|
+
const contents = host.read(setupFile, 'utf-8');
|
|
20
|
+
host.write(setupFile, `// @ts-expect-error https://thymikee.github.io/jest-preset-angular/docs/getting-started/test-environment
|
|
23
21
|
globalThis.ngJest = {
|
|
24
22
|
testEnvironmentOptions: {
|
|
25
23
|
errorOnUnknownElements: true,
|
|
@@ -27,8 +25,7 @@ globalThis.ngJest = {
|
|
|
27
25
|
},
|
|
28
26
|
};
|
|
29
27
|
${contents}`);
|
|
30
|
-
}
|
|
31
28
|
}
|
|
32
|
-
}
|
|
29
|
+
}
|
|
33
30
|
}
|
|
34
31
|
exports.addUnitTestRunner = addUnitTestRunner;
|
|
@@ -1,57 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createFiles = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
4
|
const devkit_1 = require("@nx/devkit");
|
|
6
5
|
const js_1 = require("@nx/js");
|
|
7
6
|
const create_ts_config_1 = require("../../utils/create-ts-config");
|
|
8
7
|
const test_runners_1 = require("../../../utils/test-runners");
|
|
9
8
|
const version_utils_1 = require("../../utils/version-utils");
|
|
10
|
-
function createFiles(tree, options, rootOffset) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
});
|
|
9
|
+
async function createFiles(tree, options, rootOffset) {
|
|
10
|
+
const installedAngularInfo = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
11
|
+
const substitutions = {
|
|
12
|
+
rootSelector: `${options.prefix}-root`,
|
|
13
|
+
appName: options.name,
|
|
14
|
+
inlineStyle: options.inlineStyle,
|
|
15
|
+
inlineTemplate: options.inlineTemplate,
|
|
16
|
+
style: options.style,
|
|
17
|
+
viewEncapsulation: options.viewEncapsulation,
|
|
18
|
+
unitTesting: options.unitTestRunner !== test_runners_1.UnitTestRunner.None,
|
|
19
|
+
routing: options.routing,
|
|
20
|
+
minimal: options.minimal,
|
|
21
|
+
nxWelcomeSelector: `${options.prefix}-nx-welcome`,
|
|
22
|
+
rootTsConfig: (0, devkit_1.joinPathFragments)(rootOffset, (0, js_1.getRootTsConfigFileName)(tree)),
|
|
23
|
+
installedAngularInfo,
|
|
24
|
+
rootOffset,
|
|
25
|
+
tpl: '',
|
|
26
|
+
};
|
|
27
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/base'), options.appProjectRoot, substitutions);
|
|
28
|
+
if (installedAngularInfo.major === 14) {
|
|
29
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/v14'), options.appProjectRoot, substitutions);
|
|
30
|
+
}
|
|
31
|
+
if (options.standalone) {
|
|
32
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/standalone-components'), options.appProjectRoot, substitutions);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
await (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/ng-module'), options.appProjectRoot, substitutions);
|
|
36
|
+
}
|
|
37
|
+
(0, create_ts_config_1.createTsConfig)(tree, options.appProjectRoot, 'app', options, (0, js_1.getRelativePathToRootTsConfig)(tree, options.appProjectRoot));
|
|
38
|
+
if (!options.routing) {
|
|
39
|
+
tree.delete((0, devkit_1.joinPathFragments)(options.appProjectRoot, '/src/app/app.routes.ts'));
|
|
40
|
+
}
|
|
41
|
+
if (options.skipTests || options.unitTestRunner === test_runners_1.UnitTestRunner.None) {
|
|
42
|
+
tree.delete((0, devkit_1.joinPathFragments)(options.appProjectRoot, '/src/app/app.component.spec.ts'));
|
|
43
|
+
}
|
|
44
|
+
if (options.inlineTemplate) {
|
|
45
|
+
tree.delete((0, devkit_1.joinPathFragments)(options.appProjectRoot, '/src/app/app.component.html'));
|
|
46
|
+
}
|
|
47
|
+
if (options.inlineStyle) {
|
|
48
|
+
tree.delete((0, devkit_1.joinPathFragments)(options.appProjectRoot, `/src/app/app.component.${options.style}`));
|
|
49
|
+
}
|
|
50
|
+
if (options.minimal) {
|
|
51
|
+
tree.delete((0, devkit_1.joinPathFragments)(options.appProjectRoot, 'src/app/nx-welcome.component.ts'));
|
|
52
|
+
}
|
|
56
53
|
}
|
|
57
54
|
exports.createFiles = createFiles;
|
|
@@ -15,7 +15,7 @@ function enableStrictTypeChecking(host, options) {
|
|
|
15
15
|
const appTsConfigPath = `${options.appProjectRoot}/tsconfig.json`;
|
|
16
16
|
if (host.exists(appTsConfigPath)) {
|
|
17
17
|
(0, devkit_1.updateJson)(host, appTsConfigPath, (json) => {
|
|
18
|
-
json.compilerOptions =
|
|
18
|
+
json.compilerOptions = { ...json.compilerOptions, ...compilerOptions };
|
|
19
19
|
json.angularCompilerOptions = {
|
|
20
20
|
enableI18nLegacyMessageIdFormat: false,
|
|
21
21
|
strictInjectionParameters: true,
|
|
@@ -28,7 +28,7 @@ function enableStrictTypeChecking(host, options) {
|
|
|
28
28
|
const e2eTsConfigPath = `${options.e2eProjectRoot}/tsconfig.json`;
|
|
29
29
|
if (host.exists(e2eTsConfigPath)) {
|
|
30
30
|
(0, devkit_1.updateJson)(host, e2eTsConfigPath, (json) => {
|
|
31
|
-
json.compilerOptions =
|
|
31
|
+
json.compilerOptions = { ...json.compilerOptions, ...compilerOptions };
|
|
32
32
|
return json;
|
|
33
33
|
});
|
|
34
34
|
}
|
|
@@ -1,36 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.normalizeOptions = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
4
|
const project_name_and_root_utils_1 = require("@nx/devkit/src/generators/project-name-and-root-utils");
|
|
6
5
|
const get_npm_scope_1 = require("@nx/js/src/utils/package-json/get-npm-scope");
|
|
7
6
|
const linter_1 = require("@nx/linter");
|
|
8
7
|
const test_runners_1 = require("../../../utils/test-runners");
|
|
9
8
|
const project_1 = require("../../utils/project");
|
|
10
|
-
function normalizeOptions(host, options) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
rootProject: options.rootProject,
|
|
19
|
-
callingGenerator: '@nx/angular:application',
|
|
20
|
-
});
|
|
21
|
-
options.rootProject = appProjectRoot === '.';
|
|
22
|
-
options.projectNameAndRootFormat = projectNameAndRootFormat;
|
|
23
|
-
const e2eProjectName = options.rootProject ? 'e2e' : `${appProjectName}-e2e`;
|
|
24
|
-
const e2eProjectRoot = options.rootProject ? 'e2e' : `${appProjectRoot}-e2e`;
|
|
25
|
-
const parsedTags = options.tags
|
|
26
|
-
? options.tags.split(',').map((s) => s.trim())
|
|
27
|
-
: [];
|
|
28
|
-
const prefix = (0, project_1.normalizeNewProjectPrefix)(options.prefix, (0, get_npm_scope_1.getNpmScope)(host), 'app');
|
|
29
|
-
// Set defaults and then overwrite with user options
|
|
30
|
-
return Object.assign(Object.assign({ style: 'css', routing: false, inlineStyle: false, inlineTemplate: false, skipTests: options.unitTestRunner === test_runners_1.UnitTestRunner.None, skipFormat: false, unitTestRunner: test_runners_1.UnitTestRunner.Jest, e2eTestRunner: test_runners_1.E2eTestRunner.Cypress, linter: linter_1.Linter.EsLint, strict: true, bundler: (_a = options.bundler) !== null && _a !== void 0 ? _a : 'webpack' }, options), { prefix, name: appProjectName, appProjectRoot,
|
|
31
|
-
e2eProjectRoot,
|
|
32
|
-
e2eProjectName,
|
|
33
|
-
parsedTags });
|
|
9
|
+
async function normalizeOptions(host, options) {
|
|
10
|
+
const { projectName: appProjectName, projectRoot: appProjectRoot, projectNameAndRootFormat, } = await (0, project_name_and_root_utils_1.determineProjectNameAndRootOptions)(host, {
|
|
11
|
+
name: options.name,
|
|
12
|
+
projectType: 'application',
|
|
13
|
+
directory: options.directory,
|
|
14
|
+
projectNameAndRootFormat: options.projectNameAndRootFormat,
|
|
15
|
+
rootProject: options.rootProject,
|
|
16
|
+
callingGenerator: '@nx/angular:application',
|
|
34
17
|
});
|
|
18
|
+
options.rootProject = appProjectRoot === '.';
|
|
19
|
+
options.projectNameAndRootFormat = projectNameAndRootFormat;
|
|
20
|
+
const e2eProjectName = options.rootProject ? 'e2e' : `${appProjectName}-e2e`;
|
|
21
|
+
const e2eProjectRoot = options.rootProject ? 'e2e' : `${appProjectRoot}-e2e`;
|
|
22
|
+
const parsedTags = options.tags
|
|
23
|
+
? options.tags.split(',').map((s) => s.trim())
|
|
24
|
+
: [];
|
|
25
|
+
const prefix = (0, project_1.normalizeNewProjectPrefix)(options.prefix, (0, get_npm_scope_1.getNpmScope)(host), 'app');
|
|
26
|
+
// Set defaults and then overwrite with user options
|
|
27
|
+
return {
|
|
28
|
+
style: 'css',
|
|
29
|
+
routing: false,
|
|
30
|
+
inlineStyle: false,
|
|
31
|
+
inlineTemplate: false,
|
|
32
|
+
skipTests: options.unitTestRunner === test_runners_1.UnitTestRunner.None,
|
|
33
|
+
skipFormat: false,
|
|
34
|
+
unitTestRunner: test_runners_1.UnitTestRunner.Jest,
|
|
35
|
+
e2eTestRunner: test_runners_1.E2eTestRunner.Cypress,
|
|
36
|
+
linter: linter_1.Linter.EsLint,
|
|
37
|
+
strict: true,
|
|
38
|
+
bundler: options.bundler ?? 'webpack',
|
|
39
|
+
...options,
|
|
40
|
+
prefix,
|
|
41
|
+
name: appProjectName,
|
|
42
|
+
appProjectRoot,
|
|
43
|
+
e2eProjectRoot,
|
|
44
|
+
e2eProjectName,
|
|
45
|
+
parsedTags,
|
|
46
|
+
};
|
|
35
47
|
}
|
|
36
48
|
exports.normalizeOptions = normalizeOptions;
|
|
@@ -3,13 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.setApplicationStrictDefault = void 0;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
function setApplicationStrictDefault(host, strict) {
|
|
6
|
-
var _a;
|
|
7
6
|
const nxJson = (0, devkit_1.readNxJson)(host);
|
|
8
7
|
nxJson.generators = nxJson.generators || {};
|
|
9
8
|
nxJson.generators['@nx/angular:application'] =
|
|
10
9
|
nxJson.generators['@nx/angular:application'] || {};
|
|
11
10
|
nxJson.generators['@nx/angular:application'].strict =
|
|
12
|
-
|
|
11
|
+
nxJson.generators['@nx/angular:application'].strict ?? strict;
|
|
13
12
|
(0, devkit_1.updateNxJson)(host, nxJson);
|
|
14
13
|
}
|
|
15
14
|
exports.setApplicationStrictDefault = setApplicationStrictDefault;
|
|
@@ -3,8 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.updateEditorTsConfig = void 0;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
function getCompilerOptionsTypes(tsConfig) {
|
|
6
|
-
|
|
7
|
-
return (_b = (_a = tsConfig === null || tsConfig === void 0 ? void 0 : tsConfig.compilerOptions) === null || _a === void 0 ? void 0 : _a.types) !== null && _b !== void 0 ? _b : [];
|
|
6
|
+
return tsConfig?.compilerOptions?.types ?? [];
|
|
8
7
|
}
|
|
9
8
|
function updateEditorTsConfig(tree, options) {
|
|
10
9
|
const types = getCompilerOptionsTypes((0, devkit_1.readJson)(tree, (0, devkit_1.joinPathFragments)(options.appProjectRoot, 'tsconfig.app.json')));
|