@nx/angular 24.0.0-pr.37405.acdaf31 → 24.0.0-rc.1
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/dist/executors.d.ts +0 -2
- package/dist/executors.js +0 -2
- package/dist/fesm2022/nx-angular.mjs +0 -4
- package/dist/generators.d.ts +0 -8
- package/dist/generators.js +0 -8
- package/dist/ready-check.d.ts +1 -0
- package/dist/ready-check.js +8 -0
- package/dist/src/executors/application/schema.json +1 -2
- package/dist/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.transform.js +9 -1
- package/dist/src/executors/unit-test/schema.json +6 -1
- package/dist/src/executors/unit-test/unit-test.impl.js +5 -0
- package/dist/src/executors/utilities/ng-packagr/stylesheet-processor.js +35 -10
- package/dist/src/generators/add-linting/add-linting.js +1 -3
- package/dist/src/generators/add-linting/schema.d.ts +0 -5
- package/dist/src/generators/add-linting/schema.json +0 -6
- package/dist/src/generators/application/application.js +1 -2
- package/dist/src/generators/application/lib/add-e2e.js +3 -8
- package/dist/src/generators/application/lib/add-linting.js +1 -3
- package/dist/src/generators/application/lib/add-serve-static-target.js +2 -0
- package/dist/src/generators/application/lib/add-unit-test-runner.js +0 -2
- package/dist/src/generators/application/lib/create-project.js +2 -0
- package/dist/src/generators/application/lib/normalize-options.d.ts +1 -1
- package/dist/src/generators/application/lib/normalize-options.js +1 -8
- package/dist/src/generators/application/schema.d.ts +0 -5
- package/dist/src/generators/application/schema.json +1 -7
- package/dist/src/generators/convert-to-rspack/convert-to-rspack.js +9 -4
- package/dist/src/generators/convert-to-rspack/lib/get-custom-webpack-config.d.ts +1 -2
- package/dist/src/generators/convert-to-rspack/lib/get-custom-webpack-config.js +0 -63
- package/dist/src/generators/convert-to-rspack/lib/validate-no-module-federation.d.ts +2 -0
- package/dist/src/generators/convert-to-rspack/lib/validate-no-module-federation.js +32 -0
- package/dist/src/generators/cypress-component-configuration/cypress-component-configuration.js +3 -15
- package/dist/src/generators/init/init.js +1 -2
- package/dist/src/generators/init/schema.d.ts +0 -2
- package/dist/src/generators/library/lib/normalized-schema.d.ts +0 -4
- package/dist/src/generators/library/library.js +3 -4
- package/dist/src/generators/library/schema.d.ts +0 -5
- package/dist/src/generators/library/schema.json +0 -6
- package/dist/src/generators/ng-add/migrators/builders/angular-eslint-lint.migrator.js +12 -1
- package/dist/src/generators/ng-add/migrators/projects/app.migrator.d.ts +1 -0
- package/dist/src/generators/ng-add/migrators/projects/app.migrator.js +22 -0
- package/dist/src/generators/ng-add/migrators/projects/e2e.migrator.js +12 -16
- package/dist/src/generators/ng-add/utilities/workspace.js +1 -3
- package/dist/src/generators/setup-ssr/files/v20+/application-builder/server/__serverFileName__ +15 -1
- package/dist/src/generators/setup-ssr/lib/add-dependencies.js +4 -0
- package/dist/src/generators/setup-ssr/lib/update-project-config.js +1 -0
- package/dist/src/generators/storybook-configuration/lib/generate-storybook-configuration.js +0 -2
- package/dist/src/generators/utils/add-jest.d.ts +0 -1
- package/dist/src/generators/utils/add-jest.js +0 -2
- package/dist/src/generators/utils/add-vitest.d.ts +0 -1
- package/dist/src/generators/utils/add-vitest.js +0 -1
- package/dist/src/generators/utils/testing.d.ts +4 -4
- package/dist/src/generators/utils/testing.js +19 -12
- package/dist/src/migrations/update-23-1-0/add-angular-build.js +7 -3
- package/dist/src/migrations/update-23-1-0/add-angular-build.md +1 -1
- package/dist/src/migrations/update-23-1-0/add-trust-proxy-headers.js +9 -2
- package/dist/src/migrations/update-24-0-0/add-ready-when-signal.d.ts +4 -0
- package/dist/src/migrations/update-24-0-0/add-ready-when-signal.js +12 -0
- package/dist/src/migrations/update-24-0-0/add-ready-when-signal.md +59 -0
- package/dist/src/migrations/update-24-0-0/remove-scam-generator-defaults.d.ts +2 -0
- package/dist/src/migrations/update-24-0-0/remove-scam-generator-defaults.js +85 -0
- package/dist/src/migrations/update-24-0-0/remove-scam-generator-defaults.md +48 -0
- package/dist/src/migrations/update-24-0-0/upgrade-to-angular-22-2.d.ts +5 -0
- package/dist/src/migrations/update-24-0-0/upgrade-to-angular-22-2.js +332 -0
- package/dist/src/migrations/update-24-0-0/upgrade-to-angular-22-2.md +46 -0
- package/dist/src/plugins/plugin.js +3 -5
- package/dist/src/plugins/utils/dev-server-ready-check.d.ts +17 -0
- package/dist/src/plugins/utils/dev-server-ready-check.js +213 -0
- package/dist/src/utils/assert-cypress-component-testing-support.js +10 -0
- package/dist/src/utils/backward-compatible-versions.js +0 -8
- package/dist/src/utils/versions.d.ts +4 -8
- package/dist/src/utils/versions.js +5 -9
- package/dist/types/nx-angular.d.ts +1 -3
- package/executors.json +0 -10
- package/generators.json +0 -59
- package/migrations.json +109 -0
- package/package.json +13 -21
- package/dist/.npmignore +0 -2
- package/dist/fesm2022/nx-angular-mf.mjs +0 -193
- package/dist/fesm2022/nx-angular-mf.mjs.map +0 -1
- package/dist/fesm2022/nx-angular.mjs.map +0 -1
- package/dist/mf/package.json +0 -4
- package/dist/src/builders/utilities/module-federation.d.ts +0 -11
- package/dist/src/builders/utilities/module-federation.js +0 -109
- package/dist/src/executors/module-federation-dev-server/lib/index.d.ts +0 -2
- package/dist/src/executors/module-federation-dev-server/lib/index.js +0 -5
- package/dist/src/executors/module-federation-dev-server/lib/normalize-options.d.ts +0 -2
- package/dist/src/executors/module-federation-dev-server/lib/normalize-options.js +0 -22
- package/dist/src/executors/module-federation-dev-server/lib/start-dev-remotes.d.ts +0 -5
- package/dist/src/executors/module-federation-dev-server/lib/start-dev-remotes.js +0 -29
- package/dist/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +0 -4
- package/dist/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +0 -111
- package/dist/src/executors/module-federation-dev-server/schema.d.ts +0 -38
- package/dist/src/executors/module-federation-dev-server/schema.json +0 -171
- package/dist/src/executors/module-federation-ssr-dev-server/lib/normalize-options.d.ts +0 -2
- package/dist/src/executors/module-federation-ssr-dev-server/lib/normalize-options.js +0 -20
- package/dist/src/executors/module-federation-ssr-dev-server/lib/start-dev-remotes.d.ts +0 -5
- package/dist/src/executors/module-federation-ssr-dev-server/lib/start-dev-remotes.js +0 -30
- package/dist/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.d.ts +0 -4
- package/dist/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +0 -110
- package/dist/src/executors/module-federation-ssr-dev-server/schema.d.ts +0 -17
- package/dist/src/executors/module-federation-ssr-dev-server/schema.json +0 -124
- package/dist/src/generators/convert-to-with-mf/convert-to-with-mf.d.ts +0 -4
- package/dist/src/generators/convert-to-with-mf/convert-to-with-mf.js +0 -36
- package/dist/src/generators/convert-to-with-mf/convert-to-with-mf.test-data.d.ts +0 -5
- package/dist/src/generators/convert-to-with-mf/convert-to-with-mf.test-data.js +0 -448
- package/dist/src/generators/convert-to-with-mf/lib/check-name-matches.d.ts +0 -2
- package/dist/src/generators/convert-to-with-mf/lib/check-name-matches.js +0 -22
- package/dist/src/generators/convert-to-with-mf/lib/check-shared-npm-packages.d.ts +0 -2
- package/dist/src/generators/convert-to-with-mf/lib/check-shared-npm-packages.js +0 -45
- package/dist/src/generators/convert-to-with-mf/lib/get-webpack-config-path.d.ts +0 -2
- package/dist/src/generators/convert-to-with-mf/lib/get-webpack-config-path.js +0 -18
- package/dist/src/generators/convert-to-with-mf/lib/index.d.ts +0 -6
- package/dist/src/generators/convert-to-with-mf/lib/index.js +0 -9
- package/dist/src/generators/convert-to-with-mf/lib/is-host-remote-config.d.ts +0 -5
- package/dist/src/generators/convert-to-with-mf/lib/is-host-remote-config.js +0 -57
- package/dist/src/generators/convert-to-with-mf/lib/parse-ast-webpack-config.d.ts +0 -2
- package/dist/src/generators/convert-to-with-mf/lib/parse-ast-webpack-config.js +0 -13
- package/dist/src/generators/convert-to-with-mf/lib/write-new-webpack-config.d.ts +0 -3
- package/dist/src/generators/convert-to-with-mf/lib/write-new-webpack-config.js +0 -50
- package/dist/src/generators/convert-to-with-mf/schema.d.ts +0 -4
- package/dist/src/generators/convert-to-with-mf/schema.json +0 -33
- package/dist/src/generators/federate-module/federate-module.d.ts +0 -4
- package/dist/src/generators/federate-module/federate-module.js +0 -49
- package/dist/src/generators/federate-module/lib/add-file-to-remote-tsconfig.d.ts +0 -2
- package/dist/src/generators/federate-module/lib/add-file-to-remote-tsconfig.js +0 -14
- package/dist/src/generators/federate-module/lib/add-path-to-exposes.d.ts +0 -8
- package/dist/src/generators/federate-module/lib/add-path-to-exposes.js +0 -77
- package/dist/src/generators/federate-module/lib/add-path-to-ts-config.d.ts +0 -8
- package/dist/src/generators/federate-module/lib/add-path-to-ts-config.js +0 -11
- package/dist/src/generators/federate-module/lib/add-remote.d.ts +0 -7
- package/dist/src/generators/federate-module/lib/add-remote.js +0 -42
- package/dist/src/generators/federate-module/lib/check-remote-exists.d.ts +0 -2
- package/dist/src/generators/federate-module/lib/check-remote-exists.js +0 -21
- package/dist/src/generators/federate-module/lib/index.d.ts +0 -4
- package/dist/src/generators/federate-module/lib/index.js +0 -7
- package/dist/src/generators/federate-module/schema.d.ts +0 -13
- package/dist/src/generators/federate-module/schema.json +0 -83
- package/dist/src/generators/host/files/common/src/main.server.ts__tmpl__ +0 -78
- package/dist/src/generators/host/files/js/webpack.server.config.js__tmpl__ +0 -8
- package/dist/src/generators/host/files/ts/webpack.server.config.ts__tmpl__ +0 -9
- package/dist/src/generators/host/host.d.ts +0 -4
- package/dist/src/generators/host/host.js +0 -133
- package/dist/src/generators/host/lib/index.d.ts +0 -2
- package/dist/src/generators/host/lib/index.js +0 -5
- package/dist/src/generators/host/lib/update-ssr-setup.d.ts +0 -3
- package/dist/src/generators/host/lib/update-ssr-setup.js +0 -54
- package/dist/src/generators/host/lib/validate-options.d.ts +0 -3
- package/dist/src/generators/host/lib/validate-options.js +0 -12
- package/dist/src/generators/host/schema.d.ts +0 -36
- package/dist/src/generators/host/schema.json +0 -195
- package/dist/src/generators/remote/files/base/webpack.server.config.js__tmpl__ +0 -9
- package/dist/src/generators/remote/files/base-ts/webpack.server.config.ts__tmpl__ +0 -9
- package/dist/src/generators/remote/files/common/src/main.server.ts__tmpl__ +0 -84
- package/dist/src/generators/remote/files/standalone/src/bootstrap.server.ts__tmpl__ +0 -12
- package/dist/src/generators/remote/lib/find-next-available-port.d.ts +0 -2
- package/dist/src/generators/remote/lib/find-next-available-port.js +0 -16
- package/dist/src/generators/remote/lib/index.d.ts +0 -3
- package/dist/src/generators/remote/lib/index.js +0 -6
- package/dist/src/generators/remote/lib/update-ssr-setup.d.ts +0 -9
- package/dist/src/generators/remote/lib/update-ssr-setup.js +0 -82
- package/dist/src/generators/remote/lib/validate-options.d.ts +0 -3
- package/dist/src/generators/remote/lib/validate-options.js +0 -12
- package/dist/src/generators/remote/remote.d.ts +0 -4
- package/dist/src/generators/remote/remote.js +0 -114
- package/dist/src/generators/remote/schema.d.ts +0 -34
- package/dist/src/generators/remote/schema.json +0 -184
- package/dist/src/generators/scam/lib/convert-component-to-scam.d.ts +0 -3
- package/dist/src/generators/scam/lib/convert-component-to-scam.js +0 -41
- package/dist/src/generators/scam/lib/index.d.ts +0 -2
- package/dist/src/generators/scam/lib/index.js +0 -5
- package/dist/src/generators/scam/lib/normalize-options.d.ts +0 -3
- package/dist/src/generators/scam/lib/normalize-options.js +0 -34
- package/dist/src/generators/scam/scam.d.ts +0 -7
- package/dist/src/generators/scam/scam.js +0 -28
- package/dist/src/generators/scam/schema.d.ts +0 -30
- package/dist/src/generators/scam/schema.json +0 -126
- package/dist/src/generators/scam-directive/lib/convert-directive-to-scam.d.ts +0 -3
- package/dist/src/generators/scam-directive/lib/convert-directive-to-scam.js +0 -41
- package/dist/src/generators/scam-directive/lib/index.d.ts +0 -2
- package/dist/src/generators/scam-directive/lib/index.js +0 -5
- package/dist/src/generators/scam-directive/lib/normalize-options.d.ts +0 -3
- package/dist/src/generators/scam-directive/lib/normalize-options.js +0 -34
- package/dist/src/generators/scam-directive/scam-directive.d.ts +0 -7
- package/dist/src/generators/scam-directive/scam-directive.js +0 -28
- package/dist/src/generators/scam-directive/schema.d.ts +0 -23
- package/dist/src/generators/scam-directive/schema.json +0 -89
- package/dist/src/generators/scam-pipe/lib/convert-pipe-to-scam.d.ts +0 -3
- package/dist/src/generators/scam-pipe/lib/convert-pipe-to-scam.js +0 -41
- package/dist/src/generators/scam-pipe/lib/index.d.ts +0 -2
- package/dist/src/generators/scam-pipe/lib/index.js +0 -5
- package/dist/src/generators/scam-pipe/lib/normalize-options.d.ts +0 -3
- package/dist/src/generators/scam-pipe/lib/normalize-options.js +0 -36
- package/dist/src/generators/scam-pipe/scam-pipe.d.ts +0 -7
- package/dist/src/generators/scam-pipe/scam-pipe.js +0 -28
- package/dist/src/generators/scam-pipe/schema.d.ts +0 -21
- package/dist/src/generators/scam-pipe/schema.json +0 -67
- package/dist/src/generators/scam-to-standalone/lib/convert-scam-to-standalone.d.ts +0 -3
- package/dist/src/generators/scam-to-standalone/lib/convert-scam-to-standalone.js +0 -35
- package/dist/src/generators/scam-to-standalone/lib/get-component-data-from-ast.d.ts +0 -6
- package/dist/src/generators/scam-to-standalone/lib/get-component-data-from-ast.js +0 -15
- package/dist/src/generators/scam-to-standalone/lib/get-module-metadata-from-ast.d.ts +0 -9
- package/dist/src/generators/scam-to-standalone/lib/get-module-metadata-from-ast.js +0 -51
- package/dist/src/generators/scam-to-standalone/lib/get-target-project.d.ts +0 -2
- package/dist/src/generators/scam-to-standalone/lib/get-target-project.js +0 -13
- package/dist/src/generators/scam-to-standalone/lib/index.d.ts +0 -8
- package/dist/src/generators/scam-to-standalone/lib/index.js +0 -11
- package/dist/src/generators/scam-to-standalone/lib/replace-module-usages-with-component.d.ts +0 -2
- package/dist/src/generators/scam-to-standalone/lib/replace-module-usages-with-component.js +0 -20
- package/dist/src/generators/scam-to-standalone/lib/selector-exists-in-ast.d.ts +0 -2
- package/dist/src/generators/scam-to-standalone/lib/selector-exists-in-ast.js +0 -7
- package/dist/src/generators/scam-to-standalone/lib/verify-is-inline-scam.d.ts +0 -2
- package/dist/src/generators/scam-to-standalone/lib/verify-is-inline-scam.js +0 -10
- package/dist/src/generators/scam-to-standalone/lib/verify-module-is-scam.d.ts +0 -1
- package/dist/src/generators/scam-to-standalone/lib/verify-module-is-scam.js +0 -11
- package/dist/src/generators/scam-to-standalone/scam-to-standalone.d.ts +0 -7
- package/dist/src/generators/scam-to-standalone/scam-to-standalone.js +0 -31
- package/dist/src/generators/scam-to-standalone/schema.d.ts +0 -5
- package/dist/src/generators/scam-to-standalone/schema.json +0 -32
- package/dist/src/generators/setup-mf/files/entry-module-files/__entryModuleFileName__.ts__tmpl__ +0 -18
- package/dist/src/generators/setup-mf/files/entry-module-files/entry.routes.ts__tmpl__ +0 -4
- package/dist/src/generators/setup-mf/files/entry-module-files/entry__componentFileSuffix__.ts__tmpl__ +0 -10
- package/dist/src/generators/setup-mf/files/host-files/__appFileName__.spec.ts__tmpl__ +0 -42
- package/dist/src/generators/setup-mf/files/standalone-entry-component-files/entry.routes.ts__tmpl__ +0 -4
- package/dist/src/generators/setup-mf/files/standalone-entry-component-files/entry__componentFileSuffix__.ts__tmpl__ +0 -11
- package/dist/src/generators/setup-mf/files/ts-webpack/module-federation.config.ts__tmpl__ +0 -27
- package/dist/src/generators/setup-mf/files/ts-webpack/tsconfig.lint.json__tmpl__ +0 -12
- package/dist/src/generators/setup-mf/files/ts-webpack/webpack.config.ts__tmpl__ +0 -9
- package/dist/src/generators/setup-mf/files/ts-webpack/webpack.prod.config.ts__tmpl__ +0 -21
- package/dist/src/generators/setup-mf/files/webpack/module-federation.config.js__tmpl__ +0 -23
- package/dist/src/generators/setup-mf/files/webpack/webpack.config.js__tmpl__ +0 -9
- package/dist/src/generators/setup-mf/files/webpack/webpack.prod.config.js__tmpl__ +0 -21
- package/dist/src/generators/setup-mf/lib/add-cypress-workaround.d.ts +0 -3
- package/dist/src/generators/setup-mf/lib/add-cypress-workaround.js +0 -52
- package/dist/src/generators/setup-mf/lib/add-remote-entry.d.ts +0 -3
- package/dist/src/generators/setup-mf/lib/add-remote-entry.js +0 -27
- package/dist/src/generators/setup-mf/lib/add-remote-to-host.d.ts +0 -9
- package/dist/src/generators/setup-mf/lib/add-remote-to-host.js +0 -127
- package/dist/src/generators/setup-mf/lib/change-build-target.d.ts +0 -3
- package/dist/src/generators/setup-mf/lib/change-build-target.js +0 -24
- package/dist/src/generators/setup-mf/lib/fix-bootstrap.d.ts +0 -3
- package/dist/src/generators/setup-mf/lib/fix-bootstrap.js +0 -40
- package/dist/src/generators/setup-mf/lib/generate-config.d.ts +0 -6
- package/dist/src/generators/setup-mf/lib/generate-config.js +0 -32
- package/dist/src/generators/setup-mf/lib/get-remotes-with-ports.d.ts +0 -6
- package/dist/src/generators/setup-mf/lib/get-remotes-with-ports.js +0 -20
- package/dist/src/generators/setup-mf/lib/index.d.ts +0 -15
- package/dist/src/generators/setup-mf/lib/index.js +0 -18
- package/dist/src/generators/setup-mf/lib/move-angular-plugin-to-dependencies.d.ts +0 -2
- package/dist/src/generators/setup-mf/lib/move-angular-plugin-to-dependencies.js +0 -15
- package/dist/src/generators/setup-mf/lib/normalize-options.d.ts +0 -3
- package/dist/src/generators/setup-mf/lib/normalize-options.js +0 -26
- package/dist/src/generators/setup-mf/lib/remove-dead-code-from-remote.d.ts +0 -3
- package/dist/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +0 -61
- package/dist/src/generators/setup-mf/lib/setup-host-if-dynamic.d.ts +0 -3
- package/dist/src/generators/setup-mf/lib/setup-host-if-dynamic.js +0 -20
- package/dist/src/generators/setup-mf/lib/setup-serve-target.d.ts +0 -3
- package/dist/src/generators/setup-mf/lib/setup-serve-target.js +0 -39
- package/dist/src/generators/setup-mf/lib/setup-tspath-for-remote.d.ts +0 -3
- package/dist/src/generators/setup-mf/lib/setup-tspath-for-remote.js +0 -15
- package/dist/src/generators/setup-mf/lib/update-host-app-routes.d.ts +0 -3
- package/dist/src/generators/setup-mf/lib/update-host-app-routes.js +0 -39
- package/dist/src/generators/setup-mf/lib/update-tsconfig.d.ts +0 -3
- package/dist/src/generators/setup-mf/lib/update-tsconfig.js +0 -18
- package/dist/src/generators/setup-mf/schema.d.ts +0 -35
- package/dist/src/generators/setup-mf/schema.json +0 -99
- package/dist/src/generators/setup-mf/setup-mf.d.ts +0 -4
- package/dist/src/generators/setup-mf/setup-mf.js +0 -90
- package/dist/src/generators/utils/add-mf-env-to-inputs.d.ts +0 -2
- package/dist/src/generators/utils/add-mf-env-to-inputs.js +0 -36
- package/dist/src/generators/utils/assert-mf-utils.d.ts +0 -1
- package/dist/src/generators/utils/assert-mf-utils.js +0 -8
- package/dist/src/generators/utils/export-scam.d.ts +0 -11
- package/dist/src/generators/utils/export-scam.js +0 -35
- package/dist/src/utils/get-mf-projects.d.ts +0 -4
- package/dist/src/utils/get-mf-projects.js +0 -31
- package/dist/src/utils/module-federation-deprecation.d.ts +0 -4
- package/dist/src/utils/module-federation-deprecation.js +0 -29
- package/dist/types/nx-angular-mf.d.ts +0 -72
- package/dist/types/nx-angular-mf.d.ts.map +0 -1
- package/dist/types/nx-angular.d.ts.map +0 -1
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateSsrSetup = updateSsrSetup;
|
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
const internal_1 = require("@nx/js/internal");
|
|
6
|
-
const path_1 = require("path");
|
|
7
|
-
const semver_1 = require("semver");
|
|
8
|
-
const versions_1 = require("../../../utils/versions");
|
|
9
|
-
const artifact_types_1 = require("../../utils/artifact-types");
|
|
10
|
-
const version_utils_1 = require("../../utils/version-utils");
|
|
11
|
-
async function updateSsrSetup(tree, { appName, port, standalone, typescriptConfiguration, zoneless, skipPackageJson, }) {
|
|
12
|
-
const { major: angularMajorVersion, version: angularVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
13
|
-
let project = (0, devkit_1.readProjectConfiguration)(tree, appName);
|
|
14
|
-
const sourceRoot = (0, internal_1.getProjectSourceRoot)(project, tree);
|
|
15
|
-
tree.rename((0, devkit_1.joinPathFragments)(sourceRoot, 'main.server.ts'), (0, devkit_1.joinPathFragments)(sourceRoot, 'bootstrap.server.ts'));
|
|
16
|
-
const pathToServerEntry = (0, devkit_1.joinPathFragments)(sourceRoot, 'server.ts');
|
|
17
|
-
tree.write(pathToServerEntry, `import('./main.server');`);
|
|
18
|
-
const browserBundleOutput = project.targets.build.options.outputPath;
|
|
19
|
-
const serverBundleOutput = project.targets.build.options.outputPath.replace(/\/browser$/, '/server');
|
|
20
|
-
(0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, '../files/common'), project.root, {
|
|
21
|
-
appName,
|
|
22
|
-
browserBundleOutput,
|
|
23
|
-
serverBundleOutput,
|
|
24
|
-
standalone,
|
|
25
|
-
zoneless,
|
|
26
|
-
useDefaultImport: angularMajorVersion >= 21,
|
|
27
|
-
angularMajorVersion,
|
|
28
|
-
supportsAllowedHosts: (0, version_utils_1.supportsSsrAllowedHosts)(tree),
|
|
29
|
-
tmpl: '',
|
|
30
|
-
});
|
|
31
|
-
const pathToTemplateFiles = typescriptConfiguration ? 'base-ts' : 'base';
|
|
32
|
-
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, `../files/${pathToTemplateFiles}`), project.root, {
|
|
33
|
-
tmpl: '',
|
|
34
|
-
});
|
|
35
|
-
if (standalone) {
|
|
36
|
-
const componentType = (0, artifact_types_1.getComponentType)(tree);
|
|
37
|
-
const componentFileSuffix = componentType ? `.${componentType}` : '';
|
|
38
|
-
// https://github.com/angular/angular-cli/releases/tag/20.3.0
|
|
39
|
-
const useBootstrapContext = (0, semver_1.gte)(angularVersion, '20.3.0');
|
|
40
|
-
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/standalone'), project.root, {
|
|
41
|
-
appName,
|
|
42
|
-
standalone,
|
|
43
|
-
componentType: componentType ? (0, devkit_1.names)(componentType).className : '',
|
|
44
|
-
componentFileSuffix,
|
|
45
|
-
useBootstrapContext,
|
|
46
|
-
tmpl: '',
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
// update project.json
|
|
50
|
-
project = (0, devkit_1.readProjectConfiguration)(tree, appName);
|
|
51
|
-
project.targets.server.executor = '@nx/angular:webpack-server';
|
|
52
|
-
project.targets.server.options.customWebpackConfig = {
|
|
53
|
-
path: (0, devkit_1.joinPathFragments)(project.root, `webpack.server.config.${typescriptConfiguration ? 'ts' : 'js'}`),
|
|
54
|
-
};
|
|
55
|
-
if (project.targets.server.configurations &&
|
|
56
|
-
project.targets.server.configurations.development) {
|
|
57
|
-
if ('vendorChunk' in project.targets.server.configurations.development) {
|
|
58
|
-
delete project.targets.server.configurations.development.vendorChunk;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
project.targets['serve-ssr'].options = {
|
|
62
|
-
...(project.targets['serve-ssr'].options ?? {}),
|
|
63
|
-
port,
|
|
64
|
-
};
|
|
65
|
-
project.targets['static-server'] = {
|
|
66
|
-
dependsOn: ['build', 'server'],
|
|
67
|
-
executor: 'nx:run-commands',
|
|
68
|
-
options: {
|
|
69
|
-
command: `PORT=${port} node ${(0, devkit_1.joinPathFragments)(project.targets.server.options.outputPath, 'main.js')}`,
|
|
70
|
-
},
|
|
71
|
-
};
|
|
72
|
-
(0, devkit_1.updateProjectConfiguration)(tree, appName, project);
|
|
73
|
-
if (!skipPackageJson) {
|
|
74
|
-
return (0, devkit_1.addDependenciesToPackageJson)(tree, {
|
|
75
|
-
cors: versions_1.corsVersion,
|
|
76
|
-
'@module-federation/node': versions_1.moduleFederationNodeVersion,
|
|
77
|
-
}, {
|
|
78
|
-
'@types/cors': versions_1.typesCorsVersion,
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
return () => { };
|
|
82
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateOptions = validateOptions;
|
|
4
|
-
const version_utils_1 = require("../../utils/version-utils");
|
|
5
|
-
function validateOptions(tree, options) {
|
|
6
|
-
const { major: angularMajorVersion, version: angularVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
7
|
-
if (angularMajorVersion < 21) {
|
|
8
|
-
if (options.zoneless) {
|
|
9
|
-
throw new Error(`The "zoneless" option is only supported for Angular versions >= 21.0.0. You are using Angular ${angularVersion}.`);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.remote = remote;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const internal_1 = require("@nx/devkit/internal");
|
|
6
|
-
const internal_2 = require("@nx/eslint/internal");
|
|
7
|
-
const devkit_1 = require("@nx/devkit");
|
|
8
|
-
const internal_3 = require("@nx/js/internal");
|
|
9
|
-
const assert_supported_angular_version_1 = require("../../utils/assert-supported-angular-version");
|
|
10
|
-
const test_runners_1 = require("../../utils/test-runners");
|
|
11
|
-
const application_1 = require("../application/application");
|
|
12
|
-
const convert_to_rspack_1 = tslib_1.__importDefault(require("../convert-to-rspack/convert-to-rspack"));
|
|
13
|
-
const setup_mf_1 = require("../setup-mf/setup-mf");
|
|
14
|
-
const add_mf_env_to_inputs_1 = require("../utils/add-mf-env-to-inputs");
|
|
15
|
-
const assert_mf_utils_1 = require("../utils/assert-mf-utils");
|
|
16
|
-
const validations_1 = require("../utils/validations");
|
|
17
|
-
const version_utils_1 = require("../utils/version-utils");
|
|
18
|
-
const lib_1 = require("./lib");
|
|
19
|
-
async function remote(tree, schema) {
|
|
20
|
-
(0, assert_supported_angular_version_1.assertSupportedAngularVersion)(tree);
|
|
21
|
-
(0, validations_1.assertNotUsingTsSolutionSetup)(tree, 'remote');
|
|
22
|
-
(0, lib_1.validateOptions)(tree, schema);
|
|
23
|
-
// TODO: Replace with Rspack when confidence is high enough
|
|
24
|
-
schema.bundler ??= 'webpack';
|
|
25
|
-
const isRspack = schema.bundler === 'rspack';
|
|
26
|
-
(0, assert_mf_utils_1.assertRspackIsCSR)(schema.bundler, schema.ssr ?? false);
|
|
27
|
-
const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
28
|
-
schema.zoneless ??= angularMajorVersion >= 21 ? true : false;
|
|
29
|
-
const { typescriptConfiguration = true, ...options } = schema;
|
|
30
|
-
options.standalone = options.standalone ?? true;
|
|
31
|
-
const projects = (0, devkit_1.getProjects)(tree);
|
|
32
|
-
if (options.host && !projects.has(options.host)) {
|
|
33
|
-
throw new Error(`The name of the application to be used as the host app does not exist. (${options.host})`);
|
|
34
|
-
}
|
|
35
|
-
await (0, internal_1.ensureRootProjectName)(options, 'application');
|
|
36
|
-
const { projectName: remoteProjectName } = await (0, internal_1.determineProjectNameAndRootOptions)(tree, {
|
|
37
|
-
name: options.name,
|
|
38
|
-
projectType: 'application',
|
|
39
|
-
directory: options.directory,
|
|
40
|
-
});
|
|
41
|
-
const REMOTE_NAME_REGEX = '^[a-zA-Z_$][a-zA-Z_$0-9]*$';
|
|
42
|
-
const remoteNameRegex = new RegExp(REMOTE_NAME_REGEX);
|
|
43
|
-
if (!remoteNameRegex.test(remoteProjectName)) {
|
|
44
|
-
throw new Error((0, devkit_1.stripIndents) `Invalid remote name: ${remoteProjectName}. Remote project names must:
|
|
45
|
-
- Start with a letter, dollar sign ($) or underscore (_)
|
|
46
|
-
- Followed by any valid character (letters, digits, underscores, or dollar signs)
|
|
47
|
-
The regular expression used is ${REMOTE_NAME_REGEX}.`);
|
|
48
|
-
}
|
|
49
|
-
const port = options.port ?? (0, lib_1.findNextAvailablePort)(tree);
|
|
50
|
-
const appInstallTask = await (0, application_1.applicationGenerator)(tree, {
|
|
51
|
-
...options,
|
|
52
|
-
standalone: options.standalone,
|
|
53
|
-
routing: true,
|
|
54
|
-
port,
|
|
55
|
-
skipFormat: true,
|
|
56
|
-
bundler: 'webpack',
|
|
57
|
-
});
|
|
58
|
-
const skipE2E = !options.e2eTestRunner || options.e2eTestRunner === test_runners_1.E2eTestRunner.None;
|
|
59
|
-
await (0, setup_mf_1.setupMf)(tree, {
|
|
60
|
-
appName: remoteProjectName,
|
|
61
|
-
mfType: 'remote',
|
|
62
|
-
routing: true,
|
|
63
|
-
host: options.host,
|
|
64
|
-
port,
|
|
65
|
-
skipPackageJson: options.skipPackageJson,
|
|
66
|
-
skipFormat: true,
|
|
67
|
-
skipE2E,
|
|
68
|
-
e2eProjectName: skipE2E ? undefined : `${remoteProjectName}-e2e`,
|
|
69
|
-
standalone: options.standalone,
|
|
70
|
-
prefix: options.prefix,
|
|
71
|
-
typescriptConfiguration,
|
|
72
|
-
enableTypedLinting: (0, internal_2.isTypedLintingEnabled)(options),
|
|
73
|
-
});
|
|
74
|
-
const installTasks = [appInstallTask];
|
|
75
|
-
if (!options.skipPackageJson) {
|
|
76
|
-
const installSwcHelpersTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {}, {
|
|
77
|
-
'@swc/helpers': internal_3.swcHelpersVersion,
|
|
78
|
-
});
|
|
79
|
-
installTasks.push(installSwcHelpersTask);
|
|
80
|
-
}
|
|
81
|
-
if (options.ssr) {
|
|
82
|
-
let ssrInstallTask = await (0, lib_1.updateSsrSetup)(tree, {
|
|
83
|
-
appName: remoteProjectName,
|
|
84
|
-
port,
|
|
85
|
-
typescriptConfiguration,
|
|
86
|
-
standalone: options.standalone,
|
|
87
|
-
skipPackageJson: options.skipPackageJson,
|
|
88
|
-
zoneless: options.zoneless,
|
|
89
|
-
});
|
|
90
|
-
installTasks.push(ssrInstallTask);
|
|
91
|
-
}
|
|
92
|
-
(0, add_mf_env_to_inputs_1.addMfEnvToTargetDefaultInputs)(tree);
|
|
93
|
-
if (isRspack) {
|
|
94
|
-
await (0, convert_to_rspack_1.default)(tree, {
|
|
95
|
-
project: remoteProjectName,
|
|
96
|
-
skipInstall: options.skipPackageJson,
|
|
97
|
-
skipFormat: true,
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
const project = (0, devkit_1.readProjectConfiguration)(tree, remoteProjectName);
|
|
101
|
-
project.targets.serve ??= {};
|
|
102
|
-
project.targets.serve.options ??= {};
|
|
103
|
-
if (options.host) {
|
|
104
|
-
project.targets.serve.dependsOn ??= [];
|
|
105
|
-
project.targets.serve.dependsOn.push(`${options.host}:serve`);
|
|
106
|
-
}
|
|
107
|
-
project.targets.serve.options.port = port;
|
|
108
|
-
(0, devkit_1.updateProjectConfiguration)(tree, remoteProjectName, project);
|
|
109
|
-
if (!options.skipFormat) {
|
|
110
|
-
await (0, devkit_1.formatFiles)(tree);
|
|
111
|
-
}
|
|
112
|
-
return (0, devkit_1.runTasksInSerial)(...installTasks);
|
|
113
|
-
}
|
|
114
|
-
exports.default = remote;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { LinterType } from '@nx/js';
|
|
2
|
-
import type { E2eTestRunner, UnitTestRunner } from '../../utils/test-runners';
|
|
3
|
-
import type { Styles } from '../utils/types';
|
|
4
|
-
|
|
5
|
-
export interface Schema {
|
|
6
|
-
directory: string;
|
|
7
|
-
name?: string;
|
|
8
|
-
bundler?: 'webpack' | 'rspack';
|
|
9
|
-
host?: string;
|
|
10
|
-
port?: number;
|
|
11
|
-
enableTypedLinting?: boolean;
|
|
12
|
-
/**
|
|
13
|
-
* @deprecated Use `enableTypedLinting` instead. This option will be removed in Nx v24.
|
|
14
|
-
*/
|
|
15
|
-
setParserOptionsProject?: boolean;
|
|
16
|
-
skipPackageJson?: boolean;
|
|
17
|
-
prefix?: string;
|
|
18
|
-
style?: Styles;
|
|
19
|
-
skipTests?: boolean;
|
|
20
|
-
tags?: string;
|
|
21
|
-
linter?: LinterType;
|
|
22
|
-
unitTestRunner?: Exclude<UnitTestRunner, UnitTestRunner.VitestAngular>;
|
|
23
|
-
e2eTestRunner?: E2eTestRunner;
|
|
24
|
-
backendProject?: string;
|
|
25
|
-
strict?: boolean;
|
|
26
|
-
inlineStyle?: boolean;
|
|
27
|
-
inlineTemplate?: boolean;
|
|
28
|
-
viewEncapsulation?: 'Emulated' | 'Native' | 'None';
|
|
29
|
-
skipFormat?: boolean;
|
|
30
|
-
standalone?: boolean;
|
|
31
|
-
ssr?: boolean;
|
|
32
|
-
zoneless?: boolean;
|
|
33
|
-
typescriptConfiguration?: boolean;
|
|
34
|
-
}
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json-schema.org/schema",
|
|
3
|
-
"$id": "NxMFRemote",
|
|
4
|
-
"cli": "nx",
|
|
5
|
-
"title": "Nx Module Federation Producer (Remote) App",
|
|
6
|
-
"description": "Create an Angular Producer (Remote) Module Federation Application.",
|
|
7
|
-
"type": "object",
|
|
8
|
-
"examples": [
|
|
9
|
-
{
|
|
10
|
-
"command": "nx g @nx/angular:remote appName --host=host --port=4201",
|
|
11
|
-
"description": "Create an Angular app with configuration in place for Module Federation. If Consumer (host) is provided, attach this Producer (remote) app to Consumer (host) app's configuration."
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"command": "nx g @nx/angular:producer appName --consumer=host --port=4201",
|
|
15
|
-
"description": "Create an Angular app with configuration in place for Module Federation. If Consumer (host) is provided, attach this Producer (remote) app to Consumer (host) app's configuration."
|
|
16
|
-
}
|
|
17
|
-
],
|
|
18
|
-
"properties": {
|
|
19
|
-
"directory": {
|
|
20
|
-
"description": "The directory of the new application.",
|
|
21
|
-
"type": "string",
|
|
22
|
-
"$default": {
|
|
23
|
-
"$source": "argv",
|
|
24
|
-
"index": 0
|
|
25
|
-
},
|
|
26
|
-
"x-prompt": "Which directory do you want to create the application in?"
|
|
27
|
-
},
|
|
28
|
-
"name": {
|
|
29
|
-
"type": "string",
|
|
30
|
-
"description": "The name to give to the Producer (remote) Angular app.",
|
|
31
|
-
"pattern": "^[a-zA-Z_$][a-zA-Z_$0-9]*$",
|
|
32
|
-
"x-priority": "important"
|
|
33
|
-
},
|
|
34
|
-
"host": {
|
|
35
|
-
"type": "string",
|
|
36
|
-
"description": "The name of the Consumer (host) app to attach this Producer (remote) app to.",
|
|
37
|
-
"x-dropdown": "projects",
|
|
38
|
-
"x-priority": "important",
|
|
39
|
-
"alias": "consumer"
|
|
40
|
-
},
|
|
41
|
-
"port": {
|
|
42
|
-
"type": "number",
|
|
43
|
-
"description": "The port on which this app should be served."
|
|
44
|
-
},
|
|
45
|
-
"bundler": {
|
|
46
|
-
"type": "string",
|
|
47
|
-
"description": "The bundler to use for the remote application.",
|
|
48
|
-
"default": "webpack",
|
|
49
|
-
"enum": ["webpack", "rspack"]
|
|
50
|
-
},
|
|
51
|
-
"style": {
|
|
52
|
-
"description": "The file extension to be used for style files.",
|
|
53
|
-
"type": "string",
|
|
54
|
-
"default": "css",
|
|
55
|
-
"enum": ["css", "scss", "sass", "less"],
|
|
56
|
-
"x-prompt": {
|
|
57
|
-
"message": "Which stylesheet format would you like to use?",
|
|
58
|
-
"type": "list",
|
|
59
|
-
"items": [
|
|
60
|
-
{
|
|
61
|
-
"value": "css",
|
|
62
|
-
"label": "CSS"
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
"value": "scss",
|
|
66
|
-
"label": "SASS(.scss) [ https://sass-lang.com ]"
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
"value": "sass",
|
|
70
|
-
"label": "SASS(.sass) [ https://sass-lang.com ]"
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
"value": "less",
|
|
74
|
-
"label": "LESS [ https://lesscss.org ]"
|
|
75
|
-
}
|
|
76
|
-
]
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
"inlineStyle": {
|
|
80
|
-
"description": "Specifies if the style will be in the ts file.",
|
|
81
|
-
"type": "boolean",
|
|
82
|
-
"default": false,
|
|
83
|
-
"alias": "s"
|
|
84
|
-
},
|
|
85
|
-
"inlineTemplate": {
|
|
86
|
-
"description": "Specifies if the template will be in the ts file.",
|
|
87
|
-
"type": "boolean",
|
|
88
|
-
"default": false,
|
|
89
|
-
"alias": "t"
|
|
90
|
-
},
|
|
91
|
-
"viewEncapsulation": {
|
|
92
|
-
"description": "Specifies the view encapsulation strategy.",
|
|
93
|
-
"enum": ["Emulated", "None", "ShadowDom"],
|
|
94
|
-
"type": "string"
|
|
95
|
-
},
|
|
96
|
-
"prefix": {
|
|
97
|
-
"type": "string",
|
|
98
|
-
"format": "html-selector",
|
|
99
|
-
"description": "The prefix to apply to generated selectors.",
|
|
100
|
-
"alias": "p"
|
|
101
|
-
},
|
|
102
|
-
"skipTests": {
|
|
103
|
-
"description": "Skip creating spec files.",
|
|
104
|
-
"type": "boolean",
|
|
105
|
-
"default": false,
|
|
106
|
-
"alias": "S"
|
|
107
|
-
},
|
|
108
|
-
"skipPackageJson": {
|
|
109
|
-
"type": "boolean",
|
|
110
|
-
"default": false,
|
|
111
|
-
"description": "Do not add dependencies to `package.json`.",
|
|
112
|
-
"x-priority": "internal"
|
|
113
|
-
},
|
|
114
|
-
"unitTestRunner": {
|
|
115
|
-
"type": "string",
|
|
116
|
-
"enum": ["vitest-analog", "jest", "none"],
|
|
117
|
-
"description": "Test runner to use for unit tests. `vitest-analog` uses AnalogJS-based setup with `@nx/vitest`. It defaults to `vitest-analog` for Angular versions >= 21.0.0, otherwise `jest`.",
|
|
118
|
-
"x-prompt": "Which unit test runner would you like to use?"
|
|
119
|
-
},
|
|
120
|
-
"e2eTestRunner": {
|
|
121
|
-
"type": "string",
|
|
122
|
-
"enum": ["playwright", "cypress", "none"],
|
|
123
|
-
"description": "Test runner to use for end to end (E2E) tests.",
|
|
124
|
-
"x-prompt": "Which E2E test runner would you like to use?",
|
|
125
|
-
"default": "playwright"
|
|
126
|
-
},
|
|
127
|
-
"tags": {
|
|
128
|
-
"type": "string",
|
|
129
|
-
"description": "Add tags to the application (used for linting)."
|
|
130
|
-
},
|
|
131
|
-
"linter": {
|
|
132
|
-
"description": "The tool to use for running lint checks. Defaults to the linter the workspace already uses.",
|
|
133
|
-
"type": "string",
|
|
134
|
-
"enum": ["eslint", "oxlint", "none"]
|
|
135
|
-
},
|
|
136
|
-
"backendProject": {
|
|
137
|
-
"type": "string",
|
|
138
|
-
"description": "Backend project that provides data to this application. This sets up `proxy.config.json`."
|
|
139
|
-
},
|
|
140
|
-
"strict": {
|
|
141
|
-
"type": "boolean",
|
|
142
|
-
"description": "Create an application with stricter type checking and build optimization options.",
|
|
143
|
-
"default": true
|
|
144
|
-
},
|
|
145
|
-
"enableTypedLinting": {
|
|
146
|
-
"type": "boolean",
|
|
147
|
-
"description": "Whether to enable typed linting. For flat configs, this configures the recommended `parserOptions.projectService` and `tsconfigRootDir`. For legacy `.eslintrc` configs, this configures `parserOptions.project`. We do not enable this by default for lint performance reasons.",
|
|
148
|
-
"default": false
|
|
149
|
-
},
|
|
150
|
-
"setParserOptionsProject": {
|
|
151
|
-
"type": "boolean",
|
|
152
|
-
"description": "Deprecated alias for `enableTypedLinting`.",
|
|
153
|
-
"default": false,
|
|
154
|
-
"x-deprecated": "Use `enableTypedLinting` instead. This option will be removed in Nx v24."
|
|
155
|
-
},
|
|
156
|
-
"skipFormat": {
|
|
157
|
-
"description": "Skip formatting files.",
|
|
158
|
-
"type": "boolean",
|
|
159
|
-
"default": false,
|
|
160
|
-
"x-priority": "internal"
|
|
161
|
-
},
|
|
162
|
-
"standalone": {
|
|
163
|
-
"description": "Whether to generate a Producer (remote) application with standalone components.",
|
|
164
|
-
"type": "boolean",
|
|
165
|
-
"default": true
|
|
166
|
-
},
|
|
167
|
-
"ssr": {
|
|
168
|
-
"description": "Whether to configure SSR for the Producer (remote) application to be consumed by a Consumer (host) application using SSR.",
|
|
169
|
-
"type": "boolean",
|
|
170
|
-
"default": false
|
|
171
|
-
},
|
|
172
|
-
"zoneless": {
|
|
173
|
-
"description": "Generate an application that does not use `zone.js`. It defaults to `true`. _Note: this is only supported in Angular versions >= 21.0.0_",
|
|
174
|
-
"type": "boolean"
|
|
175
|
-
},
|
|
176
|
-
"typescriptConfiguration": {
|
|
177
|
-
"type": "boolean",
|
|
178
|
-
"description": "Whether the module federation configuration and webpack configuration files should use TS.",
|
|
179
|
-
"default": true
|
|
180
|
-
}
|
|
181
|
-
},
|
|
182
|
-
"additionalProperties": false,
|
|
183
|
-
"required": ["directory"]
|
|
184
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.convertComponentToScam = convertComponentToScam;
|
|
4
|
-
const js_1 = require("@nx/js");
|
|
5
|
-
const internal_1 = require("@nx/js/internal");
|
|
6
|
-
let tsModule;
|
|
7
|
-
function convertComponentToScam(tree, options) {
|
|
8
|
-
if (!tree.exists(options.filePath)) {
|
|
9
|
-
throw new Error(`Couldn't find component at path ${options.filePath} to add SCAM setup.`);
|
|
10
|
-
}
|
|
11
|
-
if (!tsModule) {
|
|
12
|
-
tsModule = (0, internal_1.ensureTypescript)();
|
|
13
|
-
}
|
|
14
|
-
if (options.inlineScam) {
|
|
15
|
-
const currentComponentContents = tree.read(options.filePath, 'utf-8');
|
|
16
|
-
let source = tsModule.createSourceFile(options.filePath, currentComponentContents, tsModule.ScriptTarget.Latest, true);
|
|
17
|
-
source = (0, js_1.insertImport)(tree, source, options.filePath, 'NgModule', '@angular/core');
|
|
18
|
-
source = (0, js_1.insertImport)(tree, source, options.filePath, 'CommonModule', '@angular/common');
|
|
19
|
-
let updatedComponentSource = source.getText();
|
|
20
|
-
updatedComponentSource = `${updatedComponentSource}${getNgModuleDeclaration(options.symbolName)}`;
|
|
21
|
-
tree.write(options.filePath, updatedComponentSource);
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
tree.write(options.modulePath, getModuleFileContent(options.symbolName, options.fileName));
|
|
25
|
-
}
|
|
26
|
-
function getModuleFileContent(componentClassName, componentFileName) {
|
|
27
|
-
return `import { NgModule } from '@angular/core';
|
|
28
|
-
import { CommonModule } from '@angular/common';
|
|
29
|
-
import { ${componentClassName} } from './${componentFileName}';
|
|
30
|
-
${getNgModuleDeclaration(componentClassName)}`;
|
|
31
|
-
}
|
|
32
|
-
function getNgModuleDeclaration(componentClassName) {
|
|
33
|
-
return `
|
|
34
|
-
@NgModule({
|
|
35
|
-
imports: [CommonModule],
|
|
36
|
-
declarations: [${componentClassName}],
|
|
37
|
-
exports: [${componentClassName}],
|
|
38
|
-
})
|
|
39
|
-
export class ${componentClassName}Module {}
|
|
40
|
-
`;
|
|
41
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalizeOptions = normalizeOptions;
|
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
const internal_1 = require("@nx/devkit/internal");
|
|
6
|
-
const artifact_types_1 = require("../../utils/artifact-types");
|
|
7
|
-
const validations_1 = require("../../utils/validations");
|
|
8
|
-
async function normalizeOptions(tree, options) {
|
|
9
|
-
const { artifactName: name, directory, fileName, filePath, project: projectName, } = await (0, internal_1.determineArtifactNameAndDirectoryOptions)(tree, {
|
|
10
|
-
name: options.name,
|
|
11
|
-
path: options.path,
|
|
12
|
-
suffix: options.type,
|
|
13
|
-
allowedFileExtensions: ['ts'],
|
|
14
|
-
fileExtension: 'ts',
|
|
15
|
-
});
|
|
16
|
-
const { className } = (0, devkit_1.names)(name);
|
|
17
|
-
const suffixClassName = options.type ? (0, devkit_1.names)(options.type).className : '';
|
|
18
|
-
const symbolName = `${className}${suffixClassName}`;
|
|
19
|
-
(0, validations_1.validateClassName)(symbolName);
|
|
20
|
-
const moduleTypeSeparator = (0, artifact_types_1.getModuleTypeSeparator)(tree);
|
|
21
|
-
const modulePath = (0, devkit_1.joinPathFragments)(directory, `${name}${moduleTypeSeparator}module.ts`);
|
|
22
|
-
return {
|
|
23
|
-
...options,
|
|
24
|
-
export: options.export ?? true,
|
|
25
|
-
inlineScam: options.inlineScam ?? true,
|
|
26
|
-
directory,
|
|
27
|
-
fileName,
|
|
28
|
-
filePath,
|
|
29
|
-
name,
|
|
30
|
-
symbolName,
|
|
31
|
-
projectName,
|
|
32
|
-
modulePath,
|
|
33
|
-
};
|
|
34
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { Tree } from '@nx/devkit';
|
|
2
|
-
import type { Schema } from './schema';
|
|
3
|
-
/**
|
|
4
|
-
* @deprecated SCAMs are superseded by Angular standalone components. Use the `componentGenerator` instead. It will be removed in Nx v24.
|
|
5
|
-
*/
|
|
6
|
-
export declare function scamGenerator(tree: Tree, rawOptions: Schema): Promise<void>;
|
|
7
|
-
export default scamGenerator;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.scamGenerator = scamGenerator;
|
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
const assert_supported_angular_version_1 = require("../../utils/assert-supported-angular-version");
|
|
6
|
-
const component_1 = require("../component/component");
|
|
7
|
-
const export_scam_1 = require("../utils/export-scam");
|
|
8
|
-
const lib_1 = require("./lib");
|
|
9
|
-
/**
|
|
10
|
-
* @deprecated SCAMs are superseded by Angular standalone components. Use the `componentGenerator` instead. It will be removed in Nx v24.
|
|
11
|
-
*/
|
|
12
|
-
async function scamGenerator(tree, rawOptions) {
|
|
13
|
-
(0, assert_supported_angular_version_1.assertSupportedAngularVersion)(tree);
|
|
14
|
-
const options = await (0, lib_1.normalizeOptions)(tree, rawOptions);
|
|
15
|
-
await (0, component_1.componentGenerator)(tree, {
|
|
16
|
-
...options,
|
|
17
|
-
skipImport: true,
|
|
18
|
-
export: false,
|
|
19
|
-
standalone: false,
|
|
20
|
-
skipFormat: true,
|
|
21
|
-
});
|
|
22
|
-
(0, lib_1.convertComponentToScam)(tree, options);
|
|
23
|
-
(0, export_scam_1.exportScam)(tree, options);
|
|
24
|
-
if (!options.skipFormat) {
|
|
25
|
-
await (0, devkit_1.formatFiles)(tree);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.default = scamGenerator;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export interface Schema {
|
|
2
|
-
path: string;
|
|
3
|
-
name?: string;
|
|
4
|
-
displayBlock?: boolean;
|
|
5
|
-
inlineStyle?: boolean;
|
|
6
|
-
inlineTemplate?: boolean;
|
|
7
|
-
viewEncapsulation?: 'Emulated' | 'None' | 'ShadowDom';
|
|
8
|
-
changeDetection?: 'Default' | 'Eager' | 'OnPush';
|
|
9
|
-
style?: 'css' | 'scss' | 'sass' | 'less' | 'none';
|
|
10
|
-
skipTests?: boolean;
|
|
11
|
-
inlineScam?: boolean;
|
|
12
|
-
type?: string;
|
|
13
|
-
prefix?: string;
|
|
14
|
-
selector?: string;
|
|
15
|
-
skipSelector?: boolean;
|
|
16
|
-
export?: boolean;
|
|
17
|
-
skipFormat?: boolean;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface NormalizedSchema extends Schema {
|
|
21
|
-
name: string;
|
|
22
|
-
directory: string;
|
|
23
|
-
projectName: string;
|
|
24
|
-
fileName: string;
|
|
25
|
-
filePath: string;
|
|
26
|
-
symbolName: string;
|
|
27
|
-
export: boolean;
|
|
28
|
-
inlineScam: boolean;
|
|
29
|
-
modulePath: string;
|
|
30
|
-
}
|