@nx/angular 17.0.2 → 17.0.4
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/LICENSE +1 -1
- package/README.md +9 -4
- package/esm2022/mf/mf.mjs +1 -1
- package/esm2022/src/runtime/nx/data-persistence.mjs +1 -1
- package/executors.d.ts +9 -2
- package/executors.js +7 -2
- package/executors.json +19 -9
- package/fesm2022/nx-angular-mf.mjs.map +1 -1
- package/fesm2022/nx-angular.mjs.map +1 -1
- package/generators.d.ts +1 -1
- package/generators.js +3 -1
- package/generators.json +7 -2
- package/migrations.json +451 -0
- package/ng-package.json +2 -2
- package/package.json +20 -26
- package/plugins/component-testing.d.ts +1 -26
- package/plugins/component-testing.js +15 -4
- package/src/builders/dev-server/dev-server.impl.d.ts +4 -0
- package/src/builders/dev-server/dev-server.impl.js +160 -0
- package/src/builders/{webpack-dev-server → dev-server}/lib/index.d.ts +1 -0
- package/src/builders/{webpack-dev-server → dev-server}/lib/index.js +1 -0
- package/src/builders/dev-server/lib/normalize-options.d.ts +2 -0
- package/src/builders/dev-server/lib/normalize-options.js +20 -0
- package/src/builders/dev-server/lib/validate-options.d.ts +2 -0
- package/src/builders/dev-server/lib/validate-options.js +22 -0
- package/src/builders/dev-server/schema.d.ts +39 -0
- package/src/builders/{webpack-dev-server → dev-server}/schema.json +42 -5
- package/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.d.ts +1 -1
- package/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.js +15 -9
- package/src/builders/utilities/module-federation.js +1 -1
- package/src/builders/webpack-browser/schema.d.ts +6 -2
- package/src/builders/webpack-browser/schema.json +15 -15
- package/src/builders/webpack-browser/webpack-browser.impl.js +8 -6
- package/src/builders/webpack-server/schema.d.ts +0 -1
- package/src/builders/webpack-server/schema.json +7 -20
- package/src/builders/webpack-server/validate-options.js +0 -7
- package/src/builders/webpack-server/webpack-server.impl.js +4 -9
- package/src/executors/application/application.impl.d.ts +3 -0
- package/src/executors/application/application.impl.js +37 -0
- package/src/executors/application/schema.d.ts +8 -0
- package/src/executors/application/schema.json +682 -0
- package/src/executors/application/utils/validate-options.d.ts +2 -0
- package/src/executors/application/utils/validate-options.js +52 -0
- package/src/executors/browser-esbuild/browser-esbuild.impl.d.ts +2 -3
- package/src/executors/browser-esbuild/browser-esbuild.impl.js +15 -8
- package/src/executors/browser-esbuild/schema.d.ts +3 -1
- package/src/executors/browser-esbuild/schema.json +38 -8
- package/src/executors/extract-i18n/extract-i18n.impl.d.ts +3 -0
- package/src/executors/extract-i18n/extract-i18n.impl.js +43 -0
- package/src/executors/extract-i18n/schema.d.ts +8 -0
- package/src/executors/extract-i18n/schema.json +45 -0
- package/src/executors/module-federation-dev-server/lib/build-static-remotes.d.ts +4 -0
- package/src/executors/module-federation-dev-server/lib/build-static-remotes.js +56 -0
- package/src/executors/module-federation-dev-server/lib/index.d.ts +5 -0
- package/src/executors/module-federation-dev-server/lib/index.js +8 -0
- package/src/executors/module-federation-dev-server/lib/normalize-options.d.ts +2 -0
- package/src/executors/module-federation-dev-server/lib/normalize-options.js +23 -0
- package/src/executors/module-federation-dev-server/lib/parse-static-remotes-config.d.ts +11 -0
- package/src/executors/module-federation-dev-server/lib/parse-static-remotes-config.js +18 -0
- package/src/executors/module-federation-dev-server/lib/start-dev-remotes.d.ts +9 -0
- package/src/executors/module-federation-dev-server/lib/start-dev-remotes.js +29 -0
- package/src/executors/module-federation-dev-server/lib/start-static-remotes-file-server.d.ts +9 -0
- package/src/executors/module-federation-dev-server/lib/start-static-remotes-file-server.js +46 -0
- package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +4 -0
- package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +115 -0
- package/src/{builders → executors}/module-federation-dev-server/schema.d.ts +25 -7
- package/src/{builders → executors}/module-federation-dev-server/schema.json +31 -6
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.d.ts +3 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.js +34 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/compile-ngc.transform.js +6 -4
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/write-package.transform.js +25 -13
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ngc → pre-v17/ngc}/compile-source-files.d.ts +1 -2
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ngc → pre-v17/ngc}/compile-source-files.js +14 -9
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{styles → pre-v17/styles}/stylesheet-processor.d.ts +5 -10
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{styles → pre-v17/styles}/stylesheet-processor.js +39 -86
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.di.d.ts +2 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.di.js +12 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.transform.d.ts +8 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.transform.js +12 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.di.d.ts +8 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.di.js +18 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.d.ts +8 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.js +285 -0
- package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js +5 -17
- package/src/executors/ng-packagr-lite/schema.json +1 -1
- package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js +5 -3
- package/src/executors/package/ng-packagr-adjustments/ng-packagr.d.ts +3 -0
- package/src/executors/package/ng-packagr-adjustments/ng-packagr.js +28 -0
- package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.d.ts +1 -1
- package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.js +13 -6
- package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.d.ts +5 -10
- package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.js +39 -86
- package/src/executors/package/package.impl.d.ts +1 -1
- package/src/executors/package/package.impl.js +5 -15
- package/src/executors/package/schema.json +3 -3
- package/src/executors/utilities/buildable-libs.d.ts +6 -0
- package/src/executors/{browser-esbuild/lib → utilities}/buildable-libs.js +3 -4
- package/src/executors/utilities/esbuild-extensions.d.ts +10 -0
- package/src/executors/utilities/esbuild-extensions.js +50 -0
- package/src/executors/utilities/module-loader.d.ts +15 -0
- package/src/executors/utilities/module-loader.js +52 -0
- package/src/executors/utilities/ng-compiler-cli.d.ts +1 -0
- package/src/executors/utilities/ng-compiler-cli.js +8 -0
- package/src/executors/utilities/ng-packagr/stylesheet-processor.d.ts +49 -0
- package/src/executors/utilities/ng-packagr/stylesheet-processor.di.d.ts +2 -0
- package/src/executors/utilities/ng-packagr/stylesheet-processor.di.js +16 -0
- package/src/executors/utilities/ng-packagr/stylesheet-processor.js +209 -0
- package/src/executors/utilities/ng-packagr/tailwindcss.d.ts +7 -0
- package/src/executors/utilities/{tailwindcss.js → ng-packagr/tailwindcss.js} +5 -22
- package/src/executors/utilities/patch-builder-context.d.ts +3 -0
- package/src/executors/utilities/patch-builder-context.js +41 -0
- package/src/executors/utilities/typescript.js +1 -1
- package/src/generators/add-linting/add-linting.d.ts +1 -1
- package/src/generators/add-linting/add-linting.js +9 -15
- package/src/generators/add-linting/lib/add-angular-eslint-dependencies.d.ts +2 -2
- package/src/generators/add-linting/lib/add-angular-eslint-dependencies.js +9 -5
- package/src/generators/add-linting/lib/buildable-project.d.ts +2 -0
- package/src/generators/add-linting/lib/buildable-project.js +9 -0
- package/src/generators/add-linting/lib/create-eslint-configuration.d.ts +2 -2
- package/src/generators/add-linting/schema.json +1 -1
- package/src/generators/application/application.js +19 -17
- package/src/generators/application/files/base/tsconfig.app.json__tpl__ +1 -1
- package/src/generators/application/files/base/tsconfig.json__tpl__ +6 -2
- package/src/generators/application/files/ng-module/src/app/app.component.spec.ts__tpl__ +3 -1
- package/src/generators/application/files/ng-module/src/app/app.component.ts__tpl__ +4 -2
- package/src/generators/application/files/ng-module/src/app/app.module.ts__tpl__ +1 -1
- package/src/generators/application/files/ng-module/src/app/nx-welcome.component.ts__tpl__ +53 -14
- package/src/generators/application/files/ng-module/src/main.ts__tpl__ +2 -8
- package/src/generators/application/files/standalone-components/src/app/app.component.spec.ts__tpl__ +6 -4
- package/src/generators/application/files/standalone-components/src/app/app.component.ts__tpl__ +4 -2
- package/src/generators/application/files/standalone-components/src/app/app.config.ts__tpl__ +3 -3
- package/src/generators/application/files/standalone-components/src/app/nx-welcome.component.ts__tpl__ +53 -14
- package/src/generators/application/files/standalone-components/src/main.ts__tpl__ +4 -8
- package/src/generators/application/lib/add-e2e.js +24 -8
- package/src/generators/application/lib/add-unit-test-runner.js +5 -20
- package/src/generators/application/lib/create-files.js +14 -10
- package/src/generators/application/lib/create-project.d.ts +1 -1
- package/src/generators/application/lib/create-project.js +48 -38
- package/src/generators/application/lib/index.d.ts +1 -0
- package/src/generators/application/lib/index.js +1 -0
- package/src/generators/application/lib/normalize-options.d.ts +1 -1
- package/src/generators/application/lib/normalize-options.js +28 -6
- package/src/generators/application/lib/normalized-schema.d.ts +5 -0
- package/src/generators/application/lib/set-generator-defaults.d.ts +3 -0
- package/src/generators/application/lib/set-generator-defaults.js +17 -0
- package/src/generators/application/lib/update-editor-tsconfig.d.ts +1 -1
- package/src/generators/application/lib/update-editor-tsconfig.js +11 -14
- package/src/generators/application/schema.d.ts +1 -0
- package/src/generators/application/schema.json +18 -10
- package/src/generators/component/component.js +4 -1
- package/src/generators/component/files/__fileName__.spec.ts__tpl__ +2 -3
- package/src/generators/component/files/__fileName__.ts__tpl__ +8 -2
- package/src/generators/component/lib/component.js +1 -1
- package/src/generators/component/lib/index.d.ts +1 -1
- package/src/generators/component/lib/index.js +1 -1
- package/src/generators/component/lib/normalize-options.js +3 -2
- package/src/generators/component/lib/set-generator-defaults.d.ts +3 -0
- package/src/generators/component/lib/set-generator-defaults.js +14 -0
- package/src/generators/component/schema.d.ts +3 -3
- package/src/generators/component/schema.json +4 -4
- package/src/generators/component-cypress-spec/files/__componentFileName__.__fileExt__ +13 -8
- package/src/generators/component-cypress-spec/schema.json +1 -1
- package/src/generators/component-story/files/__componentFileName__.stories.ts__tmpl__ +2 -2
- package/src/generators/component-test/component-test.d.ts +1 -1
- package/src/generators/component-test/component-test.js +8 -3
- package/src/generators/component-test/files/__componentFileName__.cy.ts__tpl__ +9 -11
- package/src/generators/component-test/schema.json +1 -1
- package/src/generators/convert-to-application-executor/convert-to-application-executor.d.ts +4 -0
- package/src/generators/convert-to-application-executor/convert-to-application-executor.js +242 -0
- package/src/generators/convert-to-application-executor/schema.d.ts +4 -0
- package/src/generators/convert-to-application-executor/schema.json +26 -0
- package/src/generators/convert-to-with-mf/convert-to-with-mf.js +3 -1
- package/src/generators/convert-to-with-mf/lib/write-new-webpack-config.js +3 -2
- package/src/generators/convert-to-with-mf/schema.d.ts +1 -0
- package/src/generators/convert-to-with-mf/schema.json +6 -0
- package/src/generators/cypress-component-configuration/cypress-component-configuration.d.ts +2 -1
- package/src/generators/cypress-component-configuration/cypress-component-configuration.js +43 -24
- package/src/generators/directive/directive.js +0 -1
- package/src/generators/directive/files/__fileName__.ts__tpl__ +1 -3
- package/src/generators/directive/lib/index.d.ts +0 -1
- package/src/generators/directive/lib/index.js +0 -1
- package/src/generators/directive/lib/normalize-options.js +3 -1
- package/src/generators/directive/schema.d.ts +3 -3
- package/src/generators/directive/schema.json +4 -4
- package/src/generators/federate-module/federate-module.js +1 -0
- package/src/generators/federate-module/lib/add-remote.d.ts +1 -1
- package/src/generators/federate-module/lib/add-remote.js +2 -11
- package/src/generators/federate-module/schema.json +10 -10
- package/src/generators/host/files/common/v17+/src/main.server.ts__tmpl__ +67 -0
- package/src/generators/host/files/ts/webpack.server.config.ts__tmpl__ +2 -2
- package/src/generators/host/host.js +8 -9
- package/src/generators/host/lib/index.d.ts +1 -1
- package/src/generators/host/lib/index.js +1 -1
- package/src/generators/host/lib/update-ssr-setup.d.ts +3 -0
- package/src/generators/host/lib/{add-ssr.js → update-ssr-setup.js} +8 -14
- package/src/generators/host/schema.json +6 -6
- package/src/generators/init/init.d.ts +2 -2
- package/src/generators/init/init.js +19 -137
- package/src/generators/init/schema.d.ts +1 -9
- package/src/generators/init/schema.json +8 -59
- package/src/generators/library/files/ng-module/src/lib/lib.routes.ts__tpl__ +1 -1
- package/src/generators/library/files/standalone-components/src/lib/lib.routes.ts__tpl__ +1 -1
- package/src/generators/library/lib/add-load-children.js +2 -2
- package/src/generators/library/lib/add-project.js +24 -22
- package/src/generators/library/lib/add-standalone-component.d.ts +2 -2
- package/src/generators/library/lib/add-standalone-component.js +5 -4
- package/src/generators/library/lib/normalize-options.js +2 -5
- package/src/generators/library/lib/set-generator-defaults.d.ts +3 -0
- package/src/generators/library/lib/set-generator-defaults.js +15 -0
- package/src/generators/library/lib/update-tsconfig.js +3 -3
- package/src/generators/library/library.js +15 -27
- package/src/generators/library/schema.d.ts +1 -0
- package/src/generators/library/schema.json +13 -13
- package/src/generators/library-secondary-entry-point/files/src/index.ts__tmpl__ +1 -5
- package/src/generators/library-secondary-entry-point/lib/index.d.ts +0 -1
- package/src/generators/library-secondary-entry-point/lib/index.js +0 -1
- package/src/generators/library-secondary-entry-point/library-secondary-entry-point.js +3 -2
- package/src/generators/library-secondary-entry-point/schema.d.ts +1 -0
- package/src/generators/library-secondary-entry-point/schema.json +9 -3
- package/src/generators/move/schema.json +1 -1
- package/src/generators/ng-add/migrate-from-angular-cli.js +1 -1
- package/src/generators/ng-add/migrators/projects/app.migrator.js +50 -7
- package/src/generators/ng-add/migrators/projects/e2e.migrator.js +31 -23
- package/src/generators/ng-add/ng-add.js +1 -8
- package/src/generators/ng-add/schema.json +1 -1
- package/src/generators/ng-add/utilities/workspace.d.ts +1 -1
- package/src/generators/ng-add/utilities/workspace.js +9 -16
- package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.models.ts__tmpl__ +1 -1
- package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.selectors.spec.ts__tmpl__ +1 -1
- package/src/generators/ngrx/lib/generate-files.js +1 -10
- package/src/generators/ngrx/lib/validate-options.js +0 -23
- package/src/generators/ngrx/schema.json +3 -3
- package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.models.ts__tmpl__ +1 -1
- package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.selectors.spec.ts__tmpl__ +1 -1
- package/src/generators/ngrx-feature-store/lib/generate-files.js +1 -12
- package/src/generators/ngrx-feature-store/lib/validate-options.js +0 -22
- package/src/generators/ngrx-feature-store/schema.json +3 -3
- package/src/generators/ngrx-root-store/lib/normalize-options.js +1 -1
- package/src/generators/ngrx-root-store/lib/validate-options.js +0 -15
- package/src/generators/ngrx-root-store/schema.json +2 -2
- package/src/generators/pipe/files/__fileName__.ts__tpl__ +0 -2
- package/src/generators/pipe/lib/index.d.ts +0 -1
- package/src/generators/pipe/lib/index.js +0 -1
- package/src/generators/pipe/lib/normalize-options.js +1 -0
- package/src/generators/pipe/pipe.js +0 -1
- package/src/generators/pipe/schema.d.ts +3 -3
- package/src/generators/pipe/schema.json +4 -4
- package/src/generators/remote/files/base-ts/webpack.server.config.ts__tmpl__ +2 -2
- package/src/generators/remote/files/common/{src → pre-v17/src}/main.server.ts__tmpl__ +1 -3
- package/src/generators/remote/files/common/v17+/src/main.server.ts__tmpl__ +73 -0
- package/src/generators/remote/lib/index.d.ts +1 -1
- package/src/generators/remote/lib/index.js +1 -1
- package/src/generators/remote/lib/{add-ssr.d.ts → update-ssr-setup.d.ts} +1 -1
- package/src/generators/remote/lib/{add-ssr.js → update-ssr-setup.js} +9 -13
- package/src/generators/remote/remote.js +7 -9
- package/src/generators/remote/schema.json +6 -6
- package/src/generators/scam/lib/convert-component-to-scam.js +2 -1
- package/src/generators/scam/schema.d.ts +3 -3
- package/src/generators/scam/schema.json +2 -2
- package/src/generators/scam-directive/lib/convert-directive-to-scam.js +2 -1
- package/src/generators/scam-directive/scam-directive.js +3 -1
- package/src/generators/scam-directive/schema.d.ts +4 -3
- package/src/generators/scam-directive/schema.json +8 -2
- package/src/generators/scam-pipe/lib/convert-pipe-to-scam.js +2 -1
- package/src/generators/scam-pipe/scam-pipe.js +3 -1
- package/src/generators/scam-pipe/schema.d.ts +4 -3
- package/src/generators/scam-pipe/schema.json +8 -2
- package/src/generators/scam-to-standalone/scam-to-standalone.js +0 -7
- package/src/generators/scam-to-standalone/schema.json +2 -2
- package/src/generators/setup-mf/files/host-files/app.component.spec.ts__tmpl__ +3 -1
- package/src/generators/setup-mf/files/ts-webpack/module-federation.config.ts__tmpl__ +12 -0
- package/src/generators/setup-mf/files/ts-webpack/tsconfig.lint.json__tmpl__ +12 -0
- package/src/generators/setup-mf/files/ts-webpack/webpack.config.ts__tmpl__ +1 -1
- package/src/generators/setup-mf/files/ts-webpack/webpack.prod.config.ts__tmpl__ +12 -12
- package/src/generators/setup-mf/files/webpack/module-federation.config.js__tmpl__ +13 -1
- package/src/generators/setup-mf/lib/add-cypress-workaround.js +14 -4
- package/src/generators/setup-mf/lib/add-remote-entry.js +2 -11
- package/src/generators/setup-mf/lib/add-remote-to-host.js +1 -1
- package/src/generators/setup-mf/lib/fix-bootstrap.js +10 -18
- package/src/generators/setup-mf/lib/generate-config.js +3 -0
- package/src/generators/setup-mf/lib/index.d.ts +1 -1
- package/src/generators/setup-mf/lib/index.js +1 -1
- package/src/generators/setup-mf/lib/normalize-options.js +2 -1
- package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +10 -10
- package/src/generators/setup-mf/lib/setup-serve-target.js +1 -1
- package/src/generators/setup-mf/lib/update-host-app-routes.js +2 -2
- package/src/generators/{pipe/lib/validate-options.d.ts → setup-mf/lib/update-tsconfig.d.ts} +1 -1
- package/src/generators/setup-mf/lib/update-tsconfig.js +19 -0
- package/src/generators/setup-mf/schema.d.ts +1 -0
- package/src/generators/setup-mf/schema.json +8 -3
- package/src/generators/setup-mf/setup-mf.js +1 -7
- package/src/generators/setup-ssr/files/ngmodule/base/src/__main__ +1 -1
- package/src/generators/setup-ssr/files/server/application-builder/__serverFileName__ +56 -0
- package/src/generators/setup-ssr/files/{ngmodule/base → server/server-builder/pre-v17}/__serverFileName__ +7 -8
- package/src/generators/setup-ssr/files/{standalone → server/server-builder/v17+}/__serverFileName__ +25 -16
- package/src/generators/setup-ssr/lib/add-dependencies.d.ts +2 -0
- package/src/generators/setup-ssr/lib/add-dependencies.js +36 -0
- package/src/generators/setup-ssr/lib/add-hydration.js +11 -5
- package/src/generators/setup-ssr/lib/add-server-file.d.ts +3 -0
- package/src/generators/setup-ssr/lib/add-server-file.js +31 -0
- package/src/generators/setup-ssr/lib/constants.d.ts +3 -0
- package/src/generators/setup-ssr/lib/constants.js +6 -0
- package/src/generators/setup-ssr/lib/generate-files.d.ts +1 -1
- package/src/generators/setup-ssr/lib/generate-files.js +11 -16
- package/src/generators/setup-ssr/lib/generate-server-ts-config.d.ts +4 -0
- package/src/generators/setup-ssr/lib/generate-server-ts-config.js +29 -0
- package/src/generators/setup-ssr/lib/index.d.ts +4 -0
- package/src/generators/setup-ssr/lib/index.js +4 -0
- package/src/generators/setup-ssr/lib/normalize-options.js +7 -1
- package/src/generators/setup-ssr/lib/set-router-initial-navigation.d.ts +3 -0
- package/src/generators/setup-ssr/lib/set-router-initial-navigation.js +93 -0
- package/src/generators/setup-ssr/lib/update-project-config.d.ts +2 -1
- package/src/generators/setup-ssr/lib/update-project-config.js +46 -13
- package/src/generators/setup-ssr/lib/validate-options.js +15 -2
- package/src/generators/setup-ssr/schema.json +4 -4
- package/src/generators/setup-ssr/setup-ssr.js +18 -12
- package/src/generators/setup-tailwind/schema.json +1 -1
- package/src/generators/stories/schema.json +1 -1
- package/src/generators/stories/stories.js +2 -2
- package/src/generators/storybook-configuration/lib/generate-stories.js +6 -4
- package/src/generators/storybook-configuration/lib/generate-storybook-configuration.js +3 -1
- package/src/generators/storybook-configuration/schema.d.ts +1 -1
- package/src/generators/storybook-configuration/schema.json +7 -7
- package/src/generators/storybook-configuration/storybook-configuration.js +8 -5
- package/src/generators/utils/add-jest.d.ts +8 -0
- package/src/generators/utils/add-jest.js +36 -0
- package/src/generators/utils/add-mf-env-to-inputs.d.ts +2 -0
- package/src/generators/utils/add-mf-env-to-inputs.js +27 -0
- package/src/generators/utils/dependencies.js +1 -2
- package/src/generators/utils/ensure-angular-dependencies.d.ts +2 -0
- package/src/generators/utils/ensure-angular-dependencies.js +35 -0
- package/src/generators/utils/export-scam.js +2 -2
- package/src/generators/utils/project.d.ts +0 -1
- package/src/generators/utils/project.js +2 -29
- package/src/generators/utils/selector.d.ts +2 -2
- package/src/generators/utils/selector.js +11 -4
- package/src/generators/utils/testing.js +24 -1
- package/src/generators/utils/update-app-editor-tsconfig-excluded-files.d.ts +2 -0
- package/src/generators/utils/update-app-editor-tsconfig-excluded-files.js +23 -0
- package/src/generators/utils/update-project-root-tsconfig.d.ts +3 -0
- package/src/generators/utils/update-project-root-tsconfig.js +26 -0
- package/src/generators/utils/validations.d.ts +0 -1
- package/src/generators/utils/validations.js +1 -14
- package/src/generators/utils/version-utils.d.ts +2 -2
- package/src/generators/utils/version-utils.js +3 -3
- package/src/migrations/update-17-1-0/browser-target-to-build-target.d.ts +3 -0
- package/src/migrations/update-17-1-0/browser-target-to-build-target.js +50 -0
- package/src/migrations/update-17-1-0/replace-nguniversal-builders.d.ts +2 -0
- package/src/migrations/update-17-1-0/replace-nguniversal-builders.js +75 -0
- package/src/migrations/update-17-1-0/replace-nguniversal-engines.d.ts +2 -0
- package/src/migrations/update-17-1-0/replace-nguniversal-engines.js +183 -0
- package/src/migrations/update-17-1-0/update-angular-cli.d.ts +3 -0
- package/src/migrations/update-17-1-0/update-angular-cli.js +23 -0
- package/src/migrations/update-17-1-0/update-zone-js-deep-import.d.ts +2 -0
- package/src/migrations/update-17-1-0/update-zone-js-deep-import.js +37 -0
- package/src/migrations/update-17-2-0/rename-webpack-dev-server.d.ts +2 -0
- package/src/migrations/update-17-2-0/rename-webpack-dev-server.js +40 -0
- package/src/migrations/update-17-3-0/add-autoprefixer-dependency.d.ts +2 -0
- package/src/migrations/update-17-3-0/add-autoprefixer-dependency.js +26 -0
- package/src/migrations/update-17-3-0/add-browser-sync-dependency.d.ts +2 -0
- package/src/migrations/update-17-3-0/add-browser-sync-dependency.js +26 -0
- package/src/migrations/update-17-3-0/update-angular-cli.d.ts +3 -0
- package/src/migrations/update-17-3-0/update-angular-cli.js +23 -0
- package/src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults.d.ts +2 -0
- package/src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults.js +26 -0
- package/src/migrations/update-18-1-0/update-angular-cli.d.ts +3 -0
- package/src/migrations/update-18-1-0/update-angular-cli.js +23 -0
- package/src/migrations/update-18-1-1/fix-target-defaults-inputs.d.ts +2 -0
- package/src/migrations/update-18-1-1/fix-target-defaults-inputs.js +53 -0
- package/src/migrations/update-18-2-0/update-angular-cli.d.ts +3 -0
- package/src/migrations/update-18-2-0/update-angular-cli.js +23 -0
- package/src/utils/backward-compatible-versions.d.ts +6 -4
- package/src/utils/backward-compatible-versions.js +20 -22
- package/src/utils/{public-api.d.ts → index.d.ts} +5 -0
- package/src/utils/{public-api.js → index.js} +5 -0
- package/src/utils/mf/utils.js +7 -0
- package/src/utils/mf/with-module-federation-ssr.js +3 -0
- package/src/utils/mf/with-module-federation.js +3 -0
- package/src/utils/nx-devkit/ast-utils.js +4 -2
- package/src/utils/nx-devkit/testing.js +27 -31
- package/src/utils/targets.d.ts +2 -0
- package/src/utils/targets.js +17 -0
- package/src/utils/version-utils.d.ts +3 -3
- package/src/utils/versions.d.ts +9 -11
- package/src/utils/versions.js +10 -12
- package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.d.ts +0 -5
- package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.js +0 -136
- package/src/builders/webpack-browser/validate-options.d.ts +0 -2
- package/src/builders/webpack-browser/validate-options.js +0 -40
- package/src/builders/webpack-dev-server/lib/normalize-options.d.ts +0 -2
- package/src/builders/webpack-dev-server/lib/normalize-options.js +0 -14
- package/src/builders/webpack-dev-server/schema.d.ts +0 -21
- package/src/builders/webpack-dev-server/webpack-dev-server.impl.d.ts +0 -4
- package/src/builders/webpack-dev-server/webpack-dev-server.impl.js +0 -105
- package/src/executors/browser-esbuild/lib/buildable-libs.d.ts +0 -9
- package/src/executors/browser-esbuild/lib/validate-options.d.ts +0 -2
- package/src/executors/browser-esbuild/lib/validate-options.js +0 -40
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ts/cache-compiler-host.d.ts +0 -16
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ts/cache-compiler-host.js +0 -175
- package/src/executors/package/ng-packagr-adjustments/ts/cache-compiler-host.d.ts +0 -15
- package/src/executors/package/ng-packagr-adjustments/ts/cache-compiler-host.js +0 -197
- package/src/executors/utilities/tailwindcss.d.ts +0 -7
- package/src/generators/application/files/tsconfig.editor.json__tpl__ +0 -5
- package/src/generators/application/files/v14/.browserlistrc__tpl__ +0 -16
- package/src/generators/application/files/v14/src/environments/environment.prod.ts__tpl__ +0 -3
- package/src/generators/application/files/v14/src/environments/environment.ts__tpl__ +0 -16
- package/src/generators/application/files/v14/src/polyfills.ts__tpl__ +0 -53
- package/src/generators/component/lib/validate-options.d.ts +0 -3
- package/src/generators/component/lib/validate-options.js +0 -8
- package/src/generators/directive/lib/validate-options.d.ts +0 -3
- package/src/generators/directive/lib/validate-options.js +0 -8
- package/src/generators/host/lib/add-ssr.d.ts +0 -3
- package/src/generators/library-secondary-entry-point/lib/update-linting-file-patterns.d.ts +0 -3
- package/src/generators/library-secondary-entry-point/lib/update-linting-file-patterns.js +0 -15
- package/src/generators/ngrx/files/no-inject/__directory__/__fileName__.effects.ts__tmpl__ +0 -22
- package/src/generators/ngrx/files/no-inject/__directory__/__fileName__.facade.ts__tmpl__ +0 -27
- package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.effects.ts__tmpl__ +0 -22
- package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.facade.ts__tmpl__ +0 -27
- package/src/generators/pipe/lib/validate-options.js +0 -8
- package/src/generators/setup-mf/lib/set-tsconfig-target.d.ts +0 -3
- package/src/generators/setup-mf/lib/set-tsconfig-target.js +0 -16
- package/src/generators/setup-ssr/files/ngmodule/v14/src/__main__ +0 -11
- package/src/generators/utils/create-ts-config.d.ts +0 -8
- package/src/generators/utils/create-ts-config.js +0 -35
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/compile-ngc.di.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/compile-ngc.di.js +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/compile-ngc.transform.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/entry-point.di.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/entry-point.di.js +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/entry-point.transform.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/entry-point.transform.js +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/write-package.di.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/write-package.di.js +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/write-package.transform.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/options.di.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/options.di.js +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/package.di.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/package.di.js +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{styles → pre-v17/styles}/stylesheet-processor.di.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{styles → pre-v17/styles}/stylesheet-processor.di.js +0 -0
- /package/src/generators/host/files/common/{src → pre-v17/src}/main.server.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.actions.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.effects.spec.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.effects.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.facade.spec.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.facade.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.reducer.spec.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.reducer.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.selectors.ts__tmpl__ +0 -0
- /package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.actions.ts__tmpl__ +0 -0
- /package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.effects.spec.ts__tmpl__ +0 -0
- /package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.effects.ts__tmpl__ +0 -0
- /package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.facade.spec.ts__tmpl__ +0 -0
- /package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.facade.ts__tmpl__ +0 -0
- /package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.reducer.spec.ts__tmpl__ +0 -0
- /package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.reducer.ts__tmpl__ +0 -0
- /package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.selectors.ts__tmpl__ +0 -0
- /package/src/generators/setup-ssr/files/{base → root}/tsconfig.server.json__tpl__ +0 -0
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.moduleFederationDevServerExecutor = void 0;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const lib_1 = require("./lib");
|
|
6
|
+
const rxjs_for_await_1 = require("@nx/devkit/src/utils/rxjs-for-await");
|
|
7
|
+
const async_iterable_1 = require("@nx/devkit/src/utils/async-iterable");
|
|
8
|
+
const module_federation_1 = require("@nx/webpack/src/utils/module-federation");
|
|
9
|
+
const wait_for_port_open_1 = require("@nx/web/src/utils/wait-for-port-open");
|
|
10
|
+
const file_server_impl_1 = require("@nx/web/src/executors/file-server/file-server.impl");
|
|
11
|
+
const ngcli_adapter_1 = require("nx/src/adapter/ngcli-adapter");
|
|
12
|
+
const dev_server_impl_1 = require("../../builders/dev-server/dev-server.impl");
|
|
13
|
+
const module_federation_2 = require("../../builders/utilities/module-federation");
|
|
14
|
+
const path_1 = require("path");
|
|
15
|
+
const fs_1 = require("fs");
|
|
16
|
+
async function* moduleFederationDevServerExecutor(schema, context) {
|
|
17
|
+
// Force Node to resolve to look for the nx binary that is inside node_modules
|
|
18
|
+
const nxBin = require.resolve('nx/bin/nx');
|
|
19
|
+
const options = (0, lib_1.normalizeOptions)(schema);
|
|
20
|
+
options.staticRemotesPort ??= options.port + 1;
|
|
21
|
+
const { projects: workspaceProjects } = (0, devkit_1.readProjectsConfigurationFromProjectGraph)(context.projectGraph);
|
|
22
|
+
const project = workspaceProjects[context.projectName];
|
|
23
|
+
const currIter = options.static
|
|
24
|
+
? (0, file_server_impl_1.default)({
|
|
25
|
+
port: options.port,
|
|
26
|
+
host: options.host,
|
|
27
|
+
ssl: options.ssl,
|
|
28
|
+
buildTarget: options.buildTarget,
|
|
29
|
+
parallel: false,
|
|
30
|
+
spa: false,
|
|
31
|
+
withDeps: false,
|
|
32
|
+
cors: true,
|
|
33
|
+
}, context)
|
|
34
|
+
: (0, rxjs_for_await_1.eachValueFrom)((0, dev_server_impl_1.executeDevServerBuilder)(options, await (0, ngcli_adapter_1.createBuilderContext)({
|
|
35
|
+
builderName: '@nx/angular:webpack-browser',
|
|
36
|
+
description: 'Build a browser application',
|
|
37
|
+
optionSchema: await Promise.resolve().then(() => require('../../builders/webpack-browser/schema.json')),
|
|
38
|
+
}, context)));
|
|
39
|
+
if (options.isInitialHost === false) {
|
|
40
|
+
return yield* currIter;
|
|
41
|
+
}
|
|
42
|
+
let pathToManifestFile = (0, path_1.join)(context.root, project.sourceRoot, 'assets/module-federation.manifest.json');
|
|
43
|
+
if (options.pathToManifestFile) {
|
|
44
|
+
const userPathToManifestFile = (0, path_1.join)(context.root, options.pathToManifestFile);
|
|
45
|
+
if (!(0, fs_1.existsSync)(userPathToManifestFile)) {
|
|
46
|
+
throw new Error(`The provided Module Federation manifest file path does not exist. Please check the file exists at "${userPathToManifestFile}".`);
|
|
47
|
+
}
|
|
48
|
+
else if ((0, path_1.extname)(options.pathToManifestFile) !== '.json') {
|
|
49
|
+
throw new Error(`The Module Federation manifest file must be a JSON. Please ensure the file at ${userPathToManifestFile} is a JSON.`);
|
|
50
|
+
}
|
|
51
|
+
pathToManifestFile = userPathToManifestFile;
|
|
52
|
+
}
|
|
53
|
+
(0, module_federation_2.validateDevRemotes)(options, workspaceProjects);
|
|
54
|
+
const moduleFederationConfig = (0, module_federation_1.getModuleFederationConfig)(project.targets.build.options.tsConfig, context.root, project.root, 'angular');
|
|
55
|
+
const remotes = (0, module_federation_1.getRemotes)(options.devRemotes, options.skipRemotes, moduleFederationConfig, {
|
|
56
|
+
projectName: project.name,
|
|
57
|
+
projectGraph: context.projectGraph,
|
|
58
|
+
root: context.root,
|
|
59
|
+
}, pathToManifestFile);
|
|
60
|
+
if (remotes.devRemotes.length > 0 && !schema.staticRemotesPort) {
|
|
61
|
+
options.staticRemotesPort = options.devRemotes.reduce((portToUse, r) => {
|
|
62
|
+
const remotePort = context.projectGraph.nodes[r].data.targets['serve'].options.port;
|
|
63
|
+
if (remotePort >= portToUse) {
|
|
64
|
+
return remotePort + 1;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
return portToUse;
|
|
68
|
+
}
|
|
69
|
+
}, options.staticRemotesPort);
|
|
70
|
+
}
|
|
71
|
+
const staticRemotesConfig = (0, lib_1.parseStaticRemotesConfig)(remotes.staticRemotes, context);
|
|
72
|
+
await (0, lib_1.buildStaticRemotes)(staticRemotesConfig, nxBin, context, options);
|
|
73
|
+
const devRemoteIters = await (0, lib_1.startDevRemotes)(remotes, workspaceProjects, options, context);
|
|
74
|
+
const staticRemotesIter = remotes.staticRemotes.length > 0
|
|
75
|
+
? (0, lib_1.startStaticRemotesFileServer)(staticRemotesConfig, context, options)
|
|
76
|
+
: undefined;
|
|
77
|
+
const removeBaseUrlEmission = (iter) => (0, async_iterable_1.mapAsyncIterable)(iter, (v) => ({
|
|
78
|
+
...v,
|
|
79
|
+
baseUrl: undefined,
|
|
80
|
+
}));
|
|
81
|
+
return yield* (0, async_iterable_1.combineAsyncIterables)(removeBaseUrlEmission(currIter), ...devRemoteIters.map(removeBaseUrlEmission), ...(staticRemotesIter ? [removeBaseUrlEmission(staticRemotesIter)] : []), (0, async_iterable_1.createAsyncIterable)(async ({ next, done }) => {
|
|
82
|
+
if (!options.isInitialHost) {
|
|
83
|
+
done();
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (remotes.remotePorts.length === 0) {
|
|
87
|
+
devkit_1.logger.info(`NX All remotes started, server ready at http://localhost:${options.port}`);
|
|
88
|
+
next({ success: true, baseUrl: `http://localhost:${options.port}` });
|
|
89
|
+
done();
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
try {
|
|
93
|
+
const portsToWaitFor = staticRemotesIter
|
|
94
|
+
? [options.staticRemotesPort, ...remotes.remotePorts]
|
|
95
|
+
: [...remotes.remotePorts];
|
|
96
|
+
await Promise.all(portsToWaitFor.map((port) => (0, wait_for_port_open_1.waitForPortOpen)(port, {
|
|
97
|
+
retries: 480,
|
|
98
|
+
retryDelay: 2500,
|
|
99
|
+
host: 'localhost',
|
|
100
|
+
})));
|
|
101
|
+
devkit_1.logger.info(`NX All remotes started, server ready at http://localhost:${options.port}`);
|
|
102
|
+
next({ success: true, baseUrl: `http://localhost:${options.port}` });
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
throw new Error(`Failed to start remotes. Check above for any errors.`, {
|
|
106
|
+
cause: err,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
finally {
|
|
110
|
+
done();
|
|
111
|
+
}
|
|
112
|
+
}));
|
|
113
|
+
}
|
|
114
|
+
exports.moduleFederationDevServerExecutor = moduleFederationDevServerExecutor;
|
|
115
|
+
exports.default = moduleFederationDevServerExecutor;
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
host: string;
|
|
1
|
+
interface BaseSchema {
|
|
2
|
+
port?: number;
|
|
3
|
+
host?: string;
|
|
5
4
|
proxyConfig?: string;
|
|
6
|
-
ssl
|
|
5
|
+
ssl?: boolean;
|
|
7
6
|
sslKey?: string;
|
|
8
7
|
sslCert?: string;
|
|
9
8
|
headers?: Record<string, string>;
|
|
10
|
-
open
|
|
9
|
+
open?: boolean;
|
|
11
10
|
verbose?: boolean;
|
|
12
|
-
liveReload
|
|
11
|
+
liveReload?: boolean;
|
|
13
12
|
publicHost?: string;
|
|
14
13
|
allowedHosts?: string[];
|
|
15
14
|
servePath?: string;
|
|
@@ -22,4 +21,23 @@ export interface Schema {
|
|
|
22
21
|
pathToManifestFile?: string;
|
|
23
22
|
static?: boolean;
|
|
24
23
|
isInitialHost?: boolean;
|
|
24
|
+
parallel?: number;
|
|
25
|
+
staticRemotesPort?: number;
|
|
26
|
+
buildLibsFromSource?: boolean;
|
|
25
27
|
}
|
|
28
|
+
|
|
29
|
+
export type SchemaWithBrowserTarget = BaseSchema & {
|
|
30
|
+
browserTarget: string;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export type SchemaWithBuildTarget = BaseSchema & {
|
|
34
|
+
buildTarget: string;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export type Schema = SchemaWithBrowserTarget | SchemaWithBuildTarget;
|
|
38
|
+
|
|
39
|
+
export type NormalizedSchema = SchemaWithBuildTarget & {
|
|
40
|
+
liveReload: boolean;
|
|
41
|
+
open: boolean;
|
|
42
|
+
ssl: boolean;
|
|
43
|
+
};
|
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": 2,
|
|
3
|
-
"outputCapture": "direct-nodejs",
|
|
4
2
|
"$schema": "http://json-schema.org/draft-07/schema",
|
|
5
3
|
"title": "Schema for Module Federation Dev Server",
|
|
4
|
+
"outputCapture": "direct-nodejs",
|
|
6
5
|
"description": "The module-federation-dev-server executor is reserved exclusively for use with host Module Federation applications. It allows the user to specify which remote applications should be served with the host.",
|
|
7
6
|
"type": "object",
|
|
8
7
|
"presets": [
|
|
9
8
|
{
|
|
10
9
|
"name": "Using a Different Port",
|
|
11
|
-
"keys": ["
|
|
10
|
+
"keys": ["buildTarget", "port"]
|
|
12
11
|
}
|
|
13
12
|
],
|
|
14
13
|
"properties": {
|
|
15
14
|
"browserTarget": {
|
|
16
15
|
"type": "string",
|
|
17
|
-
"description": "A browser builder target to serve in the format of `project:target[:configuration]`.
|
|
16
|
+
"description": "A browser builder target to serve in the format of `project:target[:configuration]`.",
|
|
17
|
+
"pattern": "^[^:\\s]+:[^:\\s]+(:[^\\s]+)?$",
|
|
18
|
+
"x-deprecated": "Use 'buildTarget' instead. It will be removed in Nx v19."
|
|
19
|
+
},
|
|
20
|
+
"buildTarget": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "A build builder target to serve in the format of `project:target[:configuration]`.",
|
|
18
23
|
"pattern": "^[^:\\s]+:[^:\\s]+(:[^\\s]+)?$"
|
|
19
24
|
},
|
|
20
25
|
"port": {
|
|
@@ -117,7 +122,7 @@
|
|
|
117
122
|
"items": {
|
|
118
123
|
"type": "string"
|
|
119
124
|
},
|
|
120
|
-
"description": "List of remote applications to not automatically serve, either statically or in development mode."
|
|
125
|
+
"description": "List of remote applications to not automatically serve, either statically or in development mode. This will not remove the remotes from the `module-federation.config` file, and therefore the application may still try to fetch these remotes.\nThis option is useful for when the `host` application is using a `remote` that does not live in the same workspace as the `host`."
|
|
121
126
|
},
|
|
122
127
|
"pathToManifestFile": {
|
|
123
128
|
"type": "string",
|
|
@@ -132,9 +137,29 @@
|
|
|
132
137
|
"description": "Whether the host that is running this executor is the first in the project tree to do so.",
|
|
133
138
|
"default": true,
|
|
134
139
|
"x-priority": "internal"
|
|
140
|
+
},
|
|
141
|
+
"parallel": {
|
|
142
|
+
"type": "number",
|
|
143
|
+
"description": "Max number of parallel processes for building static remotes"
|
|
144
|
+
},
|
|
145
|
+
"staticRemotesPort": {
|
|
146
|
+
"type": "number",
|
|
147
|
+
"description": "The port at which to serve the file-server for the static remotes."
|
|
148
|
+
},
|
|
149
|
+
"buildLibsFromSource": {
|
|
150
|
+
"type": "boolean",
|
|
151
|
+
"description": "Read buildable libraries from source instead of building them separately. If not set, it will take the value specified in the `browserTarget` options, or it will default to `true` if it's also not set in the `browserTarget` options.",
|
|
152
|
+
"x-priority": "important"
|
|
135
153
|
}
|
|
136
154
|
},
|
|
137
155
|
"additionalProperties": false,
|
|
138
|
-
"
|
|
156
|
+
"anyOf": [
|
|
157
|
+
{
|
|
158
|
+
"required": ["buildTarget"]
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"required": ["browserTarget"]
|
|
162
|
+
}
|
|
163
|
+
],
|
|
139
164
|
"examplesFile": "../../../docs/module-federation-dev-server-examples.md"
|
|
140
165
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getNgPackagrInstance = void 0;
|
|
4
|
+
const ng_packagr_1 = require("ng-packagr");
|
|
5
|
+
const angular_version_utils_1 = require("../../utilities/angular-version-utils");
|
|
6
|
+
async function getNgPackagrInstance(options) {
|
|
7
|
+
const { major: angularMajorVersion } = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
|
|
8
|
+
if (angularMajorVersion >= 17) {
|
|
9
|
+
const { WRITE_BUNDLES_TRANSFORM } = await Promise.resolve().then(() => require('./v17+/ng-package/entry-point/write-bundles.di'));
|
|
10
|
+
const { WRITE_PACKAGE_TRANSFORM } = await Promise.resolve().then(() => require('./v17+/ng-package/entry-point/write-package.di'));
|
|
11
|
+
const { STYLESHEET_PROCESSOR } = await Promise.resolve().then(() => require('../../utilities/ng-packagr/stylesheet-processor.di'));
|
|
12
|
+
const packagr = (0, ng_packagr_1.ngPackagr)();
|
|
13
|
+
packagr.withProviders([
|
|
14
|
+
WRITE_BUNDLES_TRANSFORM,
|
|
15
|
+
WRITE_PACKAGE_TRANSFORM,
|
|
16
|
+
STYLESHEET_PROCESSOR,
|
|
17
|
+
]);
|
|
18
|
+
return packagr;
|
|
19
|
+
}
|
|
20
|
+
const { NX_ENTRY_POINT_PROVIDERS } = await Promise.resolve().then(() => require('./pre-v17/ng-package/entry-point/entry-point.di'));
|
|
21
|
+
const { nxProvideOptions } = await Promise.resolve().then(() => require('./pre-v17/ng-package/options.di'));
|
|
22
|
+
const { NX_PACKAGE_PROVIDERS, NX_PACKAGE_TRANSFORM } = await Promise.resolve().then(() => require('./pre-v17/ng-package/package.di'));
|
|
23
|
+
const packagr = new ng_packagr_1.NgPackagr([
|
|
24
|
+
...NX_PACKAGE_PROVIDERS,
|
|
25
|
+
...NX_ENTRY_POINT_PROVIDERS,
|
|
26
|
+
nxProvideOptions({
|
|
27
|
+
tailwindConfig: options.tailwindConfig,
|
|
28
|
+
watch: options.watch,
|
|
29
|
+
}),
|
|
30
|
+
]);
|
|
31
|
+
packagr.withBuildTransform(NX_PACKAGE_TRANSFORM.provide);
|
|
32
|
+
return packagr;
|
|
33
|
+
}
|
|
34
|
+
exports.getNgPackagrInstance = getNgPackagrInstance;
|
|
@@ -14,13 +14,15 @@ const nodes_1 = require("ng-packagr/lib/ng-package/nodes");
|
|
|
14
14
|
const tsconfig_1 = require("ng-packagr/lib/ts/tsconfig");
|
|
15
15
|
const path = require("path");
|
|
16
16
|
const ts = require("typescript");
|
|
17
|
-
const angular_version_utils_1 = require("
|
|
17
|
+
const angular_version_utils_1 = require("../../../../../utilities/angular-version-utils");
|
|
18
18
|
const compile_source_files_1 = require("../../ngc/compile-source-files");
|
|
19
19
|
const nxCompileNgcTransformFactory = (StylesheetProcessor, options) => {
|
|
20
20
|
return (0, transform_1.transformFromPromise)(async (graph) => {
|
|
21
|
+
const entryPoints = graph.filter(nodes_1.isEntryPoint);
|
|
22
|
+
const entryPoint = graph.find((0, nodes_1.isEntryPointInProgress)());
|
|
23
|
+
const ngPackageNode = graph.find(nodes_1.isPackage);
|
|
24
|
+
const projectBasePath = ngPackageNode.data.primary.basePath;
|
|
21
25
|
try {
|
|
22
|
-
const entryPoint = graph.find((0, nodes_1.isEntryPointInProgress)());
|
|
23
|
-
const entryPoints = graph.filter(nodes_1.isEntryPoint);
|
|
24
26
|
// Add paths mappings for dependencies
|
|
25
27
|
const tsConfig = (0, tsconfig_1.setDependenciesTsConfigPaths)(entryPoint.data.tsConfig, entryPoints);
|
|
26
28
|
const angularVersion = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
|
|
@@ -31,7 +33,7 @@ const nxCompileNgcTransformFactory = (StylesheetProcessor, options) => {
|
|
|
31
33
|
: entryPoint.data.destinationFiles.esm2022;
|
|
32
34
|
const { basePath, cssUrl, styleIncludePaths } = entryPoint.data.entryPoint;
|
|
33
35
|
const { moduleResolutionCache } = entryPoint.cache;
|
|
34
|
-
entryPoint.cache.stylesheetProcessor ??= new StylesheetProcessor(basePath, cssUrl, styleIncludePaths, options.cacheEnabled && options.cacheDirectory, options.
|
|
36
|
+
entryPoint.cache.stylesheetProcessor ??= new StylesheetProcessor(projectBasePath, basePath, cssUrl, styleIncludePaths, options.cacheEnabled && options.cacheDirectory, options.tailwindConfig);
|
|
35
37
|
await (0, compile_source_files_1.compileSourceFiles)(graph, tsConfig, moduleResolutionCache, options, {
|
|
36
38
|
outDir: path.dirname(esmModulePath),
|
|
37
39
|
declarationDir: path.dirname(declarations),
|
|
@@ -16,7 +16,7 @@ const fs_1 = require("ng-packagr/lib/utils/fs");
|
|
|
16
16
|
const glob_1 = require("ng-packagr/lib/utils/glob");
|
|
17
17
|
const path_1 = require("ng-packagr/lib/utils/path");
|
|
18
18
|
const path = require("path");
|
|
19
|
-
const angular_version_utils_1 = require("
|
|
19
|
+
const angular_version_utils_1 = require("../../../../../utilities/angular-version-utils");
|
|
20
20
|
const nxWritePackageTransform = (options) => (0, transform_1.transformFromPromise)(async (graph) => {
|
|
21
21
|
const entryPoint = graph.find((0, nodes_1.isEntryPointInProgress)());
|
|
22
22
|
const ngEntryPoint = entryPoint.data.entryPoint;
|
|
@@ -34,11 +34,14 @@ const nxWritePackageTransform = (options) => (0, transform_1.transformFromPromis
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
// 6. WRITE PACKAGE.JSON
|
|
37
|
-
|
|
37
|
+
const relativeUnixFromDestPath = (filePath) => (0, path_1.ensureUnixPath)(path.relative(ngEntryPoint.destinationPath, filePath));
|
|
38
38
|
if (!ngEntryPoint.isSecondaryEntryPoint) {
|
|
39
39
|
try {
|
|
40
40
|
devkit_1.logger.info('Writing package manifest');
|
|
41
|
-
|
|
41
|
+
if (!options.watch) {
|
|
42
|
+
const primary = ngPackageNode.data.primary;
|
|
43
|
+
await (0, fs_1.writeFile)(path.join(primary.destinationPath, '.npmignore'), `# Nested package.json's are only needed for development.\n**/package.json`);
|
|
44
|
+
}
|
|
42
45
|
await writePackageJson(ngEntryPoint, ngPackage, {
|
|
43
46
|
// backward compat for Angular < 16
|
|
44
47
|
...(angularVersion.major < 16
|
|
@@ -60,17 +63,26 @@ const nxWritePackageTransform = (options) => (0, transform_1.transformFromPromis
|
|
|
60
63
|
throw error;
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
|
-
else if (
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
66
|
+
else if (ngEntryPoint.isSecondaryEntryPoint) {
|
|
67
|
+
if (options.watch) {
|
|
68
|
+
// Update the watch version of the primary entry point `package.json` file.
|
|
69
|
+
// this is needed because of Webpack's 5 `cachemanagedpaths`
|
|
70
|
+
// https://github.com/ng-packagr/ng-packagr/issues/2069
|
|
71
|
+
const primary = ngPackageNode.data.primary;
|
|
72
|
+
const packageJsonPath = path.join(primary.destinationPath, 'package.json');
|
|
73
|
+
if (await (0, fs_1.exists)(packageJsonPath)) {
|
|
74
|
+
const packageJson = JSON.parse(await (0, fs_1.readFile)(packageJsonPath, { encoding: 'utf8' }));
|
|
75
|
+
packageJson.version = generateWatchVersion();
|
|
76
|
+
await (0, fs_1.writeFile)(path.join(primary.destinationPath, 'package.json'), JSON.stringify(packageJson, undefined, 2));
|
|
77
|
+
}
|
|
73
78
|
}
|
|
79
|
+
// Write a package.json in each secondary entry-point
|
|
80
|
+
// This is need for esbuild to secondary entry-points in dist correctly.
|
|
81
|
+
await (0, fs_1.writeFile)(path.join(ngEntryPoint.destinationPath, 'package.json'), JSON.stringify({
|
|
82
|
+
module: relativeUnixFromDestPath(angularVersion.major < 16
|
|
83
|
+
? destinationFiles.esm2020
|
|
84
|
+
: destinationFiles.esm2022),
|
|
85
|
+
}, undefined, 2));
|
|
74
86
|
}
|
|
75
87
|
devkit_1.logger.info(`Built ${ngEntryPoint.moduleId}`);
|
|
76
88
|
return graph;
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
* Adapted from the original ng-packagr source.
|
|
3
3
|
*
|
|
4
4
|
* Changes made:
|
|
5
|
-
* -
|
|
6
|
-
* - Use custom cacheCompilerHost instead of the one provided by ng-packagr.
|
|
5
|
+
* - Use custom StylesheetProcessor instead of the one provided by ng-packagr.
|
|
7
6
|
* - Support Angular Compiler `incrementalDriver` for Angular < 16.
|
|
8
7
|
*/
|
|
9
8
|
import type { CompilerOptions, ParsedConfiguration } from '@angular/compiler-cli';
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
* Adapted from the original ng-packagr source.
|
|
4
4
|
*
|
|
5
5
|
* Changes made:
|
|
6
|
-
* -
|
|
7
|
-
* - Use custom cacheCompilerHost instead of the one provided by ng-packagr.
|
|
6
|
+
* - Use custom StylesheetProcessor instead of the one provided by ng-packagr.
|
|
8
7
|
* - Support Angular Compiler `incrementalDriver` for Angular < 16.
|
|
9
8
|
*/
|
|
10
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -12,11 +11,10 @@ exports.compileSourceFiles = void 0;
|
|
|
12
11
|
const nodes_1 = require("ng-packagr/lib/ng-package/nodes");
|
|
13
12
|
const cache_compiler_host_1 = require("ng-packagr/lib/ts/cache-compiler-host");
|
|
14
13
|
const log = require("ng-packagr/lib/utils/log");
|
|
15
|
-
const ng_compiler_cli_1 = require("ng-packagr/lib/utils/ng-compiler-cli");
|
|
16
14
|
const node_path_1 = require("node:path");
|
|
17
15
|
const ts = require("typescript");
|
|
18
|
-
const angular_version_utils_1 = require("
|
|
19
|
-
const
|
|
16
|
+
const angular_version_utils_1 = require("../../../../utilities/angular-version-utils");
|
|
17
|
+
const ng_compiler_cli_1 = require("../../../../utilities/ng-compiler-cli");
|
|
20
18
|
async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, options, extraOptions, stylesheetProcessor) {
|
|
21
19
|
const { NgtscProgram, formatDiagnostics } = await (0, ng_compiler_cli_1.ngCompilerCli)();
|
|
22
20
|
const { cacheDirectory, watch, cacheEnabled } = options;
|
|
@@ -32,7 +30,7 @@ async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, option
|
|
|
32
30
|
tsConfigOptions.incremental ??= true;
|
|
33
31
|
tsConfigOptions.tsBuildInfoFile ??= (0, node_path_1.join)(cacheDir, `tsbuildinfo/${entryPoint.data.entryPoint.flatModuleFile}.tsbuildinfo`);
|
|
34
32
|
}
|
|
35
|
-
const tsCompilerHost = (0,
|
|
33
|
+
const tsCompilerHost = (0, cache_compiler_host_1.cacheCompilerHost)(graph, entryPoint, tsConfigOptions, moduleResolutionCache, stylesheetProcessor, inlineStyleLanguage);
|
|
36
34
|
const cache = entryPoint.cache;
|
|
37
35
|
const sourceFileCache = cache.sourcesFileCache;
|
|
38
36
|
let usingBuildInfo = false;
|
|
@@ -56,9 +54,7 @@ async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, option
|
|
|
56
54
|
cache.oldNgtscProgram = angularProgram;
|
|
57
55
|
}
|
|
58
56
|
else {
|
|
59
|
-
|
|
60
|
-
// using an abstract builder that only wraps a TypeScript program.
|
|
61
|
-
builder = ts.createAbstractBuilder(typeScriptProgram, tsCompilerHost);
|
|
57
|
+
builder = ts.createEmitAndSemanticDiagnosticsBuilderProgram(typeScriptProgram, tsCompilerHost);
|
|
62
58
|
}
|
|
63
59
|
// Update semantic diagnostics cache
|
|
64
60
|
const affectedFiles = new Set();
|
|
@@ -155,6 +151,15 @@ async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, option
|
|
|
155
151
|
throw new Error(formatDiagnostics(errorDiagnostics));
|
|
156
152
|
}
|
|
157
153
|
const transformers = angularCompiler.prepareEmit().transformers;
|
|
154
|
+
if ('getSemanticDiagnosticsOfNextAffectedFile' in builder) {
|
|
155
|
+
while (builder.emitNextAffectedFile((fileName, data, writeByteOrderMark, onError, sourceFiles) => {
|
|
156
|
+
if (fileName.endsWith('.tsbuildinfo')) {
|
|
157
|
+
tsCompilerHost.writeFile(fileName, data, writeByteOrderMark, onError, sourceFiles);
|
|
158
|
+
}
|
|
159
|
+
})) {
|
|
160
|
+
// empty
|
|
161
|
+
}
|
|
162
|
+
}
|
|
158
163
|
const angularVersion = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
|
|
159
164
|
const incrementalCompilation = angularVersion.major < 16
|
|
160
165
|
? angularCompiler.incrementalDriver
|
|
@@ -2,10 +2,8 @@
|
|
|
2
2
|
* Adapted from the original ng-packagr source.
|
|
3
3
|
*
|
|
4
4
|
* Changes made:
|
|
5
|
-
* - Added the filePath parameter to the cache key.
|
|
6
5
|
* - Refactored caching to take into account TailwindCSS processing.
|
|
7
|
-
* - Added PostCSS
|
|
8
|
-
* - Added watch mode parameter.
|
|
6
|
+
* - Added PostCSS plugin needed to support TailwindCSS.
|
|
9
7
|
*/
|
|
10
8
|
export declare enum CssUrl {
|
|
11
9
|
inline = "inline",
|
|
@@ -23,25 +21,22 @@ export interface Result {
|
|
|
23
21
|
error?: string;
|
|
24
22
|
}
|
|
25
23
|
export declare class StylesheetProcessor {
|
|
24
|
+
private readonly projectBasePath;
|
|
26
25
|
private readonly basePath;
|
|
27
26
|
private readonly cssUrl?;
|
|
28
27
|
private readonly includePaths?;
|
|
29
|
-
private
|
|
30
|
-
private readonly watch?;
|
|
28
|
+
private cacheDirectory?;
|
|
31
29
|
private readonly tailwindConfig?;
|
|
32
30
|
private browserslistData;
|
|
33
31
|
private targets;
|
|
34
32
|
private postCssProcessor;
|
|
35
33
|
private esbuild;
|
|
36
34
|
private styleIncludePaths;
|
|
37
|
-
|
|
38
|
-
constructor(basePath: string, cssUrl?: CssUrl, includePaths?: string[], cacheDirectory?: string | false, watch?: boolean, tailwindConfig?: string);
|
|
35
|
+
constructor(projectBasePath: string, basePath: string, cssUrl?: CssUrl, includePaths?: string[], cacheDirectory?: string | false, tailwindConfig?: string);
|
|
39
36
|
process({ filePath, content, }: {
|
|
40
37
|
filePath: string;
|
|
41
38
|
content: string;
|
|
42
39
|
}): Promise<string>;
|
|
43
|
-
private
|
|
44
|
-
private containsTailwindDirectives;
|
|
45
|
-
private createPostCssPlugins;
|
|
40
|
+
private createPostCssProcessor;
|
|
46
41
|
private renderCss;
|
|
47
42
|
}
|