@nx/angular 17.0.3 → 17.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (458) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +9 -4
  3. package/esm2022/mf/mf.mjs +1 -1
  4. package/esm2022/src/runtime/nx/data-persistence.mjs +1 -1
  5. package/executors.d.ts +9 -2
  6. package/executors.js +7 -2
  7. package/executors.json +19 -9
  8. package/fesm2022/nx-angular-mf.mjs.map +1 -1
  9. package/fesm2022/nx-angular.mjs.map +1 -1
  10. package/generators.d.ts +1 -1
  11. package/generators.js +3 -1
  12. package/generators.json +7 -2
  13. package/migrations.json +451 -0
  14. package/ng-package.json +2 -2
  15. package/package.json +20 -26
  16. package/plugins/component-testing.d.ts +1 -26
  17. package/plugins/component-testing.js +15 -4
  18. package/src/builders/dev-server/dev-server.impl.d.ts +4 -0
  19. package/src/builders/dev-server/dev-server.impl.js +160 -0
  20. package/src/builders/{webpack-dev-server → dev-server}/lib/index.d.ts +1 -0
  21. package/src/builders/{webpack-dev-server → dev-server}/lib/index.js +1 -0
  22. package/src/builders/dev-server/lib/normalize-options.d.ts +2 -0
  23. package/src/builders/dev-server/lib/normalize-options.js +20 -0
  24. package/src/builders/dev-server/lib/validate-options.d.ts +2 -0
  25. package/src/builders/dev-server/lib/validate-options.js +22 -0
  26. package/src/builders/dev-server/schema.d.ts +39 -0
  27. package/src/builders/{webpack-dev-server → dev-server}/schema.json +42 -5
  28. package/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.d.ts +1 -1
  29. package/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.js +15 -9
  30. package/src/builders/utilities/module-federation.js +1 -1
  31. package/src/builders/webpack-browser/schema.d.ts +6 -2
  32. package/src/builders/webpack-browser/schema.json +15 -15
  33. package/src/builders/webpack-browser/webpack-browser.impl.js +8 -6
  34. package/src/builders/webpack-server/schema.d.ts +0 -1
  35. package/src/builders/webpack-server/schema.json +7 -20
  36. package/src/builders/webpack-server/validate-options.js +0 -7
  37. package/src/builders/webpack-server/webpack-server.impl.js +4 -9
  38. package/src/executors/application/application.impl.d.ts +3 -0
  39. package/src/executors/application/application.impl.js +37 -0
  40. package/src/executors/application/schema.d.ts +8 -0
  41. package/src/executors/application/schema.json +682 -0
  42. package/src/executors/application/utils/validate-options.d.ts +2 -0
  43. package/src/executors/application/utils/validate-options.js +52 -0
  44. package/src/executors/browser-esbuild/browser-esbuild.impl.d.ts +2 -3
  45. package/src/executors/browser-esbuild/browser-esbuild.impl.js +15 -8
  46. package/src/executors/browser-esbuild/schema.d.ts +3 -1
  47. package/src/executors/browser-esbuild/schema.json +38 -8
  48. package/src/executors/extract-i18n/extract-i18n.impl.d.ts +3 -0
  49. package/src/executors/extract-i18n/extract-i18n.impl.js +43 -0
  50. package/src/executors/extract-i18n/schema.d.ts +8 -0
  51. package/src/executors/extract-i18n/schema.json +45 -0
  52. package/src/executors/module-federation-dev-server/lib/build-static-remotes.d.ts +4 -0
  53. package/src/executors/module-federation-dev-server/lib/build-static-remotes.js +56 -0
  54. package/src/executors/module-federation-dev-server/lib/index.d.ts +5 -0
  55. package/src/executors/module-federation-dev-server/lib/index.js +8 -0
  56. package/src/executors/module-federation-dev-server/lib/normalize-options.d.ts +2 -0
  57. package/src/executors/module-federation-dev-server/lib/normalize-options.js +23 -0
  58. package/src/executors/module-federation-dev-server/lib/parse-static-remotes-config.d.ts +11 -0
  59. package/src/executors/module-federation-dev-server/lib/parse-static-remotes-config.js +18 -0
  60. package/src/executors/module-federation-dev-server/lib/start-dev-remotes.d.ts +9 -0
  61. package/src/executors/module-federation-dev-server/lib/start-dev-remotes.js +29 -0
  62. package/src/executors/module-federation-dev-server/lib/start-static-remotes-file-server.d.ts +9 -0
  63. package/src/executors/module-federation-dev-server/lib/start-static-remotes-file-server.js +46 -0
  64. package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +4 -0
  65. package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +115 -0
  66. package/src/{builders → executors}/module-federation-dev-server/schema.d.ts +25 -7
  67. package/src/{builders → executors}/module-federation-dev-server/schema.json +31 -6
  68. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.d.ts +3 -0
  69. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.js +34 -0
  70. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/compile-ngc.transform.js +6 -4
  71. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/write-package.transform.js +25 -13
  72. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ngc → pre-v17/ngc}/compile-source-files.d.ts +1 -2
  73. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ngc → pre-v17/ngc}/compile-source-files.js +14 -9
  74. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{styles → pre-v17/styles}/stylesheet-processor.d.ts +5 -10
  75. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{styles → pre-v17/styles}/stylesheet-processor.js +39 -86
  76. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.di.d.ts +2 -0
  77. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.di.js +12 -0
  78. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.transform.d.ts +8 -0
  79. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.transform.js +12 -0
  80. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.di.d.ts +8 -0
  81. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.di.js +18 -0
  82. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.d.ts +8 -0
  83. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.js +285 -0
  84. package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js +5 -17
  85. package/src/executors/ng-packagr-lite/schema.json +1 -1
  86. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js +5 -3
  87. package/src/executors/package/ng-packagr-adjustments/ng-packagr.d.ts +3 -0
  88. package/src/executors/package/ng-packagr-adjustments/ng-packagr.js +28 -0
  89. package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.d.ts +1 -1
  90. package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.js +13 -6
  91. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.d.ts +5 -10
  92. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.js +39 -86
  93. package/src/executors/package/package.impl.d.ts +1 -1
  94. package/src/executors/package/package.impl.js +5 -15
  95. package/src/executors/package/schema.json +3 -3
  96. package/src/executors/utilities/buildable-libs.d.ts +6 -0
  97. package/src/executors/{browser-esbuild/lib → utilities}/buildable-libs.js +3 -4
  98. package/src/executors/utilities/esbuild-extensions.d.ts +10 -0
  99. package/src/executors/utilities/esbuild-extensions.js +50 -0
  100. package/src/executors/utilities/module-loader.d.ts +15 -0
  101. package/src/executors/utilities/module-loader.js +52 -0
  102. package/src/executors/utilities/ng-compiler-cli.d.ts +1 -0
  103. package/src/executors/utilities/ng-compiler-cli.js +8 -0
  104. package/src/executors/utilities/ng-packagr/stylesheet-processor.d.ts +49 -0
  105. package/src/executors/utilities/ng-packagr/stylesheet-processor.di.d.ts +2 -0
  106. package/src/executors/utilities/ng-packagr/stylesheet-processor.di.js +16 -0
  107. package/src/executors/utilities/ng-packagr/stylesheet-processor.js +209 -0
  108. package/src/executors/utilities/ng-packagr/tailwindcss.d.ts +7 -0
  109. package/src/executors/utilities/{tailwindcss.js → ng-packagr/tailwindcss.js} +5 -22
  110. package/src/executors/utilities/patch-builder-context.d.ts +3 -0
  111. package/src/executors/utilities/patch-builder-context.js +41 -0
  112. package/src/executors/utilities/typescript.js +1 -1
  113. package/src/generators/add-linting/add-linting.d.ts +1 -1
  114. package/src/generators/add-linting/add-linting.js +9 -15
  115. package/src/generators/add-linting/lib/add-angular-eslint-dependencies.d.ts +2 -2
  116. package/src/generators/add-linting/lib/add-angular-eslint-dependencies.js +9 -5
  117. package/src/generators/add-linting/lib/buildable-project.d.ts +2 -0
  118. package/src/generators/add-linting/lib/buildable-project.js +9 -0
  119. package/src/generators/add-linting/lib/create-eslint-configuration.d.ts +2 -2
  120. package/src/generators/add-linting/schema.json +1 -1
  121. package/src/generators/application/application.js +19 -17
  122. package/src/generators/application/files/base/tsconfig.app.json__tpl__ +1 -1
  123. package/src/generators/application/files/base/tsconfig.json__tpl__ +6 -2
  124. package/src/generators/application/files/ng-module/src/app/app.component.spec.ts__tpl__ +3 -1
  125. package/src/generators/application/files/ng-module/src/app/app.component.ts__tpl__ +4 -2
  126. package/src/generators/application/files/ng-module/src/app/app.module.ts__tpl__ +1 -1
  127. package/src/generators/application/files/ng-module/src/app/nx-welcome.component.ts__tpl__ +53 -14
  128. package/src/generators/application/files/ng-module/src/main.ts__tpl__ +2 -8
  129. package/src/generators/application/files/standalone-components/src/app/app.component.spec.ts__tpl__ +6 -4
  130. package/src/generators/application/files/standalone-components/src/app/app.component.ts__tpl__ +4 -2
  131. package/src/generators/application/files/standalone-components/src/app/app.config.ts__tpl__ +3 -3
  132. package/src/generators/application/files/standalone-components/src/app/nx-welcome.component.ts__tpl__ +53 -14
  133. package/src/generators/application/files/standalone-components/src/main.ts__tpl__ +4 -8
  134. package/src/generators/application/lib/add-e2e.js +22 -8
  135. package/src/generators/application/lib/add-unit-test-runner.js +5 -20
  136. package/src/generators/application/lib/create-files.js +14 -10
  137. package/src/generators/application/lib/create-project.d.ts +1 -1
  138. package/src/generators/application/lib/create-project.js +48 -38
  139. package/src/generators/application/lib/index.d.ts +1 -0
  140. package/src/generators/application/lib/index.js +1 -0
  141. package/src/generators/application/lib/normalize-options.d.ts +1 -1
  142. package/src/generators/application/lib/normalize-options.js +28 -6
  143. package/src/generators/application/lib/normalized-schema.d.ts +5 -0
  144. package/src/generators/application/lib/set-generator-defaults.d.ts +3 -0
  145. package/src/generators/application/lib/set-generator-defaults.js +17 -0
  146. package/src/generators/application/lib/update-editor-tsconfig.d.ts +1 -1
  147. package/src/generators/application/lib/update-editor-tsconfig.js +11 -14
  148. package/src/generators/application/schema.d.ts +1 -0
  149. package/src/generators/application/schema.json +18 -10
  150. package/src/generators/component/component.js +4 -1
  151. package/src/generators/component/files/__fileName__.spec.ts__tpl__ +2 -3
  152. package/src/generators/component/files/__fileName__.ts__tpl__ +8 -2
  153. package/src/generators/component/lib/component.js +1 -1
  154. package/src/generators/component/lib/index.d.ts +1 -1
  155. package/src/generators/component/lib/index.js +1 -1
  156. package/src/generators/component/lib/normalize-options.js +3 -2
  157. package/src/generators/component/lib/set-generator-defaults.d.ts +3 -0
  158. package/src/generators/component/lib/set-generator-defaults.js +14 -0
  159. package/src/generators/component/schema.d.ts +3 -3
  160. package/src/generators/component/schema.json +4 -4
  161. package/src/generators/component-cypress-spec/files/__componentFileName__.__fileExt__ +13 -8
  162. package/src/generators/component-cypress-spec/schema.json +1 -1
  163. package/src/generators/component-story/files/__componentFileName__.stories.ts__tmpl__ +2 -2
  164. package/src/generators/component-test/component-test.d.ts +1 -1
  165. package/src/generators/component-test/component-test.js +8 -3
  166. package/src/generators/component-test/files/__componentFileName__.cy.ts__tpl__ +9 -11
  167. package/src/generators/component-test/schema.json +1 -1
  168. package/src/generators/convert-to-application-executor/convert-to-application-executor.d.ts +4 -0
  169. package/src/generators/convert-to-application-executor/convert-to-application-executor.js +242 -0
  170. package/src/generators/convert-to-application-executor/schema.d.ts +4 -0
  171. package/src/generators/convert-to-application-executor/schema.json +26 -0
  172. package/src/generators/convert-to-with-mf/convert-to-with-mf.js +3 -1
  173. package/src/generators/convert-to-with-mf/lib/write-new-webpack-config.js +3 -2
  174. package/src/generators/convert-to-with-mf/schema.d.ts +1 -0
  175. package/src/generators/convert-to-with-mf/schema.json +6 -0
  176. package/src/generators/cypress-component-configuration/cypress-component-configuration.d.ts +2 -1
  177. package/src/generators/cypress-component-configuration/cypress-component-configuration.js +43 -24
  178. package/src/generators/directive/directive.js +0 -1
  179. package/src/generators/directive/files/__fileName__.ts__tpl__ +1 -3
  180. package/src/generators/directive/lib/index.d.ts +0 -1
  181. package/src/generators/directive/lib/index.js +0 -1
  182. package/src/generators/directive/lib/normalize-options.js +3 -1
  183. package/src/generators/directive/schema.d.ts +3 -3
  184. package/src/generators/directive/schema.json +4 -4
  185. package/src/generators/federate-module/federate-module.js +1 -0
  186. package/src/generators/federate-module/lib/add-remote.d.ts +1 -1
  187. package/src/generators/federate-module/lib/add-remote.js +2 -11
  188. package/src/generators/federate-module/schema.json +3 -3
  189. package/src/generators/host/files/common/v17+/src/main.server.ts__tmpl__ +67 -0
  190. package/src/generators/host/files/ts/webpack.server.config.ts__tmpl__ +2 -2
  191. package/src/generators/host/host.js +8 -9
  192. package/src/generators/host/lib/index.d.ts +1 -1
  193. package/src/generators/host/lib/index.js +1 -1
  194. package/src/generators/host/lib/update-ssr-setup.d.ts +3 -0
  195. package/src/generators/host/lib/{add-ssr.js → update-ssr-setup.js} +8 -14
  196. package/src/generators/host/schema.json +6 -6
  197. package/src/generators/init/init.d.ts +2 -2
  198. package/src/generators/init/init.js +19 -137
  199. package/src/generators/init/schema.d.ts +1 -9
  200. package/src/generators/init/schema.json +8 -59
  201. package/src/generators/library/files/ng-module/src/lib/lib.routes.ts__tpl__ +1 -1
  202. package/src/generators/library/files/standalone-components/src/lib/lib.routes.ts__tpl__ +1 -1
  203. package/src/generators/library/lib/add-load-children.js +2 -2
  204. package/src/generators/library/lib/add-project.js +24 -22
  205. package/src/generators/library/lib/add-standalone-component.d.ts +2 -2
  206. package/src/generators/library/lib/add-standalone-component.js +5 -4
  207. package/src/generators/library/lib/normalize-options.js +2 -5
  208. package/src/generators/library/lib/set-generator-defaults.d.ts +3 -0
  209. package/src/generators/library/lib/set-generator-defaults.js +15 -0
  210. package/src/generators/library/lib/update-tsconfig.js +3 -3
  211. package/src/generators/library/library.js +15 -27
  212. package/src/generators/library/schema.d.ts +1 -0
  213. package/src/generators/library/schema.json +13 -13
  214. package/src/generators/library-secondary-entry-point/files/src/index.ts__tmpl__ +1 -5
  215. package/src/generators/library-secondary-entry-point/lib/index.d.ts +0 -1
  216. package/src/generators/library-secondary-entry-point/lib/index.js +0 -1
  217. package/src/generators/library-secondary-entry-point/library-secondary-entry-point.js +3 -2
  218. package/src/generators/library-secondary-entry-point/schema.d.ts +1 -0
  219. package/src/generators/library-secondary-entry-point/schema.json +9 -3
  220. package/src/generators/move/schema.json +1 -1
  221. package/src/generators/ng-add/migrate-from-angular-cli.js +1 -1
  222. package/src/generators/ng-add/migrators/projects/app.migrator.js +50 -7
  223. package/src/generators/ng-add/migrators/projects/e2e.migrator.js +31 -23
  224. package/src/generators/ng-add/ng-add.js +1 -8
  225. package/src/generators/ng-add/schema.json +1 -1
  226. package/src/generators/ng-add/utilities/workspace.d.ts +1 -1
  227. package/src/generators/ng-add/utilities/workspace.js +9 -16
  228. package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.models.ts__tmpl__ +1 -1
  229. package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.selectors.spec.ts__tmpl__ +1 -1
  230. package/src/generators/ngrx/lib/generate-files.js +1 -10
  231. package/src/generators/ngrx/lib/validate-options.js +0 -23
  232. package/src/generators/ngrx/schema.json +3 -3
  233. package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.models.ts__tmpl__ +1 -1
  234. package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.selectors.spec.ts__tmpl__ +1 -1
  235. package/src/generators/ngrx-feature-store/lib/generate-files.js +1 -12
  236. package/src/generators/ngrx-feature-store/lib/validate-options.js +0 -22
  237. package/src/generators/ngrx-feature-store/schema.json +3 -3
  238. package/src/generators/ngrx-root-store/lib/normalize-options.js +1 -1
  239. package/src/generators/ngrx-root-store/lib/validate-options.js +0 -15
  240. package/src/generators/ngrx-root-store/schema.json +2 -2
  241. package/src/generators/pipe/files/__fileName__.ts__tpl__ +0 -2
  242. package/src/generators/pipe/lib/index.d.ts +0 -1
  243. package/src/generators/pipe/lib/index.js +0 -1
  244. package/src/generators/pipe/lib/normalize-options.js +1 -0
  245. package/src/generators/pipe/pipe.js +0 -1
  246. package/src/generators/pipe/schema.d.ts +3 -3
  247. package/src/generators/pipe/schema.json +4 -4
  248. package/src/generators/remote/files/base-ts/webpack.server.config.ts__tmpl__ +2 -2
  249. package/src/generators/remote/files/common/{src → pre-v17/src}/main.server.ts__tmpl__ +1 -3
  250. package/src/generators/remote/files/common/v17+/src/main.server.ts__tmpl__ +73 -0
  251. package/src/generators/remote/lib/index.d.ts +1 -1
  252. package/src/generators/remote/lib/index.js +1 -1
  253. package/src/generators/remote/lib/{add-ssr.d.ts → update-ssr-setup.d.ts} +1 -1
  254. package/src/generators/remote/lib/{add-ssr.js → update-ssr-setup.js} +9 -13
  255. package/src/generators/remote/remote.js +7 -9
  256. package/src/generators/remote/schema.json +6 -6
  257. package/src/generators/scam/lib/convert-component-to-scam.js +2 -1
  258. package/src/generators/scam/schema.d.ts +3 -3
  259. package/src/generators/scam/schema.json +2 -2
  260. package/src/generators/scam-directive/lib/convert-directive-to-scam.js +2 -1
  261. package/src/generators/scam-directive/scam-directive.js +3 -1
  262. package/src/generators/scam-directive/schema.d.ts +4 -3
  263. package/src/generators/scam-directive/schema.json +8 -2
  264. package/src/generators/scam-pipe/lib/convert-pipe-to-scam.js +2 -1
  265. package/src/generators/scam-pipe/scam-pipe.js +3 -1
  266. package/src/generators/scam-pipe/schema.d.ts +4 -3
  267. package/src/generators/scam-pipe/schema.json +8 -2
  268. package/src/generators/scam-to-standalone/scam-to-standalone.js +0 -7
  269. package/src/generators/scam-to-standalone/schema.json +2 -2
  270. package/src/generators/setup-mf/files/host-files/app.component.spec.ts__tmpl__ +3 -1
  271. package/src/generators/setup-mf/files/ts-webpack/module-federation.config.ts__tmpl__ +12 -0
  272. package/src/generators/setup-mf/files/ts-webpack/tsconfig.lint.json__tmpl__ +12 -0
  273. package/src/generators/setup-mf/files/ts-webpack/webpack.config.ts__tmpl__ +1 -1
  274. package/src/generators/setup-mf/files/ts-webpack/webpack.prod.config.ts__tmpl__ +12 -12
  275. package/src/generators/setup-mf/files/webpack/module-federation.config.js__tmpl__ +13 -1
  276. package/src/generators/setup-mf/lib/add-cypress-workaround.js +14 -4
  277. package/src/generators/setup-mf/lib/add-remote-entry.js +2 -11
  278. package/src/generators/setup-mf/lib/add-remote-to-host.js +1 -1
  279. package/src/generators/setup-mf/lib/fix-bootstrap.js +10 -18
  280. package/src/generators/setup-mf/lib/generate-config.js +3 -0
  281. package/src/generators/setup-mf/lib/index.d.ts +1 -1
  282. package/src/generators/setup-mf/lib/index.js +1 -1
  283. package/src/generators/setup-mf/lib/normalize-options.js +2 -1
  284. package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +10 -10
  285. package/src/generators/setup-mf/lib/setup-serve-target.js +1 -1
  286. package/src/generators/setup-mf/lib/update-host-app-routes.js +2 -2
  287. package/src/generators/{pipe/lib/validate-options.d.ts → setup-mf/lib/update-tsconfig.d.ts} +1 -1
  288. package/src/generators/setup-mf/lib/update-tsconfig.js +19 -0
  289. package/src/generators/setup-mf/schema.d.ts +1 -0
  290. package/src/generators/setup-mf/schema.json +8 -3
  291. package/src/generators/setup-mf/setup-mf.js +1 -7
  292. package/src/generators/setup-ssr/files/ngmodule/base/src/__main__ +1 -1
  293. package/src/generators/setup-ssr/files/server/application-builder/__serverFileName__ +56 -0
  294. package/src/generators/setup-ssr/files/{ngmodule/base → server/server-builder/pre-v17}/__serverFileName__ +7 -8
  295. package/src/generators/setup-ssr/files/{standalone → server/server-builder/v17+}/__serverFileName__ +25 -16
  296. package/src/generators/setup-ssr/lib/add-dependencies.d.ts +2 -0
  297. package/src/generators/setup-ssr/lib/add-dependencies.js +36 -0
  298. package/src/generators/setup-ssr/lib/add-hydration.js +11 -5
  299. package/src/generators/setup-ssr/lib/add-server-file.d.ts +3 -0
  300. package/src/generators/setup-ssr/lib/add-server-file.js +31 -0
  301. package/src/generators/setup-ssr/lib/constants.d.ts +3 -0
  302. package/src/generators/setup-ssr/lib/constants.js +6 -0
  303. package/src/generators/setup-ssr/lib/generate-files.d.ts +1 -1
  304. package/src/generators/setup-ssr/lib/generate-files.js +11 -16
  305. package/src/generators/setup-ssr/lib/generate-server-ts-config.d.ts +4 -0
  306. package/src/generators/setup-ssr/lib/generate-server-ts-config.js +29 -0
  307. package/src/generators/setup-ssr/lib/index.d.ts +4 -0
  308. package/src/generators/setup-ssr/lib/index.js +4 -0
  309. package/src/generators/setup-ssr/lib/normalize-options.js +7 -1
  310. package/src/generators/setup-ssr/lib/set-router-initial-navigation.d.ts +3 -0
  311. package/src/generators/setup-ssr/lib/set-router-initial-navigation.js +93 -0
  312. package/src/generators/setup-ssr/lib/update-project-config.d.ts +2 -1
  313. package/src/generators/setup-ssr/lib/update-project-config.js +46 -13
  314. package/src/generators/setup-ssr/lib/validate-options.js +15 -2
  315. package/src/generators/setup-ssr/schema.json +4 -4
  316. package/src/generators/setup-ssr/setup-ssr.js +18 -12
  317. package/src/generators/setup-tailwind/schema.json +1 -1
  318. package/src/generators/stories/schema.json +1 -1
  319. package/src/generators/stories/stories.js +2 -2
  320. package/src/generators/storybook-configuration/lib/generate-stories.js +6 -4
  321. package/src/generators/storybook-configuration/lib/generate-storybook-configuration.js +3 -1
  322. package/src/generators/storybook-configuration/schema.d.ts +1 -1
  323. package/src/generators/storybook-configuration/schema.json +7 -7
  324. package/src/generators/storybook-configuration/storybook-configuration.js +8 -5
  325. package/src/generators/utils/add-jest.d.ts +8 -0
  326. package/src/generators/utils/add-jest.js +36 -0
  327. package/src/generators/utils/add-mf-env-to-inputs.d.ts +2 -0
  328. package/src/generators/utils/add-mf-env-to-inputs.js +27 -0
  329. package/src/generators/utils/dependencies.js +1 -2
  330. package/src/generators/utils/ensure-angular-dependencies.d.ts +2 -0
  331. package/src/generators/utils/ensure-angular-dependencies.js +35 -0
  332. package/src/generators/utils/export-scam.js +2 -2
  333. package/src/generators/utils/project.d.ts +0 -1
  334. package/src/generators/utils/project.js +2 -29
  335. package/src/generators/utils/selector.d.ts +2 -2
  336. package/src/generators/utils/selector.js +11 -4
  337. package/src/generators/utils/testing.js +24 -1
  338. package/src/generators/utils/update-app-editor-tsconfig-excluded-files.d.ts +2 -0
  339. package/src/generators/utils/update-app-editor-tsconfig-excluded-files.js +23 -0
  340. package/src/generators/utils/update-project-root-tsconfig.d.ts +3 -0
  341. package/src/generators/utils/update-project-root-tsconfig.js +26 -0
  342. package/src/generators/utils/validations.d.ts +0 -1
  343. package/src/generators/utils/validations.js +1 -14
  344. package/src/generators/utils/version-utils.d.ts +2 -2
  345. package/src/generators/utils/version-utils.js +3 -3
  346. package/src/migrations/update-17-1-0/browser-target-to-build-target.d.ts +3 -0
  347. package/src/migrations/update-17-1-0/browser-target-to-build-target.js +50 -0
  348. package/src/migrations/update-17-1-0/replace-nguniversal-builders.d.ts +2 -0
  349. package/src/migrations/update-17-1-0/replace-nguniversal-builders.js +75 -0
  350. package/src/migrations/update-17-1-0/replace-nguniversal-engines.d.ts +2 -0
  351. package/src/migrations/update-17-1-0/replace-nguniversal-engines.js +183 -0
  352. package/src/migrations/update-17-1-0/update-angular-cli.d.ts +3 -0
  353. package/src/migrations/update-17-1-0/update-angular-cli.js +23 -0
  354. package/src/migrations/update-17-1-0/update-zone-js-deep-import.d.ts +2 -0
  355. package/src/migrations/update-17-1-0/update-zone-js-deep-import.js +37 -0
  356. package/src/migrations/update-17-2-0/rename-webpack-dev-server.d.ts +2 -0
  357. package/src/migrations/update-17-2-0/rename-webpack-dev-server.js +40 -0
  358. package/src/migrations/update-17-3-0/add-autoprefixer-dependency.d.ts +2 -0
  359. package/src/migrations/update-17-3-0/add-autoprefixer-dependency.js +26 -0
  360. package/src/migrations/update-17-3-0/add-browser-sync-dependency.d.ts +2 -0
  361. package/src/migrations/update-17-3-0/add-browser-sync-dependency.js +26 -0
  362. package/src/migrations/update-17-3-0/update-angular-cli.d.ts +3 -0
  363. package/src/migrations/update-17-3-0/update-angular-cli.js +23 -0
  364. package/src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults.d.ts +2 -0
  365. package/src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults.js +26 -0
  366. package/src/migrations/update-18-1-0/update-angular-cli.d.ts +3 -0
  367. package/src/migrations/update-18-1-0/update-angular-cli.js +23 -0
  368. package/src/migrations/update-18-1-1/fix-target-defaults-inputs.d.ts +2 -0
  369. package/src/migrations/update-18-1-1/fix-target-defaults-inputs.js +53 -0
  370. package/src/migrations/update-18-2-0/update-angular-cli.d.ts +3 -0
  371. package/src/migrations/update-18-2-0/update-angular-cli.js +23 -0
  372. package/src/utils/backward-compatible-versions.d.ts +6 -4
  373. package/src/utils/backward-compatible-versions.js +20 -22
  374. package/src/utils/{public-api.d.ts → index.d.ts} +5 -0
  375. package/src/utils/{public-api.js → index.js} +5 -0
  376. package/src/utils/mf/utils.js +7 -0
  377. package/src/utils/mf/with-module-federation-ssr.js +3 -0
  378. package/src/utils/mf/with-module-federation.js +3 -0
  379. package/src/utils/nx-devkit/ast-utils.js +4 -2
  380. package/src/utils/nx-devkit/testing.js +27 -31
  381. package/src/utils/targets.d.ts +2 -0
  382. package/src/utils/targets.js +17 -0
  383. package/src/utils/version-utils.d.ts +3 -3
  384. package/src/utils/versions.d.ts +9 -11
  385. package/src/utils/versions.js +10 -12
  386. package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.d.ts +0 -5
  387. package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.js +0 -136
  388. package/src/builders/webpack-browser/validate-options.d.ts +0 -2
  389. package/src/builders/webpack-browser/validate-options.js +0 -40
  390. package/src/builders/webpack-dev-server/lib/normalize-options.d.ts +0 -2
  391. package/src/builders/webpack-dev-server/lib/normalize-options.js +0 -14
  392. package/src/builders/webpack-dev-server/schema.d.ts +0 -21
  393. package/src/builders/webpack-dev-server/webpack-dev-server.impl.d.ts +0 -4
  394. package/src/builders/webpack-dev-server/webpack-dev-server.impl.js +0 -105
  395. package/src/executors/browser-esbuild/lib/buildable-libs.d.ts +0 -9
  396. package/src/executors/browser-esbuild/lib/validate-options.d.ts +0 -2
  397. package/src/executors/browser-esbuild/lib/validate-options.js +0 -40
  398. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ts/cache-compiler-host.d.ts +0 -16
  399. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ts/cache-compiler-host.js +0 -175
  400. package/src/executors/package/ng-packagr-adjustments/ts/cache-compiler-host.d.ts +0 -15
  401. package/src/executors/package/ng-packagr-adjustments/ts/cache-compiler-host.js +0 -197
  402. package/src/executors/utilities/tailwindcss.d.ts +0 -7
  403. package/src/generators/application/files/tsconfig.editor.json__tpl__ +0 -5
  404. package/src/generators/application/files/v14/.browserlistrc__tpl__ +0 -16
  405. package/src/generators/application/files/v14/src/environments/environment.prod.ts__tpl__ +0 -3
  406. package/src/generators/application/files/v14/src/environments/environment.ts__tpl__ +0 -16
  407. package/src/generators/application/files/v14/src/polyfills.ts__tpl__ +0 -53
  408. package/src/generators/component/lib/validate-options.d.ts +0 -3
  409. package/src/generators/component/lib/validate-options.js +0 -8
  410. package/src/generators/directive/lib/validate-options.d.ts +0 -3
  411. package/src/generators/directive/lib/validate-options.js +0 -8
  412. package/src/generators/host/lib/add-ssr.d.ts +0 -3
  413. package/src/generators/library-secondary-entry-point/lib/update-linting-file-patterns.d.ts +0 -3
  414. package/src/generators/library-secondary-entry-point/lib/update-linting-file-patterns.js +0 -15
  415. package/src/generators/ngrx/files/no-inject/__directory__/__fileName__.effects.ts__tmpl__ +0 -22
  416. package/src/generators/ngrx/files/no-inject/__directory__/__fileName__.facade.ts__tmpl__ +0 -27
  417. package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.effects.ts__tmpl__ +0 -22
  418. package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.facade.ts__tmpl__ +0 -27
  419. package/src/generators/pipe/lib/validate-options.js +0 -8
  420. package/src/generators/setup-mf/lib/set-tsconfig-target.d.ts +0 -3
  421. package/src/generators/setup-mf/lib/set-tsconfig-target.js +0 -16
  422. package/src/generators/setup-ssr/files/ngmodule/v14/src/__main__ +0 -11
  423. package/src/generators/utils/create-ts-config.d.ts +0 -8
  424. package/src/generators/utils/create-ts-config.js +0 -35
  425. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/compile-ngc.di.d.ts +0 -0
  426. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/compile-ngc.di.js +0 -0
  427. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/compile-ngc.transform.d.ts +0 -0
  428. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/entry-point.di.d.ts +0 -0
  429. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/entry-point.di.js +0 -0
  430. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/entry-point.transform.d.ts +0 -0
  431. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/entry-point.transform.js +0 -0
  432. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/write-package.di.d.ts +0 -0
  433. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/write-package.di.js +0 -0
  434. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/entry-point/write-package.transform.d.ts +0 -0
  435. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/options.di.d.ts +0 -0
  436. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/options.di.js +0 -0
  437. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/package.di.d.ts +0 -0
  438. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{ng-package → pre-v17/ng-package}/package.di.js +0 -0
  439. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{styles → pre-v17/styles}/stylesheet-processor.di.d.ts +0 -0
  440. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{styles → pre-v17/styles}/stylesheet-processor.di.js +0 -0
  441. /package/src/generators/host/files/common/{src → pre-v17/src}/main.server.ts__tmpl__ +0 -0
  442. /package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.actions.ts__tmpl__ +0 -0
  443. /package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.effects.spec.ts__tmpl__ +0 -0
  444. /package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.effects.ts__tmpl__ +0 -0
  445. /package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.facade.spec.ts__tmpl__ +0 -0
  446. /package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.facade.ts__tmpl__ +0 -0
  447. /package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.reducer.spec.ts__tmpl__ +0 -0
  448. /package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.reducer.ts__tmpl__ +0 -0
  449. /package/src/generators/ngrx/files/{base/__directory__ → __directory__}/__fileName__.selectors.ts__tmpl__ +0 -0
  450. /package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.actions.ts__tmpl__ +0 -0
  451. /package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.effects.spec.ts__tmpl__ +0 -0
  452. /package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.effects.ts__tmpl__ +0 -0
  453. /package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.facade.spec.ts__tmpl__ +0 -0
  454. /package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.facade.ts__tmpl__ +0 -0
  455. /package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.reducer.spec.ts__tmpl__ +0 -0
  456. /package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.reducer.ts__tmpl__ +0 -0
  457. /package/src/generators/ngrx-feature-store/files/{base/__directory__ → __directory__}/__fileName__.selectors.ts__tmpl__ +0 -0
  458. /package/src/generators/setup-ssr/files/{base → root}/tsconfig.server.json__tpl__ +0 -0
@@ -3,10 +3,8 @@
3
3
  * Adapted from the original ng-packagr source.
4
4
  *
5
5
  * Changes made:
6
- * - Added the filePath parameter to the cache key.
7
6
  * - Refactored caching to take into account TailwindCSS processing.
8
- * - Added PostCSS plugins needed to support TailwindCSS.
9
- * - Added watch mode parameter.
7
+ * - Added PostCSS plugin needed to support TailwindCSS.
10
8
  */
11
9
  Object.defineProperty(exports, "__esModule", { value: true });
12
10
  exports.StylesheetProcessor = exports.InlineStyleLanguage = exports.CssUrl = void 0;
@@ -16,11 +14,10 @@ const esbuild_executor_1 = require("ng-packagr/lib/esbuild/esbuild-executor");
16
14
  const cache_1 = require("ng-packagr/lib/utils/cache");
17
15
  const log = require("ng-packagr/lib/utils/log");
18
16
  const path_1 = require("path");
19
- const postcssPresetEnv = require("postcss-preset-env");
17
+ const autoprefixer = require("autoprefixer");
20
18
  const postcssUrl = require("postcss-url");
21
19
  const node_url_1 = require("node:url");
22
- const angular_version_utils_1 = require("../../../utilities/angular-version-utils");
23
- const tailwindcss_1 = require("../../../utilities/tailwindcss");
20
+ const tailwindcss_1 = require("../../../../utilities/ng-packagr/tailwindcss");
24
21
  const postcss = require('postcss');
25
22
  var CssUrl;
26
23
  (function (CssUrl) {
@@ -35,20 +32,20 @@ var InlineStyleLanguage;
35
32
  InlineStyleLanguage["less"] = "less";
36
33
  })(InlineStyleLanguage || (exports.InlineStyleLanguage = InlineStyleLanguage = {}));
37
34
  class StylesheetProcessor {
38
- constructor(basePath, cssUrl, includePaths, cacheDirectory, watch, tailwindConfig) {
39
- // By default, browserslist defaults are too inclusive
40
- // https://github.com/browserslist/browserslist/blob/83764ea81ffaa39111c204b02c371afa44a4ff07/index.js#L516-L522
35
+ constructor(projectBasePath, basePath, cssUrl, includePaths, cacheDirectory, tailwindConfig) {
36
+ this.projectBasePath = projectBasePath;
41
37
  this.basePath = basePath;
42
38
  this.cssUrl = cssUrl;
43
39
  this.includePaths = includePaths;
44
40
  this.cacheDirectory = cacheDirectory;
45
- this.watch = watch;
46
41
  this.tailwindConfig = tailwindConfig;
47
42
  this.esbuild = new esbuild_executor_1.EsbuildExecutor();
43
+ // By default, browserslist defaults are too inclusive
44
+ // https://github.com/browserslist/browserslist/blob/83764ea81ffaa39111c204b02c371afa44a4ff07/index.js#L516-L522
48
45
  // We change the default query to browsers that Angular support.
49
46
  // https://angular.io/guide/browser-support
50
47
  browserslist.defaults = [
51
- 'last 2 Chrome version',
48
+ 'last 2 Chrome versions',
52
49
  'last 1 Firefox version',
53
50
  'last 2 Edge major versions',
54
51
  'last 2 Safari major versions',
@@ -68,17 +65,24 @@ class StylesheetProcessor {
68
65
  }
69
66
  this.browserslistData = browserslist(undefined, { path: this.basePath });
70
67
  this.targets = transformSupportedBrowsersToTargets(this.browserslistData);
71
- this.tailwindSetup = (0, tailwindcss_1.getTailwindSetup)(this.basePath, this.tailwindConfig);
72
- this.postCssProcessor = this.createPostCssPlugins();
68
+ const tailwindSetup = (0, tailwindcss_1.getTailwindSetup)(this.projectBasePath, this.tailwindConfig);
69
+ if (tailwindSetup) {
70
+ this.cacheDirectory = undefined;
71
+ }
72
+ this.postCssProcessor = this.createPostCssProcessor(tailwindSetup);
73
73
  }
74
74
  async process({ filePath, content, }) {
75
+ const CACHE_KEY_VALUES = [
76
+ ...this.browserslistData,
77
+ ...this.styleIncludePaths,
78
+ this.cssUrl,
79
+ ].join(':');
75
80
  let key;
76
81
  if (this.cacheDirectory &&
77
82
  !content.includes('@import') &&
78
- !content.includes('@use') &&
79
- !this.containsTailwindDirectives(content)) {
83
+ !content.includes('@use')) {
80
84
  // No transitive deps and no Tailwind directives, we can cache more aggressively.
81
- key = await (0, cache_1.generateKey)(content, ...this.browserslistData, filePath);
85
+ key = await (0, cache_1.generateKey)(content, CACHE_KEY_VALUES);
82
86
  const result = await (0, cache_1.readCacheEntry)(this.cacheDirectory, key);
83
87
  if (result) {
84
88
  result.warnings.forEach((msg) => log.warn(msg));
@@ -87,18 +91,16 @@ class StylesheetProcessor {
87
91
  }
88
92
  // Render pre-processor language (sass, styl, less)
89
93
  const renderedCss = await this.renderCss(filePath, content);
90
- let containsTailwindDirectives = false;
94
+ // We cannot cache CSS re-rendering phase, because a transitive dependency via (@import) can case different CSS output.
95
+ // Example a change in a mixin or SCSS variable.
96
+ if (!key) {
97
+ key = await (0, cache_1.generateKey)(renderedCss, CACHE_KEY_VALUES);
98
+ }
91
99
  if (this.cacheDirectory) {
92
- 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
- }
100
+ const cachedResult = await (0, cache_1.readCacheEntry)(this.cacheDirectory, key);
101
+ if (cachedResult) {
102
+ cachedResult.warnings.forEach((msg) => log.warn(msg));
103
+ return cachedResult.css;
102
104
  }
103
105
  }
104
106
  // Render postcss (autoprefixing and friends)
@@ -106,15 +108,6 @@ class StylesheetProcessor {
106
108
  from: filePath,
107
109
  to: filePath.replace((0, path_1.extname)(filePath), '.css'),
108
110
  });
109
- if (this.cacheDirectory && containsTailwindDirectives) {
110
- // We had Tailwind directives to process by PostCSS, only now
111
- // is safe to return cached results
112
- key = await (0, cache_1.generateKey)(result.css, ...this.browserslistData, filePath);
113
- const cachedResult = await this.getCachedResult(key);
114
- if (cachedResult) {
115
- return cachedResult;
116
- }
117
- }
118
111
  const warnings = result.warnings().map((w) => w.toString());
119
112
  const { code, warnings: esBuildWarnings } = await this.esbuild.transform(result.css, {
120
113
  loader: 'css',
@@ -136,29 +129,17 @@ class StylesheetProcessor {
136
129
  warnings.forEach((msg) => log.warn(msg));
137
130
  return code;
138
131
  }
139
- 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;
144
- }
145
- return undefined;
146
- }
147
- containsTailwindDirectives(content) {
148
- return (this.tailwindSetup && tailwindcss_1.tailwindDirectives.some((d) => content.includes(d)));
149
- }
150
- createPostCssPlugins() {
132
+ createPostCssProcessor(tailwindSetup) {
151
133
  const postCssPlugins = [];
134
+ if (tailwindSetup) {
135
+ postCssPlugins.push((0, tailwindcss_1.getTailwindPostCssPlugin)(tailwindSetup));
136
+ }
152
137
  if (this.cssUrl !== CssUrl.none) {
153
138
  postCssPlugins.push(postcssUrl({ url: this.cssUrl }));
154
139
  }
155
- 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,
140
+ postCssPlugins.push(autoprefixer({
141
+ ignoreUnknownVersions: true,
142
+ overrideBrowserslist: this.browserslistData,
162
143
  }));
163
144
  return postcss(postCssPlugins);
164
145
  }
@@ -167,25 +148,11 @@ class StylesheetProcessor {
167
148
  switch (ext) {
168
149
  case '.sass':
169
150
  case '.scss': {
170
- 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, {
151
+ return (await Promise.resolve().then(() => require('sass'))).compileString(css, {
184
152
  url: (0, node_url_1.pathToFileURL)(filePath),
185
153
  syntax: '.sass' === ext ? 'indented' : 'scss',
186
154
  loadPaths: this.styleIncludePaths,
187
- })
188
- .css.toString();
155
+ }).css;
189
156
  }
190
157
  case '.less': {
191
158
  const { css: content } = await (await Promise.resolve().then(() => require('less'))).render(css, {
@@ -221,10 +188,7 @@ function transformSupportedBrowsersToTargets(supportedBrowsers) {
221
188
  // browserslist uses ranges `15.2-15.3` versions but only the lowest is required
222
189
  // to perform minimum supported feature checks. esbuild also expects a single version.
223
190
  [version] = version.split('-');
224
- if (browserName === 'ie') {
225
- transformed.push('edge12');
226
- }
227
- else if (esBuildSupportedBrowsers.has(browserName)) {
191
+ if (esBuildSupportedBrowsers.has(browserName)) {
228
192
  if (browserName === 'safari' && version === 'tp') {
229
193
  // esbuild only supports numeric versions so `TP` is converted to a high number (999) since
230
194
  // a Technology Preview (TP) of Safari is assumed to support all currently known features.
@@ -235,14 +199,3 @@ function transformSupportedBrowsersToTargets(supportedBrowsers) {
235
199
  }
236
200
  return transformed.length ? transformed : undefined;
237
201
  }
238
- function customSassImporter(url, prev) {
239
- // NB: Sass importer should always be sync as otherwise it will cause
240
- // sass to go in the async path which is slower.
241
- if (url[0] !== '~') {
242
- return undefined;
243
- }
244
- return {
245
- file: url.slice(1),
246
- prev,
247
- };
248
- }
@@ -0,0 +1,2 @@
1
+ import { TransformProvider } from 'ng-packagr/lib/graph/transform.di';
2
+ export declare const WRITE_BUNDLES_TRANSFORM: TransformProvider;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WRITE_BUNDLES_TRANSFORM = void 0;
4
+ const transform_di_1 = require("ng-packagr/lib/graph/transform.di");
5
+ const write_bundles_di_1 = require("ng-packagr/lib/ng-package/entry-point/write-bundles.di");
6
+ const options_di_1 = require("ng-packagr/lib/ng-package/options.di");
7
+ const write_bundles_transform_1 = require("./write-bundles.transform");
8
+ exports.WRITE_BUNDLES_TRANSFORM = (0, transform_di_1.provideTransform)({
9
+ provide: write_bundles_di_1.WRITE_BUNDLES_TRANSFORM_TOKEN,
10
+ useFactory: write_bundles_transform_1.writeBundlesTransform,
11
+ deps: [options_di_1.OPTIONS_TOKEN],
12
+ });
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Adapted from the original ng-packagr.
3
+ *
4
+ * Changes made:
5
+ * - Removed bundling altogether.
6
+ */
7
+ import { NgPackagrOptions } from 'ng-packagr/lib/ng-package/options.di';
8
+ export declare const writeBundlesTransform: (_options: NgPackagrOptions) => import("ng-packagr/lib/graph/transform").Transform;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ /**
3
+ * Adapted from the original ng-packagr.
4
+ *
5
+ * Changes made:
6
+ * - Removed bundling altogether.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.writeBundlesTransform = void 0;
10
+ const transform_1 = require("ng-packagr/lib/graph/transform");
11
+ const writeBundlesTransform = (_options) => (0, transform_1.transformFromPromise)(async (graph) => graph);
12
+ exports.writeBundlesTransform = writeBundlesTransform;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Adapted from the original ng-packagr source.
3
+ *
4
+ * Changes made:
5
+ * - Provide our own writePackageTransform function.
6
+ */
7
+ import { TransformProvider } from 'ng-packagr/lib/graph/transform.di';
8
+ export declare const WRITE_PACKAGE_TRANSFORM: TransformProvider;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * Adapted from the original ng-packagr source.
4
+ *
5
+ * Changes made:
6
+ * - Provide our own writePackageTransform function.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.WRITE_PACKAGE_TRANSFORM = void 0;
10
+ const transform_di_1 = require("ng-packagr/lib/graph/transform.di");
11
+ const write_package_di_1 = require("ng-packagr/lib/ng-package/entry-point/write-package.di");
12
+ const options_di_1 = require("ng-packagr/lib/ng-package/options.di");
13
+ const write_package_transform_1 = require("./write-package.transform");
14
+ exports.WRITE_PACKAGE_TRANSFORM = (0, transform_di_1.provideTransform)({
15
+ provide: write_package_di_1.WRITE_PACKAGE_TRANSFORM_TOKEN,
16
+ useFactory: write_package_transform_1.nxWritePackageTransform,
17
+ deps: [options_di_1.OPTIONS_TOKEN],
18
+ });
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Adapted from the original ng-packagr.
3
+ *
4
+ * Changes made:
5
+ * - Change the package.json metadata to only use the ESM2022 output.
6
+ */
7
+ import { NgPackagrOptions } from 'ng-packagr/lib/ng-package/options.di';
8
+ export declare const nxWritePackageTransform: (options: NgPackagrOptions) => import("ng-packagr/lib/graph/transform").Transform;
@@ -0,0 +1,285 @@
1
+ "use strict";
2
+ /**
3
+ * Adapted from the original ng-packagr.
4
+ *
5
+ * Changes made:
6
+ * - Change the package.json metadata to only use the ESM2022 output.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.nxWritePackageTransform = void 0;
10
+ const devkit_1 = require("@nx/devkit");
11
+ const node_1 = require("ng-packagr/lib/graph/node");
12
+ const transform_1 = require("ng-packagr/lib/graph/transform");
13
+ const nodes_1 = require("ng-packagr/lib/ng-package/nodes");
14
+ const fs_1 = require("ng-packagr/lib/utils/fs");
15
+ const glob_1 = require("ng-packagr/lib/utils/glob");
16
+ const path_1 = require("ng-packagr/lib/utils/path");
17
+ const path = require("path");
18
+ const nxWritePackageTransform = (options) => (0, transform_1.transformFromPromise)(async (graph) => {
19
+ const entryPoint = graph.find((0, nodes_1.isEntryPointInProgress)());
20
+ const ngEntryPoint = entryPoint.data.entryPoint;
21
+ const ngPackageNode = graph.find(nodes_1.isPackage);
22
+ const ngPackage = ngPackageNode.data;
23
+ const { destinationFiles } = entryPoint.data;
24
+ if (!ngEntryPoint.isSecondaryEntryPoint) {
25
+ devkit_1.logger.log('Copying assets');
26
+ try {
27
+ await copyAssets(graph, entryPoint, ngPackageNode);
28
+ }
29
+ catch (error) {
30
+ throw error;
31
+ }
32
+ }
33
+ // 6. WRITE PACKAGE.JSON
34
+ const relativeUnixFromDestPath = (filePath) => (0, path_1.ensureUnixPath)(path.relative(ngEntryPoint.destinationPath, filePath));
35
+ if (!ngEntryPoint.isSecondaryEntryPoint) {
36
+ try {
37
+ devkit_1.logger.info('Writing package manifest');
38
+ if (!options.watch) {
39
+ const primary = ngPackageNode.data.primary;
40
+ await (0, fs_1.writeFile)(path.join(primary.destinationPath, '.npmignore'), `# Nested package.json's are only needed for development.\n**/package.json`);
41
+ }
42
+ await writePackageJson(ngEntryPoint, ngPackage, {
43
+ module: relativeUnixFromDestPath(destinationFiles.esm2022),
44
+ typings: relativeUnixFromDestPath(destinationFiles.declarations),
45
+ exports: generatePackageExports(ngEntryPoint, graph),
46
+ // webpack v4+ specific flag to enable advanced optimizations and code splitting
47
+ sideEffects: ngEntryPoint.packageJson.sideEffects ?? false,
48
+ }, !!options.watch);
49
+ }
50
+ catch (error) {
51
+ throw error;
52
+ }
53
+ }
54
+ else if (ngEntryPoint.isSecondaryEntryPoint) {
55
+ if (options.watch) {
56
+ // Update the watch version of the primary entry point `package.json` file.
57
+ // this is needed because of Webpack's 5 `cachemanagedpaths`
58
+ // https://github.com/ng-packagr/ng-packagr/issues/2069
59
+ const primary = ngPackageNode.data.primary;
60
+ const packageJsonPath = path.join(primary.destinationPath, 'package.json');
61
+ if (await (0, fs_1.exists)(packageJsonPath)) {
62
+ const packageJson = JSON.parse(await (0, fs_1.readFile)(packageJsonPath, { encoding: 'utf8' }));
63
+ packageJson.version = generateWatchVersion();
64
+ await (0, fs_1.writeFile)(path.join(primary.destinationPath, 'package.json'), JSON.stringify(packageJson, undefined, 2));
65
+ }
66
+ }
67
+ // Write a package.json in each secondary entry-point
68
+ // This is need for esbuild to secondary entry-points in dist correctly.
69
+ await (0, fs_1.writeFile)(path.join(ngEntryPoint.destinationPath, 'package.json'), JSON.stringify({ module: relativeUnixFromDestPath(destinationFiles.esm2022) }, undefined, 2));
70
+ }
71
+ devkit_1.logger.info(`Built ${ngEntryPoint.moduleId}`);
72
+ return graph;
73
+ });
74
+ exports.nxWritePackageTransform = nxWritePackageTransform;
75
+ async function copyAssets(graph, entryPointNode, ngPackageNode) {
76
+ const ngPackage = ngPackageNode.data;
77
+ const globsForceIgnored = [
78
+ '.gitkeep',
79
+ '**/.DS_Store',
80
+ '**/Thumbs.db',
81
+ `${ngPackage.dest}/**`,
82
+ ];
83
+ const assets = [];
84
+ for (const assetPath of ngPackage.assets) {
85
+ let asset;
86
+ if (typeof assetPath === 'object') {
87
+ asset = { ...assetPath };
88
+ }
89
+ else {
90
+ const [isDir, isFile] = await (0, fs_1.stat)(path.join(ngPackage.src, assetPath))
91
+ .then((stats) => [stats.isDirectory(), stats.isFile()])
92
+ .catch(() => [false, false]);
93
+ if (isDir) {
94
+ asset = { glob: '**/*', input: assetPath, output: assetPath };
95
+ }
96
+ else if (isFile) {
97
+ // filenames are their own glob
98
+ asset = {
99
+ glob: path.basename(assetPath),
100
+ input: path.dirname(assetPath),
101
+ output: path.dirname(assetPath),
102
+ };
103
+ }
104
+ else {
105
+ asset = { glob: assetPath, input: '/', output: '/' };
106
+ }
107
+ }
108
+ asset.input = path.join(ngPackage.src, asset.input);
109
+ asset.output = path.join(ngPackage.dest, asset.output);
110
+ const isAncestorPath = (target, datum) => path.relative(datum, target).startsWith('..');
111
+ if (isAncestorPath(asset.input, ngPackage.src)) {
112
+ throw new Error('Cannot read assets from a location outside of the project root.');
113
+ }
114
+ if (isAncestorPath(asset.output, ngPackage.dest)) {
115
+ throw new Error('Cannot write assets to a location outside of the output path.');
116
+ }
117
+ assets.push(asset);
118
+ }
119
+ for (const asset of assets) {
120
+ const filePaths = await (0, glob_1.globFiles)(asset.glob, {
121
+ cwd: asset.input,
122
+ ignore: [...(asset.ignore ?? []), ...globsForceIgnored],
123
+ dot: true,
124
+ onlyFiles: true,
125
+ followSymbolicLinks: asset.followSymlinks,
126
+ });
127
+ for (const filePath of filePaths) {
128
+ const fileSrcFullPath = path.join(asset.input, filePath);
129
+ const fileDestFullPath = path.join(asset.output, filePath);
130
+ const nodeUri = (0, nodes_1.fileUrl)((0, path_1.ensureUnixPath)(fileSrcFullPath));
131
+ let node = graph.get(nodeUri);
132
+ if (!node) {
133
+ node = new node_1.Node(nodeUri);
134
+ graph.put(node);
135
+ }
136
+ entryPointNode.dependsOn(node);
137
+ await (0, fs_1.copyFile)(fileSrcFullPath, fileDestFullPath);
138
+ }
139
+ }
140
+ }
141
+ /**
142
+ * Creates and writes a `package.json` file of the entry point used by the `node_module`
143
+ * resolution strategies.
144
+ *
145
+ * #### Example
146
+ *
147
+ * A consumer of the entry point depends on it by `import {..} from '@my/module/id';`.
148
+ * The module id `@my/module/id` will be resolved to the `package.json` file that is written by
149
+ * this build step.
150
+ * The properties `main`, `module`, `typings` (and so on) in the `package.json` point to the
151
+ * flattened JavaScript bundles, type definitions, (...).
152
+ *
153
+ * @param entryPoint An entry point of an Angular package / library
154
+ * @param additionalProperties Additional properties, e.g. binary artefacts (bundle files), to merge into `package.json`
155
+ */
156
+ async function writePackageJson(entryPoint, pkg, additionalProperties, isWatchMode) {
157
+ // set additional properties
158
+ const packageJson = { ...entryPoint.packageJson, ...additionalProperties };
159
+ // read tslib version from `@angular/compiler` so that our tslib
160
+ // version at least matches that of angular if we use require('tslib').version
161
+ // it will get what installed and not the minimum version nor if it is a `~` or `^`
162
+ // this is only required for primary
163
+ if (isWatchMode) {
164
+ // Needed because of Webpack's 5 `cachemanagedpaths`
165
+ // https://github.com/angular/angular-cli/issues/20962
166
+ packageJson.version = generateWatchVersion();
167
+ }
168
+ if (!packageJson.peerDependencies?.tslib &&
169
+ !packageJson.dependencies?.tslib) {
170
+ const { peerDependencies: angularPeerDependencies = {}, dependencies: angularDependencies = {}, } = require('@angular/compiler/package.json');
171
+ const tsLibVersion = angularPeerDependencies.tslib || angularDependencies.tslib;
172
+ if (tsLibVersion) {
173
+ packageJson.dependencies = {
174
+ ...packageJson.dependencies,
175
+ tslib: tsLibVersion,
176
+ };
177
+ }
178
+ }
179
+ else if (packageJson.peerDependencies?.tslib) {
180
+ devkit_1.logger.warn(`'tslib' is no longer recommended to be used as a 'peerDependencies'. Moving it to 'dependencies'.`);
181
+ packageJson.dependencies = {
182
+ ...(packageJson.dependencies || {}),
183
+ tslib: packageJson.peerDependencies.tslib,
184
+ };
185
+ delete packageJson.peerDependencies.tslib;
186
+ }
187
+ // Verify non-peerDependencies as they can easily lead to duplicate installs or version conflicts
188
+ // in the node_modules folder of an application
189
+ const allowedList = pkg.allowedNonPeerDependencies.map((value) => new RegExp(value));
190
+ try {
191
+ checkNonPeerDependencies(packageJson, 'dependencies', allowedList);
192
+ }
193
+ catch (e) {
194
+ await (0, fs_1.rmdir)(entryPoint.destinationPath, { recursive: true });
195
+ throw e;
196
+ }
197
+ // Removes scripts from package.json after build
198
+ if (packageJson.scripts) {
199
+ if (pkg.keepLifecycleScripts !== true) {
200
+ devkit_1.logger.info(`Removing scripts section in package.json as it's considered a potential security vulnerability.`);
201
+ delete packageJson.scripts;
202
+ }
203
+ else {
204
+ devkit_1.logger.warn(`You enabled keepLifecycleScripts explicitly. The scripts section in package.json will be published to npm.`);
205
+ }
206
+ }
207
+ // keep the dist package.json clean
208
+ // this will not throw if ngPackage field does not exist
209
+ delete packageJson.ngPackage;
210
+ const packageJsonPropertiesToDelete = [
211
+ 'stylelint',
212
+ 'prettier',
213
+ 'browserslist',
214
+ 'devDependencies',
215
+ 'jest',
216
+ 'workspaces',
217
+ 'husky',
218
+ ];
219
+ for (const prop of packageJsonPropertiesToDelete) {
220
+ if (prop in packageJson) {
221
+ delete packageJson[prop];
222
+ devkit_1.logger.info(`Removing ${prop} section in package.json.`);
223
+ }
224
+ }
225
+ packageJson.name = entryPoint.moduleId;
226
+ await (0, fs_1.writeFile)(path.join(entryPoint.destinationPath, 'package.json'), JSON.stringify(packageJson, undefined, 2));
227
+ }
228
+ function checkNonPeerDependencies(packageJson, property, allowed) {
229
+ if (!packageJson[property]) {
230
+ return;
231
+ }
232
+ for (const dep of Object.keys(packageJson[property])) {
233
+ if (!allowed.some((regex) => regex.test(dep))) {
234
+ devkit_1.logger.warn(`Distributing npm packages with '${property}' is not recommended. Please consider adding ${dep} to 'peerDependencies' or remove it from '${property}'.`);
235
+ throw new Error(`Dependency ${dep} must be explicitly allowed using the "allowedNonPeerDependencies" option.`);
236
+ }
237
+ }
238
+ }
239
+ /**
240
+ * Generates the `package.json` package exports following APF v13.
241
+ * This is supposed to match with: https://github.com/angular/angular/blob/e0667efa6eada64d1fb8b143840689090fc82e52/packages/bazel/src/ng_package/packager.ts#L415.
242
+ */
243
+ function generatePackageExports({ destinationPath, packageJson }, graph) {
244
+ const exports = packageJson.exports
245
+ ? JSON.parse(JSON.stringify(packageJson.exports))
246
+ : {};
247
+ const insertMappingOrError = (subpath, mapping) => {
248
+ exports[subpath] ??= {};
249
+ const subpathExport = exports[subpath];
250
+ // Go through all conditions that should be inserted. If the condition is already
251
+ // manually set of the subpath export, we throw an error. In general, we allow for
252
+ // additional conditions to be set. These will always precede the generated ones.
253
+ for (const conditionName of Object.keys(mapping)) {
254
+ if (subpathExport[conditionName] !== undefined) {
255
+ devkit_1.logger.warn(`Found a conflicting export condition for "${subpath}". The "${conditionName}" ` +
256
+ `condition would be overridden by ng-packagr. Please unset it.`);
257
+ }
258
+ // **Note**: The order of the conditions is preserved even though we are setting
259
+ // the conditions once at a time (the latest assignment will be at the end).
260
+ subpathExport[conditionName] = mapping[conditionName];
261
+ }
262
+ };
263
+ const relativeUnixFromDestPath = (filePath) => './' + (0, path_1.ensureUnixPath)(path.relative(destinationPath, filePath));
264
+ insertMappingOrError('./package.json', { default: './package.json' });
265
+ const entryPoints = graph.filter(nodes_1.isEntryPoint);
266
+ for (const entryPoint of entryPoints) {
267
+ const { destinationFiles, isSecondaryEntryPoint } = entryPoint.data.entryPoint;
268
+ const subpath = isSecondaryEntryPoint
269
+ ? `./${destinationFiles.directory}`
270
+ : '.';
271
+ insertMappingOrError(subpath, {
272
+ types: relativeUnixFromDestPath(destinationFiles.declarations),
273
+ esm2022: relativeUnixFromDestPath(destinationFiles.esm2022),
274
+ esm: relativeUnixFromDestPath(destinationFiles.esm2022),
275
+ default: relativeUnixFromDestPath(destinationFiles.esm2022),
276
+ });
277
+ }
278
+ return exports;
279
+ }
280
+ /**
281
+ * Generates a new version for the package `package.json` when runing in watch mode.
282
+ */
283
+ function generateWatchVersion() {
284
+ return `0.0.0-watch+${Date.now()}`;
285
+ }
@@ -2,31 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ngPackagrLiteExecutor = void 0;
4
4
  const buildable_libs_utils_1 = require("@nx/js/src/utils/buildable-libs-utils");
5
- const ng_packagr_1 = require("ng-packagr");
6
5
  const path_1 = require("path");
7
6
  const package_impl_1 = require("../package/package.impl");
8
7
  const typescript_1 = require("../utilities/typescript");
9
- const 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");
8
+ const ng_packagr_1 = require("./ng-packagr-adjustments/ng-packagr");
12
9
  async function initializeNgPackgrLite(options, context, projectDependencies) {
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);
10
+ const ngPackagr = await (0, ng_packagr_1.getNgPackagrInstance)(options);
11
+ ngPackagr.forProject((0, path_1.resolve)(context.root, options.project));
24
12
  if (options.tsConfig) {
25
13
  const remappedTsConfigFilePath = (0, buildable_libs_utils_1.createTmpTsConfig)(options.tsConfig, context.root, context.projectsConfigurations.projects[context.projectName].root, projectDependencies);
26
14
  const tsConfig = await (0, typescript_1.parseRemappedTsConfigAndMergeDefaults)(context.root, options.tsConfig, remappedTsConfigFilePath);
27
- packager.withTsConfig(tsConfig);
15
+ ngPackagr.withTsConfig(tsConfig);
28
16
  }
29
- return packager;
17
+ return ngPackagr;
30
18
  }
31
19
  exports.ngPackagrLiteExecutor = (0, package_impl_1.createLibraryExecutor)(initializeNgPackgrLite);
32
20
  exports.default = exports.ngPackagrLiteExecutor;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 2,
3
3
  "outputCapture": "direct-nodejs",
4
- "$schema": "http://json-schema.org/schema",
4
+ "$schema": "https://json-schema.org/schema",
5
5
  "title": "ng-packagr Target",
6
6
  "description": "Builds a library with support for incremental builds.\n\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nx/angular:package` executor but with some key differences:\n- For supported Angular versions lower than v16, it doesn't run `ngcc` automatically (`ngcc` is no longer available from Angular v16 onwards, for lower versions, it needs to be run separately beforehand if needed, this can be done in a `postinstall` hook on `package.json`).\n- It only produces ESM2022 bundles (ESM2020 for supported Angular versions lower than v16).",
7
7
  "cli": "nx",
@@ -24,9 +24,11 @@ const compileNgcTransformFactory = (StylesheetProcessor, options) => {
24
24
  hideCursor: false,
25
25
  discardStdin: false,
26
26
  });
27
+ const entryPoints = graph.filter(nodes_1.isEntryPoint);
28
+ const entryPoint = graph.find((0, nodes_1.isEntryPointInProgress)());
29
+ const ngPackageNode = graph.find(nodes_1.isPackage);
30
+ const projectBasePath = ngPackageNode.data.primary.basePath;
27
31
  try {
28
- const entryPoint = graph.find((0, nodes_1.isEntryPointInProgress)());
29
- const entryPoints = graph.filter(nodes_1.isEntryPoint);
30
32
  // Add paths mappings for dependencies
31
33
  const tsConfig = (0, tsconfig_1.setDependenciesTsConfigPaths)(entryPoint.data.tsConfig, entryPoints);
32
34
  const angularVersion = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
@@ -47,7 +49,7 @@ const compileNgcTransformFactory = (StylesheetProcessor, options) => {
47
49
  await ngccProcessor.process();
48
50
  }
49
51
  }
50
- entryPoint.cache.stylesheetProcessor ??= new StylesheetProcessor(basePath, cssUrl, styleIncludePaths, options.cacheEnabled && options.cacheDirectory, options.watch, options.tailwindConfig);
52
+ entryPoint.cache.stylesheetProcessor ??= new StylesheetProcessor(projectBasePath, basePath, cssUrl, styleIncludePaths, options.cacheEnabled && options.cacheDirectory, options.tailwindConfig);
51
53
  await (0, compile_source_files_1.compileSourceFiles)(graph, tsConfig, moduleResolutionCache, options, {
52
54
  outDir: path.dirname(esmModulePath),
53
55
  declarationDir: path.dirname(declarations),
@@ -0,0 +1,3 @@
1
+ import { NgPackagr } from 'ng-packagr';
2
+ import type { BuildAngularLibraryExecutorOptions } from '../../package/schema';
3
+ export declare function getNgPackagrInstance(options: BuildAngularLibraryExecutorOptions): Promise<NgPackagr>;