@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
|
@@ -0,0 +1,28 @@
|
|
|
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 { STYLESHEET_PROCESSOR } = await Promise.resolve().then(() => require('../../utilities/ng-packagr/stylesheet-processor.di'));
|
|
10
|
+
const packagr = (0, ng_packagr_1.ngPackagr)();
|
|
11
|
+
packagr.withProviders([STYLESHEET_PROCESSOR]);
|
|
12
|
+
return packagr;
|
|
13
|
+
}
|
|
14
|
+
const { NX_ENTRY_POINT_PROVIDERS } = await Promise.resolve().then(() => require('./ng-package/entry-point/entry-point.di'));
|
|
15
|
+
const { nxProvideOptions } = await Promise.resolve().then(() => require('./ng-package/options.di'));
|
|
16
|
+
const { NX_PACKAGE_PROVIDERS, NX_PACKAGE_TRANSFORM } = await Promise.resolve().then(() => require('./ng-package/package.di'));
|
|
17
|
+
const packagr = new ng_packagr_1.NgPackagr([
|
|
18
|
+
...NX_PACKAGE_PROVIDERS,
|
|
19
|
+
...NX_ENTRY_POINT_PROVIDERS,
|
|
20
|
+
nxProvideOptions({
|
|
21
|
+
tailwindConfig: options.tailwindConfig,
|
|
22
|
+
watch: options.watch,
|
|
23
|
+
}),
|
|
24
|
+
]);
|
|
25
|
+
packagr.withBuildTransform(NX_PACKAGE_TRANSFORM.provide);
|
|
26
|
+
return packagr;
|
|
27
|
+
}
|
|
28
|
+
exports.getNgPackagrInstance = getNgPackagrInstance;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Adapted from the original ng-packagr source.
|
|
3
3
|
*
|
|
4
4
|
* Changes made:
|
|
5
|
-
* - Use custom
|
|
5
|
+
* - Use custom StylesheetProcessor instead of the one provided by ng-packagr.
|
|
6
6
|
* - Support ngcc for Angular < 16.
|
|
7
7
|
* - Support Angular Compiler `incrementalDriver` for Angular < 16.
|
|
8
8
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Adapted from the original ng-packagr source.
|
|
4
4
|
*
|
|
5
5
|
* Changes made:
|
|
6
|
-
* - Use custom
|
|
6
|
+
* - Use custom StylesheetProcessor instead of the one provided by ng-packagr.
|
|
7
7
|
* - Support ngcc for Angular < 16.
|
|
8
8
|
* - Support Angular Compiler `incrementalDriver` for Angular < 16.
|
|
9
9
|
*/
|
|
@@ -11,11 +11,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
11
11
|
exports.compileSourceFiles = void 0;
|
|
12
12
|
const nodes_1 = require("ng-packagr/lib/ng-package/nodes");
|
|
13
13
|
const log = require("ng-packagr/lib/utils/log");
|
|
14
|
-
const
|
|
14
|
+
const cache_compiler_host_1 = require("ng-packagr/lib/ts/cache-compiler-host");
|
|
15
15
|
const node_path_1 = require("node:path");
|
|
16
16
|
const ts = require("typescript");
|
|
17
17
|
const angular_version_utils_1 = require("../../../utilities/angular-version-utils");
|
|
18
|
-
const
|
|
18
|
+
const ng_compiler_cli_1 = require("../../../utilities/ng-compiler-cli");
|
|
19
19
|
async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, options, extraOptions, stylesheetProcessor, ngccProcessor) {
|
|
20
20
|
const { NgtscProgram, formatDiagnostics } = await (0, ng_compiler_cli_1.ngCompilerCli)();
|
|
21
21
|
const { cacheDirectory, watch, cacheEnabled } = options;
|
|
@@ -59,9 +59,7 @@ async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, option
|
|
|
59
59
|
cache.oldNgtscProgram = angularProgram;
|
|
60
60
|
}
|
|
61
61
|
else {
|
|
62
|
-
|
|
63
|
-
// using an abstract builder that only wraps a TypeScript program.
|
|
64
|
-
builder = ts.createAbstractBuilder(typeScriptProgram, tsCompilerHost);
|
|
62
|
+
builder = ts.createEmitAndSemanticDiagnosticsBuilderProgram(typeScriptProgram, tsCompilerHost);
|
|
65
63
|
}
|
|
66
64
|
// Update semantic diagnostics cache
|
|
67
65
|
const affectedFiles = new Set();
|
|
@@ -158,6 +156,15 @@ async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, option
|
|
|
158
156
|
throw new Error(formatDiagnostics(errorDiagnostics));
|
|
159
157
|
}
|
|
160
158
|
const transformers = angularCompiler.prepareEmit().transformers;
|
|
159
|
+
if ('getSemanticDiagnosticsOfNextAffectedFile' in builder) {
|
|
160
|
+
while (builder.emitNextAffectedFile((fileName, data, writeByteOrderMark, onError, sourceFiles) => {
|
|
161
|
+
if (fileName.endsWith('.tsbuildinfo')) {
|
|
162
|
+
tsCompilerHost.writeFile(fileName, data, writeByteOrderMark, onError, sourceFiles);
|
|
163
|
+
}
|
|
164
|
+
})) {
|
|
165
|
+
// empty
|
|
166
|
+
}
|
|
167
|
+
}
|
|
161
168
|
const angularVersion = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
|
|
162
169
|
const incrementalCompilation = angularVersion.major < 16
|
|
163
170
|
? 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",
|
|
@@ -17,25 +15,22 @@ export interface Result {
|
|
|
17
15
|
error?: string;
|
|
18
16
|
}
|
|
19
17
|
export declare class StylesheetProcessor {
|
|
18
|
+
private readonly projectBasePath;
|
|
20
19
|
private readonly basePath;
|
|
21
20
|
private readonly cssUrl?;
|
|
22
21
|
private readonly includePaths?;
|
|
23
|
-
private
|
|
24
|
-
private readonly watch?;
|
|
22
|
+
private cacheDirectory?;
|
|
25
23
|
private readonly tailwindConfig?;
|
|
26
24
|
private browserslistData;
|
|
27
25
|
private targets;
|
|
28
26
|
private postCssProcessor;
|
|
29
27
|
private esbuild;
|
|
30
28
|
private styleIncludePaths;
|
|
31
|
-
|
|
32
|
-
constructor(basePath: string, cssUrl?: CssUrl, includePaths?: string[], cacheDirectory?: string | false, watch?: boolean, tailwindConfig?: string);
|
|
29
|
+
constructor(projectBasePath: string, basePath: string, cssUrl?: CssUrl, includePaths?: string[], cacheDirectory?: string | false, tailwindConfig?: string);
|
|
33
30
|
process({ filePath, content, }: {
|
|
34
31
|
filePath: string;
|
|
35
32
|
content: string;
|
|
36
33
|
}): Promise<string>;
|
|
37
|
-
private
|
|
38
|
-
private containsTailwindDirectives;
|
|
39
|
-
private createPostCssPlugins;
|
|
34
|
+
private createPostCssProcessor;
|
|
40
35
|
private renderCss;
|
|
41
36
|
}
|
|
@@ -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.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) {
|
|
@@ -28,20 +25,20 @@ var CssUrl;
|
|
|
28
25
|
CssUrl["none"] = "none";
|
|
29
26
|
})(CssUrl || (exports.CssUrl = CssUrl = {}));
|
|
30
27
|
class StylesheetProcessor {
|
|
31
|
-
constructor(basePath, cssUrl, includePaths, cacheDirectory,
|
|
32
|
-
|
|
33
|
-
// https://github.com/browserslist/browserslist/blob/83764ea81ffaa39111c204b02c371afa44a4ff07/index.js#L516-L522
|
|
28
|
+
constructor(projectBasePath, basePath, cssUrl, includePaths, cacheDirectory, tailwindConfig) {
|
|
29
|
+
this.projectBasePath = projectBasePath;
|
|
34
30
|
this.basePath = basePath;
|
|
35
31
|
this.cssUrl = cssUrl;
|
|
36
32
|
this.includePaths = includePaths;
|
|
37
33
|
this.cacheDirectory = cacheDirectory;
|
|
38
|
-
this.watch = watch;
|
|
39
34
|
this.tailwindConfig = tailwindConfig;
|
|
40
35
|
this.esbuild = new esbuild_executor_1.EsbuildExecutor();
|
|
36
|
+
// By default, browserslist defaults are too inclusive
|
|
37
|
+
// https://github.com/browserslist/browserslist/blob/83764ea81ffaa39111c204b02c371afa44a4ff07/index.js#L516-L522
|
|
41
38
|
// We change the default query to browsers that Angular support.
|
|
42
39
|
// https://angular.io/guide/browser-support
|
|
43
40
|
browserslist.defaults = [
|
|
44
|
-
'last 2 Chrome
|
|
41
|
+
'last 2 Chrome versions',
|
|
45
42
|
'last 1 Firefox version',
|
|
46
43
|
'last 2 Edge major versions',
|
|
47
44
|
'last 2 Safari major versions',
|
|
@@ -61,17 +58,24 @@ class StylesheetProcessor {
|
|
|
61
58
|
}
|
|
62
59
|
this.browserslistData = browserslist(undefined, { path: this.basePath });
|
|
63
60
|
this.targets = transformSupportedBrowsersToTargets(this.browserslistData);
|
|
64
|
-
|
|
65
|
-
|
|
61
|
+
const tailwindSetup = (0, tailwindcss_1.getTailwindSetup)(this.projectBasePath, this.tailwindConfig);
|
|
62
|
+
if (tailwindSetup) {
|
|
63
|
+
this.cacheDirectory = undefined;
|
|
64
|
+
}
|
|
65
|
+
this.postCssProcessor = this.createPostCssProcessor(tailwindSetup);
|
|
66
66
|
}
|
|
67
67
|
async process({ filePath, content, }) {
|
|
68
|
+
const CACHE_KEY_VALUES = [
|
|
69
|
+
...this.browserslistData,
|
|
70
|
+
...this.styleIncludePaths,
|
|
71
|
+
this.cssUrl,
|
|
72
|
+
].join(':');
|
|
68
73
|
let key;
|
|
69
74
|
if (this.cacheDirectory &&
|
|
70
75
|
!content.includes('@import') &&
|
|
71
|
-
!content.includes('@use')
|
|
72
|
-
!this.containsTailwindDirectives(content)) {
|
|
76
|
+
!content.includes('@use')) {
|
|
73
77
|
// No transitive deps and no Tailwind directives, we can cache more aggressively.
|
|
74
|
-
key = await (0, cache_1.generateKey)(content,
|
|
78
|
+
key = await (0, cache_1.generateKey)(content, CACHE_KEY_VALUES);
|
|
75
79
|
const result = await (0, cache_1.readCacheEntry)(this.cacheDirectory, key);
|
|
76
80
|
if (result) {
|
|
77
81
|
result.warnings.forEach((msg) => log.warn(msg));
|
|
@@ -80,18 +84,16 @@ class StylesheetProcessor {
|
|
|
80
84
|
}
|
|
81
85
|
// Render pre-processor language (sass, styl, less)
|
|
82
86
|
const renderedCss = await this.renderCss(filePath, content);
|
|
83
|
-
|
|
87
|
+
// We cannot cache CSS re-rendering phase, because a transitive dependency via (@import) can case different CSS output.
|
|
88
|
+
// Example a change in a mixin or SCSS variable.
|
|
89
|
+
if (!key) {
|
|
90
|
+
key = await (0, cache_1.generateKey)(renderedCss, CACHE_KEY_VALUES);
|
|
91
|
+
}
|
|
84
92
|
if (this.cacheDirectory) {
|
|
85
|
-
|
|
86
|
-
if (
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
key = await (0, cache_1.generateKey)(renderedCss, ...this.browserslistData, filePath);
|
|
90
|
-
}
|
|
91
|
-
const cachedResult = await this.getCachedResult(key);
|
|
92
|
-
if (cachedResult) {
|
|
93
|
-
return cachedResult;
|
|
94
|
-
}
|
|
93
|
+
const cachedResult = await (0, cache_1.readCacheEntry)(this.cacheDirectory, key);
|
|
94
|
+
if (cachedResult) {
|
|
95
|
+
cachedResult.warnings.forEach((msg) => log.warn(msg));
|
|
96
|
+
return cachedResult.css;
|
|
95
97
|
}
|
|
96
98
|
}
|
|
97
99
|
// Render postcss (autoprefixing and friends)
|
|
@@ -99,15 +101,6 @@ class StylesheetProcessor {
|
|
|
99
101
|
from: filePath,
|
|
100
102
|
to: filePath.replace((0, path_1.extname)(filePath), '.css'),
|
|
101
103
|
});
|
|
102
|
-
if (this.cacheDirectory && containsTailwindDirectives) {
|
|
103
|
-
// We had Tailwind directives to process by PostCSS, only now
|
|
104
|
-
// is safe to return cached results
|
|
105
|
-
key = await (0, cache_1.generateKey)(result.css, ...this.browserslistData, filePath);
|
|
106
|
-
const cachedResult = await this.getCachedResult(key);
|
|
107
|
-
if (cachedResult) {
|
|
108
|
-
return cachedResult;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
104
|
const warnings = result.warnings().map((w) => w.toString());
|
|
112
105
|
const { code, warnings: esBuildWarnings } = await this.esbuild.transform(result.css, {
|
|
113
106
|
loader: 'css',
|
|
@@ -129,29 +122,17 @@ class StylesheetProcessor {
|
|
|
129
122
|
warnings.forEach((msg) => log.warn(msg));
|
|
130
123
|
return code;
|
|
131
124
|
}
|
|
132
|
-
|
|
133
|
-
const cachedResult = await (0, cache_1.readCacheEntry)(this.cacheDirectory, key);
|
|
134
|
-
if (cachedResult) {
|
|
135
|
-
cachedResult.warnings.forEach((msg) => log.warn(msg));
|
|
136
|
-
return cachedResult.css;
|
|
137
|
-
}
|
|
138
|
-
return undefined;
|
|
139
|
-
}
|
|
140
|
-
containsTailwindDirectives(content) {
|
|
141
|
-
return (this.tailwindSetup && tailwindcss_1.tailwindDirectives.some((d) => content.includes(d)));
|
|
142
|
-
}
|
|
143
|
-
createPostCssPlugins() {
|
|
125
|
+
createPostCssProcessor(tailwindSetup) {
|
|
144
126
|
const postCssPlugins = [];
|
|
127
|
+
if (tailwindSetup) {
|
|
128
|
+
postCssPlugins.push((0, tailwindcss_1.getTailwindPostCssPlugin)(tailwindSetup));
|
|
129
|
+
}
|
|
145
130
|
if (this.cssUrl !== CssUrl.none) {
|
|
146
131
|
postCssPlugins.push(postcssUrl({ url: this.cssUrl }));
|
|
147
132
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
postCssPlugins.push(postcssPresetEnv({
|
|
152
|
-
browsers: this.browserslistData,
|
|
153
|
-
autoprefixer: true,
|
|
154
|
-
stage: 3,
|
|
133
|
+
postCssPlugins.push(autoprefixer({
|
|
134
|
+
ignoreUnknownVersions: true,
|
|
135
|
+
overrideBrowserslist: this.browserslistData,
|
|
155
136
|
}));
|
|
156
137
|
return postcss(postCssPlugins);
|
|
157
138
|
}
|
|
@@ -160,25 +141,11 @@ class StylesheetProcessor {
|
|
|
160
141
|
switch (ext) {
|
|
161
142
|
case '.sass':
|
|
162
143
|
case '.scss': {
|
|
163
|
-
|
|
164
|
-
if (angularVersion && angularVersion.major < 15) {
|
|
165
|
-
return (await Promise.resolve().then(() => require('sass')))
|
|
166
|
-
.renderSync({
|
|
167
|
-
file: filePath,
|
|
168
|
-
data: css,
|
|
169
|
-
indentedSyntax: '.sass' === ext,
|
|
170
|
-
importer: customSassImporter,
|
|
171
|
-
includePaths: this.styleIncludePaths,
|
|
172
|
-
})
|
|
173
|
-
.css.toString();
|
|
174
|
-
}
|
|
175
|
-
return (await Promise.resolve().then(() => require('sass')))
|
|
176
|
-
.compileString(css, {
|
|
144
|
+
return (await Promise.resolve().then(() => require('sass'))).compileString(css, {
|
|
177
145
|
url: (0, node_url_1.pathToFileURL)(filePath),
|
|
178
146
|
syntax: '.sass' === ext ? 'indented' : 'scss',
|
|
179
147
|
loadPaths: this.styleIncludePaths,
|
|
180
|
-
})
|
|
181
|
-
.css.toString();
|
|
148
|
+
}).css;
|
|
182
149
|
}
|
|
183
150
|
case '.less': {
|
|
184
151
|
const { css: content } = await (await Promise.resolve().then(() => require('less'))).render(css, {
|
|
@@ -214,10 +181,7 @@ function transformSupportedBrowsersToTargets(supportedBrowsers) {
|
|
|
214
181
|
// browserslist uses ranges `15.2-15.3` versions but only the lowest is required
|
|
215
182
|
// to perform minimum supported feature checks. esbuild also expects a single version.
|
|
216
183
|
[version] = version.split('-');
|
|
217
|
-
if (browserName
|
|
218
|
-
transformed.push('edge12');
|
|
219
|
-
}
|
|
220
|
-
else if (esBuildSupportedBrowsers.has(browserName)) {
|
|
184
|
+
if (esBuildSupportedBrowsers.has(browserName)) {
|
|
221
185
|
if (browserName === 'safari' && version === 'tp') {
|
|
222
186
|
// esbuild only supports numeric versions so `TP` is converted to a high number (999) since
|
|
223
187
|
// a Technology Preview (TP) of Safari is assumed to support all currently known features.
|
|
@@ -228,14 +192,3 @@ function transformSupportedBrowsersToTargets(supportedBrowsers) {
|
|
|
228
192
|
}
|
|
229
193
|
return transformed.length ? transformed : undefined;
|
|
230
194
|
}
|
|
231
|
-
function customSassImporter(url, prev) {
|
|
232
|
-
// NB: Sass importer should always be sync as otherwise it will cause
|
|
233
|
-
// sass to go in the async path which is slower.
|
|
234
|
-
if (url[0] !== '~') {
|
|
235
|
-
return undefined;
|
|
236
|
-
}
|
|
237
|
-
return {
|
|
238
|
-
file: url.slice(1),
|
|
239
|
-
prev,
|
|
240
|
-
};
|
|
241
|
-
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ExecutorContext } from '@nx/devkit';
|
|
2
|
-
import { DependentBuildableProjectNode } from '@nx/js/src/utils/buildable-libs-utils';
|
|
2
|
+
import { type DependentBuildableProjectNode } from '@nx/js/src/utils/buildable-libs-utils';
|
|
3
3
|
import type { NgPackagr } from 'ng-packagr';
|
|
4
4
|
import type { BuildAngularLibraryExecutorOptions } from './schema';
|
|
5
5
|
/**
|
|
@@ -7,26 +7,16 @@ const path_1 = require("path");
|
|
|
7
7
|
const rxjs_1 = require("rxjs");
|
|
8
8
|
const operators_1 = require("rxjs/operators");
|
|
9
9
|
const typescript_1 = require("../utilities/typescript");
|
|
10
|
-
const
|
|
11
|
-
const options_di_1 = require("./ng-packagr-adjustments/ng-package/options.di");
|
|
12
|
-
const package_di_1 = require("./ng-packagr-adjustments/ng-package/package.di");
|
|
10
|
+
const ng_packagr_1 = require("./ng-packagr-adjustments/ng-packagr");
|
|
13
11
|
async function initializeNgPackagr(options, context, projectDependencies) {
|
|
14
|
-
const
|
|
15
|
-
|
|
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);
|
|
12
|
+
const ngPackagr = await (0, ng_packagr_1.getNgPackagrInstance)(options);
|
|
13
|
+
ngPackagr.forProject((0, path_1.resolve)(context.root, options.project));
|
|
24
14
|
if (options.tsConfig) {
|
|
25
15
|
const remappedTsConfigFilePath = (0, buildable_libs_utils_1.createTmpTsConfig)(options.tsConfig, context.root, context.projectsConfigurations.projects[context.projectName].root, projectDependencies);
|
|
26
16
|
const tsConfig = await (0, typescript_1.parseRemappedTsConfigAndMergeDefaults)(context.root, options.tsConfig, remappedTsConfigFilePath);
|
|
27
|
-
|
|
17
|
+
ngPackagr.withTsConfig(tsConfig);
|
|
28
18
|
}
|
|
29
|
-
return
|
|
19
|
+
return ngPackagr;
|
|
30
20
|
}
|
|
31
21
|
/**
|
|
32
22
|
* Creates an executor function that executes the library build of an Angular
|
|
@@ -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 and packages an Angular library producing an output following the Angular Package Format (APF) to be distributed as an NPM package.\n\nThis executor is similar to the `@angular-devkit/build-angular:ng-packagr` with additional support for incremental builds.",
|
|
7
7
|
"cli": "nx",
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
},
|
|
36
36
|
"tailwindConfig": {
|
|
37
37
|
"type": "string",
|
|
38
|
-
"description": "The full path for the Tailwind configuration file, relative to the workspace root. If not provided and a `tailwind.config.js` file exists in the project or workspace root, it will be used. Otherwise, Tailwind will not be configured.",
|
|
38
|
+
"description": "The full path for the Tailwind configuration file, relative to the workspace root. If not provided and a `tailwind.config.js` file exists in the project or workspace root, it will be used. Otherwise, Tailwind will not be configured. _Note: starting with Angular v17, this option is no longer used and the configuration will be picked up if exists at the project or workspace root_.",
|
|
39
39
|
"x-completion-type": "file",
|
|
40
|
-
"x-completion-glob": "tailwind.config.js"
|
|
40
|
+
"x-completion-glob": "tailwind.config@(.js|.cjs|.mjs|.ts)"
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"additionalProperties": false,
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ExecutorContext } from '@nx/devkit';
|
|
2
|
+
import { type DependentBuildableProjectNode } from '@nx/js/src/utils/buildable-libs-utils';
|
|
3
|
+
export declare function createTmpTsConfigForBuildableLibs(tsConfigPath: string, context: ExecutorContext): {
|
|
4
|
+
tsConfigPath: string;
|
|
5
|
+
dependencies: DependentBuildableProjectNode[];
|
|
6
|
+
};
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createTmpTsConfigForBuildableLibs = void 0;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
4
5
|
const buildable_libs_utils_1 = require("@nx/js/src/utils/buildable-libs-utils");
|
|
5
6
|
const path_1 = require("path");
|
|
6
|
-
|
|
7
|
-
function createTmpTsConfigForBuildableLibs(tsConfigPath, context, options) {
|
|
7
|
+
function createTmpTsConfigForBuildableLibs(tsConfigPath, context) {
|
|
8
8
|
let dependencies;
|
|
9
|
-
const result = (0, buildable_libs_utils_1.calculateProjectDependencies)(
|
|
9
|
+
const result = (0, buildable_libs_utils_1.calculateProjectDependencies)(context.projectGraph ?? (0, devkit_1.readCachedProjectGraph)(), context.root, context.projectName, context.targetName, context.configurationName);
|
|
10
10
|
dependencies = result.dependencies;
|
|
11
11
|
const tmpTsConfigPath = (0, buildable_libs_utils_1.createTmpTsConfig)((0, path_1.join)(context.root, tsConfigPath), context.root, result.target.data.root, dependencies);
|
|
12
12
|
process.env.NX_TSCONFIG_PATH = tmpTsConfigPath;
|
|
13
|
-
// Angular EsBuild Builder appends the workspaceRoot to the config path, so remove it.
|
|
14
13
|
const tmpTsConfigPathWithoutWorkspaceRoot = tmpTsConfigPath.replace(context.root, '');
|
|
15
14
|
return { tsConfigPath: tmpTsConfigPathWithoutWorkspaceRoot, dependencies };
|
|
16
15
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IndexHtmlTransform } from '@angular-devkit/build-angular/src/utils/index-file/index-html-generator';
|
|
2
|
+
import type { Plugin } from 'esbuild';
|
|
3
|
+
import type { Connect } from 'vite';
|
|
4
|
+
export type PluginSpec = {
|
|
5
|
+
path: string;
|
|
6
|
+
options: any;
|
|
7
|
+
};
|
|
8
|
+
export declare function loadPlugins(plugins: string[] | PluginSpec[] | undefined, tsConfig: string): Promise<Plugin[]>;
|
|
9
|
+
export declare function loadMiddleware(middlewareFns: string[] | undefined, tsConfig: string): Promise<Connect.NextHandleFunction[]>;
|
|
10
|
+
export declare function loadIndexHtmlTransformer(indexHtmlTransformerPath: string, tsConfig: string): Promise<IndexHtmlTransform>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadIndexHtmlTransformer = exports.loadMiddleware = exports.loadPlugins = void 0;
|
|
4
|
+
const internal_1 = require("@nx/js/src/internal");
|
|
5
|
+
const module_loader_1 = require("./module-loader");
|
|
6
|
+
async function loadPlugins(plugins, tsConfig) {
|
|
7
|
+
if (!plugins?.length) {
|
|
8
|
+
return [];
|
|
9
|
+
}
|
|
10
|
+
const cleanupTranspiler = (0, internal_1.registerTsProject)(tsConfig);
|
|
11
|
+
try {
|
|
12
|
+
return await Promise.all(plugins.map((plugin) => loadPlugin(plugin)));
|
|
13
|
+
}
|
|
14
|
+
finally {
|
|
15
|
+
cleanupTranspiler();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.loadPlugins = loadPlugins;
|
|
19
|
+
async function loadPlugin(pluginSpec) {
|
|
20
|
+
const pluginPath = typeof pluginSpec === 'string' ? pluginSpec : pluginSpec.path;
|
|
21
|
+
let plugin = await (0, module_loader_1.loadModule)(pluginPath);
|
|
22
|
+
if (typeof plugin === 'function') {
|
|
23
|
+
plugin =
|
|
24
|
+
typeof pluginSpec === 'object' ? plugin(pluginSpec.options) : plugin();
|
|
25
|
+
}
|
|
26
|
+
return plugin;
|
|
27
|
+
}
|
|
28
|
+
async function loadMiddleware(middlewareFns, tsConfig) {
|
|
29
|
+
if (!middlewareFns?.length) {
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
const cleanupTranspiler = (0, internal_1.registerTsProject)(tsConfig);
|
|
33
|
+
try {
|
|
34
|
+
return await Promise.all(middlewareFns.map((fnPath) => (0, module_loader_1.loadModule)(fnPath)));
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
cleanupTranspiler();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.loadMiddleware = loadMiddleware;
|
|
41
|
+
async function loadIndexHtmlTransformer(indexHtmlTransformerPath, tsConfig) {
|
|
42
|
+
const cleanupTranspiler = (0, internal_1.registerTsProject)(tsConfig);
|
|
43
|
+
try {
|
|
44
|
+
return await (0, module_loader_1.loadModule)(indexHtmlTransformerPath);
|
|
45
|
+
}
|
|
46
|
+
finally {
|
|
47
|
+
cleanupTranspiler();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.loadIndexHtmlTransformer = loadIndexHtmlTransformer;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export declare function loadModule<T = any>(path: string): Promise<T>;
|
|
3
|
+
/**
|
|
4
|
+
* This uses a dynamic import to load a module which may be ESM.
|
|
5
|
+
* CommonJS code can load ESM code via a dynamic import. Unfortunately, TypeScript
|
|
6
|
+
* will currently, unconditionally downlevel dynamic import into a require call.
|
|
7
|
+
* require calls cannot load ESM code and will result in a runtime error. To workaround
|
|
8
|
+
* this, a Function constructor is used to prevent TypeScript from changing the dynamic import.
|
|
9
|
+
* Once TypeScript provides support for keeping the dynamic import this workaround can
|
|
10
|
+
* be dropped.
|
|
11
|
+
*
|
|
12
|
+
* @param modulePath The path of the module to load.
|
|
13
|
+
* @returns A Promise that resolves to the dynamically imported module.
|
|
14
|
+
*/
|
|
15
|
+
export declare function loadEsmModule<T>(modulePath: string | URL): Promise<T>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadEsmModule = exports.loadModule = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
const node_url_1 = require("node:url");
|
|
6
|
+
async function loadModule(path) {
|
|
7
|
+
switch ((0, path_1.extname)(path)) {
|
|
8
|
+
case '.mjs': {
|
|
9
|
+
const result = await loadEsmModule((0, node_url_1.pathToFileURL)(path));
|
|
10
|
+
return result.default ?? result;
|
|
11
|
+
}
|
|
12
|
+
case '.cjs': {
|
|
13
|
+
const result = require(path);
|
|
14
|
+
return result.default ?? result;
|
|
15
|
+
}
|
|
16
|
+
default:
|
|
17
|
+
// it can be CommonJS or ESM, try both
|
|
18
|
+
try {
|
|
19
|
+
const result = require(path);
|
|
20
|
+
return result.default ?? result;
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
if (e.code === 'ERR_REQUIRE_ESM') {
|
|
24
|
+
const result = await loadEsmModule((0, node_url_1.pathToFileURL)(path));
|
|
25
|
+
return result.default ?? result;
|
|
26
|
+
}
|
|
27
|
+
throw e;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.loadModule = loadModule;
|
|
32
|
+
/**
|
|
33
|
+
* Lazily compiled dynamic import loader function.
|
|
34
|
+
*/
|
|
35
|
+
let load;
|
|
36
|
+
/**
|
|
37
|
+
* This uses a dynamic import to load a module which may be ESM.
|
|
38
|
+
* CommonJS code can load ESM code via a dynamic import. Unfortunately, TypeScript
|
|
39
|
+
* will currently, unconditionally downlevel dynamic import into a require call.
|
|
40
|
+
* require calls cannot load ESM code and will result in a runtime error. To workaround
|
|
41
|
+
* this, a Function constructor is used to prevent TypeScript from changing the dynamic import.
|
|
42
|
+
* Once TypeScript provides support for keeping the dynamic import this workaround can
|
|
43
|
+
* be dropped.
|
|
44
|
+
*
|
|
45
|
+
* @param modulePath The path of the module to load.
|
|
46
|
+
* @returns A Promise that resolves to the dynamically imported module.
|
|
47
|
+
*/
|
|
48
|
+
function loadEsmModule(modulePath) {
|
|
49
|
+
load ??= new Function('modulePath', `return import(modulePath);`);
|
|
50
|
+
return load(modulePath);
|
|
51
|
+
}
|
|
52
|
+
exports.loadEsmModule = loadEsmModule;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function ngCompilerCli(): Promise<typeof import('@angular/compiler-cli')>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ngCompilerCli = void 0;
|
|
4
|
+
const module_loader_1 = require("./module-loader");
|
|
5
|
+
function ngCompilerCli() {
|
|
6
|
+
return (0, module_loader_1.loadEsmModule)('@angular/compiler-cli');
|
|
7
|
+
}
|
|
8
|
+
exports.ngCompilerCli = ngCompilerCli;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapted from the original ng-packagr source.
|
|
3
|
+
*
|
|
4
|
+
* Changes made:
|
|
5
|
+
* - Use our own function to get the TailwindCSS config path to support a
|
|
6
|
+
* config at the root of the workspace.
|
|
7
|
+
*/
|
|
8
|
+
export declare enum CssUrl {
|
|
9
|
+
inline = "inline",
|
|
10
|
+
none = "none"
|
|
11
|
+
}
|
|
12
|
+
export declare class StylesheetProcessor {
|
|
13
|
+
private readonly projectBasePath;
|
|
14
|
+
private readonly basePath;
|
|
15
|
+
private readonly cssUrl?;
|
|
16
|
+
private readonly includePaths?;
|
|
17
|
+
private readonly cacheDirectory?;
|
|
18
|
+
private renderWorker;
|
|
19
|
+
constructor(projectBasePath: string, basePath: string, cssUrl?: CssUrl, includePaths?: string[], cacheDirectory?: string | false);
|
|
20
|
+
process({ filePath, content, }: {
|
|
21
|
+
filePath: string;
|
|
22
|
+
content: string;
|
|
23
|
+
}): Promise<string>;
|
|
24
|
+
/** Destory workers in pool. */
|
|
25
|
+
destroy(): void;
|
|
26
|
+
private createRenderWorker;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* This class is used when ng-packagr version is 17.2.0. The async `loadPostcssConfiguration` function
|
|
30
|
+
* introduced in ng-packagr 17.2.0 causes a memory leak due to multiple workers being created. We must
|
|
31
|
+
* keep this class to support any workspace that might be using ng-packagr 17.2.0 where that function
|
|
32
|
+
* need to be awaited.
|
|
33
|
+
*/
|
|
34
|
+
export declare class AsyncStylesheetProcessor {
|
|
35
|
+
private readonly projectBasePath;
|
|
36
|
+
private readonly basePath;
|
|
37
|
+
private readonly cssUrl?;
|
|
38
|
+
private readonly includePaths?;
|
|
39
|
+
private readonly cacheDirectory?;
|
|
40
|
+
private renderWorker;
|
|
41
|
+
constructor(projectBasePath: string, basePath: string, cssUrl?: CssUrl, includePaths?: string[], cacheDirectory?: string | false);
|
|
42
|
+
process({ filePath, content, }: {
|
|
43
|
+
filePath: string;
|
|
44
|
+
content: string;
|
|
45
|
+
}): Promise<string>;
|
|
46
|
+
/** Destory workers in pool. */
|
|
47
|
+
destroy(): void;
|
|
48
|
+
private createRenderWorker;
|
|
49
|
+
}
|