@nx/angular 17.0.3 → 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 +22 -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 +3 -3
- 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
|
@@ -3,10 +3,8 @@
|
|
|
3
3
|
* Adapted from the original ng-packagr source.
|
|
4
4
|
*
|
|
5
5
|
* Changes made:
|
|
6
|
-
* - Added the filePath parameter to the cache key.
|
|
7
6
|
* - Refactored caching to take into account TailwindCSS processing.
|
|
8
|
-
* - Added PostCSS
|
|
9
|
-
* - Added watch mode parameter.
|
|
7
|
+
* - Added PostCSS plugin needed to support TailwindCSS.
|
|
10
8
|
*/
|
|
11
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
10
|
exports.StylesheetProcessor = exports.InlineStyleLanguage = exports.CssUrl = void 0;
|
|
@@ -16,11 +14,10 @@ const esbuild_executor_1 = require("ng-packagr/lib/esbuild/esbuild-executor");
|
|
|
16
14
|
const cache_1 = require("ng-packagr/lib/utils/cache");
|
|
17
15
|
const log = require("ng-packagr/lib/utils/log");
|
|
18
16
|
const path_1 = require("path");
|
|
19
|
-
const
|
|
17
|
+
const autoprefixer = require("autoprefixer");
|
|
20
18
|
const postcssUrl = require("postcss-url");
|
|
21
19
|
const node_url_1 = require("node:url");
|
|
22
|
-
const
|
|
23
|
-
const tailwindcss_1 = require("../../../utilities/tailwindcss");
|
|
20
|
+
const tailwindcss_1 = require("../../../../utilities/ng-packagr/tailwindcss");
|
|
24
21
|
const postcss = require('postcss');
|
|
25
22
|
var CssUrl;
|
|
26
23
|
(function (CssUrl) {
|
|
@@ -35,20 +32,20 @@ var InlineStyleLanguage;
|
|
|
35
32
|
InlineStyleLanguage["less"] = "less";
|
|
36
33
|
})(InlineStyleLanguage || (exports.InlineStyleLanguage = InlineStyleLanguage = {}));
|
|
37
34
|
class StylesheetProcessor {
|
|
38
|
-
constructor(basePath, cssUrl, includePaths, cacheDirectory,
|
|
39
|
-
|
|
40
|
-
// https://github.com/browserslist/browserslist/blob/83764ea81ffaa39111c204b02c371afa44a4ff07/index.js#L516-L522
|
|
35
|
+
constructor(projectBasePath, basePath, cssUrl, includePaths, cacheDirectory, tailwindConfig) {
|
|
36
|
+
this.projectBasePath = projectBasePath;
|
|
41
37
|
this.basePath = basePath;
|
|
42
38
|
this.cssUrl = cssUrl;
|
|
43
39
|
this.includePaths = includePaths;
|
|
44
40
|
this.cacheDirectory = cacheDirectory;
|
|
45
|
-
this.watch = watch;
|
|
46
41
|
this.tailwindConfig = tailwindConfig;
|
|
47
42
|
this.esbuild = new esbuild_executor_1.EsbuildExecutor();
|
|
43
|
+
// By default, browserslist defaults are too inclusive
|
|
44
|
+
// https://github.com/browserslist/browserslist/blob/83764ea81ffaa39111c204b02c371afa44a4ff07/index.js#L516-L522
|
|
48
45
|
// We change the default query to browsers that Angular support.
|
|
49
46
|
// https://angular.io/guide/browser-support
|
|
50
47
|
browserslist.defaults = [
|
|
51
|
-
'last 2 Chrome
|
|
48
|
+
'last 2 Chrome versions',
|
|
52
49
|
'last 1 Firefox version',
|
|
53
50
|
'last 2 Edge major versions',
|
|
54
51
|
'last 2 Safari major versions',
|
|
@@ -68,17 +65,24 @@ class StylesheetProcessor {
|
|
|
68
65
|
}
|
|
69
66
|
this.browserslistData = browserslist(undefined, { path: this.basePath });
|
|
70
67
|
this.targets = transformSupportedBrowsersToTargets(this.browserslistData);
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
const tailwindSetup = (0, tailwindcss_1.getTailwindSetup)(this.projectBasePath, this.tailwindConfig);
|
|
69
|
+
if (tailwindSetup) {
|
|
70
|
+
this.cacheDirectory = undefined;
|
|
71
|
+
}
|
|
72
|
+
this.postCssProcessor = this.createPostCssProcessor(tailwindSetup);
|
|
73
73
|
}
|
|
74
74
|
async process({ filePath, content, }) {
|
|
75
|
+
const CACHE_KEY_VALUES = [
|
|
76
|
+
...this.browserslistData,
|
|
77
|
+
...this.styleIncludePaths,
|
|
78
|
+
this.cssUrl,
|
|
79
|
+
].join(':');
|
|
75
80
|
let key;
|
|
76
81
|
if (this.cacheDirectory &&
|
|
77
82
|
!content.includes('@import') &&
|
|
78
|
-
!content.includes('@use')
|
|
79
|
-
!this.containsTailwindDirectives(content)) {
|
|
83
|
+
!content.includes('@use')) {
|
|
80
84
|
// No transitive deps and no Tailwind directives, we can cache more aggressively.
|
|
81
|
-
key = await (0, cache_1.generateKey)(content,
|
|
85
|
+
key = await (0, cache_1.generateKey)(content, CACHE_KEY_VALUES);
|
|
82
86
|
const result = await (0, cache_1.readCacheEntry)(this.cacheDirectory, key);
|
|
83
87
|
if (result) {
|
|
84
88
|
result.warnings.forEach((msg) => log.warn(msg));
|
|
@@ -87,18 +91,16 @@ class StylesheetProcessor {
|
|
|
87
91
|
}
|
|
88
92
|
// Render pre-processor language (sass, styl, less)
|
|
89
93
|
const renderedCss = await this.renderCss(filePath, content);
|
|
90
|
-
|
|
94
|
+
// We cannot cache CSS re-rendering phase, because a transitive dependency via (@import) can case different CSS output.
|
|
95
|
+
// Example a change in a mixin or SCSS variable.
|
|
96
|
+
if (!key) {
|
|
97
|
+
key = await (0, cache_1.generateKey)(renderedCss, CACHE_KEY_VALUES);
|
|
98
|
+
}
|
|
91
99
|
if (this.cacheDirectory) {
|
|
92
|
-
|
|
93
|
-
if (
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
key = await (0, cache_1.generateKey)(renderedCss, ...this.browserslistData, filePath);
|
|
97
|
-
}
|
|
98
|
-
const cachedResult = await this.getCachedResult(key);
|
|
99
|
-
if (cachedResult) {
|
|
100
|
-
return cachedResult;
|
|
101
|
-
}
|
|
100
|
+
const cachedResult = await (0, cache_1.readCacheEntry)(this.cacheDirectory, key);
|
|
101
|
+
if (cachedResult) {
|
|
102
|
+
cachedResult.warnings.forEach((msg) => log.warn(msg));
|
|
103
|
+
return cachedResult.css;
|
|
102
104
|
}
|
|
103
105
|
}
|
|
104
106
|
// Render postcss (autoprefixing and friends)
|
|
@@ -106,15 +108,6 @@ class StylesheetProcessor {
|
|
|
106
108
|
from: filePath,
|
|
107
109
|
to: filePath.replace((0, path_1.extname)(filePath), '.css'),
|
|
108
110
|
});
|
|
109
|
-
if (this.cacheDirectory && containsTailwindDirectives) {
|
|
110
|
-
// We had Tailwind directives to process by PostCSS, only now
|
|
111
|
-
// is safe to return cached results
|
|
112
|
-
key = await (0, cache_1.generateKey)(result.css, ...this.browserslistData, filePath);
|
|
113
|
-
const cachedResult = await this.getCachedResult(key);
|
|
114
|
-
if (cachedResult) {
|
|
115
|
-
return cachedResult;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
111
|
const warnings = result.warnings().map((w) => w.toString());
|
|
119
112
|
const { code, warnings: esBuildWarnings } = await this.esbuild.transform(result.css, {
|
|
120
113
|
loader: 'css',
|
|
@@ -136,29 +129,17 @@ class StylesheetProcessor {
|
|
|
136
129
|
warnings.forEach((msg) => log.warn(msg));
|
|
137
130
|
return code;
|
|
138
131
|
}
|
|
139
|
-
|
|
140
|
-
const cachedResult = await (0, cache_1.readCacheEntry)(this.cacheDirectory, key);
|
|
141
|
-
if (cachedResult) {
|
|
142
|
-
cachedResult.warnings.forEach((msg) => log.warn(msg));
|
|
143
|
-
return cachedResult.css;
|
|
144
|
-
}
|
|
145
|
-
return undefined;
|
|
146
|
-
}
|
|
147
|
-
containsTailwindDirectives(content) {
|
|
148
|
-
return (this.tailwindSetup && tailwindcss_1.tailwindDirectives.some((d) => content.includes(d)));
|
|
149
|
-
}
|
|
150
|
-
createPostCssPlugins() {
|
|
132
|
+
createPostCssProcessor(tailwindSetup) {
|
|
151
133
|
const postCssPlugins = [];
|
|
134
|
+
if (tailwindSetup) {
|
|
135
|
+
postCssPlugins.push((0, tailwindcss_1.getTailwindPostCssPlugin)(tailwindSetup));
|
|
136
|
+
}
|
|
152
137
|
if (this.cssUrl !== CssUrl.none) {
|
|
153
138
|
postCssPlugins.push(postcssUrl({ url: this.cssUrl }));
|
|
154
139
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
postCssPlugins.push(postcssPresetEnv({
|
|
159
|
-
browsers: this.browserslistData,
|
|
160
|
-
autoprefixer: true,
|
|
161
|
-
stage: 3,
|
|
140
|
+
postCssPlugins.push(autoprefixer({
|
|
141
|
+
ignoreUnknownVersions: true,
|
|
142
|
+
overrideBrowserslist: this.browserslistData,
|
|
162
143
|
}));
|
|
163
144
|
return postcss(postCssPlugins);
|
|
164
145
|
}
|
|
@@ -167,25 +148,11 @@ class StylesheetProcessor {
|
|
|
167
148
|
switch (ext) {
|
|
168
149
|
case '.sass':
|
|
169
150
|
case '.scss': {
|
|
170
|
-
|
|
171
|
-
if (angularVersion && angularVersion.major < 15) {
|
|
172
|
-
return (await Promise.resolve().then(() => require('sass')))
|
|
173
|
-
.renderSync({
|
|
174
|
-
file: filePath,
|
|
175
|
-
data: css,
|
|
176
|
-
indentedSyntax: '.sass' === ext,
|
|
177
|
-
importer: customSassImporter,
|
|
178
|
-
includePaths: this.styleIncludePaths,
|
|
179
|
-
})
|
|
180
|
-
.css.toString();
|
|
181
|
-
}
|
|
182
|
-
return (await Promise.resolve().then(() => require('sass')))
|
|
183
|
-
.compileString(css, {
|
|
151
|
+
return (await Promise.resolve().then(() => require('sass'))).compileString(css, {
|
|
184
152
|
url: (0, node_url_1.pathToFileURL)(filePath),
|
|
185
153
|
syntax: '.sass' === ext ? 'indented' : 'scss',
|
|
186
154
|
loadPaths: this.styleIncludePaths,
|
|
187
|
-
})
|
|
188
|
-
.css.toString();
|
|
155
|
+
}).css;
|
|
189
156
|
}
|
|
190
157
|
case '.less': {
|
|
191
158
|
const { css: content } = await (await Promise.resolve().then(() => require('less'))).render(css, {
|
|
@@ -221,10 +188,7 @@ function transformSupportedBrowsersToTargets(supportedBrowsers) {
|
|
|
221
188
|
// browserslist uses ranges `15.2-15.3` versions but only the lowest is required
|
|
222
189
|
// to perform minimum supported feature checks. esbuild also expects a single version.
|
|
223
190
|
[version] = version.split('-');
|
|
224
|
-
if (browserName
|
|
225
|
-
transformed.push('edge12');
|
|
226
|
-
}
|
|
227
|
-
else if (esBuildSupportedBrowsers.has(browserName)) {
|
|
191
|
+
if (esBuildSupportedBrowsers.has(browserName)) {
|
|
228
192
|
if (browserName === 'safari' && version === 'tp') {
|
|
229
193
|
// esbuild only supports numeric versions so `TP` is converted to a high number (999) since
|
|
230
194
|
// a Technology Preview (TP) of Safari is assumed to support all currently known features.
|
|
@@ -235,14 +199,3 @@ function transformSupportedBrowsersToTargets(supportedBrowsers) {
|
|
|
235
199
|
}
|
|
236
200
|
return transformed.length ? transformed : undefined;
|
|
237
201
|
}
|
|
238
|
-
function customSassImporter(url, prev) {
|
|
239
|
-
// NB: Sass importer should always be sync as otherwise it will cause
|
|
240
|
-
// sass to go in the async path which is slower.
|
|
241
|
-
if (url[0] !== '~') {
|
|
242
|
-
return undefined;
|
|
243
|
-
}
|
|
244
|
-
return {
|
|
245
|
-
file: url.slice(1),
|
|
246
|
-
prev,
|
|
247
|
-
};
|
|
248
|
-
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WRITE_BUNDLES_TRANSFORM = void 0;
|
|
4
|
+
const transform_di_1 = require("ng-packagr/lib/graph/transform.di");
|
|
5
|
+
const write_bundles_di_1 = require("ng-packagr/lib/ng-package/entry-point/write-bundles.di");
|
|
6
|
+
const options_di_1 = require("ng-packagr/lib/ng-package/options.di");
|
|
7
|
+
const write_bundles_transform_1 = require("./write-bundles.transform");
|
|
8
|
+
exports.WRITE_BUNDLES_TRANSFORM = (0, transform_di_1.provideTransform)({
|
|
9
|
+
provide: write_bundles_di_1.WRITE_BUNDLES_TRANSFORM_TOKEN,
|
|
10
|
+
useFactory: write_bundles_transform_1.writeBundlesTransform,
|
|
11
|
+
deps: [options_di_1.OPTIONS_TOKEN],
|
|
12
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapted from the original ng-packagr.
|
|
3
|
+
*
|
|
4
|
+
* Changes made:
|
|
5
|
+
* - Removed bundling altogether.
|
|
6
|
+
*/
|
|
7
|
+
import { NgPackagrOptions } from 'ng-packagr/lib/ng-package/options.di';
|
|
8
|
+
export declare const writeBundlesTransform: (_options: NgPackagrOptions) => import("ng-packagr/lib/graph/transform").Transform;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Adapted from the original ng-packagr.
|
|
4
|
+
*
|
|
5
|
+
* Changes made:
|
|
6
|
+
* - Removed bundling altogether.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.writeBundlesTransform = void 0;
|
|
10
|
+
const transform_1 = require("ng-packagr/lib/graph/transform");
|
|
11
|
+
const writeBundlesTransform = (_options) => (0, transform_1.transformFromPromise)(async (graph) => graph);
|
|
12
|
+
exports.writeBundlesTransform = writeBundlesTransform;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapted from the original ng-packagr source.
|
|
3
|
+
*
|
|
4
|
+
* Changes made:
|
|
5
|
+
* - Provide our own writePackageTransform function.
|
|
6
|
+
*/
|
|
7
|
+
import { TransformProvider } from 'ng-packagr/lib/graph/transform.di';
|
|
8
|
+
export declare const WRITE_PACKAGE_TRANSFORM: TransformProvider;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Adapted from the original ng-packagr source.
|
|
4
|
+
*
|
|
5
|
+
* Changes made:
|
|
6
|
+
* - Provide our own writePackageTransform function.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.WRITE_PACKAGE_TRANSFORM = void 0;
|
|
10
|
+
const transform_di_1 = require("ng-packagr/lib/graph/transform.di");
|
|
11
|
+
const write_package_di_1 = require("ng-packagr/lib/ng-package/entry-point/write-package.di");
|
|
12
|
+
const options_di_1 = require("ng-packagr/lib/ng-package/options.di");
|
|
13
|
+
const write_package_transform_1 = require("./write-package.transform");
|
|
14
|
+
exports.WRITE_PACKAGE_TRANSFORM = (0, transform_di_1.provideTransform)({
|
|
15
|
+
provide: write_package_di_1.WRITE_PACKAGE_TRANSFORM_TOKEN,
|
|
16
|
+
useFactory: write_package_transform_1.nxWritePackageTransform,
|
|
17
|
+
deps: [options_di_1.OPTIONS_TOKEN],
|
|
18
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapted from the original ng-packagr.
|
|
3
|
+
*
|
|
4
|
+
* Changes made:
|
|
5
|
+
* - Change the package.json metadata to only use the ESM2022 output.
|
|
6
|
+
*/
|
|
7
|
+
import { NgPackagrOptions } from 'ng-packagr/lib/ng-package/options.di';
|
|
8
|
+
export declare const nxWritePackageTransform: (options: NgPackagrOptions) => import("ng-packagr/lib/graph/transform").Transform;
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Adapted from the original ng-packagr.
|
|
4
|
+
*
|
|
5
|
+
* Changes made:
|
|
6
|
+
* - Change the package.json metadata to only use the ESM2022 output.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.nxWritePackageTransform = void 0;
|
|
10
|
+
const devkit_1 = require("@nx/devkit");
|
|
11
|
+
const node_1 = require("ng-packagr/lib/graph/node");
|
|
12
|
+
const transform_1 = require("ng-packagr/lib/graph/transform");
|
|
13
|
+
const nodes_1 = require("ng-packagr/lib/ng-package/nodes");
|
|
14
|
+
const fs_1 = require("ng-packagr/lib/utils/fs");
|
|
15
|
+
const glob_1 = require("ng-packagr/lib/utils/glob");
|
|
16
|
+
const path_1 = require("ng-packagr/lib/utils/path");
|
|
17
|
+
const path = require("path");
|
|
18
|
+
const nxWritePackageTransform = (options) => (0, transform_1.transformFromPromise)(async (graph) => {
|
|
19
|
+
const entryPoint = graph.find((0, nodes_1.isEntryPointInProgress)());
|
|
20
|
+
const ngEntryPoint = entryPoint.data.entryPoint;
|
|
21
|
+
const ngPackageNode = graph.find(nodes_1.isPackage);
|
|
22
|
+
const ngPackage = ngPackageNode.data;
|
|
23
|
+
const { destinationFiles } = entryPoint.data;
|
|
24
|
+
if (!ngEntryPoint.isSecondaryEntryPoint) {
|
|
25
|
+
devkit_1.logger.log('Copying assets');
|
|
26
|
+
try {
|
|
27
|
+
await copyAssets(graph, entryPoint, ngPackageNode);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
throw error;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// 6. WRITE PACKAGE.JSON
|
|
34
|
+
const relativeUnixFromDestPath = (filePath) => (0, path_1.ensureUnixPath)(path.relative(ngEntryPoint.destinationPath, filePath));
|
|
35
|
+
if (!ngEntryPoint.isSecondaryEntryPoint) {
|
|
36
|
+
try {
|
|
37
|
+
devkit_1.logger.info('Writing package manifest');
|
|
38
|
+
if (!options.watch) {
|
|
39
|
+
const primary = ngPackageNode.data.primary;
|
|
40
|
+
await (0, fs_1.writeFile)(path.join(primary.destinationPath, '.npmignore'), `# Nested package.json's are only needed for development.\n**/package.json`);
|
|
41
|
+
}
|
|
42
|
+
await writePackageJson(ngEntryPoint, ngPackage, {
|
|
43
|
+
module: relativeUnixFromDestPath(destinationFiles.esm2022),
|
|
44
|
+
typings: relativeUnixFromDestPath(destinationFiles.declarations),
|
|
45
|
+
exports: generatePackageExports(ngEntryPoint, graph),
|
|
46
|
+
// webpack v4+ specific flag to enable advanced optimizations and code splitting
|
|
47
|
+
sideEffects: ngEntryPoint.packageJson.sideEffects ?? false,
|
|
48
|
+
}, !!options.watch);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
throw error;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else if (ngEntryPoint.isSecondaryEntryPoint) {
|
|
55
|
+
if (options.watch) {
|
|
56
|
+
// Update the watch version of the primary entry point `package.json` file.
|
|
57
|
+
// this is needed because of Webpack's 5 `cachemanagedpaths`
|
|
58
|
+
// https://github.com/ng-packagr/ng-packagr/issues/2069
|
|
59
|
+
const primary = ngPackageNode.data.primary;
|
|
60
|
+
const packageJsonPath = path.join(primary.destinationPath, 'package.json');
|
|
61
|
+
if (await (0, fs_1.exists)(packageJsonPath)) {
|
|
62
|
+
const packageJson = JSON.parse(await (0, fs_1.readFile)(packageJsonPath, { encoding: 'utf8' }));
|
|
63
|
+
packageJson.version = generateWatchVersion();
|
|
64
|
+
await (0, fs_1.writeFile)(path.join(primary.destinationPath, 'package.json'), JSON.stringify(packageJson, undefined, 2));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// Write a package.json in each secondary entry-point
|
|
68
|
+
// This is need for esbuild to secondary entry-points in dist correctly.
|
|
69
|
+
await (0, fs_1.writeFile)(path.join(ngEntryPoint.destinationPath, 'package.json'), JSON.stringify({ module: relativeUnixFromDestPath(destinationFiles.esm2022) }, undefined, 2));
|
|
70
|
+
}
|
|
71
|
+
devkit_1.logger.info(`Built ${ngEntryPoint.moduleId}`);
|
|
72
|
+
return graph;
|
|
73
|
+
});
|
|
74
|
+
exports.nxWritePackageTransform = nxWritePackageTransform;
|
|
75
|
+
async function copyAssets(graph, entryPointNode, ngPackageNode) {
|
|
76
|
+
const ngPackage = ngPackageNode.data;
|
|
77
|
+
const globsForceIgnored = [
|
|
78
|
+
'.gitkeep',
|
|
79
|
+
'**/.DS_Store',
|
|
80
|
+
'**/Thumbs.db',
|
|
81
|
+
`${ngPackage.dest}/**`,
|
|
82
|
+
];
|
|
83
|
+
const assets = [];
|
|
84
|
+
for (const assetPath of ngPackage.assets) {
|
|
85
|
+
let asset;
|
|
86
|
+
if (typeof assetPath === 'object') {
|
|
87
|
+
asset = { ...assetPath };
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
const [isDir, isFile] = await (0, fs_1.stat)(path.join(ngPackage.src, assetPath))
|
|
91
|
+
.then((stats) => [stats.isDirectory(), stats.isFile()])
|
|
92
|
+
.catch(() => [false, false]);
|
|
93
|
+
if (isDir) {
|
|
94
|
+
asset = { glob: '**/*', input: assetPath, output: assetPath };
|
|
95
|
+
}
|
|
96
|
+
else if (isFile) {
|
|
97
|
+
// filenames are their own glob
|
|
98
|
+
asset = {
|
|
99
|
+
glob: path.basename(assetPath),
|
|
100
|
+
input: path.dirname(assetPath),
|
|
101
|
+
output: path.dirname(assetPath),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
asset = { glob: assetPath, input: '/', output: '/' };
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
asset.input = path.join(ngPackage.src, asset.input);
|
|
109
|
+
asset.output = path.join(ngPackage.dest, asset.output);
|
|
110
|
+
const isAncestorPath = (target, datum) => path.relative(datum, target).startsWith('..');
|
|
111
|
+
if (isAncestorPath(asset.input, ngPackage.src)) {
|
|
112
|
+
throw new Error('Cannot read assets from a location outside of the project root.');
|
|
113
|
+
}
|
|
114
|
+
if (isAncestorPath(asset.output, ngPackage.dest)) {
|
|
115
|
+
throw new Error('Cannot write assets to a location outside of the output path.');
|
|
116
|
+
}
|
|
117
|
+
assets.push(asset);
|
|
118
|
+
}
|
|
119
|
+
for (const asset of assets) {
|
|
120
|
+
const filePaths = await (0, glob_1.globFiles)(asset.glob, {
|
|
121
|
+
cwd: asset.input,
|
|
122
|
+
ignore: [...(asset.ignore ?? []), ...globsForceIgnored],
|
|
123
|
+
dot: true,
|
|
124
|
+
onlyFiles: true,
|
|
125
|
+
followSymbolicLinks: asset.followSymlinks,
|
|
126
|
+
});
|
|
127
|
+
for (const filePath of filePaths) {
|
|
128
|
+
const fileSrcFullPath = path.join(asset.input, filePath);
|
|
129
|
+
const fileDestFullPath = path.join(asset.output, filePath);
|
|
130
|
+
const nodeUri = (0, nodes_1.fileUrl)((0, path_1.ensureUnixPath)(fileSrcFullPath));
|
|
131
|
+
let node = graph.get(nodeUri);
|
|
132
|
+
if (!node) {
|
|
133
|
+
node = new node_1.Node(nodeUri);
|
|
134
|
+
graph.put(node);
|
|
135
|
+
}
|
|
136
|
+
entryPointNode.dependsOn(node);
|
|
137
|
+
await (0, fs_1.copyFile)(fileSrcFullPath, fileDestFullPath);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Creates and writes a `package.json` file of the entry point used by the `node_module`
|
|
143
|
+
* resolution strategies.
|
|
144
|
+
*
|
|
145
|
+
* #### Example
|
|
146
|
+
*
|
|
147
|
+
* A consumer of the entry point depends on it by `import {..} from '@my/module/id';`.
|
|
148
|
+
* The module id `@my/module/id` will be resolved to the `package.json` file that is written by
|
|
149
|
+
* this build step.
|
|
150
|
+
* The properties `main`, `module`, `typings` (and so on) in the `package.json` point to the
|
|
151
|
+
* flattened JavaScript bundles, type definitions, (...).
|
|
152
|
+
*
|
|
153
|
+
* @param entryPoint An entry point of an Angular package / library
|
|
154
|
+
* @param additionalProperties Additional properties, e.g. binary artefacts (bundle files), to merge into `package.json`
|
|
155
|
+
*/
|
|
156
|
+
async function writePackageJson(entryPoint, pkg, additionalProperties, isWatchMode) {
|
|
157
|
+
// set additional properties
|
|
158
|
+
const packageJson = { ...entryPoint.packageJson, ...additionalProperties };
|
|
159
|
+
// read tslib version from `@angular/compiler` so that our tslib
|
|
160
|
+
// version at least matches that of angular if we use require('tslib').version
|
|
161
|
+
// it will get what installed and not the minimum version nor if it is a `~` or `^`
|
|
162
|
+
// this is only required for primary
|
|
163
|
+
if (isWatchMode) {
|
|
164
|
+
// Needed because of Webpack's 5 `cachemanagedpaths`
|
|
165
|
+
// https://github.com/angular/angular-cli/issues/20962
|
|
166
|
+
packageJson.version = generateWatchVersion();
|
|
167
|
+
}
|
|
168
|
+
if (!packageJson.peerDependencies?.tslib &&
|
|
169
|
+
!packageJson.dependencies?.tslib) {
|
|
170
|
+
const { peerDependencies: angularPeerDependencies = {}, dependencies: angularDependencies = {}, } = require('@angular/compiler/package.json');
|
|
171
|
+
const tsLibVersion = angularPeerDependencies.tslib || angularDependencies.tslib;
|
|
172
|
+
if (tsLibVersion) {
|
|
173
|
+
packageJson.dependencies = {
|
|
174
|
+
...packageJson.dependencies,
|
|
175
|
+
tslib: tsLibVersion,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
else if (packageJson.peerDependencies?.tslib) {
|
|
180
|
+
devkit_1.logger.warn(`'tslib' is no longer recommended to be used as a 'peerDependencies'. Moving it to 'dependencies'.`);
|
|
181
|
+
packageJson.dependencies = {
|
|
182
|
+
...(packageJson.dependencies || {}),
|
|
183
|
+
tslib: packageJson.peerDependencies.tslib,
|
|
184
|
+
};
|
|
185
|
+
delete packageJson.peerDependencies.tslib;
|
|
186
|
+
}
|
|
187
|
+
// Verify non-peerDependencies as they can easily lead to duplicate installs or version conflicts
|
|
188
|
+
// in the node_modules folder of an application
|
|
189
|
+
const allowedList = pkg.allowedNonPeerDependencies.map((value) => new RegExp(value));
|
|
190
|
+
try {
|
|
191
|
+
checkNonPeerDependencies(packageJson, 'dependencies', allowedList);
|
|
192
|
+
}
|
|
193
|
+
catch (e) {
|
|
194
|
+
await (0, fs_1.rmdir)(entryPoint.destinationPath, { recursive: true });
|
|
195
|
+
throw e;
|
|
196
|
+
}
|
|
197
|
+
// Removes scripts from package.json after build
|
|
198
|
+
if (packageJson.scripts) {
|
|
199
|
+
if (pkg.keepLifecycleScripts !== true) {
|
|
200
|
+
devkit_1.logger.info(`Removing scripts section in package.json as it's considered a potential security vulnerability.`);
|
|
201
|
+
delete packageJson.scripts;
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
devkit_1.logger.warn(`You enabled keepLifecycleScripts explicitly. The scripts section in package.json will be published to npm.`);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
// keep the dist package.json clean
|
|
208
|
+
// this will not throw if ngPackage field does not exist
|
|
209
|
+
delete packageJson.ngPackage;
|
|
210
|
+
const packageJsonPropertiesToDelete = [
|
|
211
|
+
'stylelint',
|
|
212
|
+
'prettier',
|
|
213
|
+
'browserslist',
|
|
214
|
+
'devDependencies',
|
|
215
|
+
'jest',
|
|
216
|
+
'workspaces',
|
|
217
|
+
'husky',
|
|
218
|
+
];
|
|
219
|
+
for (const prop of packageJsonPropertiesToDelete) {
|
|
220
|
+
if (prop in packageJson) {
|
|
221
|
+
delete packageJson[prop];
|
|
222
|
+
devkit_1.logger.info(`Removing ${prop} section in package.json.`);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
packageJson.name = entryPoint.moduleId;
|
|
226
|
+
await (0, fs_1.writeFile)(path.join(entryPoint.destinationPath, 'package.json'), JSON.stringify(packageJson, undefined, 2));
|
|
227
|
+
}
|
|
228
|
+
function checkNonPeerDependencies(packageJson, property, allowed) {
|
|
229
|
+
if (!packageJson[property]) {
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
for (const dep of Object.keys(packageJson[property])) {
|
|
233
|
+
if (!allowed.some((regex) => regex.test(dep))) {
|
|
234
|
+
devkit_1.logger.warn(`Distributing npm packages with '${property}' is not recommended. Please consider adding ${dep} to 'peerDependencies' or remove it from '${property}'.`);
|
|
235
|
+
throw new Error(`Dependency ${dep} must be explicitly allowed using the "allowedNonPeerDependencies" option.`);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Generates the `package.json` package exports following APF v13.
|
|
241
|
+
* This is supposed to match with: https://github.com/angular/angular/blob/e0667efa6eada64d1fb8b143840689090fc82e52/packages/bazel/src/ng_package/packager.ts#L415.
|
|
242
|
+
*/
|
|
243
|
+
function generatePackageExports({ destinationPath, packageJson }, graph) {
|
|
244
|
+
const exports = packageJson.exports
|
|
245
|
+
? JSON.parse(JSON.stringify(packageJson.exports))
|
|
246
|
+
: {};
|
|
247
|
+
const insertMappingOrError = (subpath, mapping) => {
|
|
248
|
+
exports[subpath] ??= {};
|
|
249
|
+
const subpathExport = exports[subpath];
|
|
250
|
+
// Go through all conditions that should be inserted. If the condition is already
|
|
251
|
+
// manually set of the subpath export, we throw an error. In general, we allow for
|
|
252
|
+
// additional conditions to be set. These will always precede the generated ones.
|
|
253
|
+
for (const conditionName of Object.keys(mapping)) {
|
|
254
|
+
if (subpathExport[conditionName] !== undefined) {
|
|
255
|
+
devkit_1.logger.warn(`Found a conflicting export condition for "${subpath}". The "${conditionName}" ` +
|
|
256
|
+
`condition would be overridden by ng-packagr. Please unset it.`);
|
|
257
|
+
}
|
|
258
|
+
// **Note**: The order of the conditions is preserved even though we are setting
|
|
259
|
+
// the conditions once at a time (the latest assignment will be at the end).
|
|
260
|
+
subpathExport[conditionName] = mapping[conditionName];
|
|
261
|
+
}
|
|
262
|
+
};
|
|
263
|
+
const relativeUnixFromDestPath = (filePath) => './' + (0, path_1.ensureUnixPath)(path.relative(destinationPath, filePath));
|
|
264
|
+
insertMappingOrError('./package.json', { default: './package.json' });
|
|
265
|
+
const entryPoints = graph.filter(nodes_1.isEntryPoint);
|
|
266
|
+
for (const entryPoint of entryPoints) {
|
|
267
|
+
const { destinationFiles, isSecondaryEntryPoint } = entryPoint.data.entryPoint;
|
|
268
|
+
const subpath = isSecondaryEntryPoint
|
|
269
|
+
? `./${destinationFiles.directory}`
|
|
270
|
+
: '.';
|
|
271
|
+
insertMappingOrError(subpath, {
|
|
272
|
+
types: relativeUnixFromDestPath(destinationFiles.declarations),
|
|
273
|
+
esm2022: relativeUnixFromDestPath(destinationFiles.esm2022),
|
|
274
|
+
esm: relativeUnixFromDestPath(destinationFiles.esm2022),
|
|
275
|
+
default: relativeUnixFromDestPath(destinationFiles.esm2022),
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
return exports;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Generates a new version for the package `package.json` when runing in watch mode.
|
|
282
|
+
*/
|
|
283
|
+
function generateWatchVersion() {
|
|
284
|
+
return `0.0.0-watch+${Date.now()}`;
|
|
285
|
+
}
|
|
@@ -2,31 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ngPackagrLiteExecutor = void 0;
|
|
4
4
|
const buildable_libs_utils_1 = require("@nx/js/src/utils/buildable-libs-utils");
|
|
5
|
-
const ng_packagr_1 = require("ng-packagr");
|
|
6
5
|
const path_1 = require("path");
|
|
7
6
|
const package_impl_1 = require("../package/package.impl");
|
|
8
7
|
const typescript_1 = require("../utilities/typescript");
|
|
9
|
-
const
|
|
10
|
-
const options_di_1 = require("./ng-packagr-adjustments/ng-package/options.di");
|
|
11
|
-
const package_di_1 = require("./ng-packagr-adjustments/ng-package/package.di");
|
|
8
|
+
const ng_packagr_1 = require("./ng-packagr-adjustments/ng-packagr");
|
|
12
9
|
async function initializeNgPackgrLite(options, context, projectDependencies) {
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
...package_di_1.NX_PACKAGE_PROVIDERS,
|
|
16
|
-
...entry_point_di_1.NX_ENTRY_POINT_PROVIDERS,
|
|
17
|
-
(0, options_di_1.nxProvideOptions)({
|
|
18
|
-
tailwindConfig: options.tailwindConfig,
|
|
19
|
-
watch: options.watch,
|
|
20
|
-
}),
|
|
21
|
-
]);
|
|
22
|
-
packager.forProject((0, path_1.resolve)(context.root, options.project));
|
|
23
|
-
packager.withBuildTransform(package_di_1.NX_PACKAGE_TRANSFORM.provide);
|
|
10
|
+
const ngPackagr = await (0, ng_packagr_1.getNgPackagrInstance)(options);
|
|
11
|
+
ngPackagr.forProject((0, path_1.resolve)(context.root, options.project));
|
|
24
12
|
if (options.tsConfig) {
|
|
25
13
|
const remappedTsConfigFilePath = (0, buildable_libs_utils_1.createTmpTsConfig)(options.tsConfig, context.root, context.projectsConfigurations.projects[context.projectName].root, projectDependencies);
|
|
26
14
|
const tsConfig = await (0, typescript_1.parseRemappedTsConfigAndMergeDefaults)(context.root, options.tsConfig, remappedTsConfigFilePath);
|
|
27
|
-
|
|
15
|
+
ngPackagr.withTsConfig(tsConfig);
|
|
28
16
|
}
|
|
29
|
-
return
|
|
17
|
+
return ngPackagr;
|
|
30
18
|
}
|
|
31
19
|
exports.ngPackagrLiteExecutor = (0, package_impl_1.createLibraryExecutor)(initializeNgPackgrLite);
|
|
32
20
|
exports.default = exports.ngPackagrLiteExecutor;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 2,
|
|
3
3
|
"outputCapture": "direct-nodejs",
|
|
4
|
-
"$schema": "
|
|
4
|
+
"$schema": "https://json-schema.org/schema",
|
|
5
5
|
"title": "ng-packagr Target",
|
|
6
6
|
"description": "Builds a library with support for incremental builds.\n\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nx/angular:package` executor but with some key differences:\n- For supported Angular versions lower than v16, it doesn't run `ngcc` automatically (`ngcc` is no longer available from Angular v16 onwards, for lower versions, it needs to be run separately beforehand if needed, this can be done in a `postinstall` hook on `package.json`).\n- It only produces ESM2022 bundles (ESM2020 for supported Angular versions lower than v16).",
|
|
7
7
|
"cli": "nx",
|
package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js
CHANGED
|
@@ -24,9 +24,11 @@ const compileNgcTransformFactory = (StylesheetProcessor, options) => {
|
|
|
24
24
|
hideCursor: false,
|
|
25
25
|
discardStdin: false,
|
|
26
26
|
});
|
|
27
|
+
const entryPoints = graph.filter(nodes_1.isEntryPoint);
|
|
28
|
+
const entryPoint = graph.find((0, nodes_1.isEntryPointInProgress)());
|
|
29
|
+
const ngPackageNode = graph.find(nodes_1.isPackage);
|
|
30
|
+
const projectBasePath = ngPackageNode.data.primary.basePath;
|
|
27
31
|
try {
|
|
28
|
-
const entryPoint = graph.find((0, nodes_1.isEntryPointInProgress)());
|
|
29
|
-
const entryPoints = graph.filter(nodes_1.isEntryPoint);
|
|
30
32
|
// Add paths mappings for dependencies
|
|
31
33
|
const tsConfig = (0, tsconfig_1.setDependenciesTsConfigPaths)(entryPoint.data.tsConfig, entryPoints);
|
|
32
34
|
const angularVersion = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
|
|
@@ -47,7 +49,7 @@ const compileNgcTransformFactory = (StylesheetProcessor, options) => {
|
|
|
47
49
|
await ngccProcessor.process();
|
|
48
50
|
}
|
|
49
51
|
}
|
|
50
|
-
entryPoint.cache.stylesheetProcessor ??= new StylesheetProcessor(basePath, cssUrl, styleIncludePaths, options.cacheEnabled && options.cacheDirectory, options.
|
|
52
|
+
entryPoint.cache.stylesheetProcessor ??= new StylesheetProcessor(projectBasePath, basePath, cssUrl, styleIncludePaths, options.cacheEnabled && options.cacheDirectory, options.tailwindConfig);
|
|
51
53
|
await (0, compile_source_files_1.compileSourceFiles)(graph, tsConfig, moduleResolutionCache, options, {
|
|
52
54
|
outDir: path.dirname(esmModulePath),
|
|
53
55
|
declarationDir: path.dirname(declarations),
|