@nx/angular 17.0.4 → 17.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (458) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +4 -9
  3. package/esm2022/mf/mf.mjs +1 -1
  4. package/esm2022/src/runtime/nx/data-persistence.mjs +1 -1
  5. package/executors.d.ts +2 -9
  6. package/executors.js +2 -7
  7. package/executors.json +9 -19
  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 +1 -3
  12. package/generators.json +2 -7
  13. package/migrations.json +0 -451
  14. package/ng-package.json +2 -2
  15. package/package.json +26 -20
  16. package/plugins/component-testing.d.ts +26 -1
  17. package/plugins/component-testing.js +4 -15
  18. package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.d.ts +5 -0
  19. package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.js +137 -0
  20. package/src/{executors → builders}/module-federation-dev-server/schema.d.ts +7 -25
  21. package/src/{executors → builders}/module-federation-dev-server/schema.json +6 -31
  22. package/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.d.ts +1 -1
  23. package/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.js +9 -15
  24. package/src/builders/utilities/module-federation.js +1 -1
  25. package/src/builders/webpack-browser/schema.d.ts +2 -6
  26. package/src/builders/webpack-browser/schema.json +15 -15
  27. package/src/builders/webpack-browser/validate-options.d.ts +2 -0
  28. package/src/builders/webpack-browser/validate-options.js +40 -0
  29. package/src/builders/webpack-browser/webpack-browser.impl.js +6 -8
  30. package/src/builders/{dev-server → webpack-dev-server}/lib/index.d.ts +0 -1
  31. package/src/builders/{dev-server → webpack-dev-server}/lib/index.js +0 -1
  32. package/src/builders/webpack-dev-server/lib/normalize-options.d.ts +2 -0
  33. package/src/builders/webpack-dev-server/lib/normalize-options.js +14 -0
  34. package/src/builders/webpack-dev-server/schema.d.ts +21 -0
  35. package/src/builders/{dev-server → webpack-dev-server}/schema.json +5 -42
  36. package/src/builders/webpack-dev-server/webpack-dev-server.impl.d.ts +4 -0
  37. package/src/builders/webpack-dev-server/webpack-dev-server.impl.js +105 -0
  38. package/src/builders/webpack-server/schema.d.ts +1 -0
  39. package/src/builders/webpack-server/schema.json +20 -7
  40. package/src/builders/webpack-server/validate-options.js +7 -0
  41. package/src/builders/webpack-server/webpack-server.impl.js +9 -4
  42. package/src/executors/browser-esbuild/browser-esbuild.impl.d.ts +3 -2
  43. package/src/executors/browser-esbuild/browser-esbuild.impl.js +8 -15
  44. package/src/executors/browser-esbuild/lib/buildable-libs.d.ts +9 -0
  45. package/src/executors/{utilities → browser-esbuild/lib}/buildable-libs.js +4 -3
  46. package/src/executors/browser-esbuild/lib/validate-options.d.ts +2 -0
  47. package/src/executors/browser-esbuild/lib/validate-options.js +40 -0
  48. package/src/executors/browser-esbuild/schema.d.ts +1 -3
  49. package/src/executors/browser-esbuild/schema.json +8 -38
  50. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/compile-ngc.transform.js +4 -6
  51. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/write-package.transform.js +13 -25
  52. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ngc → ngc}/compile-source-files.d.ts +2 -1
  53. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ngc → ngc}/compile-source-files.js +9 -14
  54. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/styles → styles}/stylesheet-processor.d.ts +10 -5
  55. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/styles → styles}/stylesheet-processor.js +86 -39
  56. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ts/cache-compiler-host.d.ts +16 -0
  57. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ts/cache-compiler-host.js +175 -0
  58. package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js +17 -5
  59. package/src/executors/ng-packagr-lite/schema.json +1 -1
  60. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js +3 -5
  61. package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.d.ts +1 -1
  62. package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.js +6 -13
  63. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.d.ts +10 -5
  64. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.js +86 -39
  65. package/src/executors/package/ng-packagr-adjustments/ts/cache-compiler-host.d.ts +15 -0
  66. package/src/executors/package/ng-packagr-adjustments/ts/cache-compiler-host.js +197 -0
  67. package/src/executors/package/package.impl.d.ts +1 -1
  68. package/src/executors/package/package.impl.js +15 -5
  69. package/src/executors/package/schema.json +3 -3
  70. package/src/executors/utilities/tailwindcss.d.ts +7 -0
  71. package/src/executors/utilities/{ng-packagr/tailwindcss.js → tailwindcss.js} +22 -5
  72. package/src/executors/utilities/typescript.js +1 -1
  73. package/src/generators/add-linting/add-linting.d.ts +1 -1
  74. package/src/generators/add-linting/add-linting.js +15 -9
  75. package/src/generators/add-linting/lib/add-angular-eslint-dependencies.d.ts +2 -2
  76. package/src/generators/add-linting/lib/add-angular-eslint-dependencies.js +5 -9
  77. package/src/generators/add-linting/lib/create-eslint-configuration.d.ts +2 -2
  78. package/src/generators/add-linting/schema.json +1 -1
  79. package/src/generators/application/application.js +17 -19
  80. package/src/generators/application/files/base/tsconfig.app.json__tpl__ +1 -1
  81. package/src/generators/application/files/base/tsconfig.json__tpl__ +2 -6
  82. package/src/generators/application/files/ng-module/src/app/app.component.spec.ts__tpl__ +1 -3
  83. package/src/generators/application/files/ng-module/src/app/app.component.ts__tpl__ +2 -4
  84. package/src/generators/application/files/ng-module/src/app/app.module.ts__tpl__ +1 -1
  85. package/src/generators/application/files/ng-module/src/app/nx-welcome.component.ts__tpl__ +14 -53
  86. package/src/generators/application/files/ng-module/src/main.ts__tpl__ +8 -2
  87. package/src/generators/application/files/standalone-components/src/app/app.component.spec.ts__tpl__ +4 -6
  88. package/src/generators/application/files/standalone-components/src/app/app.component.ts__tpl__ +2 -4
  89. package/src/generators/application/files/standalone-components/src/app/app.config.ts__tpl__ +3 -3
  90. package/src/generators/application/files/standalone-components/src/app/nx-welcome.component.ts__tpl__ +14 -53
  91. package/src/generators/application/files/standalone-components/src/main.ts__tpl__ +8 -4
  92. package/src/generators/application/files/tsconfig.editor.json__tpl__ +5 -0
  93. package/src/generators/application/files/v14/.browserlistrc__tpl__ +16 -0
  94. package/src/generators/application/files/v14/src/environments/environment.prod.ts__tpl__ +3 -0
  95. package/src/generators/application/files/v14/src/environments/environment.ts__tpl__ +16 -0
  96. package/src/generators/application/files/v14/src/polyfills.ts__tpl__ +53 -0
  97. package/src/generators/application/lib/add-e2e.js +8 -22
  98. package/src/generators/application/lib/add-unit-test-runner.js +20 -5
  99. package/src/generators/application/lib/create-files.js +10 -14
  100. package/src/generators/application/lib/create-project.d.ts +1 -1
  101. package/src/generators/application/lib/create-project.js +38 -48
  102. package/src/generators/application/lib/index.d.ts +0 -1
  103. package/src/generators/application/lib/index.js +0 -1
  104. package/src/generators/application/lib/normalize-options.d.ts +1 -1
  105. package/src/generators/application/lib/normalize-options.js +6 -28
  106. package/src/generators/application/lib/normalized-schema.d.ts +0 -5
  107. package/src/generators/application/lib/update-editor-tsconfig.d.ts +1 -1
  108. package/src/generators/application/lib/update-editor-tsconfig.js +14 -11
  109. package/src/generators/application/schema.d.ts +0 -1
  110. package/src/generators/application/schema.json +10 -18
  111. package/src/generators/component/component.js +1 -4
  112. package/src/generators/component/files/__fileName__.spec.ts__tpl__ +3 -2
  113. package/src/generators/component/files/__fileName__.ts__tpl__ +2 -8
  114. package/src/generators/component/lib/component.js +1 -1
  115. package/src/generators/component/lib/index.d.ts +1 -1
  116. package/src/generators/component/lib/index.js +1 -1
  117. package/src/generators/component/lib/normalize-options.js +2 -3
  118. package/src/generators/{setup-mf/lib/update-tsconfig.d.ts → component/lib/validate-options.d.ts} +1 -1
  119. package/src/generators/component/lib/validate-options.js +8 -0
  120. package/src/generators/component/schema.d.ts +3 -3
  121. package/src/generators/component/schema.json +4 -4
  122. package/src/generators/component-cypress-spec/files/__componentFileName__.__fileExt__ +8 -13
  123. package/src/generators/component-cypress-spec/schema.json +1 -1
  124. package/src/generators/component-story/files/__componentFileName__.stories.ts__tmpl__ +2 -2
  125. package/src/generators/component-test/component-test.d.ts +1 -1
  126. package/src/generators/component-test/component-test.js +3 -8
  127. package/src/generators/component-test/files/__componentFileName__.cy.ts__tpl__ +11 -9
  128. package/src/generators/component-test/schema.json +1 -1
  129. package/src/generators/convert-to-with-mf/convert-to-with-mf.js +1 -3
  130. package/src/generators/convert-to-with-mf/lib/write-new-webpack-config.js +2 -3
  131. package/src/generators/convert-to-with-mf/schema.d.ts +0 -1
  132. package/src/generators/convert-to-with-mf/schema.json +0 -6
  133. package/src/generators/cypress-component-configuration/cypress-component-configuration.d.ts +1 -2
  134. package/src/generators/cypress-component-configuration/cypress-component-configuration.js +24 -43
  135. package/src/generators/directive/directive.js +1 -0
  136. package/src/generators/directive/files/__fileName__.ts__tpl__ +3 -1
  137. package/src/generators/directive/lib/index.d.ts +1 -0
  138. package/src/generators/directive/lib/index.js +1 -0
  139. package/src/generators/directive/lib/normalize-options.js +1 -3
  140. package/src/generators/directive/lib/validate-options.d.ts +3 -0
  141. package/src/generators/directive/lib/validate-options.js +8 -0
  142. package/src/generators/directive/schema.d.ts +3 -3
  143. package/src/generators/directive/schema.json +4 -4
  144. package/src/generators/federate-module/federate-module.js +0 -1
  145. package/src/generators/federate-module/lib/add-remote.d.ts +1 -1
  146. package/src/generators/federate-module/lib/add-remote.js +11 -2
  147. package/src/generators/federate-module/schema.json +3 -3
  148. package/src/generators/host/files/ts/webpack.server.config.ts__tmpl__ +2 -2
  149. package/src/generators/host/host.js +9 -8
  150. package/src/generators/host/lib/add-ssr.d.ts +3 -0
  151. package/src/generators/host/lib/{update-ssr-setup.js → add-ssr.js} +14 -8
  152. package/src/generators/host/lib/index.d.ts +1 -1
  153. package/src/generators/host/lib/index.js +1 -1
  154. package/src/generators/host/schema.json +6 -6
  155. package/src/generators/init/init.d.ts +2 -2
  156. package/src/generators/init/init.js +137 -19
  157. package/src/generators/init/schema.d.ts +9 -1
  158. package/src/generators/init/schema.json +59 -8
  159. package/src/generators/library/files/ng-module/src/lib/lib.routes.ts__tpl__ +1 -1
  160. package/src/generators/library/files/standalone-components/src/lib/lib.routes.ts__tpl__ +1 -1
  161. package/src/generators/library/lib/add-load-children.js +2 -2
  162. package/src/generators/library/lib/add-project.js +22 -24
  163. package/src/generators/library/lib/add-standalone-component.d.ts +2 -2
  164. package/src/generators/library/lib/add-standalone-component.js +4 -5
  165. package/src/generators/library/lib/normalize-options.js +5 -2
  166. package/src/generators/library/lib/update-tsconfig.js +3 -3
  167. package/src/generators/library/library.js +27 -15
  168. package/src/generators/library/schema.d.ts +0 -1
  169. package/src/generators/library/schema.json +13 -13
  170. package/src/generators/library-secondary-entry-point/files/src/index.ts__tmpl__ +5 -1
  171. package/src/generators/library-secondary-entry-point/lib/index.d.ts +1 -0
  172. package/src/generators/library-secondary-entry-point/lib/index.js +1 -0
  173. package/src/generators/library-secondary-entry-point/lib/update-linting-file-patterns.d.ts +3 -0
  174. package/src/generators/library-secondary-entry-point/lib/update-linting-file-patterns.js +15 -0
  175. package/src/generators/library-secondary-entry-point/library-secondary-entry-point.js +2 -3
  176. package/src/generators/library-secondary-entry-point/schema.d.ts +0 -1
  177. package/src/generators/library-secondary-entry-point/schema.json +3 -9
  178. package/src/generators/move/schema.json +1 -1
  179. package/src/generators/ng-add/migrate-from-angular-cli.js +1 -1
  180. package/src/generators/ng-add/migrators/projects/app.migrator.js +7 -50
  181. package/src/generators/ng-add/migrators/projects/e2e.migrator.js +23 -31
  182. package/src/generators/ng-add/ng-add.js +8 -1
  183. package/src/generators/ng-add/schema.json +1 -1
  184. package/src/generators/ng-add/utilities/workspace.d.ts +1 -1
  185. package/src/generators/ng-add/utilities/workspace.js +16 -9
  186. package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.models.ts__tmpl__ +1 -1
  187. package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.selectors.spec.ts__tmpl__ +1 -1
  188. package/src/generators/ngrx/files/no-inject/__directory__/__fileName__.effects.ts__tmpl__ +22 -0
  189. package/src/generators/ngrx/files/no-inject/__directory__/__fileName__.facade.ts__tmpl__ +27 -0
  190. package/src/generators/ngrx/lib/generate-files.js +10 -1
  191. package/src/generators/ngrx/lib/validate-options.js +23 -0
  192. package/src/generators/ngrx/schema.json +3 -3
  193. package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.models.ts__tmpl__ +1 -1
  194. package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.selectors.spec.ts__tmpl__ +1 -1
  195. package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.effects.ts__tmpl__ +22 -0
  196. package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.facade.ts__tmpl__ +27 -0
  197. package/src/generators/ngrx-feature-store/lib/generate-files.js +12 -1
  198. package/src/generators/ngrx-feature-store/lib/validate-options.js +22 -0
  199. package/src/generators/ngrx-feature-store/schema.json +3 -3
  200. package/src/generators/ngrx-root-store/lib/normalize-options.js +1 -1
  201. package/src/generators/ngrx-root-store/lib/validate-options.js +15 -0
  202. package/src/generators/ngrx-root-store/schema.json +2 -2
  203. package/src/generators/pipe/files/__fileName__.ts__tpl__ +2 -0
  204. package/src/generators/pipe/lib/index.d.ts +1 -0
  205. package/src/generators/pipe/lib/index.js +1 -0
  206. package/src/generators/pipe/lib/normalize-options.js +0 -1
  207. package/src/generators/pipe/lib/validate-options.d.ts +3 -0
  208. package/src/generators/pipe/lib/validate-options.js +8 -0
  209. package/src/generators/pipe/pipe.js +1 -0
  210. package/src/generators/pipe/schema.d.ts +3 -3
  211. package/src/generators/pipe/schema.json +4 -4
  212. package/src/generators/remote/files/base-ts/webpack.server.config.ts__tmpl__ +2 -2
  213. package/src/generators/remote/files/common/{pre-v17/src → src}/main.server.ts__tmpl__ +3 -1
  214. package/src/generators/remote/lib/{update-ssr-setup.d.ts → add-ssr.d.ts} +1 -1
  215. package/src/generators/remote/lib/{update-ssr-setup.js → add-ssr.js} +13 -9
  216. package/src/generators/remote/lib/index.d.ts +1 -1
  217. package/src/generators/remote/lib/index.js +1 -1
  218. package/src/generators/remote/remote.js +9 -7
  219. package/src/generators/remote/schema.json +6 -6
  220. package/src/generators/scam/lib/convert-component-to-scam.js +1 -2
  221. package/src/generators/scam/schema.d.ts +3 -3
  222. package/src/generators/scam/schema.json +2 -2
  223. package/src/generators/scam-directive/lib/convert-directive-to-scam.js +1 -2
  224. package/src/generators/scam-directive/scam-directive.js +1 -3
  225. package/src/generators/scam-directive/schema.d.ts +3 -4
  226. package/src/generators/scam-directive/schema.json +2 -8
  227. package/src/generators/scam-pipe/lib/convert-pipe-to-scam.js +1 -2
  228. package/src/generators/scam-pipe/scam-pipe.js +1 -3
  229. package/src/generators/scam-pipe/schema.d.ts +3 -4
  230. package/src/generators/scam-pipe/schema.json +2 -8
  231. package/src/generators/scam-to-standalone/scam-to-standalone.js +7 -0
  232. package/src/generators/scam-to-standalone/schema.json +2 -2
  233. package/src/generators/setup-mf/files/host-files/app.component.spec.ts__tmpl__ +1 -3
  234. package/src/generators/setup-mf/files/ts-webpack/module-federation.config.ts__tmpl__ +0 -12
  235. package/src/generators/setup-mf/files/ts-webpack/webpack.config.ts__tmpl__ +1 -1
  236. package/src/generators/setup-mf/files/ts-webpack/webpack.prod.config.ts__tmpl__ +12 -12
  237. package/src/generators/setup-mf/files/webpack/module-federation.config.js__tmpl__ +1 -13
  238. package/src/generators/setup-mf/lib/add-cypress-workaround.js +4 -14
  239. package/src/generators/setup-mf/lib/add-remote-entry.js +11 -2
  240. package/src/generators/setup-mf/lib/add-remote-to-host.js +1 -1
  241. package/src/generators/setup-mf/lib/fix-bootstrap.js +18 -10
  242. package/src/generators/setup-mf/lib/generate-config.js +0 -3
  243. package/src/generators/setup-mf/lib/index.d.ts +1 -1
  244. package/src/generators/setup-mf/lib/index.js +1 -1
  245. package/src/generators/setup-mf/lib/normalize-options.js +1 -2
  246. package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +10 -10
  247. package/src/generators/setup-mf/lib/set-tsconfig-target.d.ts +3 -0
  248. package/src/generators/setup-mf/lib/set-tsconfig-target.js +16 -0
  249. package/src/generators/setup-mf/lib/setup-serve-target.js +1 -1
  250. package/src/generators/setup-mf/lib/update-host-app-routes.js +2 -2
  251. package/src/generators/setup-mf/schema.d.ts +0 -1
  252. package/src/generators/setup-mf/schema.json +3 -8
  253. package/src/generators/setup-mf/setup-mf.js +7 -1
  254. package/src/generators/setup-ssr/files/{server/server-builder/pre-v17 → ngmodule/base}/__serverFileName__ +8 -7
  255. package/src/generators/setup-ssr/files/ngmodule/base/src/__main__ +1 -1
  256. package/src/generators/setup-ssr/files/ngmodule/v14/src/__main__ +11 -0
  257. package/src/generators/setup-ssr/files/{server/server-builder/v17+ → standalone}/__serverFileName__ +16 -25
  258. package/src/generators/setup-ssr/lib/add-hydration.js +5 -11
  259. package/src/generators/setup-ssr/lib/generate-files.d.ts +1 -1
  260. package/src/generators/setup-ssr/lib/generate-files.js +16 -11
  261. package/src/generators/setup-ssr/lib/index.d.ts +0 -4
  262. package/src/generators/setup-ssr/lib/index.js +0 -4
  263. package/src/generators/setup-ssr/lib/normalize-options.js +1 -7
  264. package/src/generators/setup-ssr/lib/update-project-config.d.ts +1 -2
  265. package/src/generators/setup-ssr/lib/update-project-config.js +13 -46
  266. package/src/generators/setup-ssr/lib/validate-options.js +2 -15
  267. package/src/generators/setup-ssr/schema.json +4 -4
  268. package/src/generators/setup-ssr/setup-ssr.js +12 -18
  269. package/src/generators/setup-tailwind/schema.json +1 -1
  270. package/src/generators/stories/schema.json +1 -1
  271. package/src/generators/stories/stories.js +2 -2
  272. package/src/generators/storybook-configuration/lib/generate-stories.js +4 -6
  273. package/src/generators/storybook-configuration/lib/generate-storybook-configuration.js +1 -3
  274. package/src/generators/storybook-configuration/schema.d.ts +1 -1
  275. package/src/generators/storybook-configuration/schema.json +7 -7
  276. package/src/generators/storybook-configuration/storybook-configuration.js +5 -8
  277. package/src/generators/utils/create-ts-config.d.ts +8 -0
  278. package/src/generators/utils/create-ts-config.js +35 -0
  279. package/src/generators/utils/dependencies.js +2 -1
  280. package/src/generators/utils/export-scam.js +2 -2
  281. package/src/generators/utils/project.d.ts +1 -0
  282. package/src/generators/utils/project.js +29 -2
  283. package/src/generators/utils/selector.d.ts +2 -2
  284. package/src/generators/utils/selector.js +4 -11
  285. package/src/generators/utils/testing.js +1 -24
  286. package/src/generators/utils/validations.d.ts +1 -0
  287. package/src/generators/utils/validations.js +14 -1
  288. package/src/generators/utils/version-utils.d.ts +2 -2
  289. package/src/generators/utils/version-utils.js +3 -3
  290. package/src/utils/backward-compatible-versions.d.ts +4 -6
  291. package/src/utils/backward-compatible-versions.js +22 -20
  292. package/src/utils/mf/utils.js +0 -7
  293. package/src/utils/mf/with-module-federation-ssr.js +0 -3
  294. package/src/utils/mf/with-module-federation.js +0 -3
  295. package/src/utils/nx-devkit/ast-utils.js +2 -4
  296. package/src/utils/nx-devkit/testing.js +31 -27
  297. package/src/utils/{index.d.ts → public-api.d.ts} +0 -5
  298. package/src/utils/{index.js → public-api.js} +0 -5
  299. package/src/utils/version-utils.d.ts +3 -3
  300. package/src/utils/versions.d.ts +11 -9
  301. package/src/utils/versions.js +12 -10
  302. package/src/builders/dev-server/dev-server.impl.d.ts +0 -4
  303. package/src/builders/dev-server/dev-server.impl.js +0 -160
  304. package/src/builders/dev-server/lib/normalize-options.d.ts +0 -2
  305. package/src/builders/dev-server/lib/normalize-options.js +0 -20
  306. package/src/builders/dev-server/lib/validate-options.d.ts +0 -2
  307. package/src/builders/dev-server/lib/validate-options.js +0 -22
  308. package/src/builders/dev-server/schema.d.ts +0 -39
  309. package/src/executors/application/application.impl.d.ts +0 -3
  310. package/src/executors/application/application.impl.js +0 -37
  311. package/src/executors/application/schema.d.ts +0 -8
  312. package/src/executors/application/schema.json +0 -682
  313. package/src/executors/application/utils/validate-options.d.ts +0 -2
  314. package/src/executors/application/utils/validate-options.js +0 -52
  315. package/src/executors/extract-i18n/extract-i18n.impl.d.ts +0 -3
  316. package/src/executors/extract-i18n/extract-i18n.impl.js +0 -43
  317. package/src/executors/extract-i18n/schema.d.ts +0 -8
  318. package/src/executors/extract-i18n/schema.json +0 -45
  319. package/src/executors/module-federation-dev-server/lib/build-static-remotes.d.ts +0 -4
  320. package/src/executors/module-federation-dev-server/lib/build-static-remotes.js +0 -56
  321. package/src/executors/module-federation-dev-server/lib/index.d.ts +0 -5
  322. package/src/executors/module-federation-dev-server/lib/index.js +0 -8
  323. package/src/executors/module-federation-dev-server/lib/normalize-options.d.ts +0 -2
  324. package/src/executors/module-federation-dev-server/lib/normalize-options.js +0 -23
  325. package/src/executors/module-federation-dev-server/lib/parse-static-remotes-config.d.ts +0 -11
  326. package/src/executors/module-federation-dev-server/lib/parse-static-remotes-config.js +0 -18
  327. package/src/executors/module-federation-dev-server/lib/start-dev-remotes.d.ts +0 -9
  328. package/src/executors/module-federation-dev-server/lib/start-dev-remotes.js +0 -29
  329. package/src/executors/module-federation-dev-server/lib/start-static-remotes-file-server.d.ts +0 -9
  330. package/src/executors/module-federation-dev-server/lib/start-static-remotes-file-server.js +0 -46
  331. package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +0 -4
  332. package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +0 -115
  333. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.d.ts +0 -3
  334. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.js +0 -34
  335. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.di.d.ts +0 -2
  336. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.di.js +0 -12
  337. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.transform.d.ts +0 -8
  338. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.transform.js +0 -12
  339. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.di.d.ts +0 -8
  340. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.di.js +0 -18
  341. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.d.ts +0 -8
  342. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.js +0 -285
  343. package/src/executors/package/ng-packagr-adjustments/ng-packagr.d.ts +0 -3
  344. package/src/executors/package/ng-packagr-adjustments/ng-packagr.js +0 -28
  345. package/src/executors/utilities/buildable-libs.d.ts +0 -6
  346. package/src/executors/utilities/esbuild-extensions.d.ts +0 -10
  347. package/src/executors/utilities/esbuild-extensions.js +0 -50
  348. package/src/executors/utilities/module-loader.d.ts +0 -15
  349. package/src/executors/utilities/module-loader.js +0 -52
  350. package/src/executors/utilities/ng-compiler-cli.d.ts +0 -1
  351. package/src/executors/utilities/ng-compiler-cli.js +0 -8
  352. package/src/executors/utilities/ng-packagr/stylesheet-processor.d.ts +0 -49
  353. package/src/executors/utilities/ng-packagr/stylesheet-processor.di.d.ts +0 -2
  354. package/src/executors/utilities/ng-packagr/stylesheet-processor.di.js +0 -16
  355. package/src/executors/utilities/ng-packagr/stylesheet-processor.js +0 -209
  356. package/src/executors/utilities/ng-packagr/tailwindcss.d.ts +0 -7
  357. package/src/executors/utilities/patch-builder-context.d.ts +0 -3
  358. package/src/executors/utilities/patch-builder-context.js +0 -41
  359. package/src/generators/add-linting/lib/buildable-project.d.ts +0 -2
  360. package/src/generators/add-linting/lib/buildable-project.js +0 -9
  361. package/src/generators/application/lib/set-generator-defaults.d.ts +0 -3
  362. package/src/generators/application/lib/set-generator-defaults.js +0 -17
  363. package/src/generators/component/lib/set-generator-defaults.d.ts +0 -3
  364. package/src/generators/component/lib/set-generator-defaults.js +0 -14
  365. package/src/generators/convert-to-application-executor/convert-to-application-executor.d.ts +0 -4
  366. package/src/generators/convert-to-application-executor/convert-to-application-executor.js +0 -242
  367. package/src/generators/convert-to-application-executor/schema.d.ts +0 -4
  368. package/src/generators/convert-to-application-executor/schema.json +0 -26
  369. package/src/generators/host/files/common/v17+/src/main.server.ts__tmpl__ +0 -67
  370. package/src/generators/host/lib/update-ssr-setup.d.ts +0 -3
  371. package/src/generators/library/lib/set-generator-defaults.d.ts +0 -3
  372. package/src/generators/library/lib/set-generator-defaults.js +0 -15
  373. package/src/generators/remote/files/common/v17+/src/main.server.ts__tmpl__ +0 -73
  374. package/src/generators/setup-mf/files/ts-webpack/tsconfig.lint.json__tmpl__ +0 -12
  375. package/src/generators/setup-mf/lib/update-tsconfig.js +0 -19
  376. package/src/generators/setup-ssr/files/server/application-builder/__serverFileName__ +0 -56
  377. package/src/generators/setup-ssr/lib/add-dependencies.d.ts +0 -2
  378. package/src/generators/setup-ssr/lib/add-dependencies.js +0 -36
  379. package/src/generators/setup-ssr/lib/add-server-file.d.ts +0 -3
  380. package/src/generators/setup-ssr/lib/add-server-file.js +0 -31
  381. package/src/generators/setup-ssr/lib/constants.d.ts +0 -3
  382. package/src/generators/setup-ssr/lib/constants.js +0 -6
  383. package/src/generators/setup-ssr/lib/generate-server-ts-config.d.ts +0 -4
  384. package/src/generators/setup-ssr/lib/generate-server-ts-config.js +0 -29
  385. package/src/generators/setup-ssr/lib/set-router-initial-navigation.d.ts +0 -3
  386. package/src/generators/setup-ssr/lib/set-router-initial-navigation.js +0 -93
  387. package/src/generators/utils/add-jest.d.ts +0 -8
  388. package/src/generators/utils/add-jest.js +0 -36
  389. package/src/generators/utils/add-mf-env-to-inputs.d.ts +0 -2
  390. package/src/generators/utils/add-mf-env-to-inputs.js +0 -27
  391. package/src/generators/utils/ensure-angular-dependencies.d.ts +0 -2
  392. package/src/generators/utils/ensure-angular-dependencies.js +0 -35
  393. package/src/generators/utils/update-app-editor-tsconfig-excluded-files.d.ts +0 -2
  394. package/src/generators/utils/update-app-editor-tsconfig-excluded-files.js +0 -23
  395. package/src/generators/utils/update-project-root-tsconfig.d.ts +0 -3
  396. package/src/generators/utils/update-project-root-tsconfig.js +0 -26
  397. package/src/migrations/update-17-1-0/browser-target-to-build-target.d.ts +0 -3
  398. package/src/migrations/update-17-1-0/browser-target-to-build-target.js +0 -50
  399. package/src/migrations/update-17-1-0/replace-nguniversal-builders.d.ts +0 -2
  400. package/src/migrations/update-17-1-0/replace-nguniversal-builders.js +0 -75
  401. package/src/migrations/update-17-1-0/replace-nguniversal-engines.d.ts +0 -2
  402. package/src/migrations/update-17-1-0/replace-nguniversal-engines.js +0 -183
  403. package/src/migrations/update-17-1-0/update-angular-cli.d.ts +0 -3
  404. package/src/migrations/update-17-1-0/update-angular-cli.js +0 -23
  405. package/src/migrations/update-17-1-0/update-zone-js-deep-import.d.ts +0 -2
  406. package/src/migrations/update-17-1-0/update-zone-js-deep-import.js +0 -37
  407. package/src/migrations/update-17-2-0/rename-webpack-dev-server.d.ts +0 -2
  408. package/src/migrations/update-17-2-0/rename-webpack-dev-server.js +0 -40
  409. package/src/migrations/update-17-3-0/add-autoprefixer-dependency.d.ts +0 -2
  410. package/src/migrations/update-17-3-0/add-autoprefixer-dependency.js +0 -26
  411. package/src/migrations/update-17-3-0/add-browser-sync-dependency.d.ts +0 -2
  412. package/src/migrations/update-17-3-0/add-browser-sync-dependency.js +0 -26
  413. package/src/migrations/update-17-3-0/update-angular-cli.d.ts +0 -3
  414. package/src/migrations/update-17-3-0/update-angular-cli.js +0 -23
  415. package/src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults.d.ts +0 -2
  416. package/src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults.js +0 -26
  417. package/src/migrations/update-18-1-0/update-angular-cli.d.ts +0 -3
  418. package/src/migrations/update-18-1-0/update-angular-cli.js +0 -23
  419. package/src/migrations/update-18-1-1/fix-target-defaults-inputs.d.ts +0 -2
  420. package/src/migrations/update-18-1-1/fix-target-defaults-inputs.js +0 -53
  421. package/src/migrations/update-18-2-0/update-angular-cli.d.ts +0 -3
  422. package/src/migrations/update-18-2-0/update-angular-cli.js +0 -23
  423. package/src/utils/targets.d.ts +0 -2
  424. package/src/utils/targets.js +0 -17
  425. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/compile-ngc.di.d.ts +0 -0
  426. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/compile-ngc.di.js +0 -0
  427. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/compile-ngc.transform.d.ts +0 -0
  428. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/entry-point.di.d.ts +0 -0
  429. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/entry-point.di.js +0 -0
  430. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/entry-point.transform.d.ts +0 -0
  431. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/entry-point.transform.js +0 -0
  432. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/write-package.di.d.ts +0 -0
  433. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/write-package.di.js +0 -0
  434. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/write-package.transform.d.ts +0 -0
  435. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/options.di.d.ts +0 -0
  436. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/options.di.js +0 -0
  437. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/package.di.d.ts +0 -0
  438. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/package.di.js +0 -0
  439. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/styles → styles}/stylesheet-processor.di.d.ts +0 -0
  440. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/styles → styles}/stylesheet-processor.di.js +0 -0
  441. /package/src/generators/host/files/common/{pre-v17/src → src}/main.server.ts__tmpl__ +0 -0
  442. /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.actions.ts__tmpl__ +0 -0
  443. /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.effects.spec.ts__tmpl__ +0 -0
  444. /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.effects.ts__tmpl__ +0 -0
  445. /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.facade.spec.ts__tmpl__ +0 -0
  446. /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.facade.ts__tmpl__ +0 -0
  447. /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.reducer.spec.ts__tmpl__ +0 -0
  448. /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.reducer.ts__tmpl__ +0 -0
  449. /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.selectors.ts__tmpl__ +0 -0
  450. /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.actions.ts__tmpl__ +0 -0
  451. /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.effects.spec.ts__tmpl__ +0 -0
  452. /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.effects.ts__tmpl__ +0 -0
  453. /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.facade.spec.ts__tmpl__ +0 -0
  454. /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.facade.ts__tmpl__ +0 -0
  455. /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.reducer.spec.ts__tmpl__ +0 -0
  456. /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.reducer.ts__tmpl__ +0 -0
  457. /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.selectors.ts__tmpl__ +0 -0
  458. /package/src/generators/setup-ssr/files/{root → base}/tsconfig.server.json__tpl__ +0 -0
@@ -24,11 +24,9 @@ const compileNgcTransformFactory = (StylesheetProcessor, options) => {
24
24
  hideCursor: false,
25
25
  discardStdin: false,
26
26
  });
27
- const entryPoints = graph.filter(nodes_1.isEntryPoint);
28
- const entryPoint = graph.find((0, nodes_1.isEntryPointInProgress)());
29
- const ngPackageNode = graph.find(nodes_1.isPackage);
30
- const projectBasePath = ngPackageNode.data.primary.basePath;
31
27
  try {
28
+ const entryPoint = graph.find((0, nodes_1.isEntryPointInProgress)());
29
+ const entryPoints = graph.filter(nodes_1.isEntryPoint);
32
30
  // Add paths mappings for dependencies
33
31
  const tsConfig = (0, tsconfig_1.setDependenciesTsConfigPaths)(entryPoint.data.tsConfig, entryPoints);
34
32
  const angularVersion = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
@@ -49,7 +47,7 @@ const compileNgcTransformFactory = (StylesheetProcessor, options) => {
49
47
  await ngccProcessor.process();
50
48
  }
51
49
  }
52
- entryPoint.cache.stylesheetProcessor ??= new StylesheetProcessor(projectBasePath, basePath, cssUrl, styleIncludePaths, options.cacheEnabled && options.cacheDirectory, options.tailwindConfig);
50
+ entryPoint.cache.stylesheetProcessor ??= new StylesheetProcessor(basePath, cssUrl, styleIncludePaths, options.cacheEnabled && options.cacheDirectory, options.watch, options.tailwindConfig);
53
51
  await (0, compile_source_files_1.compileSourceFiles)(graph, tsConfig, moduleResolutionCache, options, {
54
52
  outDir: path.dirname(esmModulePath),
55
53
  declarationDir: path.dirname(declarations),
@@ -2,7 +2,7 @@
2
2
  * Adapted from the original ng-packagr source.
3
3
  *
4
4
  * Changes made:
5
- * - Use custom StylesheetProcessor instead of the one provided by ng-packagr.
5
+ * - Use custom cacheCompilerHost instead of the one provided by ng-packagr.
6
6
  * - Support ngcc for Angular < 16.
7
7
  * - Support Angular Compiler `incrementalDriver` for Angular < 16.
8
8
  */
@@ -3,7 +3,7 @@
3
3
  * Adapted from the original ng-packagr source.
4
4
  *
5
5
  * Changes made:
6
- * - Use custom StylesheetProcessor instead of the one provided by ng-packagr.
6
+ * - Use custom cacheCompilerHost instead of the one provided by ng-packagr.
7
7
  * - Support ngcc for Angular < 16.
8
8
  * - Support Angular Compiler `incrementalDriver` for Angular < 16.
9
9
  */
@@ -11,11 +11,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.compileSourceFiles = void 0;
12
12
  const nodes_1 = require("ng-packagr/lib/ng-package/nodes");
13
13
  const log = require("ng-packagr/lib/utils/log");
14
- const cache_compiler_host_1 = require("ng-packagr/lib/ts/cache-compiler-host");
14
+ const ng_compiler_cli_1 = require("ng-packagr/lib/utils/ng-compiler-cli");
15
15
  const node_path_1 = require("node:path");
16
16
  const ts = require("typescript");
17
17
  const angular_version_utils_1 = require("../../../utilities/angular-version-utils");
18
- const ng_compiler_cli_1 = require("../../../utilities/ng-compiler-cli");
18
+ const cache_compiler_host_1 = require("../ts/cache-compiler-host");
19
19
  async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, options, extraOptions, stylesheetProcessor, ngccProcessor) {
20
20
  const { NgtscProgram, formatDiagnostics } = await (0, ng_compiler_cli_1.ngCompilerCli)();
21
21
  const { cacheDirectory, watch, cacheEnabled } = options;
@@ -59,7 +59,9 @@ async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, option
59
59
  cache.oldNgtscProgram = angularProgram;
60
60
  }
61
61
  else {
62
- builder = ts.createEmitAndSemanticDiagnosticsBuilderProgram(typeScriptProgram, tsCompilerHost);
62
+ // When not in watch mode, the startup cost of the incremental analysis can be avoided by
63
+ // using an abstract builder that only wraps a TypeScript program.
64
+ builder = ts.createAbstractBuilder(typeScriptProgram, tsCompilerHost);
63
65
  }
64
66
  // Update semantic diagnostics cache
65
67
  const affectedFiles = new Set();
@@ -156,15 +158,6 @@ async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, option
156
158
  throw new Error(formatDiagnostics(errorDiagnostics));
157
159
  }
158
160
  const transformers = angularCompiler.prepareEmit().transformers;
159
- if ('getSemanticDiagnosticsOfNextAffectedFile' in builder) {
160
- while (builder.emitNextAffectedFile((fileName, data, writeByteOrderMark, onError, sourceFiles) => {
161
- if (fileName.endsWith('.tsbuildinfo')) {
162
- tsCompilerHost.writeFile(fileName, data, writeByteOrderMark, onError, sourceFiles);
163
- }
164
- })) {
165
- // empty
166
- }
167
- }
168
161
  const angularVersion = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
169
162
  const incrementalCompilation = angularVersion.major < 16
170
163
  ? angularCompiler.incrementalDriver
@@ -2,8 +2,10 @@
2
2
  * Adapted from the original ng-packagr source.
3
3
  *
4
4
  * Changes made:
5
+ * - Added the filePath parameter to the cache key.
5
6
  * - Refactored caching to take into account TailwindCSS processing.
6
- * - Added PostCSS plugin needed to support TailwindCSS.
7
+ * - Added PostCSS plugins needed to support TailwindCSS.
8
+ * - Added watch mode parameter.
7
9
  */
8
10
  export declare enum CssUrl {
9
11
  inline = "inline",
@@ -15,22 +17,25 @@ export interface Result {
15
17
  error?: string;
16
18
  }
17
19
  export declare class StylesheetProcessor {
18
- private readonly projectBasePath;
19
20
  private readonly basePath;
20
21
  private readonly cssUrl?;
21
22
  private readonly includePaths?;
22
- private cacheDirectory?;
23
+ private readonly cacheDirectory?;
24
+ private readonly watch?;
23
25
  private readonly tailwindConfig?;
24
26
  private browserslistData;
25
27
  private targets;
26
28
  private postCssProcessor;
27
29
  private esbuild;
28
30
  private styleIncludePaths;
29
- constructor(projectBasePath: string, basePath: string, cssUrl?: CssUrl, includePaths?: string[], cacheDirectory?: string | false, tailwindConfig?: string);
31
+ private tailwindSetup;
32
+ constructor(basePath: string, cssUrl?: CssUrl, includePaths?: string[], cacheDirectory?: string | false, watch?: boolean, tailwindConfig?: string);
30
33
  process({ filePath, content, }: {
31
34
  filePath: string;
32
35
  content: string;
33
36
  }): Promise<string>;
34
- private createPostCssProcessor;
37
+ private getCachedResult;
38
+ private containsTailwindDirectives;
39
+ private createPostCssPlugins;
35
40
  private renderCss;
36
41
  }
@@ -3,8 +3,10 @@
3
3
  * Adapted from the original ng-packagr source.
4
4
  *
5
5
  * Changes made:
6
+ * - Added the filePath parameter to the cache key.
6
7
  * - Refactored caching to take into account TailwindCSS processing.
7
- * - Added PostCSS plugin needed to support TailwindCSS.
8
+ * - Added PostCSS plugins needed to support TailwindCSS.
9
+ * - Added watch mode parameter.
8
10
  */
9
11
  Object.defineProperty(exports, "__esModule", { value: true });
10
12
  exports.StylesheetProcessor = exports.CssUrl = void 0;
@@ -14,10 +16,11 @@ const esbuild_executor_1 = require("ng-packagr/lib/esbuild/esbuild-executor");
14
16
  const cache_1 = require("ng-packagr/lib/utils/cache");
15
17
  const log = require("ng-packagr/lib/utils/log");
16
18
  const path_1 = require("path");
17
- const autoprefixer = require("autoprefixer");
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 tailwindcss_1 = require("../../../utilities/ng-packagr/tailwindcss");
22
+ const angular_version_utils_1 = require("../../../utilities/angular-version-utils");
23
+ const tailwindcss_1 = require("../../../utilities/tailwindcss");
21
24
  const postcss = require('postcss');
22
25
  var CssUrl;
23
26
  (function (CssUrl) {
@@ -25,20 +28,20 @@ var CssUrl;
25
28
  CssUrl["none"] = "none";
26
29
  })(CssUrl || (exports.CssUrl = CssUrl = {}));
27
30
  class StylesheetProcessor {
28
- constructor(projectBasePath, basePath, cssUrl, includePaths, cacheDirectory, tailwindConfig) {
29
- this.projectBasePath = projectBasePath;
31
+ constructor(basePath, cssUrl, includePaths, cacheDirectory, watch, tailwindConfig) {
32
+ // By default, browserslist defaults are too inclusive
33
+ // https://github.com/browserslist/browserslist/blob/83764ea81ffaa39111c204b02c371afa44a4ff07/index.js#L516-L522
30
34
  this.basePath = basePath;
31
35
  this.cssUrl = cssUrl;
32
36
  this.includePaths = includePaths;
33
37
  this.cacheDirectory = cacheDirectory;
38
+ this.watch = watch;
34
39
  this.tailwindConfig = tailwindConfig;
35
40
  this.esbuild = new esbuild_executor_1.EsbuildExecutor();
36
- // By default, browserslist defaults are too inclusive
37
- // https://github.com/browserslist/browserslist/blob/83764ea81ffaa39111c204b02c371afa44a4ff07/index.js#L516-L522
38
41
  // We change the default query to browsers that Angular support.
39
42
  // https://angular.io/guide/browser-support
40
43
  browserslist.defaults = [
41
- 'last 2 Chrome versions',
44
+ 'last 2 Chrome version',
42
45
  'last 1 Firefox version',
43
46
  'last 2 Edge major versions',
44
47
  'last 2 Safari major versions',
@@ -58,24 +61,17 @@ class StylesheetProcessor {
58
61
  }
59
62
  this.browserslistData = browserslist(undefined, { path: this.basePath });
60
63
  this.targets = transformSupportedBrowsersToTargets(this.browserslistData);
61
- const tailwindSetup = (0, tailwindcss_1.getTailwindSetup)(this.projectBasePath, this.tailwindConfig);
62
- if (tailwindSetup) {
63
- this.cacheDirectory = undefined;
64
- }
65
- this.postCssProcessor = this.createPostCssProcessor(tailwindSetup);
64
+ this.tailwindSetup = (0, tailwindcss_1.getTailwindSetup)(this.basePath, this.tailwindConfig);
65
+ this.postCssProcessor = this.createPostCssPlugins();
66
66
  }
67
67
  async process({ filePath, content, }) {
68
- const CACHE_KEY_VALUES = [
69
- ...this.browserslistData,
70
- ...this.styleIncludePaths,
71
- this.cssUrl,
72
- ].join(':');
73
68
  let key;
74
69
  if (this.cacheDirectory &&
75
70
  !content.includes('@import') &&
76
- !content.includes('@use')) {
71
+ !content.includes('@use') &&
72
+ !this.containsTailwindDirectives(content)) {
77
73
  // No transitive deps and no Tailwind directives, we can cache more aggressively.
78
- key = await (0, cache_1.generateKey)(content, CACHE_KEY_VALUES);
74
+ key = await (0, cache_1.generateKey)(content, ...this.browserslistData, filePath);
79
75
  const result = await (0, cache_1.readCacheEntry)(this.cacheDirectory, key);
80
76
  if (result) {
81
77
  result.warnings.forEach((msg) => log.warn(msg));
@@ -84,16 +80,18 @@ class StylesheetProcessor {
84
80
  }
85
81
  // Render pre-processor language (sass, styl, less)
86
82
  const renderedCss = await this.renderCss(filePath, content);
87
- // We cannot cache CSS re-rendering phase, because a transitive dependency via (@import) can case different CSS output.
88
- // Example a change in a mixin or SCSS variable.
89
- if (!key) {
90
- key = await (0, cache_1.generateKey)(renderedCss, CACHE_KEY_VALUES);
91
- }
83
+ let containsTailwindDirectives = false;
92
84
  if (this.cacheDirectory) {
93
- const cachedResult = await (0, cache_1.readCacheEntry)(this.cacheDirectory, key);
94
- if (cachedResult) {
95
- cachedResult.warnings.forEach((msg) => log.warn(msg));
96
- return cachedResult.css;
85
+ containsTailwindDirectives = this.containsTailwindDirectives(renderedCss);
86
+ if (!containsTailwindDirectives) {
87
+ // No Tailwind directives to process by PostCSS, we can return cached results
88
+ if (!key) {
89
+ key = await (0, cache_1.generateKey)(renderedCss, ...this.browserslistData, filePath);
90
+ }
91
+ const cachedResult = await this.getCachedResult(key);
92
+ if (cachedResult) {
93
+ return cachedResult;
94
+ }
97
95
  }
98
96
  }
99
97
  // Render postcss (autoprefixing and friends)
@@ -101,6 +99,15 @@ class StylesheetProcessor {
101
99
  from: filePath,
102
100
  to: filePath.replace((0, path_1.extname)(filePath), '.css'),
103
101
  });
102
+ if (this.cacheDirectory && containsTailwindDirectives) {
103
+ // We had Tailwind directives to process by PostCSS, only now
104
+ // is safe to return cached results
105
+ key = await (0, cache_1.generateKey)(result.css, ...this.browserslistData, filePath);
106
+ const cachedResult = await this.getCachedResult(key);
107
+ if (cachedResult) {
108
+ return cachedResult;
109
+ }
110
+ }
104
111
  const warnings = result.warnings().map((w) => w.toString());
105
112
  const { code, warnings: esBuildWarnings } = await this.esbuild.transform(result.css, {
106
113
  loader: 'css',
@@ -122,17 +129,29 @@ class StylesheetProcessor {
122
129
  warnings.forEach((msg) => log.warn(msg));
123
130
  return code;
124
131
  }
125
- createPostCssProcessor(tailwindSetup) {
126
- const postCssPlugins = [];
127
- if (tailwindSetup) {
128
- postCssPlugins.push((0, tailwindcss_1.getTailwindPostCssPlugin)(tailwindSetup));
132
+ async getCachedResult(key) {
133
+ const cachedResult = await (0, cache_1.readCacheEntry)(this.cacheDirectory, key);
134
+ if (cachedResult) {
135
+ cachedResult.warnings.forEach((msg) => log.warn(msg));
136
+ return cachedResult.css;
129
137
  }
138
+ return undefined;
139
+ }
140
+ containsTailwindDirectives(content) {
141
+ return (this.tailwindSetup && tailwindcss_1.tailwindDirectives.some((d) => content.includes(d)));
142
+ }
143
+ createPostCssPlugins() {
144
+ const postCssPlugins = [];
130
145
  if (this.cssUrl !== CssUrl.none) {
131
146
  postCssPlugins.push(postcssUrl({ url: this.cssUrl }));
132
147
  }
133
- postCssPlugins.push(autoprefixer({
134
- ignoreUnknownVersions: true,
135
- overrideBrowserslist: this.browserslistData,
148
+ if (this.tailwindSetup) {
149
+ postCssPlugins.push(...(0, tailwindcss_1.getTailwindPostCssPlugins)(this.tailwindSetup, this.styleIncludePaths, this.watch));
150
+ }
151
+ postCssPlugins.push(postcssPresetEnv({
152
+ browsers: this.browserslistData,
153
+ autoprefixer: true,
154
+ stage: 3,
136
155
  }));
137
156
  return postcss(postCssPlugins);
138
157
  }
@@ -141,11 +160,25 @@ class StylesheetProcessor {
141
160
  switch (ext) {
142
161
  case '.sass':
143
162
  case '.scss': {
144
- return (await Promise.resolve().then(() => require('sass'))).compileString(css, {
163
+ const angularVersion = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
164
+ if (angularVersion && angularVersion.major < 15) {
165
+ return (await Promise.resolve().then(() => require('sass')))
166
+ .renderSync({
167
+ file: filePath,
168
+ data: css,
169
+ indentedSyntax: '.sass' === ext,
170
+ importer: customSassImporter,
171
+ includePaths: this.styleIncludePaths,
172
+ })
173
+ .css.toString();
174
+ }
175
+ return (await Promise.resolve().then(() => require('sass')))
176
+ .compileString(css, {
145
177
  url: (0, node_url_1.pathToFileURL)(filePath),
146
178
  syntax: '.sass' === ext ? 'indented' : 'scss',
147
179
  loadPaths: this.styleIncludePaths,
148
- }).css;
180
+ })
181
+ .css.toString();
149
182
  }
150
183
  case '.less': {
151
184
  const { css: content } = await (await Promise.resolve().then(() => require('less'))).render(css, {
@@ -181,7 +214,10 @@ function transformSupportedBrowsersToTargets(supportedBrowsers) {
181
214
  // browserslist uses ranges `15.2-15.3` versions but only the lowest is required
182
215
  // to perform minimum supported feature checks. esbuild also expects a single version.
183
216
  [version] = version.split('-');
184
- if (esBuildSupportedBrowsers.has(browserName)) {
217
+ if (browserName === 'ie') {
218
+ transformed.push('edge12');
219
+ }
220
+ else if (esBuildSupportedBrowsers.has(browserName)) {
185
221
  if (browserName === 'safari' && version === 'tp') {
186
222
  // esbuild only supports numeric versions so `TP` is converted to a high number (999) since
187
223
  // a Technology Preview (TP) of Safari is assumed to support all currently known features.
@@ -192,3 +228,14 @@ function transformSupportedBrowsersToTargets(supportedBrowsers) {
192
228
  }
193
229
  return transformed.length ? transformed : undefined;
194
230
  }
231
+ function customSassImporter(url, prev) {
232
+ // NB: Sass importer should always be sync as otherwise it will cause
233
+ // sass to go in the async path which is slower.
234
+ if (url[0] !== '~') {
235
+ return undefined;
236
+ }
237
+ return {
238
+ file: url.slice(1),
239
+ prev,
240
+ };
241
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Adapted from the original ng-packagr source.
3
+ *
4
+ * Changes made:
5
+ * - Changed filePath passed to the StylesheetProcessor.parse when is a .ts file and inlineStyleLanguage is set.
6
+ */
7
+ import type { CompilerHost, CompilerOptions } from '@angular/compiler-cli';
8
+ import { FileCache } from 'ng-packagr/lib/file-system/file-cache';
9
+ import { BuildGraph } from 'ng-packagr/lib/graph/build-graph';
10
+ import { EntryPointNode } from 'ng-packagr/lib/ng-package/nodes';
11
+ import { NgPackageConfig } from 'ng-packagr/ng-package.schema';
12
+ import * as ts from 'typescript';
13
+ import { StylesheetProcessor } from '../styles/stylesheet-processor';
14
+ export declare function cacheCompilerHost(graph: BuildGraph, entryPoint: EntryPointNode, compilerOptions: CompilerOptions, moduleResolutionCache: ts.ModuleResolutionCache, stylesheetProcessor?: StylesheetProcessor, inlineStyleLanguage?: NgPackageConfig['inlineStyleLanguage'], sourcesFileCache?: FileCache): CompilerHost;
15
+ export declare function augmentProgramWithVersioning(program: ts.Program): void;
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ /**
3
+ * Adapted from the original ng-packagr source.
4
+ *
5
+ * Changes made:
6
+ * - Changed filePath passed to the StylesheetProcessor.parse when is a .ts file and inlineStyleLanguage is set.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.augmentProgramWithVersioning = exports.cacheCompilerHost = void 0;
10
+ const crypto_1 = require("crypto");
11
+ const node_1 = require("ng-packagr/lib/graph/node");
12
+ const nodes_1 = require("ng-packagr/lib/ng-package/nodes");
13
+ const path_1 = require("ng-packagr/lib/utils/path");
14
+ const assert = require("node:assert");
15
+ const path = require("path");
16
+ const semver_1 = require("semver");
17
+ const ts = require("typescript");
18
+ const angular_version_utils_1 = require("../../../utilities/angular-version-utils");
19
+ function cacheCompilerHost(graph, entryPoint, compilerOptions, moduleResolutionCache, stylesheetProcessor, inlineStyleLanguage, sourcesFileCache = entryPoint.cache.sourcesFileCache) {
20
+ const compilerHost = ts.createIncrementalCompilerHost(compilerOptions);
21
+ const { version: ngPackagrVersion } = (0, angular_version_utils_1.getInstalledPackageVersionInfo)('ng-packagr');
22
+ const getNode = (fileName) => {
23
+ const nodeUri = (0, nodes_1.fileUrl)((0, path_1.ensureUnixPath)(fileName));
24
+ let node = graph.get(nodeUri);
25
+ if (!node) {
26
+ node = new node_1.Node(nodeUri);
27
+ graph.put(node);
28
+ }
29
+ return node;
30
+ };
31
+ const addDependee = (fileName) => {
32
+ const node = getNode(fileName);
33
+ entryPoint.dependsOn(node);
34
+ };
35
+ const { flatModuleFile, destinationPath, entryFile } = entryPoint.data.entryPoint;
36
+ const flatModuleFileDtsFilename = `${flatModuleFile}.d.ts`;
37
+ const flatModuleFileDtsPath = (0, path_1.ensureUnixPath)(path.join(destinationPath, flatModuleFileDtsFilename));
38
+ const hasIndexEntryFile = path.basename(entryFile.toLowerCase()) === 'index.ts';
39
+ return {
40
+ ...compilerHost,
41
+ // ts specific
42
+ fileExists: (fileName) => {
43
+ const cache = sourcesFileCache.getOrCreate(fileName);
44
+ if (cache.exists === undefined) {
45
+ cache.exists = compilerHost.fileExists.call(this, fileName);
46
+ }
47
+ return cache.exists;
48
+ },
49
+ getSourceFile: (fileName, languageVersion) => {
50
+ addDependee(fileName);
51
+ const cache = sourcesFileCache.getOrCreate(fileName);
52
+ if (!cache.sourceFile) {
53
+ cache.sourceFile = compilerHost.getSourceFile.call(this, fileName, languageVersion);
54
+ }
55
+ return cache.sourceFile;
56
+ },
57
+ writeFile: (fileName, data, writeByteOrderMark, onError, sourceFiles) => {
58
+ if (fileName.includes('.ngtypecheck.')) {
59
+ return;
60
+ }
61
+ if (!sourceFiles?.length && fileName.endsWith('.tsbuildinfo')) {
62
+ // Save builder info contents to specified location
63
+ compilerHost.writeFile.call(this, fileName, data, writeByteOrderMark, onError, sourceFiles);
64
+ return;
65
+ }
66
+ assert(sourceFiles?.length === 1, 'Invalid TypeScript program emit for ' + fileName);
67
+ if (fileName.endsWith('.d.ts')) {
68
+ if (fileName === flatModuleFileDtsPath) {
69
+ if (hasIndexEntryFile) {
70
+ // In case the entry file is index.ts, we should not emit the `d.ts` which are a re-export of the `index.ts`.
71
+ // Because it will cause a conflict.
72
+ return;
73
+ }
74
+ else {
75
+ // Rename file to index.d.ts so that TypeScript can resolve types without
76
+ // them needing to be referenced in the package.json manifest.
77
+ fileName = fileName.replace(flatModuleFileDtsFilename, 'index.d.ts');
78
+ }
79
+ }
80
+ sourceFiles.forEach((source) => {
81
+ const cache = sourcesFileCache.getOrCreate(source.fileName);
82
+ if (!cache.declarationFileName) {
83
+ cache.declarationFileName = (0, path_1.ensureUnixPath)(fileName);
84
+ }
85
+ });
86
+ }
87
+ else {
88
+ fileName = fileName.replace(/\.js(\.map)?$/, '.mjs$1');
89
+ const outputCache = entryPoint.cache.outputCache;
90
+ // added in https://github.com/ng-packagr/ng-packagr/pull/2502, first released in 15.0.2
91
+ if ((0, semver_1.gte)(ngPackagrVersion, '15.0.2')) {
92
+ // Extract inline sourcemap which will later be used by rollup.
93
+ const version = (0, crypto_1.createHash)('sha256').update(data).digest('hex');
94
+ let map = undefined;
95
+ if (fileName.endsWith('.mjs')) {
96
+ const cachedData = outputCache.get(fileName);
97
+ map =
98
+ cachedData?.version === version
99
+ ? cachedData.map
100
+ : require('convert-source-map').fromComment(data).toJSON();
101
+ }
102
+ outputCache.set(fileName, {
103
+ content: data,
104
+ version,
105
+ map,
106
+ });
107
+ }
108
+ else {
109
+ outputCache.set(fileName, {
110
+ content: data,
111
+ version: (0, crypto_1.createHash)('sha256').update(data).digest('hex'),
112
+ });
113
+ }
114
+ }
115
+ compilerHost.writeFile.call(this, fileName, data, writeByteOrderMark, onError, sourceFiles);
116
+ },
117
+ readFile: (fileName) => {
118
+ addDependee(fileName);
119
+ const cache = sourcesFileCache.getOrCreate(fileName);
120
+ if (cache.content === undefined) {
121
+ cache.content = compilerHost.readFile.call(this, fileName);
122
+ }
123
+ return cache.content;
124
+ },
125
+ resolveModuleNames: (moduleNames, containingFile) => {
126
+ return moduleNames.map((moduleName) => {
127
+ const { resolvedModule } = ts.resolveModuleName(moduleName, (0, path_1.ensureUnixPath)(containingFile), compilerOptions, compilerHost, moduleResolutionCache);
128
+ return resolvedModule;
129
+ });
130
+ },
131
+ resourceNameToFileName: (resourceName, containingFilePath) => {
132
+ const resourcePath = path.resolve(path.dirname(containingFilePath), resourceName);
133
+ const containingNode = getNode(containingFilePath);
134
+ const resourceNode = getNode(resourcePath);
135
+ containingNode.dependsOn(resourceNode);
136
+ return resourcePath;
137
+ },
138
+ readResource: async (fileName) => {
139
+ addDependee(fileName);
140
+ const cache = sourcesFileCache.getOrCreate(fileName);
141
+ if (cache.content === undefined) {
142
+ if (!compilerHost.fileExists(fileName)) {
143
+ throw new Error(`Cannot read file ${fileName}.`);
144
+ }
145
+ if (/(?:html?|svg)$/.test(path.extname(fileName))) {
146
+ // template
147
+ cache.content = compilerHost.readFile.call(this, fileName);
148
+ }
149
+ else {
150
+ // stylesheet
151
+ cache.content = await stylesheetProcessor.process({
152
+ filePath: fileName,
153
+ content: compilerHost.readFile.call(this, fileName),
154
+ });
155
+ }
156
+ cache.exists = true;
157
+ }
158
+ return cache.content;
159
+ },
160
+ transformResource: async (data, context) => {
161
+ if (context.resourceFile || context.type !== 'style') {
162
+ return null;
163
+ }
164
+ if (inlineStyleLanguage) {
165
+ const key = (0, crypto_1.createHash)('sha1').update(data).digest('hex');
166
+ const fileName = `${context.containingFile}-${key}.${inlineStyleLanguage}`;
167
+ const cache = sourcesFileCache.getOrCreate(fileName);
168
+ if (cache.content === undefined) {
169
+ cache.content = await stylesheetProcessor.process({
170
+ filePath: context.containingFile,
171
+ content: data,
172
+ });
173
+ const virtualFileNode = getNode(fileName);
174
+ const containingFileNode = getNode(context.containingFile);
175
+ virtualFileNode.dependsOn(containingFileNode);
176
+ }
177
+ cache.exists = true;
178
+ return { content: cache.content };
179
+ }
180
+ return null;
181
+ },
182
+ };
183
+ }
184
+ exports.cacheCompilerHost = cacheCompilerHost;
185
+ function augmentProgramWithVersioning(program) {
186
+ const baseGetSourceFiles = program.getSourceFiles;
187
+ program.getSourceFiles = function (...parameters) {
188
+ const files = baseGetSourceFiles(...parameters);
189
+ for (const file of files) {
190
+ if (file.version === undefined) {
191
+ file.version = (0, crypto_1.createHash)('sha256').update(file.text).digest('hex');
192
+ }
193
+ }
194
+ return files;
195
+ };
196
+ }
197
+ exports.augmentProgramWithVersioning = augmentProgramWithVersioning;
@@ -1,5 +1,5 @@
1
1
  import type { ExecutorContext } from '@nx/devkit';
2
- import { type DependentBuildableProjectNode } from '@nx/js/src/utils/buildable-libs-utils';
2
+ import { DependentBuildableProjectNode } from '@nx/js/src/utils/buildable-libs-utils';
3
3
  import type { NgPackagr } from 'ng-packagr';
4
4
  import type { BuildAngularLibraryExecutorOptions } from './schema';
5
5
  /**
@@ -7,16 +7,26 @@ const path_1 = require("path");
7
7
  const rxjs_1 = require("rxjs");
8
8
  const operators_1 = require("rxjs/operators");
9
9
  const typescript_1 = require("../utilities/typescript");
10
- const ng_packagr_1 = require("./ng-packagr-adjustments/ng-packagr");
10
+ const entry_point_di_1 = require("./ng-packagr-adjustments/ng-package/entry-point/entry-point.di");
11
+ const options_di_1 = require("./ng-packagr-adjustments/ng-package/options.di");
12
+ const package_di_1 = require("./ng-packagr-adjustments/ng-package/package.di");
11
13
  async function initializeNgPackagr(options, context, projectDependencies) {
12
- const ngPackagr = await (0, ng_packagr_1.getNgPackagrInstance)(options);
13
- ngPackagr.forProject((0, path_1.resolve)(context.root, options.project));
14
+ const packager = new (await Promise.resolve().then(() => require('ng-packagr'))).NgPackagr([
15
+ ...package_di_1.NX_PACKAGE_PROVIDERS,
16
+ ...entry_point_di_1.NX_ENTRY_POINT_PROVIDERS,
17
+ (0, options_di_1.nxProvideOptions)({
18
+ tailwindConfig: options.tailwindConfig,
19
+ watch: options.watch,
20
+ }),
21
+ ]);
22
+ packager.forProject((0, path_1.resolve)(context.root, options.project));
23
+ packager.withBuildTransform(package_di_1.NX_PACKAGE_TRANSFORM.provide);
14
24
  if (options.tsConfig) {
15
25
  const remappedTsConfigFilePath = (0, buildable_libs_utils_1.createTmpTsConfig)(options.tsConfig, context.root, context.projectsConfigurations.projects[context.projectName].root, projectDependencies);
16
26
  const tsConfig = await (0, typescript_1.parseRemappedTsConfigAndMergeDefaults)(context.root, options.tsConfig, remappedTsConfigFilePath);
17
- ngPackagr.withTsConfig(tsConfig);
27
+ packager.withTsConfig(tsConfig);
18
28
  }
19
- return ngPackagr;
29
+ return packager;
20
30
  }
21
31
  /**
22
32
  * Creates an executor function that executes the library build of an Angular
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 2,
3
3
  "outputCapture": "direct-nodejs",
4
- "$schema": "https://json-schema.org/schema",
4
+ "$schema": "http://json-schema.org/schema",
5
5
  "title": "ng-packagr Target",
6
6
  "description": "Builds and packages an Angular library producing an output following the Angular Package Format (APF) to be distributed as an NPM package.\n\nThis executor is similar to the `@angular-devkit/build-angular:ng-packagr` with additional support for incremental builds.",
7
7
  "cli": "nx",
@@ -35,9 +35,9 @@
35
35
  },
36
36
  "tailwindConfig": {
37
37
  "type": "string",
38
- "description": "The full path for the Tailwind configuration file, relative to the workspace root. If not provided and a `tailwind.config.js` file exists in the project or workspace root, it will be used. Otherwise, Tailwind will not be configured. _Note: starting with Angular v17, this option is no longer used and the configuration will be picked up if exists at the project or workspace root_.",
38
+ "description": "The full path for the Tailwind configuration file, relative to the workspace root. If not provided and a `tailwind.config.js` file exists in the project or workspace root, it will be used. Otherwise, Tailwind will not be configured.",
39
39
  "x-completion-type": "file",
40
- "x-completion-glob": "tailwind.config@(.js|.cjs|.mjs|.ts)"
40
+ "x-completion-glob": "tailwind.config.js"
41
41
  }
42
42
  },
43
43
  "additionalProperties": false,
@@ -0,0 +1,7 @@
1
+ export interface TailwindSetup {
2
+ tailwindConfigPath: string;
3
+ tailwindPackagePath: string;
4
+ }
5
+ export declare const tailwindDirectives: string[];
6
+ export declare function getTailwindSetup(basePath: string, tailwindConfig?: string): TailwindSetup | undefined;
7
+ export declare function getTailwindPostCssPlugins({ tailwindConfigPath, tailwindPackagePath }: TailwindSetup, includePaths?: string[], watch?: boolean): any[];