@nx/angular 21.1.2 → 21.2.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/fesm2022/nx-angular-mf.mjs +10 -3
- package/fesm2022/nx-angular-mf.mjs.map +1 -1
- package/fesm2022/nx-angular.mjs.map +1 -1
- package/index.d.ts +2 -1
- package/mf/index.d.ts +71 -1
- package/migrations.json +106 -0
- package/ng-package.json +0 -1
- package/package.json +28 -16
- package/plugins/component-testing.js +8 -3
- package/src/builders/dev-server/dev-server.impl.js +4 -7
- package/src/builders/dev-server/lib/normalize-options.js +0 -6
- package/src/builders/dev-server/lib/validate-options.js +0 -4
- package/src/builders/dev-server/schema.d.ts +3 -15
- package/src/builders/dev-server/schema.json +3 -9
- package/src/builders/webpack-browser/webpack-browser.impl.js +2 -0
- package/src/builders/webpack-server/webpack-server.impl.d.ts +3 -1
- package/src/builders/webpack-server/webpack-server.impl.js +2 -0
- package/src/executors/application/application.impl.d.ts +2 -2
- package/src/executors/application/application.impl.js +11 -6
- package/src/executors/application/schema.d.ts +1 -1
- package/src/executors/application/schema.json +21 -10
- package/src/executors/application/utils/normalize-options.js +8 -1
- package/src/executors/application/utils/validate-options.js +10 -40
- package/src/executors/extract-i18n/extract-i18n.impl.js +6 -14
- package/src/executors/extract-i18n/schema.d.ts +1 -6
- package/src/executors/extract-i18n/schema.json +5 -0
- package/src/executors/extract-i18n/utils/validate-options.d.ts +2 -0
- package/src/executors/extract-i18n/utils/validate-options.js +13 -0
- package/src/executors/module-federation-dev-server/lib/normalize-options.js +1 -7
- package/src/executors/module-federation-dev-server/schema.d.ts +3 -15
- package/src/executors/module-federation-dev-server/schema.json +2 -15
- package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +10 -8
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/entry-point.d.ts +6 -3
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/entry-point.js +46 -8
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.di.d.ts +1 -1
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.di.js +3 -3
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.transform.d.ts +2 -2
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.transform.js +36 -7
- package/src/executors/ng-packagr-lite/schema.json +2 -3
- package/src/executors/package/package.impl.js +1 -5
- package/src/executors/package/schema.d.ts +3 -1
- package/src/executors/package/schema.json +2 -3
- package/src/executors/utilities/builder-package.d.ts +1 -0
- package/src/executors/utilities/builder-package.js +11 -0
- package/src/executors/utilities/esbuild-extensions.d.ts +2 -1
- package/src/executors/utilities/ng-packagr/package-imports.d.ts +3 -1
- package/src/executors/utilities/ng-packagr/package-imports.js +2 -2
- package/src/executors/utilities/ng-packagr/pre-v19/stylesheet-processor.d.ts +2 -24
- package/src/executors/utilities/ng-packagr/pre-v19/stylesheet-processor.js +40 -107
- package/src/executors/utilities/ng-packagr/stylesheet-processor.di.js +4 -8
- package/src/executors/utilities/ng-packagr/v19+/stylesheet-processor.d.ts +1 -1
- package/src/executors/utilities/ng-packagr/v19+/stylesheet-processor.js +18 -11
- package/src/generators/add-linting/add-linting.js +8 -0
- package/src/generators/application/application.js +22 -8
- package/src/generators/application/files/base/tsconfig.app.json__tpl__ +10 -1
- package/src/generators/application/files/base/tsconfig.json__tpl__ +7 -8
- package/src/generators/application/files/ng-module/src/app/app__componentFileSuffix__.spec.ts__tpl__ +28 -0
- package/src/generators/application/files/ng-module/src/app/{app.component.ts__tpl__ → app__componentFileSuffix__.ts__tpl__} +4 -4
- package/src/generators/application/files/ng-module/src/app/app__moduleTypeSeparator__module.ts__tpl__ +17 -0
- package/src/generators/application/files/ng-module/src/main.ts__tpl__ +11 -3
- package/src/generators/application/files/nx-welcome/claimed/ng-module/src/app/{nx-welcome.component.ts__tpl__ → nx-welcome__componentFileSuffix__.ts__tpl__} +1 -1
- package/src/generators/application/files/nx-welcome/claimed/standalone/src/app/{nx-welcome.component.ts__tpl__ → nx-welcome__componentFileSuffix__.ts__tpl__} +1 -1
- package/src/generators/application/files/nx-welcome/not-configured/ng-module/src/app/{nx-welcome.component.ts__tpl__ → nx-welcome__componentFileSuffix__.ts__tpl__} +1 -1
- package/src/generators/application/files/nx-welcome/not-configured/standalone/src/app/{nx-welcome.component.ts__tpl__ → nx-welcome__componentFileSuffix__.ts__tpl__} +1 -1
- package/src/generators/application/files/nx-welcome/unclaimed/ng-module/src/app/{nx-welcome.component.ts__tpl__ → nx-welcome__componentFileSuffix__.ts__tpl__} +1 -1
- package/src/generators/application/files/nx-welcome/unclaimed/standalone/src/app/{nx-welcome.component.ts__tpl__ → nx-welcome__componentFileSuffix__.ts__tpl__} +1 -1
- package/src/generators/application/files/standalone-components/src/app/app.config.ts__tpl__ +6 -2
- package/src/generators/application/files/standalone-components/src/app/app__componentFileSuffix__.spec.ts__tpl__ +27 -0
- package/src/generators/application/files/standalone-components/src/app/{app.component.ts__tpl__ → app__componentFileSuffix__.ts__tpl__} +6 -6
- package/src/generators/application/files/standalone-components/src/main.ts__tpl__ +2 -2
- package/src/generators/application/lib/create-files.d.ts +1 -1
- package/src/generators/application/lib/create-files.js +18 -19
- package/src/generators/application/lib/create-project.d.ts +1 -1
- package/src/generators/application/lib/create-project.js +119 -26
- package/src/generators/application/lib/enable-strict-type-checking.js +4 -2
- package/src/generators/application/lib/index.d.ts +1 -2
- package/src/generators/application/lib/index.js +1 -2
- package/src/generators/application/lib/set-generator-defaults.js +1 -0
- package/src/generators/application/lib/{update-editor-tsconfig.d.ts → update-tsconfig-files.d.ts} +1 -1
- package/src/generators/application/lib/update-tsconfig-files.js +93 -0
- package/src/generators/application/schema.json +1 -1
- package/src/generators/component/component.js +13 -2
- package/src/generators/component/files/__fileName__.ts__tpl__ +1 -1
- package/src/generators/component/lib/component.js +11 -1
- package/src/generators/component/lib/module.d.ts +7 -2
- package/src/generators/component/lib/module.js +7 -5
- package/src/generators/component/lib/normalize-options.js +7 -3
- package/src/generators/component/schema.d.ts +1 -0
- package/src/generators/component/schema.json +6 -2
- package/src/generators/convert-to-application-executor/convert-to-application-executor.js +37 -24
- package/src/generators/convert-to-rspack/convert-to-rspack.d.ts +1 -1
- package/src/generators/convert-to-rspack/convert-to-rspack.js +173 -28
- package/src/generators/convert-to-rspack/lib/get-custom-webpack-config.js +1 -1
- package/src/generators/directive/directive.js +1 -1
- package/src/generators/directive/lib/normalize-options.js +7 -2
- package/src/generators/directive/schema.d.ts +1 -0
- package/src/generators/directive/schema.json +10 -2
- package/src/generators/host/host.js +21 -1
- package/src/generators/host/schema.d.ts +1 -0
- package/src/generators/host/schema.json +7 -1
- package/src/generators/init/init.js +1 -1
- package/src/generators/library/files/base/tsconfig.json__tpl__ +5 -5
- package/src/generators/library/files/ng-module/src/index.ts__tpl__ +1 -1
- package/src/generators/library/files/standalone-components/src/lib/lib.routes.ts__tpl__ +2 -2
- package/src/generators/library/lib/add-standalone-component.js +1 -0
- package/src/generators/library/lib/create-files.js +10 -3
- package/src/generators/library/lib/normalize-options.d.ts +3 -3
- package/src/generators/library/lib/normalize-options.js +6 -1
- package/src/generators/library/lib/normalized-schema.d.ts +2 -0
- package/src/generators/library/lib/set-generator-defaults.js +1 -0
- package/src/generators/library/lib/update-tsconfig-files.d.ts +3 -0
- package/src/generators/library/lib/update-tsconfig-files.js +98 -0
- package/src/generators/library/library.js +19 -33
- package/src/generators/library-secondary-entry-point/files/src/index.ts__tmpl__ +1 -1
- package/src/generators/library-secondary-entry-point/lib/add-files.js +2 -1
- package/src/generators/library-secondary-entry-point/lib/normalize-options.d.ts +2 -2
- package/src/generators/library-secondary-entry-point/lib/normalize-options.js +3 -0
- package/src/generators/library-secondary-entry-point/schema.d.ts +1 -0
- package/src/generators/move/lib/update-module-name.js +17 -10
- package/src/generators/move/lib/update-secondary-entry-points.js +0 -3
- package/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.js +1 -1
- package/src/generators/ng-add/migrators/projects/app.migrator.js +43 -8
- package/src/generators/ngrx/schema.json +3 -3
- package/src/generators/ngrx-root-store/lib/normalize-options.js +9 -2
- package/src/generators/pipe/lib/normalize-options.js +4 -0
- package/src/generators/pipe/pipe.js +1 -1
- package/src/generators/pipe/schema.d.ts +1 -0
- package/src/generators/pipe/schema.json +11 -2
- package/src/generators/remote/files/standalone/src/bootstrap.server.ts__tmpl__ +4 -4
- package/src/generators/remote/lib/update-ssr-setup.js +5 -0
- package/src/generators/remote/remote.js +23 -0
- package/src/generators/remote/schema.d.ts +1 -0
- package/src/generators/remote/schema.json +7 -1
- package/src/generators/scam/lib/convert-component-to-scam.js +1 -3
- package/src/generators/scam/lib/normalize-options.js +11 -3
- package/src/generators/scam/schema.d.ts +1 -0
- package/src/generators/scam/schema.json +1 -2
- package/src/generators/scam-directive/lib/convert-directive-to-scam.js +1 -3
- package/src/generators/scam-directive/lib/normalize-options.js +11 -2
- package/src/generators/scam-directive/schema.d.ts +2 -0
- package/src/generators/scam-directive/schema.json +10 -2
- package/src/generators/scam-pipe/lib/convert-pipe-to-scam.js +1 -3
- package/src/generators/scam-pipe/lib/normalize-options.js +8 -0
- package/src/generators/scam-pipe/schema.d.ts +2 -0
- package/src/generators/scam-pipe/schema.json +5 -0
- package/src/generators/setup-mf/files/entry-module-files/{entry.module.ts__tmpl__ → __entryModuleFileName__.ts__tmpl__} +4 -4
- package/src/generators/setup-mf/files/entry-module-files/entry.routes.ts__tmpl__ +2 -2
- package/src/generators/setup-mf/files/entry-module-files/{entry.component.ts__tmpl__ → entry__componentFileSuffix__.ts__tmpl__} +1 -1
- package/src/generators/setup-mf/files/host-files/__appFileName__.spec.ts__tmpl__ +43 -0
- package/src/generators/setup-mf/files/standalone-entry-component-files/entry.routes.ts__tmpl__ +2 -2
- package/src/generators/setup-mf/files/standalone-entry-component-files/{entry.component.ts__tmpl__ → entry__componentFileSuffix__.ts__tmpl__} +3 -3
- package/src/generators/setup-mf/files/ts-webpack/module-federation.config.ts__tmpl__ +1 -1
- package/src/generators/setup-mf/files/ts-webpack/tsconfig.lint.json__tmpl__ +1 -1
- package/src/generators/setup-mf/files/webpack/module-federation.config.js__tmpl__ +1 -1
- package/src/generators/setup-mf/lib/add-remote-entry.d.ts +2 -2
- package/src/generators/setup-mf/lib/add-remote-entry.js +9 -3
- package/src/generators/setup-mf/lib/add-remote-to-host.js +11 -1
- package/src/generators/setup-mf/lib/fix-bootstrap.d.ts +2 -2
- package/src/generators/setup-mf/lib/fix-bootstrap.js +4 -4
- package/src/generators/setup-mf/lib/generate-config.d.ts +2 -2
- package/src/generators/setup-mf/lib/generate-config.js +1 -0
- package/src/generators/setup-mf/lib/normalize-options.d.ts +1 -1
- package/src/generators/setup-mf/lib/normalize-options.js +13 -0
- package/src/generators/setup-mf/lib/remove-dead-code-from-remote.d.ts +2 -2
- package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +18 -14
- package/src/generators/setup-mf/lib/setup-host-if-dynamic.js +1 -5
- package/src/generators/setup-mf/lib/setup-tspath-for-remote.d.ts +2 -2
- package/src/generators/setup-mf/lib/setup-tspath-for-remote.js +1 -1
- package/src/generators/setup-mf/lib/update-host-app-routes.d.ts +2 -2
- package/src/generators/setup-mf/lib/update-host-app-routes.js +12 -9
- package/src/generators/setup-mf/lib/update-tsconfig.d.ts +2 -2
- package/src/generators/setup-mf/lib/update-tsconfig.js +5 -5
- package/src/generators/setup-mf/schema.d.ts +7 -0
- package/src/generators/setup-mf/setup-mf.d.ts +2 -2
- package/src/generators/setup-mf/setup-mf.js +16 -6
- package/src/generators/setup-ssr/files/v20+/application-builder/ngmodule-src/__main__ +1 -0
- package/src/generators/setup-ssr/files/v20+/application-builder/ngmodule-src/app/__rootModuleFileName__ +12 -0
- package/src/generators/setup-ssr/files/v20+/application-builder/ngmodule-src/app/app.routes.server.ts__tpl__ +8 -0
- package/src/generators/setup-ssr/files/v20+/application-builder/server/__serverFileName__ +66 -0
- package/src/generators/setup-ssr/files/v20+/application-builder/standalone-src/__main__ +7 -0
- package/src/generators/setup-ssr/files/v20+/application-builder/standalone-src/app/app.config.server.ts__tpl__ +12 -0
- package/src/generators/setup-ssr/files/v20+/application-builder/standalone-src/app/app.routes.server.ts__tpl__ +8 -0
- package/src/generators/setup-ssr/files/v20+/server-builder/ngmodule-src/__main__ +1 -0
- package/src/generators/setup-ssr/files/v20+/server-builder/ngmodule-src/app/__rootModuleFileName__ +14 -0
- package/src/generators/setup-ssr/files/v20+/server-builder/root/tsconfig.server.json.template +18 -0
- package/src/generators/setup-ssr/files/v20+/server-builder/server/__serverFileName__ +69 -0
- package/src/generators/setup-ssr/files/v20+/server-builder/standalone-src/__main__ +7 -0
- package/src/generators/setup-ssr/files/v20+/server-builder/standalone-src/app/app.config.server.ts.template +11 -0
- package/src/generators/setup-ssr/lib/add-dependencies.js +11 -8
- package/src/generators/setup-ssr/lib/add-hydration.js +10 -3
- package/src/generators/setup-ssr/lib/add-server-file.js +7 -2
- package/src/generators/setup-ssr/lib/generate-files.js +17 -4
- package/src/generators/setup-ssr/lib/generate-server-ts-config.js +32 -6
- package/src/generators/setup-ssr/lib/normalize-options.js +5 -3
- package/src/generators/setup-ssr/lib/update-project-config.js +5 -0
- package/src/generators/setup-ssr/lib/validate-options.js +2 -2
- package/src/generators/setup-ssr/schema.d.ts +1 -0
- package/src/generators/setup-ssr/schema.json +1 -1
- package/src/generators/utils/add-jest.js +6 -1
- package/src/generators/utils/app-components-info.d.ts +9 -0
- package/src/generators/utils/app-components-info.js +39 -0
- package/src/generators/utils/artifact-types.d.ts +3 -0
- package/src/generators/utils/artifact-types.js +33 -0
- package/src/generators/utils/assert-mf-utils.d.ts +1 -0
- package/src/generators/utils/assert-mf-utils.js +11 -0
- package/src/generators/utils/ensure-angular-dependencies.js +6 -3
- package/src/generators/utils/export-scam.d.ts +1 -0
- package/src/generators/utils/export-scam.js +1 -2
- package/src/generators/utils/find-module.js +18 -13
- package/src/generators/utils/storybook-ast/component-info.js +40 -24
- package/src/generators/utils/storybook-ast/module-info.d.ts +1 -1
- package/src/generators/utils/storybook-ast/module-info.js +3 -8
- package/src/generators/utils/testing.js +28 -28
- package/src/generators/utils/version-utils.js +2 -2
- package/src/generators/web-worker/lib/add-snippet.js +3 -3
- package/src/migrations/update-21-2-0/migrate-provide-server-rendering-import.d.ts +2 -0
- package/src/migrations/update-21-2-0/migrate-provide-server-rendering-import.js +110 -0
- package/src/migrations/update-21-2-0/replace-provide-server-routing.d.ts +2 -0
- package/src/migrations/update-21-2-0/replace-provide-server-routing.js +103 -0
- package/src/migrations/update-21-2-0/set-generator-defaults-for-previous-style-guide.d.ts +2 -0
- package/src/migrations/update-21-2-0/set-generator-defaults-for-previous-style-guide.js +47 -0
- package/src/migrations/update-21-2-0/update-angular-cli.d.ts +3 -0
- package/src/migrations/update-21-2-0/update-angular-cli.js +23 -0
- package/src/migrations/update-21-2-0/update-module-resolution.d.ts +2 -0
- package/src/migrations/update-21-2-0/update-module-resolution.js +45 -0
- package/src/plugins/plugin.js +22 -13
- package/src/utils/backward-compatible-versions.d.ts +2 -2
- package/src/utils/backward-compatible-versions.js +22 -19
- package/src/utils/nx-devkit/ast-utils.js +17 -3
- package/src/utils/nx-devkit/testing.js +9 -9
- package/src/utils/targets.d.ts +2 -1
- package/src/utils/targets.js +6 -0
- package/src/utils/versions.d.ts +4 -3
- package/src/utils/versions.js +5 -4
- package/mf/mf.d.ts +0 -69
- package/src/generators/application/files/base-pre18/src/favicon.ico +0 -0
- package/src/generators/application/files/ng-module/src/app/app.component.spec.ts__tpl__ +0 -29
- package/src/generators/application/files/ng-module/src/app/app.module.ts__tpl__ +0 -17
- package/src/generators/application/files/standalone-components/src/app/app.component.__style__ +0 -0
- package/src/generators/application/files/standalone-components/src/app/app.component.spec.ts__tpl__ +0 -28
- package/src/generators/application/lib/set-app-strict-default.d.ts +0 -2
- package/src/generators/application/lib/set-app-strict-default.js +0 -13
- package/src/generators/application/lib/update-editor-tsconfig.js +0 -21
- package/src/generators/library/lib/enable-strict-type-checking.d.ts +0 -7
- package/src/generators/library/lib/enable-strict-type-checking.js +0 -47
- package/src/generators/library/lib/update-tsconfig.d.ts +0 -3
- package/src/generators/library/lib/update-tsconfig.js +0 -36
- package/src/generators/setup-mf/files/host-files/app.component.spec.ts__tmpl__ +0 -47
- /package/src/generators/application/files/{base-18+ → base}/public/favicon.ico +0 -0
- /package/src/generators/application/files/{base-pre18/src/assets/.gitkeep__tpl__ → ng-module/src/app/app__componentFileSuffix__.__style__} +0 -0
- /package/src/generators/application/files/ng-module/src/app/{app.component.html__tpl__ → app__componentFileSuffix__.html__tpl__} +0 -0
- /package/src/generators/application/files/{ng-module/src/app/app.component.__style__ → standalone-components/src/app/app__componentFileSuffix__.__style__} +0 -0
- /package/src/generators/application/files/standalone-components/src/app/{app.component.html__tpl__ → app__componentFileSuffix__.html__tpl__} +0 -0
- /package/src/generators/component/files/{__fileName__.html__tpl__ → __fileName____ngext__.html__tpl__} +0 -0
- /package/src/generators/library/files/ng-module/src/lib/{__libFileName__.module.ts__tpl__ → __libFileName____moduleTypeSeparator__module.ts__tpl__} +0 -0
- /package/src/generators/library-secondary-entry-point/files/src/lib/{__fileName__.module.ts__tmpl__ → __fileName____moduleTypeSeparator__module.ts__tmpl__} +0 -0
- /package/src/generators/setup-ssr/files/{v19+ → v19}/application-builder/ngmodule-src/__main__ +0 -0
- /package/src/generators/setup-ssr/files/{v19+ → v19}/application-builder/ngmodule-src/app/__rootModuleFileName__ +0 -0
- /package/src/generators/setup-ssr/files/{v19+ → v19}/application-builder/ngmodule-src/app/app.routes.server.ts__tpl__ +0 -0
- /package/src/generators/setup-ssr/files/{v19+ → v19}/application-builder/server/__serverFileName__ +0 -0
- /package/src/generators/setup-ssr/files/{v19+ → v19}/application-builder/standalone-src/__main__ +0 -0
- /package/src/generators/setup-ssr/files/{v19+ → v19}/application-builder/standalone-src/app/app.config.server.ts__tpl__ +0 -0
- /package/src/generators/setup-ssr/files/{v19+ → v19}/application-builder/standalone-src/app/app.routes.server.ts__tpl__ +0 -0
- /package/src/generators/setup-ssr/files/{v19+ → v19}/application-builder-common-engine/server/__serverFileName__ +0 -0
- /package/src/generators/setup-ssr/files/{v19+ → v19}/server-builder/ngmodule-src/__main__ +0 -0
- /package/src/generators/setup-ssr/files/{v19+ → v19}/server-builder/ngmodule-src/app/__rootModuleFileName__ +0 -0
- /package/src/generators/setup-ssr/files/{v19+ → v19}/server-builder/root/tsconfig.server.json.template +0 -0
- /package/src/generators/setup-ssr/files/{v19+ → v19}/server-builder/server/__serverFileName__ +0 -0
- /package/src/generators/setup-ssr/files/{v19+ → v19}/server-builder/standalone-src/__main__ +0 -0
- /package/src/generators/setup-ssr/files/{v19+ → v19}/server-builder/standalone-src/app/app.config.server.ts.template +0 -0
@@ -12,8 +12,14 @@ const remote_1 = tslib_1.__importDefault(require("../remote/remote"));
|
|
12
12
|
const setup_mf_1 = require("../setup-mf/setup-mf");
|
13
13
|
const add_mf_env_to_inputs_1 = require("../utils/add-mf-env-to-inputs");
|
14
14
|
const lib_1 = require("./lib");
|
15
|
+
const assert_mf_utils_1 = require("../utils/assert-mf-utils");
|
16
|
+
const convert_to_rspack_1 = tslib_1.__importDefault(require("../convert-to-rspack/convert-to-rspack"));
|
15
17
|
async function host(tree, schema) {
|
16
18
|
(0, ts_solution_setup_1.assertNotUsingTsSolutionSetup)(tree, 'angular', 'host');
|
19
|
+
// TODO: Replace with Rspack when confidence is high enough
|
20
|
+
schema.bundler ??= 'webpack';
|
21
|
+
const isRspack = schema.bundler === 'rspack';
|
22
|
+
(0, assert_mf_utils_1.assertRspackIsCSR)(schema.bundler, schema.ssr ?? false, schema.serverRouting ?? false);
|
17
23
|
const { typescriptConfiguration = true, ...options } = schema;
|
18
24
|
options.standalone = options.standalone ?? true;
|
19
25
|
const projects = (0, devkit_1.getProjects)(tree);
|
@@ -75,7 +81,8 @@ async function host(tree, schema) {
|
|
75
81
|
let ssrInstallTask = await (0, lib_1.updateSsrSetup)(tree, options, hostProjectName, typescriptConfiguration);
|
76
82
|
installTasks.push(ssrInstallTask);
|
77
83
|
}
|
78
|
-
for (
|
84
|
+
for (let i = 0; i < remotesToGenerate.length; i++) {
|
85
|
+
const remote = remotesToGenerate[i];
|
79
86
|
const remoteDirectory = options.directory
|
80
87
|
? (0, devkit_1.joinPathFragments)(options.directory, '..', remote)
|
81
88
|
: appRoot === '.'
|
@@ -86,12 +93,25 @@ async function host(tree, schema) {
|
|
86
93
|
name: remote,
|
87
94
|
directory: remoteDirectory,
|
88
95
|
host: hostProjectName,
|
96
|
+
port: isRspack ? 4200 + i + 1 : undefined,
|
89
97
|
skipFormat: true,
|
90
98
|
standalone: options.standalone,
|
91
99
|
typescriptConfiguration,
|
92
100
|
});
|
93
101
|
}
|
94
102
|
(0, add_mf_env_to_inputs_1.addMfEnvToTargetDefaultInputs)(tree);
|
103
|
+
if (isRspack) {
|
104
|
+
await (0, convert_to_rspack_1.default)(tree, {
|
105
|
+
project: hostProjectName,
|
106
|
+
skipInstall: options.skipPackageJson,
|
107
|
+
skipFormat: true,
|
108
|
+
});
|
109
|
+
}
|
110
|
+
const project = (0, devkit_1.readProjectConfiguration)(tree, hostProjectName);
|
111
|
+
project.targets.serve ??= {};
|
112
|
+
project.targets.serve.options ??= {};
|
113
|
+
project.targets.serve.options.port = 4200;
|
114
|
+
(0, devkit_1.updateProjectConfiguration)(tree, hostProjectName, project);
|
95
115
|
if (!options.skipFormat) {
|
96
116
|
await (0, devkit_1.formatFiles)(tree);
|
97
117
|
}
|
@@ -37,6 +37,12 @@
|
|
37
37
|
"x-priority": "important",
|
38
38
|
"alias": "producers"
|
39
39
|
},
|
40
|
+
"bundler": {
|
41
|
+
"type": "string",
|
42
|
+
"description": "The bundler to use for the host application.",
|
43
|
+
"default": "webpack",
|
44
|
+
"enum": ["webpack", "rspack"]
|
45
|
+
},
|
40
46
|
"dynamic": {
|
41
47
|
"type": "boolean",
|
42
48
|
"description": "Should the host application use dynamic federation?",
|
@@ -172,7 +178,7 @@
|
|
172
178
|
"x-priority": "important"
|
173
179
|
},
|
174
180
|
"serverRouting": {
|
175
|
-
"description": "Creates a server application using the Server Routing and App Engine APIs (Developer Preview). _Note: this is only supported in Angular versions
|
181
|
+
"description": "Creates a server application using the Server Routing and App Engine APIs for application using the `application` builder (Developer Preview). _Note: this is only supported in Angular versions 19.x.x_. From Angular 20 onwards, SSR will always enable server routing when using the `application` builder.",
|
176
182
|
"type": "boolean"
|
177
183
|
},
|
178
184
|
"typescriptConfiguration": {
|
@@ -29,7 +29,7 @@ function installAngularDevkitCoreIfMissing(tree, options) {
|
|
29
29
|
const packageVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, '@angular-devkit/core');
|
30
30
|
if (!packageVersion) {
|
31
31
|
const pkgVersions = (0, version_utils_1.versions)(tree);
|
32
|
-
const devkitVersion = (0, version_utils_1.
|
32
|
+
const devkitVersion = (0, version_utils_1.getInstalledAngularDevkitVersion)(tree) ??
|
33
33
|
pkgVersions.angularDevkitVersion;
|
34
34
|
try {
|
35
35
|
(0, devkit_1.ensurePackage)('@angular-devkit/core', devkitVersion);
|
@@ -1,7 +1,8 @@
|
|
1
1
|
{
|
2
|
-
"
|
3
|
-
|
4
|
-
|
2
|
+
"extends": "<%= rootTsConfig %>",
|
3
|
+
"compilerOptions": {},
|
4
|
+
"angularCompilerOptions": {
|
5
|
+
"enableI18nLegacyMessageIdFormat": false
|
5
6
|
},
|
6
7
|
"files": [],
|
7
8
|
"include": [],
|
@@ -9,6 +10,5 @@
|
|
9
10
|
{
|
10
11
|
"path": "./tsconfig.lib.json"
|
11
12
|
}
|
12
|
-
]
|
13
|
-
"extends": "<%= rootTsConfig %>"
|
13
|
+
]
|
14
14
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
<% if (!skipModule) { %>export * from './lib/<%= libFileName
|
1
|
+
<% if (!skipModule) { %>export * from './lib/<%= libFileName %><%= moduleTypeSeparator %>module';<% } %><% if(routing) { %>
|
2
2
|
export * from './lib/lib.routes';<% } %>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Route } from '@angular/router';
|
2
|
-
import { <%= libClassName %>
|
2
|
+
import { <%= libClassName %><%= componentType %> } from './<%= pathToComponent %><%= componentFileSuffix %>';
|
3
3
|
|
4
4
|
export const <%= libPropertyName %>Routes: Route[] = [
|
5
|
-
{ path: '', component: <%= libClassName %>
|
5
|
+
{ path: '', component: <%= libClassName %><%= componentType %> }
|
6
6
|
];
|
@@ -14,6 +14,7 @@ async function addStandaloneComponent(tree, { libraryOptions, componentOptions }
|
|
14
14
|
: `${componentOptions.name}/${componentOptions.name}`),
|
15
15
|
standalone: true,
|
16
16
|
export: true,
|
17
|
+
type: componentOptions.type,
|
17
18
|
skipFormat: true,
|
18
19
|
});
|
19
20
|
if (libraryOptions.routing) {
|
@@ -14,7 +14,12 @@ function createFiles(tree, options, project) {
|
|
14
14
|
: (0, devkit_1.joinPathFragments)(options.libraryOptions.fileName, options.libraryOptions.fileName);
|
15
15
|
const version = (0, version_utils_1.getInstalledAngularVersion)(tree);
|
16
16
|
const { major, minor } = (0, semver_1.parse)(version);
|
17
|
-
const
|
17
|
+
const componentType = options.componentOptions.type
|
18
|
+
? (0, devkit_1.names)(options.componentOptions.type).className
|
19
|
+
: '';
|
20
|
+
const componentFileSuffix = options.componentOptions.type
|
21
|
+
? `.${options.componentOptions.type}`
|
22
|
+
: '';
|
18
23
|
const substitutions = {
|
19
24
|
libName: options.libraryOptions.name,
|
20
25
|
libFileName: options.libraryOptions.fileName,
|
@@ -29,7 +34,9 @@ function createFiles(tree, options, project) {
|
|
29
34
|
importPath: options.libraryOptions.importPath,
|
30
35
|
rootOffset,
|
31
36
|
angularPeerDepVersion: `^${major}.${minor}.0`,
|
32
|
-
|
37
|
+
componentType,
|
38
|
+
componentFileSuffix,
|
39
|
+
moduleTypeSeparator: options.libraryOptions.moduleTypeSeparator,
|
33
40
|
tpl: '',
|
34
41
|
};
|
35
42
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/base'), options.libraryOptions.projectRoot, substitutions);
|
@@ -39,7 +46,7 @@ function createFiles(tree, options, project) {
|
|
39
46
|
else {
|
40
47
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/ng-module'), options.libraryOptions.projectRoot, substitutions);
|
41
48
|
if (options.libraryOptions.skipModule) {
|
42
|
-
tree.delete(
|
49
|
+
tree.delete(options.libraryOptions.modulePath);
|
43
50
|
}
|
44
51
|
}
|
45
52
|
if (!options.libraryOptions.routing) {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Tree } from '@nx/devkit';
|
2
|
-
import { Schema } from '../schema';
|
3
|
-
import { NormalizedSchema } from './normalized-schema';
|
1
|
+
import { type Tree } from '@nx/devkit';
|
2
|
+
import type { Schema } from '../schema';
|
3
|
+
import type { NormalizedSchema } from './normalized-schema';
|
4
4
|
export declare function normalizeOptions(host: Tree, schema: Schema): Promise<NormalizedSchema>;
|
@@ -4,6 +4,7 @@ exports.normalizeOptions = normalizeOptions;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
5
5
|
const project_name_and_root_utils_1 = require("@nx/devkit/src/generators/project-name-and-root-utils");
|
6
6
|
const test_runners_1 = require("../../../utils/test-runners");
|
7
|
+
const artifact_types_1 = require("../../utils/artifact-types");
|
7
8
|
async function normalizeOptions(host, schema) {
|
8
9
|
schema.standalone = schema.standalone ?? true;
|
9
10
|
// Create a schema with populated default values
|
@@ -35,7 +36,8 @@ async function normalizeOptions(host, schema) {
|
|
35
36
|
const parsedTags = options.tags
|
36
37
|
? options.tags.split(',').map((s) => s.trim())
|
37
38
|
: [];
|
38
|
-
const
|
39
|
+
const moduleTypeSeparator = (0, artifact_types_1.getModuleTypeSeparator)(host);
|
40
|
+
const modulePath = `${projectRoot}/src/lib/${fileName}${moduleTypeSeparator}module.ts`;
|
39
41
|
const ngCliSchematicLibRoot = projectName;
|
40
42
|
const allNormalizedOptions = {
|
41
43
|
...options,
|
@@ -53,8 +55,10 @@ async function normalizeOptions(host, schema) {
|
|
53
55
|
ngCliSchematicLibRoot,
|
54
56
|
skipTests: options.unitTestRunner === 'none' ? true : options.skipTests,
|
55
57
|
standaloneComponentName: `${(0, devkit_1.names)(projectNames.projectSimpleName).className}Component`,
|
58
|
+
moduleTypeSeparator,
|
56
59
|
};
|
57
60
|
const { displayBlock, inlineStyle, inlineTemplate, viewEncapsulation, changeDetection, style, skipTests, selector, skipSelector, flat, ...libraryOptions } = allNormalizedOptions;
|
61
|
+
const componentType = (0, artifact_types_1.getComponentType)(host);
|
58
62
|
return {
|
59
63
|
libraryOptions,
|
60
64
|
componentOptions: {
|
@@ -70,6 +74,7 @@ async function normalizeOptions(host, schema) {
|
|
70
74
|
selector,
|
71
75
|
skipSelector,
|
72
76
|
flat,
|
77
|
+
type: componentType,
|
73
78
|
},
|
74
79
|
};
|
75
80
|
}
|
@@ -36,6 +36,7 @@ export interface NormalizedSchema {
|
|
36
36
|
parsedTags: string[];
|
37
37
|
ngCliSchematicLibRoot: string;
|
38
38
|
standaloneComponentName: string;
|
39
|
+
moduleTypeSeparator: '-' | '.';
|
39
40
|
};
|
40
41
|
componentOptions: {
|
41
42
|
name: string;
|
@@ -50,5 +51,6 @@ export interface NormalizedSchema {
|
|
50
51
|
selector?: string;
|
51
52
|
skipSelector?: boolean;
|
52
53
|
flat?: boolean;
|
54
|
+
type?: string;
|
53
55
|
};
|
54
56
|
}
|
@@ -8,6 +8,7 @@ function setGeneratorDefaults(tree, options) {
|
|
8
8
|
nxJson.generators['@nx/angular:library'] = {
|
9
9
|
linter: options.libraryOptions.linter,
|
10
10
|
unitTestRunner: options.libraryOptions.unitTestRunner,
|
11
|
+
strict: !options.libraryOptions.strict ? false : undefined,
|
11
12
|
...(nxJson.generators['@nx/angular:library'] || {}),
|
12
13
|
};
|
13
14
|
(0, devkit_1.updateNxJson)(tree, nxJson);
|
@@ -0,0 +1,98 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.updateTsConfigFiles = updateTsConfigFiles;
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
5
|
+
const js_1 = require("@nx/js");
|
6
|
+
const configuration_1 = require("@nx/js/src/utils/typescript/configuration");
|
7
|
+
const semver_1 = require("semver");
|
8
|
+
const update_project_root_tsconfig_1 = require("../../utils/update-project-root-tsconfig");
|
9
|
+
const version_utils_1 = require("../../utils/version-utils");
|
10
|
+
function updateTsConfigFiles(tree, options) {
|
11
|
+
(0, js_1.extractTsConfigBase)(tree);
|
12
|
+
updateProjectConfig(tree, options);
|
13
|
+
updateProjectIvyConfig(tree, options);
|
14
|
+
(0, js_1.addTsConfigPath)(tree, options.importPath, [
|
15
|
+
(0, devkit_1.joinPathFragments)(options.projectRoot, './src', 'index.ts'),
|
16
|
+
]);
|
17
|
+
const compilerOptions = {
|
18
|
+
skipLibCheck: true,
|
19
|
+
experimentalDecorators: true,
|
20
|
+
importHelpers: true,
|
21
|
+
target: 'es2022',
|
22
|
+
moduleResolution: 'bundler',
|
23
|
+
...(options.strict
|
24
|
+
? {
|
25
|
+
strict: true,
|
26
|
+
noImplicitOverride: true,
|
27
|
+
noPropertyAccessFromIndexSignature: true,
|
28
|
+
noImplicitReturns: true,
|
29
|
+
noFallthroughCasesInSwitch: true,
|
30
|
+
}
|
31
|
+
: {}),
|
32
|
+
};
|
33
|
+
const { major: angularMajorVersion, version: angularVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
34
|
+
if ((0, semver_1.lt)(angularVersion, '18.1.0')) {
|
35
|
+
compilerOptions.useDefineForClassFields = false;
|
36
|
+
}
|
37
|
+
if (angularMajorVersion >= 20) {
|
38
|
+
compilerOptions.module = 'preserve';
|
39
|
+
}
|
40
|
+
else {
|
41
|
+
compilerOptions.module = 'es2022';
|
42
|
+
}
|
43
|
+
const tsconfigPath = (0, devkit_1.joinPathFragments)(options.projectRoot, 'tsconfig.json');
|
44
|
+
(0, devkit_1.updateJson)(tree, tsconfigPath, (json) => {
|
45
|
+
json.compilerOptions = {
|
46
|
+
...json.compilerOptions,
|
47
|
+
...compilerOptions,
|
48
|
+
};
|
49
|
+
json.compilerOptions = (0, configuration_1.getNeededCompilerOptionOverrides)(tree, json.compilerOptions, (0, js_1.getRootTsConfigFileName)(tree));
|
50
|
+
if (options.strict) {
|
51
|
+
json.angularCompilerOptions = {
|
52
|
+
...json.angularCompilerOptions,
|
53
|
+
strictInjectionParameters: true,
|
54
|
+
strictInputAccessModifiers: true,
|
55
|
+
typeCheckHostBindings: angularMajorVersion >= 20 ? true : undefined,
|
56
|
+
strictTemplates: true,
|
57
|
+
};
|
58
|
+
}
|
59
|
+
return json;
|
60
|
+
});
|
61
|
+
if (options.unitTestRunner === 'jest') {
|
62
|
+
const tsconfigSpecPath = (0, devkit_1.joinPathFragments)(options.projectRoot, 'tsconfig.spec.json');
|
63
|
+
(0, devkit_1.updateJson)(tree, tsconfigSpecPath, (json) => {
|
64
|
+
json.compilerOptions = {
|
65
|
+
...json.compilerOptions,
|
66
|
+
module: 'commonjs',
|
67
|
+
moduleResolution: 'node10',
|
68
|
+
};
|
69
|
+
json.compilerOptions = (0, configuration_1.getNeededCompilerOptionOverrides)(tree, json.compilerOptions, tsconfigPath);
|
70
|
+
return json;
|
71
|
+
});
|
72
|
+
}
|
73
|
+
}
|
74
|
+
function updateProjectConfig(host, options) {
|
75
|
+
(0, devkit_1.updateJson)(host, `${options.projectRoot}/tsconfig.lib.json`, (json) => {
|
76
|
+
json.include = ['src/**/*.ts'];
|
77
|
+
json.exclude = [
|
78
|
+
...new Set([
|
79
|
+
...(json.exclude || []),
|
80
|
+
'jest.config.ts',
|
81
|
+
'src/**/*.test.ts',
|
82
|
+
'src/**/*.spec.ts',
|
83
|
+
]),
|
84
|
+
];
|
85
|
+
return json;
|
86
|
+
});
|
87
|
+
// tsconfig.json
|
88
|
+
(0, update_project_root_tsconfig_1.updateProjectRootTsConfig)(host, options.projectRoot, (0, js_1.getRelativePathToRootTsConfig)(host, options.projectRoot));
|
89
|
+
}
|
90
|
+
function updateProjectIvyConfig(host, options) {
|
91
|
+
if (options.buildable || options.publishable) {
|
92
|
+
return (0, devkit_1.updateJson)(host, `${options.projectRoot}/tsconfig.lib.prod.json`, (json) => {
|
93
|
+
json.angularCompilerOptions['compilationMode'] =
|
94
|
+
options.compilationMode === 'full' ? undefined : 'partial';
|
95
|
+
return json;
|
96
|
+
});
|
97
|
+
}
|
98
|
+
}
|
@@ -3,28 +3,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.libraryGenerator = libraryGenerator;
|
4
4
|
const tslib_1 = require("tslib");
|
5
5
|
const devkit_1 = require("@nx/devkit");
|
6
|
+
const log_show_project_command_1 = require("@nx/devkit/src/utils/log-show-project-command");
|
6
7
|
const js_1 = require("@nx/js");
|
8
|
+
const add_release_config_1 = require("@nx/js/src/generators/library/utils/add-release-config");
|
9
|
+
const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
|
7
10
|
const init_1 = tslib_1.__importDefault(require("../../generators/init/init"));
|
11
|
+
const test_runners_1 = require("../../utils/test-runners");
|
8
12
|
const add_linting_1 = tslib_1.__importDefault(require("../add-linting/add-linting"));
|
9
13
|
const setup_tailwind_1 = tslib_1.__importDefault(require("../setup-tailwind/setup-tailwind"));
|
10
|
-
const
|
14
|
+
const add_jest_1 = require("../utils/add-jest");
|
15
|
+
const add_vitest_1 = require("../utils/add-vitest");
|
11
16
|
const dependencies_1 = require("../utils/dependencies");
|
17
|
+
const ensure_angular_dependencies_1 = require("../utils/ensure-angular-dependencies");
|
18
|
+
const version_utils_1 = require("../utils/version-utils");
|
12
19
|
const add_module_1 = require("./lib/add-module");
|
20
|
+
const add_project_1 = require("./lib/add-project");
|
13
21
|
const add_standalone_component_1 = require("./lib/add-standalone-component");
|
14
|
-
const enable_strict_type_checking_1 = require("./lib/enable-strict-type-checking");
|
15
|
-
const normalize_options_1 = require("./lib/normalize-options");
|
16
|
-
const update_lib_package_npm_scope_1 = require("./lib/update-lib-package-npm-scope");
|
17
|
-
const update_tsconfig_1 = require("./lib/update-tsconfig");
|
18
22
|
const create_files_1 = require("./lib/create-files");
|
19
|
-
const
|
20
|
-
const add_jest_1 = require("../utils/add-jest");
|
23
|
+
const normalize_options_1 = require("./lib/normalize-options");
|
21
24
|
const set_generator_defaults_1 = require("./lib/set-generator-defaults");
|
22
|
-
const
|
23
|
-
const
|
24
|
-
const test_runners_1 = require("../../utils/test-runners");
|
25
|
-
const add_vitest_1 = require("../utils/add-vitest");
|
26
|
-
const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
|
27
|
-
const add_release_config_1 = require("@nx/js/src/generators/library/utils/add-release-config");
|
25
|
+
const update_lib_package_npm_scope_1 = require("./lib/update-lib-package-npm-scope");
|
26
|
+
const update_tsconfig_files_1 = require("./lib/update-tsconfig-files");
|
28
27
|
async function libraryGenerator(tree, schema) {
|
29
28
|
(0, ts_solution_setup_1.assertNotUsingTsSolutionSetup)(tree, 'angular', 'library');
|
30
29
|
// Do some validation checks
|
@@ -51,8 +50,8 @@ async function libraryGenerator(tree, schema) {
|
|
51
50
|
}
|
52
51
|
const project = await (0, add_project_1.addProject)(tree, libraryOptions);
|
53
52
|
(0, create_files_1.createFiles)(tree, options, project);
|
54
|
-
(0, update_tsconfig_1.updateTsConfig)(tree, libraryOptions);
|
55
53
|
await addUnitTestRunner(tree, libraryOptions);
|
54
|
+
(0, update_tsconfig_files_1.updateTsConfigFiles)(tree, libraryOptions);
|
56
55
|
updateNpmScopeIfBuildableOrPublishable(tree, libraryOptions);
|
57
56
|
(0, set_generator_defaults_1.setGeneratorDefaults)(tree, options);
|
58
57
|
if (!libraryOptions.standalone) {
|
@@ -61,7 +60,6 @@ async function libraryGenerator(tree, schema) {
|
|
61
60
|
else {
|
62
61
|
await (0, add_standalone_component_1.addStandaloneComponent)(tree, options);
|
63
62
|
}
|
64
|
-
setStrictMode(tree, libraryOptions);
|
65
63
|
await addLinting(tree, libraryOptions);
|
66
64
|
if (libraryOptions.addTailwind) {
|
67
65
|
await (0, setup_tailwind_1.default)(tree, {
|
@@ -76,20 +74,16 @@ async function libraryGenerator(tree, schema) {
|
|
76
74
|
'ng-packagr': pkgVersions.ngPackagrVersion,
|
77
75
|
}, undefined, true);
|
78
76
|
(0, dependencies_1.addBuildableLibrariesPostCssDependencies)(tree);
|
79
|
-
if (libraryOptions.publishable) {
|
80
|
-
await (0, add_release_config_1.releaseTasks)(tree);
|
81
|
-
}
|
82
77
|
}
|
83
|
-
(0, js_1.addTsConfigPath)(tree, libraryOptions.importPath, [
|
84
|
-
(0, devkit_1.joinPathFragments)(libraryOptions.projectRoot, './src', 'index.ts'),
|
85
|
-
]);
|
86
78
|
if (!libraryOptions.skipFormat) {
|
87
79
|
await (0, devkit_1.formatFiles)(tree);
|
88
80
|
}
|
89
|
-
|
90
|
-
|
91
|
-
(0,
|
92
|
-
}
|
81
|
+
const tasks = [() => (0, devkit_1.installPackagesTask)(tree)];
|
82
|
+
if (libraryOptions.publishable) {
|
83
|
+
tasks.push(await (0, add_release_config_1.releaseTasks)(tree));
|
84
|
+
}
|
85
|
+
tasks.push(() => (0, log_show_project_command_1.logShowProjectCommand)(libraryOptions.name));
|
86
|
+
return (0, devkit_1.runTasksInSerial)(...tasks);
|
93
87
|
}
|
94
88
|
async function addUnitTestRunner(host, options) {
|
95
89
|
switch (options.unitTestRunner) {
|
@@ -116,14 +110,6 @@ function updateNpmScopeIfBuildableOrPublishable(host, options) {
|
|
116
110
|
(0, update_lib_package_npm_scope_1.updateLibPackageNpmScope)(host, options);
|
117
111
|
}
|
118
112
|
}
|
119
|
-
function setStrictMode(host, options) {
|
120
|
-
if (options.strict) {
|
121
|
-
(0, enable_strict_type_checking_1.enableStrictTypeChecking)(host, options);
|
122
|
-
}
|
123
|
-
else {
|
124
|
-
(0, enable_strict_type_checking_1.setLibraryStrictDefault)(host, options.strict);
|
125
|
-
}
|
126
|
-
}
|
127
113
|
async function addLinting(host, options) {
|
128
114
|
if (options.linter === 'none') {
|
129
115
|
return;
|
@@ -1 +1 @@
|
|
1
|
-
<% if (!skipModule) { %>export * from './lib/<%= fileName
|
1
|
+
<% if (!skipModule) { %>export * from './lib/<%= fileName %><%= moduleTypeSeparator %>module';<% } else { %>export const greeting = 'Hello World!';<% } %>
|
@@ -7,9 +7,10 @@ function addFiles(tree, options) {
|
|
7
7
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '..', 'files'), options.entryPointDestination, {
|
8
8
|
...options,
|
9
9
|
...nameVariants,
|
10
|
+
moduleTypeSeparator: options.moduleTypeSeparator,
|
10
11
|
tmpl: '',
|
11
12
|
});
|
12
13
|
if (options.skipModule) {
|
13
|
-
tree.delete((0, devkit_1.joinPathFragments)(options.entryPointDestination, `src/lib/${nameVariants.fileName}.module.ts`));
|
14
|
+
tree.delete((0, devkit_1.joinPathFragments)(options.entryPointDestination, `src/lib/${nameVariants.fileName}${options.moduleTypeSeparator}module.ts`));
|
14
15
|
}
|
15
16
|
}
|
@@ -1,3 +1,3 @@
|
|
1
|
-
import { Tree } from '@nx/devkit';
|
2
|
-
import { GeneratorOptions, NormalizedGeneratorOptions } from '../schema';
|
1
|
+
import { type Tree } from '@nx/devkit';
|
2
|
+
import type { GeneratorOptions, NormalizedGeneratorOptions } from '../schema';
|
3
3
|
export declare function normalizeOptions(tree: Tree, options: GeneratorOptions): NormalizedGeneratorOptions;
|
@@ -2,6 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.normalizeOptions = normalizeOptions;
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
5
|
+
const artifact_types_1 = require("../../utils/artifact-types");
|
5
6
|
function normalizeOptions(tree, options) {
|
6
7
|
const name = (0, devkit_1.names)(options.name).fileName;
|
7
8
|
const projects = (0, devkit_1.getProjects)(tree);
|
@@ -18,6 +19,7 @@ function normalizeOptions(tree, options) {
|
|
18
19
|
}
|
19
20
|
const { name: mainEntryPoint } = (0, devkit_1.readJson)(tree, (0, devkit_1.joinPathFragments)(libraryProject.root, 'package.json'));
|
20
21
|
const secondaryEntryPoint = `${mainEntryPoint}/${options.name}`;
|
22
|
+
const moduleTypeSeparator = (0, artifact_types_1.getModuleTypeSeparator)(tree);
|
21
23
|
return {
|
22
24
|
...options,
|
23
25
|
entryPointDestination,
|
@@ -26,5 +28,6 @@ function normalizeOptions(tree, options) {
|
|
26
28
|
libraryProject,
|
27
29
|
secondaryEntryPoint,
|
28
30
|
skipModule: options.skipModule ?? false,
|
31
|
+
moduleTypeSeparator,
|
29
32
|
};
|
30
33
|
}
|
@@ -28,12 +28,19 @@ function updateModuleName(tree, { oldProjectName, newProjectName }) {
|
|
28
28
|
to: `${(0, devkit_1.names)(unscopedNewProjectName).className}Module`,
|
29
29
|
};
|
30
30
|
const findModuleName = new RegExp(`\\b${moduleName.from}`, 'g');
|
31
|
-
const
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
31
|
+
const moduleFiles = [
|
32
|
+
{
|
33
|
+
from: `${oldProjectName}.module`,
|
34
|
+
fromRegex: new RegExp(`\\b${oldProjectName}\\.module`, 'g'),
|
35
|
+
to: `${unscopedNewProjectName}.module`,
|
36
|
+
},
|
37
|
+
{
|
38
|
+
from: `${oldProjectName}-module`,
|
39
|
+
fromRegex: new RegExp(`\\b${oldProjectName}-module`, 'g'),
|
40
|
+
to: `${unscopedNewProjectName}-module`,
|
41
|
+
},
|
42
|
+
];
|
43
|
+
const filesToRename = moduleFiles.flatMap((moduleFile) => [
|
37
44
|
{
|
38
45
|
from: `${project.sourceRoot}/lib/${moduleFile.from}.ts`,
|
39
46
|
to: `${project.sourceRoot}/lib/${moduleFile.to}.ts`,
|
@@ -42,15 +49,15 @@ function updateModuleName(tree, { oldProjectName, newProjectName }) {
|
|
42
49
|
from: `${project.sourceRoot}/lib/${moduleFile.from}.spec.ts`,
|
43
50
|
to: `${project.sourceRoot}/lib/${moduleFile.to}.spec.ts`,
|
44
51
|
},
|
45
|
-
].filter((rename) => rename.from !== rename.to);
|
52
|
+
].filter((rename) => rename.from !== rename.to));
|
46
53
|
if (filesToRename.length === 0) {
|
47
54
|
return;
|
48
55
|
}
|
49
56
|
const replacements = [
|
50
|
-
{
|
51
|
-
regex:
|
57
|
+
...moduleFiles.map((moduleFile) => ({
|
58
|
+
regex: moduleFile.fromRegex,
|
52
59
|
replaceWith: moduleFile.to,
|
53
|
-
},
|
60
|
+
})),
|
54
61
|
{
|
55
62
|
regex: findModuleName,
|
56
63
|
replaceWith: moduleName.to,
|
@@ -8,9 +8,6 @@ const libraryExecutors = [
|
|
8
8
|
'@angular/build:ng-packagr',
|
9
9
|
'@nx/angular:ng-packagr-lite',
|
10
10
|
'@nx/angular:package',
|
11
|
-
// TODO(v17): remove when @nrwl/* scope is removed
|
12
|
-
'@nrwl/angular:ng-packagr-lite',
|
13
|
-
'@nrwl/angular:package',
|
14
11
|
];
|
15
12
|
function updateSecondaryEntryPoints(tree, schema) {
|
16
13
|
if (schema.oldProjectName === schema.newProjectName) {
|
@@ -7,7 +7,7 @@ const path_1 = require("path");
|
|
7
7
|
const builder_migrator_1 = require("./builder.migrator");
|
8
8
|
class AngularDevkitKarmaMigrator extends builder_migrator_1.BuilderMigrator {
|
9
9
|
constructor(tree, project, projectConfig, logger) {
|
10
|
-
super(tree, ['@angular-devkit/build-angular:karma'], 'karma', project, projectConfig, logger);
|
10
|
+
super(tree, ['@angular/build:karma', '@angular-devkit/build-angular:karma'], 'karma', project, projectConfig, logger);
|
11
11
|
}
|
12
12
|
migrate() {
|
13
13
|
if (this.skipMigration) {
|