@nx/angular 17.0.5 → 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 -5
- 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 -116
- 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
|
@@ -16,7 +16,7 @@ const fs_1 = require("ng-packagr/lib/utils/fs");
|
|
|
16
16
|
const glob_1 = require("ng-packagr/lib/utils/glob");
|
|
17
17
|
const path_1 = require("ng-packagr/lib/utils/path");
|
|
18
18
|
const path = require("path");
|
|
19
|
-
const angular_version_utils_1 = require("
|
|
19
|
+
const angular_version_utils_1 = require("../../../../utilities/angular-version-utils");
|
|
20
20
|
const nxWritePackageTransform = (options) => (0, transform_1.transformFromPromise)(async (graph) => {
|
|
21
21
|
const entryPoint = graph.find((0, nodes_1.isEntryPointInProgress)());
|
|
22
22
|
const ngEntryPoint = entryPoint.data.entryPoint;
|
|
@@ -34,14 +34,11 @@ const nxWritePackageTransform = (options) => (0, transform_1.transformFromPromis
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
// 6. WRITE PACKAGE.JSON
|
|
37
|
-
|
|
37
|
+
// As of APF 14 only the primary entrypoint has a package.json
|
|
38
38
|
if (!ngEntryPoint.isSecondaryEntryPoint) {
|
|
39
39
|
try {
|
|
40
40
|
devkit_1.logger.info('Writing package manifest');
|
|
41
|
-
|
|
42
|
-
const primary = ngPackageNode.data.primary;
|
|
43
|
-
await (0, fs_1.writeFile)(path.join(primary.destinationPath, '.npmignore'), `# Nested package.json's are only needed for development.\n**/package.json`);
|
|
44
|
-
}
|
|
41
|
+
const relativeUnixFromDestPath = (filePath) => (0, path_1.ensureUnixPath)(path.relative(ngEntryPoint.destinationPath, filePath));
|
|
45
42
|
await writePackageJson(ngEntryPoint, ngPackage, {
|
|
46
43
|
// backward compat for Angular < 16
|
|
47
44
|
...(angularVersion.major < 16
|
|
@@ -63,26 +60,17 @@ const nxWritePackageTransform = (options) => (0, transform_1.transformFromPromis
|
|
|
63
60
|
throw error;
|
|
64
61
|
}
|
|
65
62
|
}
|
|
66
|
-
else if (
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
await (0, fs_1.writeFile)(path.join(primary.destinationPath, 'package.json'), JSON.stringify(packageJson, undefined, 2));
|
|
77
|
-
}
|
|
63
|
+
else if (options.watch) {
|
|
64
|
+
// update the watch version of the primary entry point `package.json` file.
|
|
65
|
+
// this is needed because of Webpack's 5 `cachemanagedpaths`
|
|
66
|
+
// https://github.com/ng-packagr/ng-packagr/issues/2069
|
|
67
|
+
const primary = ngPackageNode.data.primary;
|
|
68
|
+
const packageJsonPath = path.join(primary.destinationPath, 'package.json');
|
|
69
|
+
if (await (0, fs_1.exists)(packageJsonPath)) {
|
|
70
|
+
const packageJson = JSON.parse(await (0, fs_1.readFile)(packageJsonPath, { encoding: 'utf8' }));
|
|
71
|
+
packageJson.version = generateWatchVersion();
|
|
72
|
+
await (0, fs_1.writeFile)(path.join(primary.destinationPath, 'package.json'), JSON.stringify(packageJson, undefined, 2));
|
|
78
73
|
}
|
|
79
|
-
// Write a package.json in each secondary entry-point
|
|
80
|
-
// This is need for esbuild to secondary entry-points in dist correctly.
|
|
81
|
-
await (0, fs_1.writeFile)(path.join(ngEntryPoint.destinationPath, 'package.json'), JSON.stringify({
|
|
82
|
-
module: relativeUnixFromDestPath(angularVersion.major < 16
|
|
83
|
-
? destinationFiles.esm2020
|
|
84
|
-
: destinationFiles.esm2022),
|
|
85
|
-
}, undefined, 2));
|
|
86
74
|
}
|
|
87
75
|
devkit_1.logger.info(`Built ${ngEntryPoint.moduleId}`);
|
|
88
76
|
return graph;
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Adapted from the original ng-packagr source.
|
|
3
3
|
*
|
|
4
4
|
* Changes made:
|
|
5
|
-
* -
|
|
5
|
+
* - Remove ngccProcessor (Angular < 16)
|
|
6
|
+
* - Use custom cacheCompilerHost instead of the one provided by ng-packagr.
|
|
6
7
|
* - Support Angular Compiler `incrementalDriver` for Angular < 16.
|
|
7
8
|
*/
|
|
8
9
|
import type { CompilerOptions, ParsedConfiguration } from '@angular/compiler-cli';
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* Adapted from the original ng-packagr source.
|
|
4
4
|
*
|
|
5
5
|
* Changes made:
|
|
6
|
-
* -
|
|
6
|
+
* - Remove ngccProcessor (Angular < 16)
|
|
7
|
+
* - Use custom cacheCompilerHost instead of the one provided by ng-packagr.
|
|
7
8
|
* - Support Angular Compiler `incrementalDriver` for Angular < 16.
|
|
8
9
|
*/
|
|
9
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -11,10 +12,11 @@ exports.compileSourceFiles = void 0;
|
|
|
11
12
|
const nodes_1 = require("ng-packagr/lib/ng-package/nodes");
|
|
12
13
|
const cache_compiler_host_1 = require("ng-packagr/lib/ts/cache-compiler-host");
|
|
13
14
|
const log = require("ng-packagr/lib/utils/log");
|
|
15
|
+
const ng_compiler_cli_1 = require("ng-packagr/lib/utils/ng-compiler-cli");
|
|
14
16
|
const node_path_1 = require("node:path");
|
|
15
17
|
const ts = require("typescript");
|
|
16
|
-
const angular_version_utils_1 = require("
|
|
17
|
-
const
|
|
18
|
+
const angular_version_utils_1 = require("../../../utilities/angular-version-utils");
|
|
19
|
+
const cache_compiler_host_2 = require("../ts/cache-compiler-host");
|
|
18
20
|
async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, options, extraOptions, stylesheetProcessor) {
|
|
19
21
|
const { NgtscProgram, formatDiagnostics } = await (0, ng_compiler_cli_1.ngCompilerCli)();
|
|
20
22
|
const { cacheDirectory, watch, cacheEnabled } = options;
|
|
@@ -30,7 +32,7 @@ async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, option
|
|
|
30
32
|
tsConfigOptions.incremental ??= true;
|
|
31
33
|
tsConfigOptions.tsBuildInfoFile ??= (0, node_path_1.join)(cacheDir, `tsbuildinfo/${entryPoint.data.entryPoint.flatModuleFile}.tsbuildinfo`);
|
|
32
34
|
}
|
|
33
|
-
const tsCompilerHost = (0,
|
|
35
|
+
const tsCompilerHost = (0, cache_compiler_host_2.cacheCompilerHost)(graph, entryPoint, tsConfigOptions, moduleResolutionCache, stylesheetProcessor, inlineStyleLanguage);
|
|
34
36
|
const cache = entryPoint.cache;
|
|
35
37
|
const sourceFileCache = cache.sourcesFileCache;
|
|
36
38
|
let usingBuildInfo = false;
|
|
@@ -54,7 +56,9 @@ async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, option
|
|
|
54
56
|
cache.oldNgtscProgram = angularProgram;
|
|
55
57
|
}
|
|
56
58
|
else {
|
|
57
|
-
|
|
59
|
+
// When not in watch mode, the startup cost of the incremental analysis can be avoided by
|
|
60
|
+
// using an abstract builder that only wraps a TypeScript program.
|
|
61
|
+
builder = ts.createAbstractBuilder(typeScriptProgram, tsCompilerHost);
|
|
58
62
|
}
|
|
59
63
|
// Update semantic diagnostics cache
|
|
60
64
|
const affectedFiles = new Set();
|
|
@@ -151,15 +155,6 @@ async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, option
|
|
|
151
155
|
throw new Error(formatDiagnostics(errorDiagnostics));
|
|
152
156
|
}
|
|
153
157
|
const transformers = angularCompiler.prepareEmit().transformers;
|
|
154
|
-
if ('getSemanticDiagnosticsOfNextAffectedFile' in builder) {
|
|
155
|
-
while (builder.emitNextAffectedFile((fileName, data, writeByteOrderMark, onError, sourceFiles) => {
|
|
156
|
-
if (fileName.endsWith('.tsbuildinfo')) {
|
|
157
|
-
tsCompilerHost.writeFile(fileName, data, writeByteOrderMark, onError, sourceFiles);
|
|
158
|
-
}
|
|
159
|
-
})) {
|
|
160
|
-
// empty
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
158
|
const angularVersion = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
|
|
164
159
|
const incrementalCompilation = angularVersion.major < 16
|
|
165
160
|
? 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",
|
|
@@ -21,22 +23,25 @@ export interface Result {
|
|
|
21
23
|
error?: string;
|
|
22
24
|
}
|
|
23
25
|
export declare class StylesheetProcessor {
|
|
24
|
-
private readonly projectBasePath;
|
|
25
26
|
private readonly basePath;
|
|
26
27
|
private readonly cssUrl?;
|
|
27
28
|
private readonly includePaths?;
|
|
28
|
-
private cacheDirectory?;
|
|
29
|
+
private readonly cacheDirectory?;
|
|
30
|
+
private readonly watch?;
|
|
29
31
|
private readonly tailwindConfig?;
|
|
30
32
|
private browserslistData;
|
|
31
33
|
private targets;
|
|
32
34
|
private postCssProcessor;
|
|
33
35
|
private esbuild;
|
|
34
36
|
private styleIncludePaths;
|
|
35
|
-
|
|
37
|
+
private tailwindSetup;
|
|
38
|
+
constructor(basePath: string, cssUrl?: CssUrl, includePaths?: string[], cacheDirectory?: string | false, watch?: boolean, tailwindConfig?: string);
|
|
36
39
|
process({ filePath, content, }: {
|
|
37
40
|
filePath: string;
|
|
38
41
|
content: string;
|
|
39
42
|
}): Promise<string>;
|
|
40
|
-
private
|
|
43
|
+
private getCachedResult;
|
|
44
|
+
private containsTailwindDirectives;
|
|
45
|
+
private createPostCssPlugins;
|
|
41
46
|
private renderCss;
|
|
42
47
|
}
|
|
@@ -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.InlineStyleLanguage = 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) {
|
|
@@ -32,20 +35,20 @@ var InlineStyleLanguage;
|
|
|
32
35
|
InlineStyleLanguage["less"] = "less";
|
|
33
36
|
})(InlineStyleLanguage || (exports.InlineStyleLanguage = InlineStyleLanguage = {}));
|
|
34
37
|
class StylesheetProcessor {
|
|
35
|
-
constructor(
|
|
36
|
-
|
|
38
|
+
constructor(basePath, cssUrl, includePaths, cacheDirectory, watch, tailwindConfig) {
|
|
39
|
+
// By default, browserslist defaults are too inclusive
|
|
40
|
+
// https://github.com/browserslist/browserslist/blob/83764ea81ffaa39111c204b02c371afa44a4ff07/index.js#L516-L522
|
|
37
41
|
this.basePath = basePath;
|
|
38
42
|
this.cssUrl = cssUrl;
|
|
39
43
|
this.includePaths = includePaths;
|
|
40
44
|
this.cacheDirectory = cacheDirectory;
|
|
45
|
+
this.watch = watch;
|
|
41
46
|
this.tailwindConfig = tailwindConfig;
|
|
42
47
|
this.esbuild = new esbuild_executor_1.EsbuildExecutor();
|
|
43
|
-
// By default, browserslist defaults are too inclusive
|
|
44
|
-
// https://github.com/browserslist/browserslist/blob/83764ea81ffaa39111c204b02c371afa44a4ff07/index.js#L516-L522
|
|
45
48
|
// We change the default query to browsers that Angular support.
|
|
46
49
|
// https://angular.io/guide/browser-support
|
|
47
50
|
browserslist.defaults = [
|
|
48
|
-
'last 2 Chrome
|
|
51
|
+
'last 2 Chrome version',
|
|
49
52
|
'last 1 Firefox version',
|
|
50
53
|
'last 2 Edge major versions',
|
|
51
54
|
'last 2 Safari major versions',
|
|
@@ -65,24 +68,17 @@ class StylesheetProcessor {
|
|
|
65
68
|
}
|
|
66
69
|
this.browserslistData = browserslist(undefined, { path: this.basePath });
|
|
67
70
|
this.targets = transformSupportedBrowsersToTargets(this.browserslistData);
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
this.cacheDirectory = undefined;
|
|
71
|
-
}
|
|
72
|
-
this.postCssProcessor = this.createPostCssProcessor(tailwindSetup);
|
|
71
|
+
this.tailwindSetup = (0, tailwindcss_1.getTailwindSetup)(this.basePath, this.tailwindConfig);
|
|
72
|
+
this.postCssProcessor = this.createPostCssPlugins();
|
|
73
73
|
}
|
|
74
74
|
async process({ filePath, content, }) {
|
|
75
|
-
const CACHE_KEY_VALUES = [
|
|
76
|
-
...this.browserslistData,
|
|
77
|
-
...this.styleIncludePaths,
|
|
78
|
-
this.cssUrl,
|
|
79
|
-
].join(':');
|
|
80
75
|
let key;
|
|
81
76
|
if (this.cacheDirectory &&
|
|
82
77
|
!content.includes('@import') &&
|
|
83
|
-
!content.includes('@use')
|
|
78
|
+
!content.includes('@use') &&
|
|
79
|
+
!this.containsTailwindDirectives(content)) {
|
|
84
80
|
// No transitive deps and no Tailwind directives, we can cache more aggressively.
|
|
85
|
-
key = await (0, cache_1.generateKey)(content,
|
|
81
|
+
key = await (0, cache_1.generateKey)(content, ...this.browserslistData, filePath);
|
|
86
82
|
const result = await (0, cache_1.readCacheEntry)(this.cacheDirectory, key);
|
|
87
83
|
if (result) {
|
|
88
84
|
result.warnings.forEach((msg) => log.warn(msg));
|
|
@@ -91,16 +87,18 @@ class StylesheetProcessor {
|
|
|
91
87
|
}
|
|
92
88
|
// Render pre-processor language (sass, styl, less)
|
|
93
89
|
const renderedCss = await this.renderCss(filePath, content);
|
|
94
|
-
|
|
95
|
-
// Example a change in a mixin or SCSS variable.
|
|
96
|
-
if (!key) {
|
|
97
|
-
key = await (0, cache_1.generateKey)(renderedCss, CACHE_KEY_VALUES);
|
|
98
|
-
}
|
|
90
|
+
let containsTailwindDirectives = false;
|
|
99
91
|
if (this.cacheDirectory) {
|
|
100
|
-
|
|
101
|
-
if (
|
|
102
|
-
|
|
103
|
-
|
|
92
|
+
containsTailwindDirectives = this.containsTailwindDirectives(renderedCss);
|
|
93
|
+
if (!containsTailwindDirectives) {
|
|
94
|
+
// No Tailwind directives to process by PostCSS, we can return cached results
|
|
95
|
+
if (!key) {
|
|
96
|
+
key = await (0, cache_1.generateKey)(renderedCss, ...this.browserslistData, filePath);
|
|
97
|
+
}
|
|
98
|
+
const cachedResult = await this.getCachedResult(key);
|
|
99
|
+
if (cachedResult) {
|
|
100
|
+
return cachedResult;
|
|
101
|
+
}
|
|
104
102
|
}
|
|
105
103
|
}
|
|
106
104
|
// Render postcss (autoprefixing and friends)
|
|
@@ -108,6 +106,15 @@ class StylesheetProcessor {
|
|
|
108
106
|
from: filePath,
|
|
109
107
|
to: filePath.replace((0, path_1.extname)(filePath), '.css'),
|
|
110
108
|
});
|
|
109
|
+
if (this.cacheDirectory && containsTailwindDirectives) {
|
|
110
|
+
// We had Tailwind directives to process by PostCSS, only now
|
|
111
|
+
// is safe to return cached results
|
|
112
|
+
key = await (0, cache_1.generateKey)(result.css, ...this.browserslistData, filePath);
|
|
113
|
+
const cachedResult = await this.getCachedResult(key);
|
|
114
|
+
if (cachedResult) {
|
|
115
|
+
return cachedResult;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
111
118
|
const warnings = result.warnings().map((w) => w.toString());
|
|
112
119
|
const { code, warnings: esBuildWarnings } = await this.esbuild.transform(result.css, {
|
|
113
120
|
loader: 'css',
|
|
@@ -129,17 +136,29 @@ class StylesheetProcessor {
|
|
|
129
136
|
warnings.forEach((msg) => log.warn(msg));
|
|
130
137
|
return code;
|
|
131
138
|
}
|
|
132
|
-
|
|
133
|
-
const
|
|
134
|
-
if (
|
|
135
|
-
|
|
139
|
+
async getCachedResult(key) {
|
|
140
|
+
const cachedResult = await (0, cache_1.readCacheEntry)(this.cacheDirectory, key);
|
|
141
|
+
if (cachedResult) {
|
|
142
|
+
cachedResult.warnings.forEach((msg) => log.warn(msg));
|
|
143
|
+
return cachedResult.css;
|
|
136
144
|
}
|
|
145
|
+
return undefined;
|
|
146
|
+
}
|
|
147
|
+
containsTailwindDirectives(content) {
|
|
148
|
+
return (this.tailwindSetup && tailwindcss_1.tailwindDirectives.some((d) => content.includes(d)));
|
|
149
|
+
}
|
|
150
|
+
createPostCssPlugins() {
|
|
151
|
+
const postCssPlugins = [];
|
|
137
152
|
if (this.cssUrl !== CssUrl.none) {
|
|
138
153
|
postCssPlugins.push(postcssUrl({ url: this.cssUrl }));
|
|
139
154
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
155
|
+
if (this.tailwindSetup) {
|
|
156
|
+
postCssPlugins.push(...(0, tailwindcss_1.getTailwindPostCssPlugins)(this.tailwindSetup, this.styleIncludePaths, this.watch));
|
|
157
|
+
}
|
|
158
|
+
postCssPlugins.push(postcssPresetEnv({
|
|
159
|
+
browsers: this.browserslistData,
|
|
160
|
+
autoprefixer: true,
|
|
161
|
+
stage: 3,
|
|
143
162
|
}));
|
|
144
163
|
return postcss(postCssPlugins);
|
|
145
164
|
}
|
|
@@ -148,11 +167,25 @@ class StylesheetProcessor {
|
|
|
148
167
|
switch (ext) {
|
|
149
168
|
case '.sass':
|
|
150
169
|
case '.scss': {
|
|
151
|
-
|
|
170
|
+
const angularVersion = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
|
|
171
|
+
if (angularVersion && angularVersion.major < 15) {
|
|
172
|
+
return (await Promise.resolve().then(() => require('sass')))
|
|
173
|
+
.renderSync({
|
|
174
|
+
file: filePath,
|
|
175
|
+
data: css,
|
|
176
|
+
indentedSyntax: '.sass' === ext,
|
|
177
|
+
importer: customSassImporter,
|
|
178
|
+
includePaths: this.styleIncludePaths,
|
|
179
|
+
})
|
|
180
|
+
.css.toString();
|
|
181
|
+
}
|
|
182
|
+
return (await Promise.resolve().then(() => require('sass')))
|
|
183
|
+
.compileString(css, {
|
|
152
184
|
url: (0, node_url_1.pathToFileURL)(filePath),
|
|
153
185
|
syntax: '.sass' === ext ? 'indented' : 'scss',
|
|
154
186
|
loadPaths: this.styleIncludePaths,
|
|
155
|
-
})
|
|
187
|
+
})
|
|
188
|
+
.css.toString();
|
|
156
189
|
}
|
|
157
190
|
case '.less': {
|
|
158
191
|
const { css: content } = await (await Promise.resolve().then(() => require('less'))).render(css, {
|
|
@@ -188,7 +221,10 @@ function transformSupportedBrowsersToTargets(supportedBrowsers) {
|
|
|
188
221
|
// browserslist uses ranges `15.2-15.3` versions but only the lowest is required
|
|
189
222
|
// to perform minimum supported feature checks. esbuild also expects a single version.
|
|
190
223
|
[version] = version.split('-');
|
|
191
|
-
if (
|
|
224
|
+
if (browserName === 'ie') {
|
|
225
|
+
transformed.push('edge12');
|
|
226
|
+
}
|
|
227
|
+
else if (esBuildSupportedBrowsers.has(browserName)) {
|
|
192
228
|
if (browserName === 'safari' && version === 'tp') {
|
|
193
229
|
// esbuild only supports numeric versions so `TP` is converted to a high number (999) since
|
|
194
230
|
// a Technology Preview (TP) of Safari is assumed to support all currently known features.
|
|
@@ -199,3 +235,14 @@ function transformSupportedBrowsersToTargets(supportedBrowsers) {
|
|
|
199
235
|
}
|
|
200
236
|
return transformed.length ? transformed : undefined;
|
|
201
237
|
}
|
|
238
|
+
function customSassImporter(url, prev) {
|
|
239
|
+
// NB: Sass importer should always be sync as otherwise it will cause
|
|
240
|
+
// sass to go in the async path which is slower.
|
|
241
|
+
if (url[0] !== '~') {
|
|
242
|
+
return undefined;
|
|
243
|
+
}
|
|
244
|
+
return {
|
|
245
|
+
file: url.slice(1),
|
|
246
|
+
prev,
|
|
247
|
+
};
|
|
248
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
* - Do not extract inline sourcemap needed by Rollup.
|
|
7
|
+
*/
|
|
8
|
+
import type { CompilerHost, CompilerOptions } from '@angular/compiler-cli';
|
|
9
|
+
import { FileCache } from 'ng-packagr/lib/file-system/file-cache';
|
|
10
|
+
import { BuildGraph } from 'ng-packagr/lib/graph/build-graph';
|
|
11
|
+
import { EntryPointNode } from 'ng-packagr/lib/ng-package/nodes';
|
|
12
|
+
import { NgPackageConfig } from 'ng-packagr/ng-package.schema';
|
|
13
|
+
import * as ts from 'typescript';
|
|
14
|
+
import { StylesheetProcessor } from '../styles/stylesheet-processor';
|
|
15
|
+
export declare function cacheCompilerHost(graph: BuildGraph, entryPoint: EntryPointNode, compilerOptions: CompilerOptions, moduleResolutionCache: ts.ModuleResolutionCache, stylesheetProcessor?: StylesheetProcessor, inlineStyleLanguage?: NgPackageConfig['inlineStyleLanguage'], sourcesFileCache?: FileCache): CompilerHost;
|
|
16
|
+
export declare function augmentProgramWithVersioning(program: ts.Program): void;
|
|
@@ -0,0 +1,175 @@
|
|
|
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
|
+
* - Do not extract inline sourcemap needed by Rollup.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.augmentProgramWithVersioning = exports.cacheCompilerHost = void 0;
|
|
11
|
+
const crypto_1 = require("crypto");
|
|
12
|
+
const node_1 = require("ng-packagr/lib/graph/node");
|
|
13
|
+
const nodes_1 = require("ng-packagr/lib/ng-package/nodes");
|
|
14
|
+
const path_1 = require("ng-packagr/lib/utils/path");
|
|
15
|
+
const assert = require("node:assert");
|
|
16
|
+
const path = require("path");
|
|
17
|
+
const ts = require("typescript");
|
|
18
|
+
function cacheCompilerHost(graph, entryPoint, compilerOptions, moduleResolutionCache, stylesheetProcessor, inlineStyleLanguage, sourcesFileCache = entryPoint.cache.sourcesFileCache) {
|
|
19
|
+
const compilerHost = ts.createIncrementalCompilerHost(compilerOptions);
|
|
20
|
+
const getNode = (fileName) => {
|
|
21
|
+
const nodeUri = (0, nodes_1.fileUrl)((0, path_1.ensureUnixPath)(fileName));
|
|
22
|
+
let node = graph.get(nodeUri);
|
|
23
|
+
if (!node) {
|
|
24
|
+
node = new node_1.Node(nodeUri);
|
|
25
|
+
graph.put(node);
|
|
26
|
+
}
|
|
27
|
+
return node;
|
|
28
|
+
};
|
|
29
|
+
const addDependee = (fileName) => {
|
|
30
|
+
const node = getNode(fileName);
|
|
31
|
+
entryPoint.dependsOn(node);
|
|
32
|
+
};
|
|
33
|
+
const { flatModuleFile, destinationPath, entryFile } = entryPoint.data.entryPoint;
|
|
34
|
+
const flatModuleFileDtsFilename = `${flatModuleFile}.d.ts`;
|
|
35
|
+
const flatModuleFileDtsPath = (0, path_1.ensureUnixPath)(path.join(destinationPath, flatModuleFileDtsFilename));
|
|
36
|
+
const hasIndexEntryFile = path.basename(entryFile.toLowerCase()) === 'index.ts';
|
|
37
|
+
return {
|
|
38
|
+
...compilerHost,
|
|
39
|
+
// ts specific
|
|
40
|
+
fileExists: (fileName) => {
|
|
41
|
+
const cache = sourcesFileCache.getOrCreate(fileName);
|
|
42
|
+
if (cache.exists === undefined) {
|
|
43
|
+
cache.exists = compilerHost.fileExists.call(this, fileName);
|
|
44
|
+
}
|
|
45
|
+
return cache.exists;
|
|
46
|
+
},
|
|
47
|
+
getSourceFile: (fileName, languageVersion) => {
|
|
48
|
+
addDependee(fileName);
|
|
49
|
+
const cache = sourcesFileCache.getOrCreate(fileName);
|
|
50
|
+
if (!cache.sourceFile) {
|
|
51
|
+
cache.sourceFile = compilerHost.getSourceFile.call(this, fileName, languageVersion);
|
|
52
|
+
}
|
|
53
|
+
return cache.sourceFile;
|
|
54
|
+
},
|
|
55
|
+
writeFile: (fileName, data, writeByteOrderMark, onError, sourceFiles) => {
|
|
56
|
+
if (fileName.includes('.ngtypecheck.')) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (!sourceFiles?.length && fileName.endsWith('.tsbuildinfo')) {
|
|
60
|
+
// Save builder info contents to specified location
|
|
61
|
+
compilerHost.writeFile.call(this, fileName, data, writeByteOrderMark, onError, sourceFiles);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
assert(sourceFiles?.length === 1, 'Invalid TypeScript program emit for ' + fileName);
|
|
65
|
+
if (fileName.endsWith('.d.ts')) {
|
|
66
|
+
if (fileName === flatModuleFileDtsPath) {
|
|
67
|
+
if (hasIndexEntryFile) {
|
|
68
|
+
// In case the entry file is index.ts, we should not emit the `d.ts` which are a re-export of the `index.ts`.
|
|
69
|
+
// Because it will cause a conflict.
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
// Rename file to index.d.ts so that TypeScript can resolve types without
|
|
74
|
+
// them needing to be referenced in the package.json manifest.
|
|
75
|
+
fileName = fileName.replace(flatModuleFileDtsFilename, 'index.d.ts');
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
sourceFiles.forEach((source) => {
|
|
79
|
+
const cache = sourcesFileCache.getOrCreate(source.fileName);
|
|
80
|
+
if (!cache.declarationFileName) {
|
|
81
|
+
cache.declarationFileName = (0, path_1.ensureUnixPath)(fileName);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
fileName = fileName.replace(/\.js(\.map)?$/, '.mjs$1');
|
|
87
|
+
const outputCache = entryPoint.cache.outputCache;
|
|
88
|
+
outputCache.set(fileName, {
|
|
89
|
+
content: data,
|
|
90
|
+
version: (0, crypto_1.createHash)('sha256').update(data).digest('hex'),
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
compilerHost.writeFile.call(this, fileName, data, writeByteOrderMark, onError, sourceFiles);
|
|
94
|
+
},
|
|
95
|
+
readFile: (fileName) => {
|
|
96
|
+
addDependee(fileName);
|
|
97
|
+
const cache = sourcesFileCache.getOrCreate(fileName);
|
|
98
|
+
if (cache.content === undefined) {
|
|
99
|
+
cache.content = compilerHost.readFile.call(this, fileName);
|
|
100
|
+
}
|
|
101
|
+
return cache.content;
|
|
102
|
+
},
|
|
103
|
+
resolveModuleNames: (moduleNames, containingFile) => {
|
|
104
|
+
return moduleNames.map((moduleName) => {
|
|
105
|
+
const { resolvedModule } = ts.resolveModuleName(moduleName, (0, path_1.ensureUnixPath)(containingFile), compilerOptions, compilerHost, moduleResolutionCache);
|
|
106
|
+
return resolvedModule;
|
|
107
|
+
});
|
|
108
|
+
},
|
|
109
|
+
resourceNameToFileName: (resourceName, containingFilePath) => {
|
|
110
|
+
const resourcePath = path.resolve(path.dirname(containingFilePath), resourceName);
|
|
111
|
+
const containingNode = getNode(containingFilePath);
|
|
112
|
+
const resourceNode = getNode(resourcePath);
|
|
113
|
+
containingNode.dependsOn(resourceNode);
|
|
114
|
+
return resourcePath;
|
|
115
|
+
},
|
|
116
|
+
readResource: async (fileName) => {
|
|
117
|
+
addDependee(fileName);
|
|
118
|
+
const cache = sourcesFileCache.getOrCreate(fileName);
|
|
119
|
+
if (cache.content === undefined) {
|
|
120
|
+
if (!compilerHost.fileExists(fileName)) {
|
|
121
|
+
throw new Error(`Cannot read file ${fileName}.`);
|
|
122
|
+
}
|
|
123
|
+
if (/(?:html?|svg)$/.test(path.extname(fileName))) {
|
|
124
|
+
// template
|
|
125
|
+
cache.content = compilerHost.readFile.call(this, fileName);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
// stylesheet
|
|
129
|
+
cache.content = await stylesheetProcessor.process({
|
|
130
|
+
filePath: fileName,
|
|
131
|
+
content: compilerHost.readFile.call(this, fileName),
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
cache.exists = true;
|
|
135
|
+
}
|
|
136
|
+
return cache.content;
|
|
137
|
+
},
|
|
138
|
+
transformResource: async (data, context) => {
|
|
139
|
+
if (context.resourceFile || context.type !== 'style') {
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
if (inlineStyleLanguage) {
|
|
143
|
+
const key = (0, crypto_1.createHash)('sha1').update(data).digest('hex');
|
|
144
|
+
const fileName = `${context.containingFile}-${key}.${inlineStyleLanguage}`;
|
|
145
|
+
const cache = sourcesFileCache.getOrCreate(fileName);
|
|
146
|
+
if (cache.content === undefined) {
|
|
147
|
+
cache.content = await stylesheetProcessor.process({
|
|
148
|
+
filePath: context.containingFile,
|
|
149
|
+
content: data,
|
|
150
|
+
});
|
|
151
|
+
const virtualFileNode = getNode(fileName);
|
|
152
|
+
const containingFileNode = getNode(context.containingFile);
|
|
153
|
+
virtualFileNode.dependsOn(containingFileNode);
|
|
154
|
+
}
|
|
155
|
+
cache.exists = true;
|
|
156
|
+
return { content: cache.content };
|
|
157
|
+
}
|
|
158
|
+
return null;
|
|
159
|
+
},
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
exports.cacheCompilerHost = cacheCompilerHost;
|
|
163
|
+
function augmentProgramWithVersioning(program) {
|
|
164
|
+
const baseGetSourceFiles = program.getSourceFiles;
|
|
165
|
+
program.getSourceFiles = function (...parameters) {
|
|
166
|
+
const files = baseGetSourceFiles(...parameters);
|
|
167
|
+
for (const file of files) {
|
|
168
|
+
if (file.version === undefined) {
|
|
169
|
+
file.version = (0, crypto_1.createHash)('sha256').update(file.text).digest('hex');
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return files;
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
exports.augmentProgramWithVersioning = augmentProgramWithVersioning;
|
|
@@ -2,19 +2,31 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ngPackagrLiteExecutor = void 0;
|
|
4
4
|
const buildable_libs_utils_1 = require("@nx/js/src/utils/buildable-libs-utils");
|
|
5
|
+
const ng_packagr_1 = require("ng-packagr");
|
|
5
6
|
const path_1 = require("path");
|
|
6
7
|
const package_impl_1 = require("../package/package.impl");
|
|
7
8
|
const typescript_1 = require("../utilities/typescript");
|
|
8
|
-
const
|
|
9
|
+
const entry_point_di_1 = require("./ng-packagr-adjustments/ng-package/entry-point/entry-point.di");
|
|
10
|
+
const options_di_1 = require("./ng-packagr-adjustments/ng-package/options.di");
|
|
11
|
+
const package_di_1 = require("./ng-packagr-adjustments/ng-package/package.di");
|
|
9
12
|
async function initializeNgPackgrLite(options, context, projectDependencies) {
|
|
10
|
-
const
|
|
11
|
-
|
|
13
|
+
const packager = new ng_packagr_1.NgPackagr([
|
|
14
|
+
// Add default providers to this list.
|
|
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);
|
|
12
24
|
if (options.tsConfig) {
|
|
13
25
|
const remappedTsConfigFilePath = (0, buildable_libs_utils_1.createTmpTsConfig)(options.tsConfig, context.root, context.projectsConfigurations.projects[context.projectName].root, projectDependencies);
|
|
14
26
|
const tsConfig = await (0, typescript_1.parseRemappedTsConfigAndMergeDefaults)(context.root, options.tsConfig, remappedTsConfigFilePath);
|
|
15
|
-
|
|
27
|
+
packager.withTsConfig(tsConfig);
|
|
16
28
|
}
|
|
17
|
-
return
|
|
29
|
+
return packager;
|
|
18
30
|
}
|
|
19
31
|
exports.ngPackagrLiteExecutor = (0, package_impl_1.createLibraryExecutor)(initializeNgPackgrLite);
|
|
20
32
|
exports.default = exports.ngPackagrLiteExecutor;
|
|
@@ -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 a library with support for incremental builds.\n\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nx/angular:package` executor but with some key differences:\n- For supported Angular versions lower than v16, it doesn't run `ngcc` automatically (`ngcc` is no longer available from Angular v16 onwards, for lower versions, it needs to be run separately beforehand if needed, this can be done in a `postinstall` hook on `package.json`).\n- It only produces ESM2022 bundles (ESM2020 for supported Angular versions lower than v16).",
|
|
7
7
|
"cli": "nx",
|