@nx/angular 17.0.4 → 17.0.6
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 +4 -9
- package/esm2022/mf/mf.mjs +1 -1
- package/esm2022/src/runtime/nx/data-persistence.mjs +1 -1
- package/executors.d.ts +2 -9
- package/executors.js +2 -7
- package/executors.json +9 -19
- 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 +1 -3
- package/generators.json +2 -7
- package/migrations.json +0 -451
- package/ng-package.json +2 -2
- package/package.json +26 -20
- package/plugins/component-testing.d.ts +26 -1
- package/plugins/component-testing.js +4 -15
- package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.d.ts +5 -0
- package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.js +137 -0
- package/src/{executors → builders}/module-federation-dev-server/schema.d.ts +7 -25
- package/src/{executors → builders}/module-federation-dev-server/schema.json +6 -31
- 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 +9 -15
- package/src/builders/utilities/module-federation.js +1 -1
- package/src/builders/webpack-browser/schema.d.ts +2 -6
- package/src/builders/webpack-browser/schema.json +15 -15
- package/src/builders/webpack-browser/validate-options.d.ts +2 -0
- package/src/builders/webpack-browser/validate-options.js +40 -0
- package/src/builders/webpack-browser/webpack-browser.impl.js +6 -8
- package/src/builders/{dev-server → webpack-dev-server}/lib/index.d.ts +0 -1
- package/src/builders/{dev-server → webpack-dev-server}/lib/index.js +0 -1
- package/src/builders/webpack-dev-server/lib/normalize-options.d.ts +2 -0
- package/src/builders/webpack-dev-server/lib/normalize-options.js +14 -0
- package/src/builders/webpack-dev-server/schema.d.ts +21 -0
- package/src/builders/{dev-server → webpack-dev-server}/schema.json +5 -42
- package/src/builders/webpack-dev-server/webpack-dev-server.impl.d.ts +4 -0
- package/src/builders/webpack-dev-server/webpack-dev-server.impl.js +105 -0
- package/src/builders/webpack-server/schema.d.ts +1 -0
- package/src/builders/webpack-server/schema.json +20 -7
- package/src/builders/webpack-server/validate-options.js +7 -0
- package/src/builders/webpack-server/webpack-server.impl.js +9 -4
- package/src/executors/browser-esbuild/browser-esbuild.impl.d.ts +3 -2
- package/src/executors/browser-esbuild/browser-esbuild.impl.js +8 -15
- package/src/executors/browser-esbuild/lib/buildable-libs.d.ts +9 -0
- package/src/executors/{utilities → browser-esbuild/lib}/buildable-libs.js +4 -3
- package/src/executors/browser-esbuild/lib/validate-options.d.ts +2 -0
- package/src/executors/browser-esbuild/lib/validate-options.js +40 -0
- package/src/executors/browser-esbuild/schema.d.ts +1 -3
- package/src/executors/browser-esbuild/schema.json +8 -38
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/compile-ngc.transform.js +4 -6
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/write-package.transform.js +13 -25
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ngc → ngc}/compile-source-files.d.ts +2 -1
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ngc → ngc}/compile-source-files.js +9 -14
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/styles → styles}/stylesheet-processor.d.ts +10 -5
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/styles → styles}/stylesheet-processor.js +86 -39
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ts/cache-compiler-host.d.ts +16 -0
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ts/cache-compiler-host.js +175 -0
- package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js +17 -5
- 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 +3 -5
- 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 +6 -13
- package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.d.ts +10 -5
- package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.js +86 -39
- package/src/executors/package/ng-packagr-adjustments/ts/cache-compiler-host.d.ts +15 -0
- package/src/executors/package/ng-packagr-adjustments/ts/cache-compiler-host.js +197 -0
- package/src/executors/package/package.impl.d.ts +1 -1
- package/src/executors/package/package.impl.js +15 -5
- package/src/executors/package/schema.json +3 -3
- package/src/executors/utilities/tailwindcss.d.ts +7 -0
- package/src/executors/utilities/{ng-packagr/tailwindcss.js → tailwindcss.js} +22 -5
- 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 +15 -9
- 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 +5 -9
- 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 +17 -19
- package/src/generators/application/files/base/tsconfig.app.json__tpl__ +1 -1
- package/src/generators/application/files/base/tsconfig.json__tpl__ +2 -6
- package/src/generators/application/files/ng-module/src/app/app.component.spec.ts__tpl__ +1 -3
- package/src/generators/application/files/ng-module/src/app/app.component.ts__tpl__ +2 -4
- 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__ +14 -53
- package/src/generators/application/files/ng-module/src/main.ts__tpl__ +8 -2
- package/src/generators/application/files/standalone-components/src/app/app.component.spec.ts__tpl__ +4 -6
- package/src/generators/application/files/standalone-components/src/app/app.component.ts__tpl__ +2 -4
- 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__ +14 -53
- package/src/generators/application/files/standalone-components/src/main.ts__tpl__ +8 -4
- package/src/generators/application/files/tsconfig.editor.json__tpl__ +5 -0
- package/src/generators/application/files/v14/.browserlistrc__tpl__ +16 -0
- package/src/generators/application/files/v14/src/environments/environment.prod.ts__tpl__ +3 -0
- package/src/generators/application/files/v14/src/environments/environment.ts__tpl__ +16 -0
- package/src/generators/application/files/v14/src/polyfills.ts__tpl__ +53 -0
- package/src/generators/application/lib/add-e2e.js +8 -22
- package/src/generators/application/lib/add-unit-test-runner.js +20 -5
- package/src/generators/application/lib/create-files.js +10 -14
- package/src/generators/application/lib/create-project.d.ts +1 -1
- package/src/generators/application/lib/create-project.js +38 -48
- package/src/generators/application/lib/index.d.ts +0 -1
- package/src/generators/application/lib/index.js +0 -1
- package/src/generators/application/lib/normalize-options.d.ts +1 -1
- package/src/generators/application/lib/normalize-options.js +6 -28
- package/src/generators/application/lib/normalized-schema.d.ts +0 -5
- package/src/generators/application/lib/update-editor-tsconfig.d.ts +1 -1
- package/src/generators/application/lib/update-editor-tsconfig.js +14 -11
- package/src/generators/application/schema.d.ts +0 -1
- package/src/generators/application/schema.json +10 -18
- package/src/generators/component/component.js +1 -4
- package/src/generators/component/files/__fileName__.spec.ts__tpl__ +3 -2
- package/src/generators/component/files/__fileName__.ts__tpl__ +2 -8
- 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 +2 -3
- package/src/generators/{setup-mf/lib/update-tsconfig.d.ts → component/lib/validate-options.d.ts} +1 -1
- package/src/generators/component/lib/validate-options.js +8 -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__ +8 -13
- 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 +3 -8
- package/src/generators/component-test/files/__componentFileName__.cy.ts__tpl__ +11 -9
- package/src/generators/component-test/schema.json +1 -1
- package/src/generators/convert-to-with-mf/convert-to-with-mf.js +1 -3
- package/src/generators/convert-to-with-mf/lib/write-new-webpack-config.js +2 -3
- package/src/generators/convert-to-with-mf/schema.d.ts +0 -1
- package/src/generators/convert-to-with-mf/schema.json +0 -6
- package/src/generators/cypress-component-configuration/cypress-component-configuration.d.ts +1 -2
- package/src/generators/cypress-component-configuration/cypress-component-configuration.js +24 -43
- package/src/generators/directive/directive.js +1 -0
- package/src/generators/directive/files/__fileName__.ts__tpl__ +3 -1
- package/src/generators/directive/lib/index.d.ts +1 -0
- package/src/generators/directive/lib/index.js +1 -0
- package/src/generators/directive/lib/normalize-options.js +1 -3
- package/src/generators/directive/lib/validate-options.d.ts +3 -0
- package/src/generators/directive/lib/validate-options.js +8 -0
- 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 +0 -1
- package/src/generators/federate-module/lib/add-remote.d.ts +1 -1
- package/src/generators/federate-module/lib/add-remote.js +11 -2
- package/src/generators/federate-module/schema.json +3 -3
- package/src/generators/host/files/ts/webpack.server.config.ts__tmpl__ +2 -2
- package/src/generators/host/host.js +9 -8
- package/src/generators/host/lib/add-ssr.d.ts +3 -0
- package/src/generators/host/lib/{update-ssr-setup.js → add-ssr.js} +14 -8
- package/src/generators/host/lib/index.d.ts +1 -1
- package/src/generators/host/lib/index.js +1 -1
- package/src/generators/host/schema.json +6 -6
- package/src/generators/init/init.d.ts +2 -2
- package/src/generators/init/init.js +137 -19
- package/src/generators/init/schema.d.ts +9 -1
- package/src/generators/init/schema.json +59 -8
- 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 +22 -24
- package/src/generators/library/lib/add-standalone-component.d.ts +2 -2
- package/src/generators/library/lib/add-standalone-component.js +4 -5
- package/src/generators/library/lib/normalize-options.js +5 -2
- package/src/generators/library/lib/update-tsconfig.js +3 -3
- package/src/generators/library/library.js +27 -15
- package/src/generators/library/schema.d.ts +0 -1
- package/src/generators/library/schema.json +13 -13
- package/src/generators/library-secondary-entry-point/files/src/index.ts__tmpl__ +5 -1
- package/src/generators/library-secondary-entry-point/lib/index.d.ts +1 -0
- package/src/generators/library-secondary-entry-point/lib/index.js +1 -0
- package/src/generators/library-secondary-entry-point/lib/update-linting-file-patterns.d.ts +3 -0
- package/src/generators/library-secondary-entry-point/lib/update-linting-file-patterns.js +15 -0
- package/src/generators/library-secondary-entry-point/library-secondary-entry-point.js +2 -3
- package/src/generators/library-secondary-entry-point/schema.d.ts +0 -1
- package/src/generators/library-secondary-entry-point/schema.json +3 -9
- 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 +7 -50
- package/src/generators/ng-add/migrators/projects/e2e.migrator.js +23 -31
- package/src/generators/ng-add/ng-add.js +8 -1
- 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 +16 -9
- package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.models.ts__tmpl__ +1 -1
- package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.selectors.spec.ts__tmpl__ +1 -1
- package/src/generators/ngrx/files/no-inject/__directory__/__fileName__.effects.ts__tmpl__ +22 -0
- package/src/generators/ngrx/files/no-inject/__directory__/__fileName__.facade.ts__tmpl__ +27 -0
- package/src/generators/ngrx/lib/generate-files.js +10 -1
- package/src/generators/ngrx/lib/validate-options.js +23 -0
- package/src/generators/ngrx/schema.json +3 -3
- package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.models.ts__tmpl__ +1 -1
- package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.selectors.spec.ts__tmpl__ +1 -1
- package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.effects.ts__tmpl__ +22 -0
- package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.facade.ts__tmpl__ +27 -0
- package/src/generators/ngrx-feature-store/lib/generate-files.js +12 -1
- package/src/generators/ngrx-feature-store/lib/validate-options.js +22 -0
- 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 +15 -0
- package/src/generators/ngrx-root-store/schema.json +2 -2
- package/src/generators/pipe/files/__fileName__.ts__tpl__ +2 -0
- package/src/generators/pipe/lib/index.d.ts +1 -0
- package/src/generators/pipe/lib/index.js +1 -0
- package/src/generators/pipe/lib/normalize-options.js +0 -1
- package/src/generators/pipe/lib/validate-options.d.ts +3 -0
- package/src/generators/pipe/lib/validate-options.js +8 -0
- package/src/generators/pipe/pipe.js +1 -0
- 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/{pre-v17/src → src}/main.server.ts__tmpl__ +3 -1
- package/src/generators/remote/lib/{update-ssr-setup.d.ts → add-ssr.d.ts} +1 -1
- package/src/generators/remote/lib/{update-ssr-setup.js → add-ssr.js} +13 -9
- package/src/generators/remote/lib/index.d.ts +1 -1
- package/src/generators/remote/lib/index.js +1 -1
- package/src/generators/remote/remote.js +9 -7
- package/src/generators/remote/schema.json +6 -6
- package/src/generators/scam/lib/convert-component-to-scam.js +1 -2
- 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 +1 -2
- package/src/generators/scam-directive/scam-directive.js +1 -3
- package/src/generators/scam-directive/schema.d.ts +3 -4
- package/src/generators/scam-directive/schema.json +2 -8
- package/src/generators/scam-pipe/lib/convert-pipe-to-scam.js +1 -2
- package/src/generators/scam-pipe/scam-pipe.js +1 -3
- package/src/generators/scam-pipe/schema.d.ts +3 -4
- package/src/generators/scam-pipe/schema.json +2 -8
- package/src/generators/scam-to-standalone/scam-to-standalone.js +7 -0
- package/src/generators/scam-to-standalone/schema.json +2 -2
- package/src/generators/setup-mf/files/host-files/app.component.spec.ts__tmpl__ +1 -3
- package/src/generators/setup-mf/files/ts-webpack/module-federation.config.ts__tmpl__ +0 -12
- 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__ +1 -13
- package/src/generators/setup-mf/lib/add-cypress-workaround.js +4 -14
- package/src/generators/setup-mf/lib/add-remote-entry.js +11 -2
- package/src/generators/setup-mf/lib/add-remote-to-host.js +1 -1
- package/src/generators/setup-mf/lib/fix-bootstrap.js +18 -10
- package/src/generators/setup-mf/lib/generate-config.js +0 -3
- 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 +1 -2
- package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +10 -10
- package/src/generators/setup-mf/lib/set-tsconfig-target.d.ts +3 -0
- package/src/generators/setup-mf/lib/set-tsconfig-target.js +16 -0
- 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/setup-mf/schema.d.ts +0 -1
- package/src/generators/setup-mf/schema.json +3 -8
- package/src/generators/setup-mf/setup-mf.js +7 -1
- package/src/generators/setup-ssr/files/{server/server-builder/pre-v17 → ngmodule/base}/__serverFileName__ +8 -7
- package/src/generators/setup-ssr/files/ngmodule/base/src/__main__ +1 -1
- package/src/generators/setup-ssr/files/ngmodule/v14/src/__main__ +11 -0
- package/src/generators/setup-ssr/files/{server/server-builder/v17+ → standalone}/__serverFileName__ +16 -25
- package/src/generators/setup-ssr/lib/add-hydration.js +5 -11
- package/src/generators/setup-ssr/lib/generate-files.d.ts +1 -1
- package/src/generators/setup-ssr/lib/generate-files.js +16 -11
- package/src/generators/setup-ssr/lib/index.d.ts +0 -4
- package/src/generators/setup-ssr/lib/index.js +0 -4
- package/src/generators/setup-ssr/lib/normalize-options.js +1 -7
- package/src/generators/setup-ssr/lib/update-project-config.d.ts +1 -2
- package/src/generators/setup-ssr/lib/update-project-config.js +13 -46
- package/src/generators/setup-ssr/lib/validate-options.js +2 -15
- package/src/generators/setup-ssr/schema.json +4 -4
- package/src/generators/setup-ssr/setup-ssr.js +12 -18
- 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 +4 -6
- package/src/generators/storybook-configuration/lib/generate-storybook-configuration.js +1 -3
- 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 +5 -8
- package/src/generators/utils/create-ts-config.d.ts +8 -0
- package/src/generators/utils/create-ts-config.js +35 -0
- package/src/generators/utils/dependencies.js +2 -1
- package/src/generators/utils/export-scam.js +2 -2
- package/src/generators/utils/project.d.ts +1 -0
- package/src/generators/utils/project.js +29 -2
- package/src/generators/utils/selector.d.ts +2 -2
- package/src/generators/utils/selector.js +4 -11
- package/src/generators/utils/testing.js +1 -24
- package/src/generators/utils/validations.d.ts +1 -0
- package/src/generators/utils/validations.js +14 -1
- package/src/generators/utils/version-utils.d.ts +2 -2
- package/src/generators/utils/version-utils.js +3 -3
- package/src/utils/backward-compatible-versions.d.ts +4 -6
- package/src/utils/backward-compatible-versions.js +22 -20
- package/src/utils/mf/utils.js +0 -7
- package/src/utils/mf/with-module-federation-ssr.js +0 -3
- package/src/utils/mf/with-module-federation.js +0 -3
- package/src/utils/nx-devkit/ast-utils.js +2 -4
- package/src/utils/nx-devkit/testing.js +31 -27
- package/src/utils/{index.d.ts → public-api.d.ts} +0 -5
- package/src/utils/{index.js → public-api.js} +0 -5
- package/src/utils/version-utils.d.ts +3 -3
- package/src/utils/versions.d.ts +11 -9
- package/src/utils/versions.js +12 -10
- package/src/builders/dev-server/dev-server.impl.d.ts +0 -4
- package/src/builders/dev-server/dev-server.impl.js +0 -160
- package/src/builders/dev-server/lib/normalize-options.d.ts +0 -2
- package/src/builders/dev-server/lib/normalize-options.js +0 -20
- package/src/builders/dev-server/lib/validate-options.d.ts +0 -2
- package/src/builders/dev-server/lib/validate-options.js +0 -22
- package/src/builders/dev-server/schema.d.ts +0 -39
- package/src/executors/application/application.impl.d.ts +0 -3
- package/src/executors/application/application.impl.js +0 -37
- package/src/executors/application/schema.d.ts +0 -8
- package/src/executors/application/schema.json +0 -682
- package/src/executors/application/utils/validate-options.d.ts +0 -2
- package/src/executors/application/utils/validate-options.js +0 -52
- package/src/executors/extract-i18n/extract-i18n.impl.d.ts +0 -3
- package/src/executors/extract-i18n/extract-i18n.impl.js +0 -43
- package/src/executors/extract-i18n/schema.d.ts +0 -8
- package/src/executors/extract-i18n/schema.json +0 -45
- package/src/executors/module-federation-dev-server/lib/build-static-remotes.d.ts +0 -4
- package/src/executors/module-federation-dev-server/lib/build-static-remotes.js +0 -56
- package/src/executors/module-federation-dev-server/lib/index.d.ts +0 -5
- package/src/executors/module-federation-dev-server/lib/index.js +0 -8
- package/src/executors/module-federation-dev-server/lib/normalize-options.d.ts +0 -2
- package/src/executors/module-federation-dev-server/lib/normalize-options.js +0 -23
- package/src/executors/module-federation-dev-server/lib/parse-static-remotes-config.d.ts +0 -11
- package/src/executors/module-federation-dev-server/lib/parse-static-remotes-config.js +0 -18
- package/src/executors/module-federation-dev-server/lib/start-dev-remotes.d.ts +0 -9
- package/src/executors/module-federation-dev-server/lib/start-dev-remotes.js +0 -29
- package/src/executors/module-federation-dev-server/lib/start-static-remotes-file-server.d.ts +0 -9
- package/src/executors/module-federation-dev-server/lib/start-static-remotes-file-server.js +0 -46
- package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +0 -4
- package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +0 -115
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.d.ts +0 -3
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.js +0 -34
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.di.d.ts +0 -2
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.di.js +0 -12
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.transform.d.ts +0 -8
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.transform.js +0 -12
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.di.d.ts +0 -8
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.di.js +0 -18
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.d.ts +0 -8
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.js +0 -285
- package/src/executors/package/ng-packagr-adjustments/ng-packagr.d.ts +0 -3
- package/src/executors/package/ng-packagr-adjustments/ng-packagr.js +0 -28
- package/src/executors/utilities/buildable-libs.d.ts +0 -6
- package/src/executors/utilities/esbuild-extensions.d.ts +0 -10
- package/src/executors/utilities/esbuild-extensions.js +0 -50
- package/src/executors/utilities/module-loader.d.ts +0 -15
- package/src/executors/utilities/module-loader.js +0 -52
- package/src/executors/utilities/ng-compiler-cli.d.ts +0 -1
- package/src/executors/utilities/ng-compiler-cli.js +0 -8
- package/src/executors/utilities/ng-packagr/stylesheet-processor.d.ts +0 -49
- package/src/executors/utilities/ng-packagr/stylesheet-processor.di.d.ts +0 -2
- package/src/executors/utilities/ng-packagr/stylesheet-processor.di.js +0 -16
- package/src/executors/utilities/ng-packagr/stylesheet-processor.js +0 -209
- package/src/executors/utilities/ng-packagr/tailwindcss.d.ts +0 -7
- package/src/executors/utilities/patch-builder-context.d.ts +0 -3
- package/src/executors/utilities/patch-builder-context.js +0 -41
- package/src/generators/add-linting/lib/buildable-project.d.ts +0 -2
- package/src/generators/add-linting/lib/buildable-project.js +0 -9
- package/src/generators/application/lib/set-generator-defaults.d.ts +0 -3
- package/src/generators/application/lib/set-generator-defaults.js +0 -17
- package/src/generators/component/lib/set-generator-defaults.d.ts +0 -3
- package/src/generators/component/lib/set-generator-defaults.js +0 -14
- package/src/generators/convert-to-application-executor/convert-to-application-executor.d.ts +0 -4
- package/src/generators/convert-to-application-executor/convert-to-application-executor.js +0 -242
- package/src/generators/convert-to-application-executor/schema.d.ts +0 -4
- package/src/generators/convert-to-application-executor/schema.json +0 -26
- package/src/generators/host/files/common/v17+/src/main.server.ts__tmpl__ +0 -67
- package/src/generators/host/lib/update-ssr-setup.d.ts +0 -3
- package/src/generators/library/lib/set-generator-defaults.d.ts +0 -3
- package/src/generators/library/lib/set-generator-defaults.js +0 -15
- package/src/generators/remote/files/common/v17+/src/main.server.ts__tmpl__ +0 -73
- package/src/generators/setup-mf/files/ts-webpack/tsconfig.lint.json__tmpl__ +0 -12
- package/src/generators/setup-mf/lib/update-tsconfig.js +0 -19
- package/src/generators/setup-ssr/files/server/application-builder/__serverFileName__ +0 -56
- package/src/generators/setup-ssr/lib/add-dependencies.d.ts +0 -2
- package/src/generators/setup-ssr/lib/add-dependencies.js +0 -36
- package/src/generators/setup-ssr/lib/add-server-file.d.ts +0 -3
- package/src/generators/setup-ssr/lib/add-server-file.js +0 -31
- package/src/generators/setup-ssr/lib/constants.d.ts +0 -3
- package/src/generators/setup-ssr/lib/constants.js +0 -6
- package/src/generators/setup-ssr/lib/generate-server-ts-config.d.ts +0 -4
- package/src/generators/setup-ssr/lib/generate-server-ts-config.js +0 -29
- package/src/generators/setup-ssr/lib/set-router-initial-navigation.d.ts +0 -3
- package/src/generators/setup-ssr/lib/set-router-initial-navigation.js +0 -93
- package/src/generators/utils/add-jest.d.ts +0 -8
- package/src/generators/utils/add-jest.js +0 -36
- package/src/generators/utils/add-mf-env-to-inputs.d.ts +0 -2
- package/src/generators/utils/add-mf-env-to-inputs.js +0 -27
- package/src/generators/utils/ensure-angular-dependencies.d.ts +0 -2
- package/src/generators/utils/ensure-angular-dependencies.js +0 -35
- package/src/generators/utils/update-app-editor-tsconfig-excluded-files.d.ts +0 -2
- package/src/generators/utils/update-app-editor-tsconfig-excluded-files.js +0 -23
- package/src/generators/utils/update-project-root-tsconfig.d.ts +0 -3
- package/src/generators/utils/update-project-root-tsconfig.js +0 -26
- package/src/migrations/update-17-1-0/browser-target-to-build-target.d.ts +0 -3
- package/src/migrations/update-17-1-0/browser-target-to-build-target.js +0 -50
- package/src/migrations/update-17-1-0/replace-nguniversal-builders.d.ts +0 -2
- package/src/migrations/update-17-1-0/replace-nguniversal-builders.js +0 -75
- package/src/migrations/update-17-1-0/replace-nguniversal-engines.d.ts +0 -2
- package/src/migrations/update-17-1-0/replace-nguniversal-engines.js +0 -183
- package/src/migrations/update-17-1-0/update-angular-cli.d.ts +0 -3
- package/src/migrations/update-17-1-0/update-angular-cli.js +0 -23
- package/src/migrations/update-17-1-0/update-zone-js-deep-import.d.ts +0 -2
- package/src/migrations/update-17-1-0/update-zone-js-deep-import.js +0 -37
- package/src/migrations/update-17-2-0/rename-webpack-dev-server.d.ts +0 -2
- package/src/migrations/update-17-2-0/rename-webpack-dev-server.js +0 -40
- package/src/migrations/update-17-3-0/add-autoprefixer-dependency.d.ts +0 -2
- package/src/migrations/update-17-3-0/add-autoprefixer-dependency.js +0 -26
- package/src/migrations/update-17-3-0/add-browser-sync-dependency.d.ts +0 -2
- package/src/migrations/update-17-3-0/add-browser-sync-dependency.js +0 -26
- package/src/migrations/update-17-3-0/update-angular-cli.d.ts +0 -3
- package/src/migrations/update-17-3-0/update-angular-cli.js +0 -23
- package/src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults.d.ts +0 -2
- package/src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults.js +0 -26
- package/src/migrations/update-18-1-0/update-angular-cli.d.ts +0 -3
- package/src/migrations/update-18-1-0/update-angular-cli.js +0 -23
- package/src/migrations/update-18-1-1/fix-target-defaults-inputs.d.ts +0 -2
- package/src/migrations/update-18-1-1/fix-target-defaults-inputs.js +0 -53
- package/src/migrations/update-18-2-0/update-angular-cli.d.ts +0 -3
- package/src/migrations/update-18-2-0/update-angular-cli.js +0 -23
- package/src/utils/targets.d.ts +0 -2
- package/src/utils/targets.js +0 -17
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/compile-ngc.di.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/compile-ngc.di.js +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/compile-ngc.transform.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/entry-point.di.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/entry-point.di.js +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/entry-point.transform.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/entry-point.transform.js +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/write-package.di.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/write-package.di.js +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/write-package.transform.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/options.di.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/options.di.js +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/package.di.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/package.di.js +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/styles → styles}/stylesheet-processor.di.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/styles → styles}/stylesheet-processor.di.js +0 -0
- /package/src/generators/host/files/common/{pre-v17/src → src}/main.server.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.actions.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.effects.spec.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.effects.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.facade.spec.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.facade.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.reducer.spec.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.reducer.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.selectors.ts__tmpl__ +0 -0
- /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.actions.ts__tmpl__ +0 -0
- /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.effects.spec.ts__tmpl__ +0 -0
- /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.effects.ts__tmpl__ +0 -0
- /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.facade.spec.ts__tmpl__ +0 -0
- /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.facade.ts__tmpl__ +0 -0
- /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.reducer.spec.ts__tmpl__ +0 -0
- /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.reducer.ts__tmpl__ +0 -0
- /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.selectors.ts__tmpl__ +0 -0
- /package/src/generators/setup-ssr/files/{root → base}/tsconfig.server.json__tpl__ +0 -0
package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js
CHANGED
|
@@ -24,11 +24,9 @@ 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;
|
|
31
27
|
try {
|
|
28
|
+
const entryPoint = graph.find((0, nodes_1.isEntryPointInProgress)());
|
|
29
|
+
const entryPoints = graph.filter(nodes_1.isEntryPoint);
|
|
32
30
|
// Add paths mappings for dependencies
|
|
33
31
|
const tsConfig = (0, tsconfig_1.setDependenciesTsConfigPaths)(entryPoint.data.tsConfig, entryPoints);
|
|
34
32
|
const angularVersion = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
|
|
@@ -49,7 +47,7 @@ const compileNgcTransformFactory = (StylesheetProcessor, options) => {
|
|
|
49
47
|
await ngccProcessor.process();
|
|
50
48
|
}
|
|
51
49
|
}
|
|
52
|
-
entryPoint.cache.stylesheetProcessor ??= new StylesheetProcessor(
|
|
50
|
+
entryPoint.cache.stylesheetProcessor ??= new StylesheetProcessor(basePath, cssUrl, styleIncludePaths, options.cacheEnabled && options.cacheDirectory, options.watch, options.tailwindConfig);
|
|
53
51
|
await (0, compile_source_files_1.compileSourceFiles)(graph, tsConfig, moduleResolutionCache, options, {
|
|
54
52
|
outDir: path.dirname(esmModulePath),
|
|
55
53
|
declarationDir: path.dirname(declarations),
|
|
@@ -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 cacheCompilerHost 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 cacheCompilerHost 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 ng_compiler_cli_1 = require("ng-packagr/lib/utils/ng-compiler-cli");
|
|
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 cache_compiler_host_1 = require("../ts/cache-compiler-host");
|
|
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,7 +59,9 @@ async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, option
|
|
|
59
59
|
cache.oldNgtscProgram = angularProgram;
|
|
60
60
|
}
|
|
61
61
|
else {
|
|
62
|
-
|
|
62
|
+
// When not in watch mode, the startup cost of the incremental analysis can be avoided by
|
|
63
|
+
// using an abstract builder that only wraps a TypeScript program.
|
|
64
|
+
builder = ts.createAbstractBuilder(typeScriptProgram, tsCompilerHost);
|
|
63
65
|
}
|
|
64
66
|
// Update semantic diagnostics cache
|
|
65
67
|
const affectedFiles = new Set();
|
|
@@ -156,15 +158,6 @@ async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, option
|
|
|
156
158
|
throw new Error(formatDiagnostics(errorDiagnostics));
|
|
157
159
|
}
|
|
158
160
|
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
|
-
}
|
|
168
161
|
const angularVersion = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
|
|
169
162
|
const incrementalCompilation = angularVersion.major < 16
|
|
170
163
|
? angularCompiler.incrementalDriver
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
* Adapted from the original ng-packagr source.
|
|
3
3
|
*
|
|
4
4
|
* Changes made:
|
|
5
|
+
* - Added the filePath parameter to the cache key.
|
|
5
6
|
* - Refactored caching to take into account TailwindCSS processing.
|
|
6
|
-
* - Added PostCSS
|
|
7
|
+
* - Added PostCSS plugins needed to support TailwindCSS.
|
|
8
|
+
* - Added watch mode parameter.
|
|
7
9
|
*/
|
|
8
10
|
export declare enum CssUrl {
|
|
9
11
|
inline = "inline",
|
|
@@ -15,22 +17,25 @@ export interface Result {
|
|
|
15
17
|
error?: string;
|
|
16
18
|
}
|
|
17
19
|
export declare class StylesheetProcessor {
|
|
18
|
-
private readonly projectBasePath;
|
|
19
20
|
private readonly basePath;
|
|
20
21
|
private readonly cssUrl?;
|
|
21
22
|
private readonly includePaths?;
|
|
22
|
-
private cacheDirectory?;
|
|
23
|
+
private readonly cacheDirectory?;
|
|
24
|
+
private readonly watch?;
|
|
23
25
|
private readonly tailwindConfig?;
|
|
24
26
|
private browserslistData;
|
|
25
27
|
private targets;
|
|
26
28
|
private postCssProcessor;
|
|
27
29
|
private esbuild;
|
|
28
30
|
private styleIncludePaths;
|
|
29
|
-
|
|
31
|
+
private tailwindSetup;
|
|
32
|
+
constructor(basePath: string, cssUrl?: CssUrl, includePaths?: string[], cacheDirectory?: string | false, watch?: boolean, tailwindConfig?: string);
|
|
30
33
|
process({ filePath, content, }: {
|
|
31
34
|
filePath: string;
|
|
32
35
|
content: string;
|
|
33
36
|
}): Promise<string>;
|
|
34
|
-
private
|
|
37
|
+
private getCachedResult;
|
|
38
|
+
private containsTailwindDirectives;
|
|
39
|
+
private createPostCssPlugins;
|
|
35
40
|
private renderCss;
|
|
36
41
|
}
|
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
* Adapted from the original ng-packagr source.
|
|
4
4
|
*
|
|
5
5
|
* Changes made:
|
|
6
|
+
* - Added the filePath parameter to the cache key.
|
|
6
7
|
* - Refactored caching to take into account TailwindCSS processing.
|
|
7
|
-
* - Added PostCSS
|
|
8
|
+
* - Added PostCSS plugins needed to support TailwindCSS.
|
|
9
|
+
* - Added watch mode parameter.
|
|
8
10
|
*/
|
|
9
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
12
|
exports.StylesheetProcessor = exports.CssUrl = void 0;
|
|
@@ -14,10 +16,11 @@ const esbuild_executor_1 = require("ng-packagr/lib/esbuild/esbuild-executor");
|
|
|
14
16
|
const cache_1 = require("ng-packagr/lib/utils/cache");
|
|
15
17
|
const log = require("ng-packagr/lib/utils/log");
|
|
16
18
|
const path_1 = require("path");
|
|
17
|
-
const
|
|
19
|
+
const postcssPresetEnv = require("postcss-preset-env");
|
|
18
20
|
const postcssUrl = require("postcss-url");
|
|
19
21
|
const node_url_1 = require("node:url");
|
|
20
|
-
const
|
|
22
|
+
const angular_version_utils_1 = require("../../../utilities/angular-version-utils");
|
|
23
|
+
const tailwindcss_1 = require("../../../utilities/tailwindcss");
|
|
21
24
|
const postcss = require('postcss');
|
|
22
25
|
var CssUrl;
|
|
23
26
|
(function (CssUrl) {
|
|
@@ -25,20 +28,20 @@ var CssUrl;
|
|
|
25
28
|
CssUrl["none"] = "none";
|
|
26
29
|
})(CssUrl || (exports.CssUrl = CssUrl = {}));
|
|
27
30
|
class StylesheetProcessor {
|
|
28
|
-
constructor(
|
|
29
|
-
|
|
31
|
+
constructor(basePath, cssUrl, includePaths, cacheDirectory, watch, tailwindConfig) {
|
|
32
|
+
// By default, browserslist defaults are too inclusive
|
|
33
|
+
// https://github.com/browserslist/browserslist/blob/83764ea81ffaa39111c204b02c371afa44a4ff07/index.js#L516-L522
|
|
30
34
|
this.basePath = basePath;
|
|
31
35
|
this.cssUrl = cssUrl;
|
|
32
36
|
this.includePaths = includePaths;
|
|
33
37
|
this.cacheDirectory = cacheDirectory;
|
|
38
|
+
this.watch = watch;
|
|
34
39
|
this.tailwindConfig = tailwindConfig;
|
|
35
40
|
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
|
|
38
41
|
// We change the default query to browsers that Angular support.
|
|
39
42
|
// https://angular.io/guide/browser-support
|
|
40
43
|
browserslist.defaults = [
|
|
41
|
-
'last 2 Chrome
|
|
44
|
+
'last 2 Chrome version',
|
|
42
45
|
'last 1 Firefox version',
|
|
43
46
|
'last 2 Edge major versions',
|
|
44
47
|
'last 2 Safari major versions',
|
|
@@ -58,24 +61,17 @@ class StylesheetProcessor {
|
|
|
58
61
|
}
|
|
59
62
|
this.browserslistData = browserslist(undefined, { path: this.basePath });
|
|
60
63
|
this.targets = transformSupportedBrowsersToTargets(this.browserslistData);
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
this.cacheDirectory = undefined;
|
|
64
|
-
}
|
|
65
|
-
this.postCssProcessor = this.createPostCssProcessor(tailwindSetup);
|
|
64
|
+
this.tailwindSetup = (0, tailwindcss_1.getTailwindSetup)(this.basePath, this.tailwindConfig);
|
|
65
|
+
this.postCssProcessor = this.createPostCssPlugins();
|
|
66
66
|
}
|
|
67
67
|
async process({ filePath, content, }) {
|
|
68
|
-
const CACHE_KEY_VALUES = [
|
|
69
|
-
...this.browserslistData,
|
|
70
|
-
...this.styleIncludePaths,
|
|
71
|
-
this.cssUrl,
|
|
72
|
-
].join(':');
|
|
73
68
|
let key;
|
|
74
69
|
if (this.cacheDirectory &&
|
|
75
70
|
!content.includes('@import') &&
|
|
76
|
-
!content.includes('@use')
|
|
71
|
+
!content.includes('@use') &&
|
|
72
|
+
!this.containsTailwindDirectives(content)) {
|
|
77
73
|
// No transitive deps and no Tailwind directives, we can cache more aggressively.
|
|
78
|
-
key = await (0, cache_1.generateKey)(content,
|
|
74
|
+
key = await (0, cache_1.generateKey)(content, ...this.browserslistData, filePath);
|
|
79
75
|
const result = await (0, cache_1.readCacheEntry)(this.cacheDirectory, key);
|
|
80
76
|
if (result) {
|
|
81
77
|
result.warnings.forEach((msg) => log.warn(msg));
|
|
@@ -84,16 +80,18 @@ class StylesheetProcessor {
|
|
|
84
80
|
}
|
|
85
81
|
// Render pre-processor language (sass, styl, less)
|
|
86
82
|
const renderedCss = await this.renderCss(filePath, content);
|
|
87
|
-
|
|
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
|
-
}
|
|
83
|
+
let containsTailwindDirectives = false;
|
|
92
84
|
if (this.cacheDirectory) {
|
|
93
|
-
|
|
94
|
-
if (
|
|
95
|
-
|
|
96
|
-
|
|
85
|
+
containsTailwindDirectives = this.containsTailwindDirectives(renderedCss);
|
|
86
|
+
if (!containsTailwindDirectives) {
|
|
87
|
+
// No Tailwind directives to process by PostCSS, we can return cached results
|
|
88
|
+
if (!key) {
|
|
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
|
+
}
|
|
97
95
|
}
|
|
98
96
|
}
|
|
99
97
|
// Render postcss (autoprefixing and friends)
|
|
@@ -101,6 +99,15 @@ class StylesheetProcessor {
|
|
|
101
99
|
from: filePath,
|
|
102
100
|
to: filePath.replace((0, path_1.extname)(filePath), '.css'),
|
|
103
101
|
});
|
|
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
|
+
}
|
|
104
111
|
const warnings = result.warnings().map((w) => w.toString());
|
|
105
112
|
const { code, warnings: esBuildWarnings } = await this.esbuild.transform(result.css, {
|
|
106
113
|
loader: 'css',
|
|
@@ -122,17 +129,29 @@ class StylesheetProcessor {
|
|
|
122
129
|
warnings.forEach((msg) => log.warn(msg));
|
|
123
130
|
return code;
|
|
124
131
|
}
|
|
125
|
-
|
|
126
|
-
const
|
|
127
|
-
if (
|
|
128
|
-
|
|
132
|
+
async getCachedResult(key) {
|
|
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;
|
|
129
137
|
}
|
|
138
|
+
return undefined;
|
|
139
|
+
}
|
|
140
|
+
containsTailwindDirectives(content) {
|
|
141
|
+
return (this.tailwindSetup && tailwindcss_1.tailwindDirectives.some((d) => content.includes(d)));
|
|
142
|
+
}
|
|
143
|
+
createPostCssPlugins() {
|
|
144
|
+
const postCssPlugins = [];
|
|
130
145
|
if (this.cssUrl !== CssUrl.none) {
|
|
131
146
|
postCssPlugins.push(postcssUrl({ url: this.cssUrl }));
|
|
132
147
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
148
|
+
if (this.tailwindSetup) {
|
|
149
|
+
postCssPlugins.push(...(0, tailwindcss_1.getTailwindPostCssPlugins)(this.tailwindSetup, this.styleIncludePaths, this.watch));
|
|
150
|
+
}
|
|
151
|
+
postCssPlugins.push(postcssPresetEnv({
|
|
152
|
+
browsers: this.browserslistData,
|
|
153
|
+
autoprefixer: true,
|
|
154
|
+
stage: 3,
|
|
136
155
|
}));
|
|
137
156
|
return postcss(postCssPlugins);
|
|
138
157
|
}
|
|
@@ -141,11 +160,25 @@ class StylesheetProcessor {
|
|
|
141
160
|
switch (ext) {
|
|
142
161
|
case '.sass':
|
|
143
162
|
case '.scss': {
|
|
144
|
-
|
|
163
|
+
const angularVersion = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
|
|
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, {
|
|
145
177
|
url: (0, node_url_1.pathToFileURL)(filePath),
|
|
146
178
|
syntax: '.sass' === ext ? 'indented' : 'scss',
|
|
147
179
|
loadPaths: this.styleIncludePaths,
|
|
148
|
-
})
|
|
180
|
+
})
|
|
181
|
+
.css.toString();
|
|
149
182
|
}
|
|
150
183
|
case '.less': {
|
|
151
184
|
const { css: content } = await (await Promise.resolve().then(() => require('less'))).render(css, {
|
|
@@ -181,7 +214,10 @@ function transformSupportedBrowsersToTargets(supportedBrowsers) {
|
|
|
181
214
|
// browserslist uses ranges `15.2-15.3` versions but only the lowest is required
|
|
182
215
|
// to perform minimum supported feature checks. esbuild also expects a single version.
|
|
183
216
|
[version] = version.split('-');
|
|
184
|
-
if (
|
|
217
|
+
if (browserName === 'ie') {
|
|
218
|
+
transformed.push('edge12');
|
|
219
|
+
}
|
|
220
|
+
else if (esBuildSupportedBrowsers.has(browserName)) {
|
|
185
221
|
if (browserName === 'safari' && version === 'tp') {
|
|
186
222
|
// esbuild only supports numeric versions so `TP` is converted to a high number (999) since
|
|
187
223
|
// a Technology Preview (TP) of Safari is assumed to support all currently known features.
|
|
@@ -192,3 +228,14 @@ function transformSupportedBrowsersToTargets(supportedBrowsers) {
|
|
|
192
228
|
}
|
|
193
229
|
return transformed.length ? transformed : undefined;
|
|
194
230
|
}
|
|
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
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapted from the original ng-packagr source.
|
|
3
|
+
*
|
|
4
|
+
* Changes made:
|
|
5
|
+
* - Changed filePath passed to the StylesheetProcessor.parse when is a .ts file and inlineStyleLanguage is set.
|
|
6
|
+
*/
|
|
7
|
+
import type { CompilerHost, CompilerOptions } from '@angular/compiler-cli';
|
|
8
|
+
import { FileCache } from 'ng-packagr/lib/file-system/file-cache';
|
|
9
|
+
import { BuildGraph } from 'ng-packagr/lib/graph/build-graph';
|
|
10
|
+
import { EntryPointNode } from 'ng-packagr/lib/ng-package/nodes';
|
|
11
|
+
import { NgPackageConfig } from 'ng-packagr/ng-package.schema';
|
|
12
|
+
import * as ts from 'typescript';
|
|
13
|
+
import { StylesheetProcessor } from '../styles/stylesheet-processor';
|
|
14
|
+
export declare function cacheCompilerHost(graph: BuildGraph, entryPoint: EntryPointNode, compilerOptions: CompilerOptions, moduleResolutionCache: ts.ModuleResolutionCache, stylesheetProcessor?: StylesheetProcessor, inlineStyleLanguage?: NgPackageConfig['inlineStyleLanguage'], sourcesFileCache?: FileCache): CompilerHost;
|
|
15
|
+
export declare function augmentProgramWithVersioning(program: ts.Program): void;
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Adapted from the original ng-packagr source.
|
|
4
|
+
*
|
|
5
|
+
* Changes made:
|
|
6
|
+
* - Changed filePath passed to the StylesheetProcessor.parse when is a .ts file and inlineStyleLanguage is set.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.augmentProgramWithVersioning = exports.cacheCompilerHost = void 0;
|
|
10
|
+
const crypto_1 = require("crypto");
|
|
11
|
+
const node_1 = require("ng-packagr/lib/graph/node");
|
|
12
|
+
const nodes_1 = require("ng-packagr/lib/ng-package/nodes");
|
|
13
|
+
const path_1 = require("ng-packagr/lib/utils/path");
|
|
14
|
+
const assert = require("node:assert");
|
|
15
|
+
const path = require("path");
|
|
16
|
+
const semver_1 = require("semver");
|
|
17
|
+
const ts = require("typescript");
|
|
18
|
+
const angular_version_utils_1 = require("../../../utilities/angular-version-utils");
|
|
19
|
+
function cacheCompilerHost(graph, entryPoint, compilerOptions, moduleResolutionCache, stylesheetProcessor, inlineStyleLanguage, sourcesFileCache = entryPoint.cache.sourcesFileCache) {
|
|
20
|
+
const compilerHost = ts.createIncrementalCompilerHost(compilerOptions);
|
|
21
|
+
const { version: ngPackagrVersion } = (0, angular_version_utils_1.getInstalledPackageVersionInfo)('ng-packagr');
|
|
22
|
+
const getNode = (fileName) => {
|
|
23
|
+
const nodeUri = (0, nodes_1.fileUrl)((0, path_1.ensureUnixPath)(fileName));
|
|
24
|
+
let node = graph.get(nodeUri);
|
|
25
|
+
if (!node) {
|
|
26
|
+
node = new node_1.Node(nodeUri);
|
|
27
|
+
graph.put(node);
|
|
28
|
+
}
|
|
29
|
+
return node;
|
|
30
|
+
};
|
|
31
|
+
const addDependee = (fileName) => {
|
|
32
|
+
const node = getNode(fileName);
|
|
33
|
+
entryPoint.dependsOn(node);
|
|
34
|
+
};
|
|
35
|
+
const { flatModuleFile, destinationPath, entryFile } = entryPoint.data.entryPoint;
|
|
36
|
+
const flatModuleFileDtsFilename = `${flatModuleFile}.d.ts`;
|
|
37
|
+
const flatModuleFileDtsPath = (0, path_1.ensureUnixPath)(path.join(destinationPath, flatModuleFileDtsFilename));
|
|
38
|
+
const hasIndexEntryFile = path.basename(entryFile.toLowerCase()) === 'index.ts';
|
|
39
|
+
return {
|
|
40
|
+
...compilerHost,
|
|
41
|
+
// ts specific
|
|
42
|
+
fileExists: (fileName) => {
|
|
43
|
+
const cache = sourcesFileCache.getOrCreate(fileName);
|
|
44
|
+
if (cache.exists === undefined) {
|
|
45
|
+
cache.exists = compilerHost.fileExists.call(this, fileName);
|
|
46
|
+
}
|
|
47
|
+
return cache.exists;
|
|
48
|
+
},
|
|
49
|
+
getSourceFile: (fileName, languageVersion) => {
|
|
50
|
+
addDependee(fileName);
|
|
51
|
+
const cache = sourcesFileCache.getOrCreate(fileName);
|
|
52
|
+
if (!cache.sourceFile) {
|
|
53
|
+
cache.sourceFile = compilerHost.getSourceFile.call(this, fileName, languageVersion);
|
|
54
|
+
}
|
|
55
|
+
return cache.sourceFile;
|
|
56
|
+
},
|
|
57
|
+
writeFile: (fileName, data, writeByteOrderMark, onError, sourceFiles) => {
|
|
58
|
+
if (fileName.includes('.ngtypecheck.')) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
if (!sourceFiles?.length && fileName.endsWith('.tsbuildinfo')) {
|
|
62
|
+
// Save builder info contents to specified location
|
|
63
|
+
compilerHost.writeFile.call(this, fileName, data, writeByteOrderMark, onError, sourceFiles);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
assert(sourceFiles?.length === 1, 'Invalid TypeScript program emit for ' + fileName);
|
|
67
|
+
if (fileName.endsWith('.d.ts')) {
|
|
68
|
+
if (fileName === flatModuleFileDtsPath) {
|
|
69
|
+
if (hasIndexEntryFile) {
|
|
70
|
+
// In case the entry file is index.ts, we should not emit the `d.ts` which are a re-export of the `index.ts`.
|
|
71
|
+
// Because it will cause a conflict.
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
// Rename file to index.d.ts so that TypeScript can resolve types without
|
|
76
|
+
// them needing to be referenced in the package.json manifest.
|
|
77
|
+
fileName = fileName.replace(flatModuleFileDtsFilename, 'index.d.ts');
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
sourceFiles.forEach((source) => {
|
|
81
|
+
const cache = sourcesFileCache.getOrCreate(source.fileName);
|
|
82
|
+
if (!cache.declarationFileName) {
|
|
83
|
+
cache.declarationFileName = (0, path_1.ensureUnixPath)(fileName);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
fileName = fileName.replace(/\.js(\.map)?$/, '.mjs$1');
|
|
89
|
+
const outputCache = entryPoint.cache.outputCache;
|
|
90
|
+
// added in https://github.com/ng-packagr/ng-packagr/pull/2502, first released in 15.0.2
|
|
91
|
+
if ((0, semver_1.gte)(ngPackagrVersion, '15.0.2')) {
|
|
92
|
+
// Extract inline sourcemap which will later be used by rollup.
|
|
93
|
+
const version = (0, crypto_1.createHash)('sha256').update(data).digest('hex');
|
|
94
|
+
let map = undefined;
|
|
95
|
+
if (fileName.endsWith('.mjs')) {
|
|
96
|
+
const cachedData = outputCache.get(fileName);
|
|
97
|
+
map =
|
|
98
|
+
cachedData?.version === version
|
|
99
|
+
? cachedData.map
|
|
100
|
+
: require('convert-source-map').fromComment(data).toJSON();
|
|
101
|
+
}
|
|
102
|
+
outputCache.set(fileName, {
|
|
103
|
+
content: data,
|
|
104
|
+
version,
|
|
105
|
+
map,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
outputCache.set(fileName, {
|
|
110
|
+
content: data,
|
|
111
|
+
version: (0, crypto_1.createHash)('sha256').update(data).digest('hex'),
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
compilerHost.writeFile.call(this, fileName, data, writeByteOrderMark, onError, sourceFiles);
|
|
116
|
+
},
|
|
117
|
+
readFile: (fileName) => {
|
|
118
|
+
addDependee(fileName);
|
|
119
|
+
const cache = sourcesFileCache.getOrCreate(fileName);
|
|
120
|
+
if (cache.content === undefined) {
|
|
121
|
+
cache.content = compilerHost.readFile.call(this, fileName);
|
|
122
|
+
}
|
|
123
|
+
return cache.content;
|
|
124
|
+
},
|
|
125
|
+
resolveModuleNames: (moduleNames, containingFile) => {
|
|
126
|
+
return moduleNames.map((moduleName) => {
|
|
127
|
+
const { resolvedModule } = ts.resolveModuleName(moduleName, (0, path_1.ensureUnixPath)(containingFile), compilerOptions, compilerHost, moduleResolutionCache);
|
|
128
|
+
return resolvedModule;
|
|
129
|
+
});
|
|
130
|
+
},
|
|
131
|
+
resourceNameToFileName: (resourceName, containingFilePath) => {
|
|
132
|
+
const resourcePath = path.resolve(path.dirname(containingFilePath), resourceName);
|
|
133
|
+
const containingNode = getNode(containingFilePath);
|
|
134
|
+
const resourceNode = getNode(resourcePath);
|
|
135
|
+
containingNode.dependsOn(resourceNode);
|
|
136
|
+
return resourcePath;
|
|
137
|
+
},
|
|
138
|
+
readResource: async (fileName) => {
|
|
139
|
+
addDependee(fileName);
|
|
140
|
+
const cache = sourcesFileCache.getOrCreate(fileName);
|
|
141
|
+
if (cache.content === undefined) {
|
|
142
|
+
if (!compilerHost.fileExists(fileName)) {
|
|
143
|
+
throw new Error(`Cannot read file ${fileName}.`);
|
|
144
|
+
}
|
|
145
|
+
if (/(?:html?|svg)$/.test(path.extname(fileName))) {
|
|
146
|
+
// template
|
|
147
|
+
cache.content = compilerHost.readFile.call(this, fileName);
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
// stylesheet
|
|
151
|
+
cache.content = await stylesheetProcessor.process({
|
|
152
|
+
filePath: fileName,
|
|
153
|
+
content: compilerHost.readFile.call(this, fileName),
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
cache.exists = true;
|
|
157
|
+
}
|
|
158
|
+
return cache.content;
|
|
159
|
+
},
|
|
160
|
+
transformResource: async (data, context) => {
|
|
161
|
+
if (context.resourceFile || context.type !== 'style') {
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
if (inlineStyleLanguage) {
|
|
165
|
+
const key = (0, crypto_1.createHash)('sha1').update(data).digest('hex');
|
|
166
|
+
const fileName = `${context.containingFile}-${key}.${inlineStyleLanguage}`;
|
|
167
|
+
const cache = sourcesFileCache.getOrCreate(fileName);
|
|
168
|
+
if (cache.content === undefined) {
|
|
169
|
+
cache.content = await stylesheetProcessor.process({
|
|
170
|
+
filePath: context.containingFile,
|
|
171
|
+
content: data,
|
|
172
|
+
});
|
|
173
|
+
const virtualFileNode = getNode(fileName);
|
|
174
|
+
const containingFileNode = getNode(context.containingFile);
|
|
175
|
+
virtualFileNode.dependsOn(containingFileNode);
|
|
176
|
+
}
|
|
177
|
+
cache.exists = true;
|
|
178
|
+
return { content: cache.content };
|
|
179
|
+
}
|
|
180
|
+
return null;
|
|
181
|
+
},
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
exports.cacheCompilerHost = cacheCompilerHost;
|
|
185
|
+
function augmentProgramWithVersioning(program) {
|
|
186
|
+
const baseGetSourceFiles = program.getSourceFiles;
|
|
187
|
+
program.getSourceFiles = function (...parameters) {
|
|
188
|
+
const files = baseGetSourceFiles(...parameters);
|
|
189
|
+
for (const file of files) {
|
|
190
|
+
if (file.version === undefined) {
|
|
191
|
+
file.version = (0, crypto_1.createHash)('sha256').update(file.text).digest('hex');
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return files;
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
exports.augmentProgramWithVersioning = augmentProgramWithVersioning;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ExecutorContext } from '@nx/devkit';
|
|
2
|
-
import {
|
|
2
|
+
import { 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,16 +7,26 @@ 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
|
|
10
|
+
const entry_point_di_1 = require("./ng-packagr-adjustments/ng-package/entry-point/entry-point.di");
|
|
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");
|
|
11
13
|
async function initializeNgPackagr(options, context, projectDependencies) {
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
+
const packager = new (await Promise.resolve().then(() => require('ng-packagr'))).NgPackagr([
|
|
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);
|
|
14
24
|
if (options.tsConfig) {
|
|
15
25
|
const remappedTsConfigFilePath = (0, buildable_libs_utils_1.createTmpTsConfig)(options.tsConfig, context.root, context.projectsConfigurations.projects[context.projectName].root, projectDependencies);
|
|
16
26
|
const tsConfig = await (0, typescript_1.parseRemappedTsConfigAndMergeDefaults)(context.root, options.tsConfig, remappedTsConfigFilePath);
|
|
17
|
-
|
|
27
|
+
packager.withTsConfig(tsConfig);
|
|
18
28
|
}
|
|
19
|
-
return
|
|
29
|
+
return packager;
|
|
20
30
|
}
|
|
21
31
|
/**
|
|
22
32
|
* 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": "http://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.",
|
|
39
39
|
"x-completion-type": "file",
|
|
40
|
-
"x-completion-glob": "tailwind.config
|
|
40
|
+
"x-completion-glob": "tailwind.config.js"
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"additionalProperties": false,
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface TailwindSetup {
|
|
2
|
+
tailwindConfigPath: string;
|
|
3
|
+
tailwindPackagePath: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const tailwindDirectives: string[];
|
|
6
|
+
export declare function getTailwindSetup(basePath: string, tailwindConfig?: string): TailwindSetup | undefined;
|
|
7
|
+
export declare function getTailwindPostCssPlugins({ tailwindConfigPath, tailwindPackagePath }: TailwindSetup, includePaths?: string[], watch?: boolean): any[];
|