@nx/angular 20.2.0-canary.20241130-ec5a5e6 → 20.2.0-canary.20241204-75b2080

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 (229) hide show
  1. package/executors.json +1 -1
  2. package/fesm2022/nx-angular-mf.mjs.map +1 -1
  3. package/fesm2022/nx-angular-testing.mjs.map +1 -1
  4. package/fesm2022/nx-angular.mjs.map +1 -1
  5. package/generators.json +1 -1
  6. package/migrations.json +160 -1
  7. package/package.json +12 -19
  8. package/src/builders/dev-server/lib/normalize-options.js +3 -0
  9. package/src/builders/dev-server/lib/validate-options.js +1 -9
  10. package/src/builders/dev-server/schema.json +3 -4
  11. package/src/executors/application/application.impl.d.ts +1 -1
  12. package/src/executors/application/application.impl.js +4 -1
  13. package/src/executors/application/schema.json +78 -6
  14. package/src/executors/application/utils/normalize-options.d.ts +2 -0
  15. package/src/executors/application/utils/normalize-options.js +33 -0
  16. package/src/executors/application/utils/validate-options.js +18 -4
  17. package/src/executors/browser-esbuild/browser-esbuild.impl.d.ts +1 -1
  18. package/src/executors/browser-esbuild/browser-esbuild.impl.js +0 -9
  19. package/src/executors/browser-esbuild/schema.json +1 -1
  20. package/src/executors/delegate-build/delegate-build.impl.d.ts +1 -1
  21. package/src/executors/module-federation-dev-server/lib/index.d.ts +0 -2
  22. package/src/executors/module-federation-dev-server/lib/index.js +0 -2
  23. package/src/executors/module-federation-dev-server/lib/normalize-options.js +1 -0
  24. package/src/executors/module-federation-dev-server/lib/start-dev-remotes.d.ts +1 -1
  25. package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +1 -1
  26. package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +2 -26
  27. package/src/executors/module-federation-dev-server/schema.d.ts +1 -0
  28. package/src/executors/module-federation-ssr-dev-server/lib/normalize-options.d.ts +2 -2
  29. package/src/executors/module-federation-ssr-dev-server/lib/normalize-options.js +1 -0
  30. package/src/executors/module-federation-ssr-dev-server/lib/start-dev-remotes.d.ts +1 -1
  31. package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.d.ts +1 -1
  32. package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +7 -33
  33. package/src/executors/module-federation-ssr-dev-server/schema.d.ts +8 -14
  34. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.d.ts +1 -2
  35. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.js +11 -20
  36. package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.d.ts +1 -1
  37. package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js +1 -1
  38. package/src/executors/ng-packagr-lite/schema.json +0 -8
  39. package/src/executors/package/ng-packagr-adjustments/ng-packagr.d.ts +1 -2
  40. package/src/executors/package/ng-packagr-adjustments/ng-packagr.js +4 -21
  41. package/src/executors/package/package.impl.d.ts +2 -2
  42. package/src/executors/package/package.impl.js +1 -1
  43. package/src/executors/package/schema.d.ts +1 -3
  44. package/src/executors/package/schema.json +0 -10
  45. package/src/executors/utilities/ng-packagr/{stylesheet-processor.js → pre-v19/stylesheet-processor.js} +2 -2
  46. package/src/executors/utilities/ng-packagr/stylesheet-processor.di.js +11 -5
  47. package/src/executors/utilities/ng-packagr/tailwindcss.d.ts +0 -6
  48. package/src/executors/utilities/ng-packagr/tailwindcss.js +0 -32
  49. package/src/executors/utilities/ng-packagr/v19+/stylesheet-processor.d.ts +23 -0
  50. package/src/executors/utilities/ng-packagr/v19+/stylesheet-processor.js +93 -0
  51. package/src/generators/application/application.js +1 -0
  52. package/src/generators/application/files/ng-module/src/app/app.component.ts__tpl__ +4 -5
  53. package/src/generators/application/files/nx-welcome/claimed/ng-module/src/app/nx-welcome.component.ts__tpl__ +2 -1
  54. package/src/generators/application/files/nx-welcome/claimed/standalone/src/app/nx-welcome.component.ts__tpl__ +2 -2
  55. package/src/generators/application/files/nx-welcome/not-configured/ng-module/src/app/nx-welcome.component.ts__tpl__ +2 -1
  56. package/src/generators/application/files/nx-welcome/not-configured/standalone/src/app/nx-welcome.component.ts__tpl__ +2 -2
  57. package/src/generators/application/files/nx-welcome/unclaimed/ng-module/src/app/nx-welcome.component.ts__tpl__ +2 -1
  58. package/src/generators/application/files/nx-welcome/unclaimed/standalone/src/app/nx-welcome.component.ts__tpl__ +2 -2
  59. package/src/generators/application/files/standalone-components/src/app/app.component.ts__tpl__ +4 -6
  60. package/src/generators/application/lib/add-serve-static-target.d.ts +1 -1
  61. package/src/generators/application/lib/add-serve-static-target.js +1 -3
  62. package/src/generators/application/lib/create-files.js +4 -1
  63. package/src/generators/application/lib/create-project.js +24 -31
  64. package/src/generators/application/lib/normalize-options.js +1 -6
  65. package/src/generators/application/schema.d.ts +1 -0
  66. package/src/generators/application/schema.json +7 -2
  67. package/src/generators/component/component.js +4 -0
  68. package/src/generators/component/files/__fileName__.spec.ts__tpl__ +1 -1
  69. package/src/generators/component/files/__fileName__.ts__tpl__ +5 -13
  70. package/src/generators/component/lib/normalize-options.js +2 -0
  71. package/src/generators/component/schema.d.ts +1 -0
  72. package/src/generators/component/schema.json +5 -0
  73. package/src/generators/convert-to-application-executor/convert-to-application-executor.js +1 -4
  74. package/src/generators/convert-to-application-executor/schema.json +1 -1
  75. package/src/generators/directive/directive.js +5 -0
  76. package/src/generators/directive/files/__fileName__.ts__tpl__ +2 -2
  77. package/src/generators/directive/lib/normalize-options.js +3 -1
  78. package/src/generators/host/files/common/{v17+/src → src}/main.server.ts__tmpl__ +1 -1
  79. package/src/generators/host/lib/update-ssr-setup.js +2 -1
  80. package/src/generators/host/schema.d.ts +1 -0
  81. package/src/generators/host/schema.json +4 -0
  82. package/src/generators/pipe/files/__fileName__.ts__tpl__ +2 -2
  83. package/src/generators/pipe/lib/normalize-options.js +3 -1
  84. package/src/generators/pipe/pipe.js +5 -0
  85. package/src/generators/remote/files/common/{v17+/src → src}/main.server.ts__tmpl__ +1 -1
  86. package/src/generators/remote/lib/update-ssr-setup.js +2 -1
  87. package/src/generators/remote/schema.d.ts +1 -0
  88. package/src/generators/remote/schema.json +4 -0
  89. package/src/generators/scam/lib/normalize-options.js +3 -1
  90. package/src/generators/scam-directive/lib/normalize-options.js +3 -1
  91. package/src/generators/scam-pipe/lib/normalize-options.js +3 -1
  92. package/src/generators/scam-to-standalone/lib/convert-scam-to-standalone.d.ts +1 -1
  93. package/src/generators/scam-to-standalone/lib/convert-scam-to-standalone.js +5 -4
  94. package/src/generators/setup-mf/files/entry-module-files/entry.component.ts__tmpl__ +2 -1
  95. package/src/generators/setup-mf/files/standalone-entry-component-files/entry.component.ts__tmpl__ +2 -2
  96. package/src/generators/setup-mf/lib/add-remote-entry.js +5 -0
  97. package/src/generators/setup-ssr/files/{server → pre-v19/server}/application-builder/__serverFileName__ +1 -1
  98. package/src/generators/setup-ssr/files/{server/server-builder/v17+ → pre-v19/server/server-builder}/__serverFileName__ +1 -1
  99. package/src/generators/setup-ssr/files/v19+/application-builder/ngmodule-src/__main__ +1 -0
  100. package/src/generators/setup-ssr/files/v19+/application-builder/ngmodule-src/app/__rootModuleFileName__ +13 -0
  101. package/src/generators/setup-ssr/files/v19+/application-builder/ngmodule-src/app/app.routes.server.ts__tpl__ +8 -0
  102. package/src/generators/setup-ssr/files/v19+/application-builder/server/__serverFileName__ +66 -0
  103. package/src/generators/setup-ssr/files/v19+/application-builder/standalone-src/__main__ +7 -0
  104. package/src/generators/setup-ssr/files/v19+/application-builder/standalone-src/app/app.config.server.ts__tpl__ +14 -0
  105. package/src/generators/setup-ssr/files/v19+/application-builder/standalone-src/app/app.routes.server.ts__tpl__ +8 -0
  106. package/src/generators/setup-ssr/files/v19+/application-builder-common-engine/server/__serverFileName__ +65 -0
  107. package/src/generators/setup-ssr/files/v19+/server-builder/ngmodule-src/__main__ +1 -0
  108. package/src/generators/setup-ssr/files/v19+/server-builder/ngmodule-src/app/__rootModuleFileName__ +14 -0
  109. package/src/generators/setup-ssr/files/v19+/server-builder/root/tsconfig.server.json.template +16 -0
  110. package/src/generators/setup-ssr/files/{server/server-builder/pre-v17 → v19+/server-builder/server}/__serverFileName__ +25 -15
  111. package/src/generators/setup-ssr/files/v19+/server-builder/standalone-src/__main__ +7 -0
  112. package/src/generators/setup-ssr/files/v19+/server-builder/standalone-src/app/app.config.server.ts.template +11 -0
  113. package/src/generators/setup-ssr/lib/add-dependencies.js +6 -17
  114. package/src/generators/setup-ssr/lib/add-hydration.d.ts +2 -2
  115. package/src/generators/setup-ssr/lib/add-hydration.js +10 -2
  116. package/src/generators/setup-ssr/lib/add-server-file.d.ts +2 -2
  117. package/src/generators/setup-ssr/lib/add-server-file.js +24 -10
  118. package/src/generators/setup-ssr/lib/generate-files.d.ts +2 -2
  119. package/src/generators/setup-ssr/lib/generate-files.js +20 -8
  120. package/src/generators/setup-ssr/lib/generate-server-ts-config.d.ts +3 -3
  121. package/src/generators/setup-ssr/lib/generate-server-ts-config.js +24 -3
  122. package/src/generators/setup-ssr/lib/normalize-options.d.ts +3 -14
  123. package/src/generators/setup-ssr/lib/normalize-options.js +23 -6
  124. package/src/generators/setup-ssr/lib/set-router-initial-navigation.d.ts +2 -2
  125. package/src/generators/setup-ssr/lib/update-project-config.d.ts +3 -3
  126. package/src/generators/setup-ssr/lib/update-project-config.js +36 -24
  127. package/src/generators/setup-ssr/lib/validate-options.js +5 -0
  128. package/src/generators/setup-ssr/schema.d.ts +5 -0
  129. package/src/generators/setup-ssr/schema.json +6 -8
  130. package/src/generators/setup-ssr/setup-ssr.js +6 -11
  131. package/src/generators/setup-tailwind/lib/index.d.ts +1 -1
  132. package/src/generators/setup-tailwind/lib/index.js +1 -1
  133. package/src/generators/setup-tailwind/lib/update-application-styles.js +1 -1
  134. package/src/generators/setup-tailwind/lib/validate-build-target.d.ts +3 -0
  135. package/src/generators/setup-tailwind/lib/{add-tailwind-config-path-to-project.js → validate-build-target.js} +4 -15
  136. package/src/generators/setup-tailwind/setup-tailwind.js +4 -1
  137. package/src/generators/utils/add-jest.js +4 -8
  138. package/src/generators/utils/storybook-ast/component-info.js +12 -2
  139. package/src/generators/utils/validations.d.ts +1 -0
  140. package/src/generators/utils/validations.js +10 -0
  141. package/src/generators/utils/version-utils.js +2 -2
  142. package/src/migrations/update-20-2-0/add-localize-polyfill-to-targets.d.ts +3 -0
  143. package/src/migrations/update-20-2-0/add-localize-polyfill-to-targets.js +48 -0
  144. package/src/migrations/update-20-2-0/disable-angular-eslint-prefer-standalone.d.ts +2 -0
  145. package/src/migrations/update-20-2-0/disable-angular-eslint-prefer-standalone.js +55 -0
  146. package/src/migrations/update-20-2-0/update-angular-cli.d.ts +3 -0
  147. package/src/migrations/update-20-2-0/update-angular-cli.js +23 -0
  148. package/src/migrations/update-20-2-0/update-angular-ssr-imports-to-use-node-entry-point.d.ts +2 -0
  149. package/src/migrations/update-20-2-0/update-angular-ssr-imports-to-use-node-entry-point.js +55 -0
  150. package/src/utils/backward-compatible-versions.d.ts +4 -4
  151. package/src/utils/backward-compatible-versions.js +20 -19
  152. package/src/utils/nx-devkit/ast-utils.d.ts +10 -1
  153. package/src/utils/nx-devkit/ast-utils.js +32 -9
  154. package/src/utils/versions.d.ts +7 -7
  155. package/src/utils/versions.js +7 -7
  156. package/esm2022/index.mjs +0 -2
  157. package/esm2022/mf/index.mjs +0 -2
  158. package/esm2022/mf/mf.mjs +0 -116
  159. package/esm2022/mf/nx-angular-mf.mjs +0 -5
  160. package/esm2022/nx-angular.mjs +0 -5
  161. package/esm2022/src/runtime/nx/data-persistence.mjs +0 -349
  162. package/esm2022/testing/index.mjs +0 -2
  163. package/esm2022/testing/nx-angular-testing.mjs +0 -5
  164. package/esm2022/testing/src/testing-utils.mjs +0 -38
  165. package/src/executors/module-federation-dev-server/lib/build-static-remotes.d.ts +0 -4
  166. package/src/executors/module-federation-dev-server/lib/build-static-remotes.js +0 -65
  167. package/src/executors/module-federation-dev-server/lib/start-static-remotes-file-server.d.ts +0 -9
  168. package/src/executors/module-federation-dev-server/lib/start-static-remotes-file-server.js +0 -51
  169. package/src/executors/module-federation-ssr-dev-server/lib/build-static-remotes.d.ts +0 -4
  170. package/src/executors/module-federation-ssr-dev-server/lib/build-static-remotes.js +0 -65
  171. package/src/executors/module-federation-ssr-dev-server/lib/start-static-remotes.d.ts +0 -4
  172. package/src/executors/module-federation-ssr-dev-server/lib/start-static-remotes.js +0 -41
  173. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.di.d.ts +0 -14
  174. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.di.js +0 -27
  175. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.transform.d.ts +0 -12
  176. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.transform.js +0 -53
  177. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/entry-point.di.d.ts +0 -15
  178. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/entry-point.di.js +0 -28
  179. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/entry-point.transform.d.ts +0 -30
  180. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/entry-point.transform.js +0 -52
  181. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.di.d.ts +0 -12
  182. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.di.js +0 -20
  183. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.transform.d.ts +0 -9
  184. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.transform.js +0 -320
  185. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/options.di.d.ts +0 -14
  186. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/options.di.js +0 -35
  187. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/package.di.d.ts +0 -14
  188. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/package.di.js +0 -37
  189. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ngc/compile-source-files.d.ts +0 -12
  190. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ngc/compile-source-files.js +0 -178
  191. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.d.ts +0 -42
  192. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.di.d.ts +0 -10
  193. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.di.js +0 -17
  194. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.js +0 -201
  195. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.di.d.ts +0 -14
  196. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.di.js +0 -26
  197. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.d.ts +0 -12
  198. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js +0 -71
  199. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/entry-point.di.d.ts +0 -13
  200. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/entry-point.di.js +0 -32
  201. package/src/executors/package/ng-packagr-adjustments/ng-package/options.di.d.ts +0 -14
  202. package/src/executors/package/ng-packagr-adjustments/ng-package/options.di.js +0 -35
  203. package/src/executors/package/ng-packagr-adjustments/ng-package/package.di.d.ts +0 -14
  204. package/src/executors/package/ng-packagr-adjustments/ng-package/package.di.js +0 -37
  205. package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.d.ts +0 -13
  206. package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.js +0 -183
  207. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.d.ts +0 -36
  208. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.di.d.ts +0 -10
  209. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.di.js +0 -17
  210. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.js +0 -194
  211. package/src/executors/package/ng-packagr-adjustments/utils/ng-compiler-cli.d.ts +0 -1
  212. package/src/executors/package/ng-packagr-adjustments/utils/ng-compiler-cli.js +0 -9
  213. package/src/generators/host/files/common/pre-v17/src/main.server.ts__tmpl__ +0 -66
  214. package/src/generators/remote/files/common/pre-v17/src/main.server.ts__tmpl__ +0 -72
  215. package/src/generators/setup-tailwind/lib/add-tailwind-config-path-to-project.d.ts +0 -3
  216. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-bundles.di.d.ts +0 -0
  217. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-bundles.di.js +0 -0
  218. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-bundles.transform.d.ts +0 -0
  219. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-bundles.transform.js +0 -0
  220. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-package.di.d.ts +0 -0
  221. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-package.di.js +0 -0
  222. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-package.transform.d.ts +0 -0
  223. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-package.transform.js +0 -0
  224. /package/src/executors/utilities/ng-packagr/{stylesheet-processor.d.ts → pre-v19/stylesheet-processor.d.ts} +0 -0
  225. /package/src/generators/setup-ssr/files/{ngmodule/src → pre-v19/ngmodule-src}/__main__ +0 -0
  226. /package/src/generators/setup-ssr/files/{ngmodule/src → pre-v19/ngmodule-src}/app/__rootModuleFileName__ +0 -0
  227. /package/src/generators/setup-ssr/files/{root → pre-v19/root}/tsconfig.server.json__tpl__ +0 -0
  228. /package/src/generators/setup-ssr/files/{standalone/src → pre-v19/standalone-src}/__main__ +0 -0
  229. /package/src/generators/setup-ssr/files/{standalone/src → pre-v19/standalone-src}/app/app.config.server.ts__tpl__ +0 -0
@@ -1,6 +1,6 @@
1
- export * from './add-tailwind-config-path-to-project';
2
1
  export * from './add-tailwind-config';
3
2
  export * from './add-tailwind-required-packages';
4
3
  export * from './detect-tailwind-installed-version';
5
4
  export * from './normalize-options';
6
5
  export * from './update-application-styles';
6
+ export * from './validate-build-target';
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./add-tailwind-config-path-to-project"), exports);
5
4
  tslib_1.__exportStar(require("./add-tailwind-config"), exports);
6
5
  tslib_1.__exportStar(require("./add-tailwind-required-packages"), exports);
7
6
  tslib_1.__exportStar(require("./detect-tailwind-installed-version"), exports);
8
7
  tslib_1.__exportStar(require("./normalize-options"), exports);
9
8
  tslib_1.__exportStar(require("./update-application-styles"), exports);
9
+ tslib_1.__exportStar(require("./validate-build-target"), exports);
@@ -34,7 +34,7 @@ function findStylesEntryPoint(tree, options, project) {
34
34
  return stylesEntryPoint;
35
35
  }
36
36
  // then check for the specified styles in the build configuration if it exists
37
- const styles = project.targets?.[options.buildTarget].options?.styles;
37
+ const styles = project.targets?.[options.buildTarget]?.options?.styles;
38
38
  if (!styles) {
39
39
  return undefined;
40
40
  }
@@ -0,0 +1,3 @@
1
+ import { type ProjectConfiguration } from '@nx/devkit';
2
+ import type { NormalizedGeneratorOptions } from '../schema';
3
+ export declare function validateBuildTarget(options: NormalizedGeneratorOptions, project: ProjectConfiguration): void;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addTailwindConfigPathToProject = addTailwindConfigPathToProject;
3
+ exports.validateBuildTarget = validateBuildTarget;
4
4
  const devkit_1 = require("@nx/devkit");
5
- function addTailwindConfigPathToProject(tree, options, project) {
5
+ function validateBuildTarget(options, project) {
6
6
  const buildTarget = project.targets?.[options.buildTarget];
7
7
  if (!buildTarget) {
8
8
  throw new Error((0, devkit_1.stripIndents) `The target "${options.buildTarget}" was not found for project "${options.project}".
@@ -10,25 +10,14 @@ function addTailwindConfigPathToProject(tree, options, project) {
10
10
  If the project is not a buildable or publishable library, you don't need to setup TailwindCSS for it.`);
11
11
  }
12
12
  const supportedLibraryExecutors = [
13
+ '@angular-devkit/build-angular:ng-packagr',
13
14
  '@nx/angular:ng-packagr-lite',
14
15
  '@nx/angular:package',
15
- '@nrwl/angular:ng-packagr-lite',
16
- '@nrwl/angular:package',
17
16
  ];
18
- if (!supportedLibraryExecutors.includes(buildTarget.executor)) {
17
+ if (!supportedLibraryExecutors.includes(project.targets[options.buildTarget].executor)) {
19
18
  throw new Error((0, devkit_1.stripIndents) `The build target for project "${options.project}" is using an unsupported executor "${buildTarget.executor}".
20
19
  Supported executors are ${supportedLibraryExecutors
21
20
  .map((e) => `"${e}"`)
22
21
  .join(', ')}.`);
23
22
  }
24
- if (buildTarget.options?.tailwindConfig &&
25
- tree.exists(buildTarget.options.tailwindConfig)) {
26
- throw new Error((0, devkit_1.stripIndents) `The "${buildTarget.options.tailwindConfig}" file is already configured for the project "${options.project}". Are you sure this is the right project to set up Tailwind?
27
- If you are sure, you can remove the configuration and re-run the generator.`);
28
- }
29
- buildTarget.options = {
30
- ...buildTarget.options,
31
- tailwindConfig: (0, devkit_1.joinPathFragments)(project.root, 'tailwind.config.js'),
32
- };
33
- (0, devkit_1.updateProjectConfiguration)(tree, options.project, project);
34
23
  }
@@ -6,6 +6,9 @@ const lib_1 = require("./lib");
6
6
  async function setupTailwindGenerator(tree, rawOptions) {
7
7
  const options = (0, lib_1.normalizeOptions)(rawOptions);
8
8
  const project = (0, devkit_1.readProjectConfiguration)(tree, options.project);
9
+ if (rawOptions.buildTarget && !project.targets?.[rawOptions.buildTarget]) {
10
+ throw new Error(`The provided target "${options.buildTarget}" was not found for project "${options.project}". Please provide a valid build target.`);
11
+ }
9
12
  const tailwindInstalledVersion = (0, lib_1.detectTailwindInstalledVersion)(tree);
10
13
  let installTask = () => { };
11
14
  if (!options.skipPackageJson) {
@@ -18,7 +21,7 @@ async function setupTailwindGenerator(tree, rawOptions) {
18
21
  (0, lib_1.updateApplicationStyles)(tree, options, project);
19
22
  }
20
23
  else if (project.projectType === 'library') {
21
- (0, lib_1.addTailwindConfigPathToProject)(tree, options, project);
24
+ (0, lib_1.validateBuildTarget)(options, project);
22
25
  }
23
26
  if (!options.skipFormat) {
24
27
  await (0, devkit_1.formatFiles)(tree);
@@ -22,13 +22,9 @@ async function addJest(tree, options) {
22
22
  const setupFile = (0, devkit_1.joinPathFragments)(options.projectRoot, 'src', 'test-setup.ts');
23
23
  if (options.strict && tree.exists(setupFile)) {
24
24
  const contents = tree.read(setupFile, 'utf-8');
25
- tree.write(setupFile, `// @ts-expect-error https://thymikee.github.io/jest-preset-angular/docs/getting-started/test-environment
26
- globalThis.ngJest = {
27
- testEnvironmentOptions: {
28
- errorOnUnknownElements: true,
29
- errorOnUnknownProperties: true,
30
- },
31
- };
32
- ${contents}`);
25
+ tree.write(setupFile, contents.replace('setupZoneTestEnv();', `setupZoneTestEnv({
26
+ errorOnUnknownElements: true,
27
+ errorOnUnknownProperties: true
28
+ });`));
33
29
  }
34
30
  }
@@ -6,6 +6,7 @@ const devkit_1 = require("@nx/devkit");
6
6
  const ensure_typescript_1 = require("@nx/js/src/utils/typescript/ensure-typescript");
7
7
  const path_1 = require("path");
8
8
  const ast_utils_1 = require("../../../utils/nx-devkit/ast-utils");
9
+ const version_utils_1 = require("../version-utils");
9
10
  const module_info_1 = require("./module-info");
10
11
  let tsModule;
11
12
  let tsquery;
@@ -60,8 +61,17 @@ function getStandaloneComponents(tree, filePath) {
60
61
  }
61
62
  const fileContent = tree.read(filePath, 'utf-8');
62
63
  const ast = tsquery.ast(fileContent);
63
- const components = tsquery(ast, 'ClassDeclaration:has(Decorator > CallExpression:has(Identifier[name=Component]) ObjectLiteralExpression PropertyAssignment:has(Identifier[name=standalone]) > TrueKeyword) > Identifier', { visitAllChildren: true });
64
- return components.map((component) => component.getText());
64
+ const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
65
+ if (angularMajorVersion < 19) {
66
+ // in angular 18 and below, standalone: false is the default, so only
67
+ // components with standalone: true are considered standalone
68
+ const components = tsquery(ast, 'ClassDeclaration:has(Decorator > CallExpression:has(Identifier[name=Component]) ObjectLiteralExpression PropertyAssignment:has(Identifier[name=standalone]) > TrueKeyword) > Identifier', { visitAllChildren: true });
69
+ return components.map((component) => component.getText());
70
+ }
71
+ // in angular 19 and above, standalone: true is the default, so all components
72
+ // except those with standalone: false are considered standalone
73
+ const standaloneComponentNodes = tsquery(ast, 'ClassDeclaration:has(Decorator > CallExpression:has(Identifier[name=Component]) ObjectLiteralExpression:not(:has(PropertyAssignment:has(Identifier[name=standalone]) > FalseKeyword))) > Identifier', { visitAllChildren: true });
74
+ return standaloneComponentNodes.map((component) => component.getText());
65
75
  }
66
76
  function getComponentImportPath(componentName, imports) {
67
77
  if (!tsModule) {
@@ -1,2 +1,3 @@
1
1
  import type { Tree } from '@nx/devkit';
2
2
  export declare function validateProject(tree: Tree, projectName: string): void;
3
+ export declare function validateClassName(className: string): void;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateProject = validateProject;
4
+ exports.validateClassName = validateClassName;
4
5
  const devkit_1 = require("@nx/devkit");
5
6
  function validateProject(tree, projectName) {
6
7
  const projects = (0, devkit_1.getProjects)(tree);
@@ -8,3 +9,12 @@ function validateProject(tree, projectName) {
8
9
  throw new Error(`Project "${projectName}" does not exist! Please provide an existing project name.`);
9
10
  }
10
11
  }
12
+ // The below validation matches that of the Angular CLI:
13
+ // https://github.com/angular/angular-cli/blob/1316930a1cbad8e71a4454743862cfa9253bef4e/packages/schematics/angular/utility/validation.ts#L25
14
+ // See: https://github.com/tc39/proposal-regexp-unicode-property-escapes/blob/fe6d07fad74cd0192d154966baa1e95e7cda78a1/README.md#other-examples
15
+ const ecmaIdentifierNameRegExp = /^(?:[$_\p{ID_Start}])(?:[$_\u200C\u200D\p{ID_Continue}])*$/u;
16
+ function validateClassName(className) {
17
+ if (!ecmaIdentifierNameRegExp.test(className)) {
18
+ throw new Error(`Class name "${className}" is invalid.`);
19
+ }
20
+ }
@@ -44,10 +44,10 @@ function getInstalledPackageVersionInfo(tree, pkgName) {
44
44
  function versions(tree) {
45
45
  const majorAngularVersion = getInstalledAngularMajorVersion(tree);
46
46
  switch (majorAngularVersion) {
47
- case 16:
48
- return backward_compatible_versions_1.backwardCompatibleVersions.angularV16;
49
47
  case 17:
50
48
  return backward_compatible_versions_1.backwardCompatibleVersions.angularV17;
49
+ case 18:
50
+ return backward_compatible_versions_1.backwardCompatibleVersions.angularV18;
51
51
  default:
52
52
  return latestVersions;
53
53
  }
@@ -0,0 +1,3 @@
1
+ import { type Tree } from '@nx/devkit';
2
+ export declare const executorsToAddPolyfillTo: string[];
3
+ export default function (tree: Tree): Promise<void>;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executorsToAddPolyfillTo = void 0;
4
+ exports.default = default_1;
5
+ const devkit_1 = require("@nx/devkit");
6
+ const targets_1 = require("../../utils/targets");
7
+ exports.executorsToAddPolyfillTo = [
8
+ '@angular/build:application',
9
+ '@angular-devkit/build-angular:application',
10
+ '@nx/angular:application',
11
+ '@angular-devkit/build-angular:browser-esbuild',
12
+ '@nx/angular:browser-esbuild',
13
+ ];
14
+ async function default_1(tree) {
15
+ const projects = (0, devkit_1.getProjects)(tree);
16
+ for (const [projectName, project] of projects) {
17
+ if (project.projectType !== 'application') {
18
+ continue;
19
+ }
20
+ let isUpdated = false;
21
+ for (const target of Object.values(project.targets ?? {})) {
22
+ if (!exports.executorsToAddPolyfillTo.includes(target.executor)) {
23
+ continue;
24
+ }
25
+ const polyfills = target.options?.['polyfills'];
26
+ if (Array.isArray(polyfills) &&
27
+ polyfills.some((polyfill) => typeof polyfill === 'string' &&
28
+ polyfill.startsWith('@angular/localize'))) {
29
+ // the polyfill is already present, skip
30
+ continue;
31
+ }
32
+ // Only add '@angular/localize/init' polyfill if 'localize' option is enabled
33
+ for (const [, options] of (0, targets_1.allTargetOptions)(target)) {
34
+ if (options['localize']) {
35
+ target.options ??= {};
36
+ target.options['polyfills'] ??= [];
37
+ target.options['polyfills'].push('@angular/localize/init');
38
+ isUpdated = true;
39
+ break;
40
+ }
41
+ }
42
+ }
43
+ if (isUpdated) {
44
+ (0, devkit_1.updateProjectConfiguration)(tree, projectName, project);
45
+ }
46
+ }
47
+ await (0, devkit_1.formatFiles)(tree);
48
+ }
@@ -0,0 +1,2 @@
1
+ import { type Tree } from '@nx/devkit';
2
+ export default function (tree: Tree): Promise<void>;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = default_1;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const eslint_file_1 = require("@nx/eslint/src/generators/utils/eslint-file");
6
+ const projects_1 = require("../utils/projects");
7
+ const preferStandaloneRule = '@angular-eslint/prefer-standalone';
8
+ async function default_1(tree) {
9
+ const projects = await (0, projects_1.getProjectsFilteredByDependencies)(tree, [
10
+ 'npm:@angular/core',
11
+ ]);
12
+ for (const { project: { root }, } of projects) {
13
+ if (!(0, eslint_file_1.isEslintConfigSupported)(tree, root)) {
14
+ // ESLint config is not supported, skip
15
+ continue;
16
+ }
17
+ if ((0, eslint_file_1.lintConfigHasOverride)(tree, root, (o) => !!o.rules?.[preferStandaloneRule], true)) {
18
+ // the @angular-eslint/prefer-standalone rule is set in an override, skip
19
+ continue;
20
+ }
21
+ const ngEslintOverrideLookup = (o) => o.files?.includes('*.ts') &&
22
+ Object.keys(o.rules ?? {}).some((r) => r.startsWith('@angular-eslint/'));
23
+ const tsFilesOverrideLookup = (o) => o.files?.length === 1 && o.files[0] === '*.ts';
24
+ if ((0, eslint_file_1.lintConfigHasOverride)(tree, root, ngEslintOverrideLookup, false)) {
25
+ // there is an override containing an Angular ESLint rule
26
+ (0, eslint_file_1.updateOverrideInLintConfig)(tree, root, ngEslintOverrideLookup, (o) => {
27
+ o.rules = {
28
+ ...o.rules,
29
+ [preferStandaloneRule]: 'off',
30
+ };
31
+ return o;
32
+ });
33
+ }
34
+ else if ((0, eslint_file_1.lintConfigHasOverride)(tree, root, tsFilesOverrideLookup, false)) {
35
+ // there is an override for just *.ts files
36
+ (0, eslint_file_1.updateOverrideInLintConfig)(tree, root, tsFilesOverrideLookup, (o) => {
37
+ o.rules = {
38
+ ...o.rules,
39
+ [preferStandaloneRule]: 'off',
40
+ };
41
+ return o;
42
+ });
43
+ }
44
+ else {
45
+ // there are no overrides for any Angular ESLint rule or just *.ts files, add a new override
46
+ (0, eslint_file_1.addOverrideToLintConfig)(tree, root, {
47
+ files: ['*.ts'],
48
+ rules: {
49
+ [preferStandaloneRule]: 'off',
50
+ },
51
+ });
52
+ }
53
+ }
54
+ await (0, devkit_1.formatFiles)(tree);
55
+ }
@@ -0,0 +1,3 @@
1
+ import { Tree } from '@nx/devkit';
2
+ export declare const angularCliVersion = "~19.0.0";
3
+ export default function (tree: Tree): Promise<void>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.angularCliVersion = void 0;
4
+ exports.default = default_1;
5
+ const devkit_1 = require("@nx/devkit");
6
+ exports.angularCliVersion = '~19.0.0';
7
+ async function default_1(tree) {
8
+ let shouldFormat = false;
9
+ (0, devkit_1.updateJson)(tree, 'package.json', (json) => {
10
+ if (json.devDependencies?.['@angular/cli']) {
11
+ json.devDependencies['@angular/cli'] = exports.angularCliVersion;
12
+ shouldFormat = true;
13
+ }
14
+ else if (json.dependencies?.['@angular/cli']) {
15
+ json.dependencies['@angular/cli'] = exports.angularCliVersion;
16
+ shouldFormat = true;
17
+ }
18
+ return json;
19
+ });
20
+ if (shouldFormat) {
21
+ await (0, devkit_1.formatFiles)(tree);
22
+ }
23
+ }
@@ -0,0 +1,2 @@
1
+ import { type Tree } from '@nx/devkit';
2
+ export default function (tree: Tree): Promise<void>;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = default_1;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nx/devkit");
6
+ const ts = tslib_1.__importStar(require("typescript"));
7
+ const file_change_recorder_1 = require("../../utils/file-change-recorder");
8
+ const projects_1 = require("../utils/projects");
9
+ async function default_1(tree) {
10
+ const projects = await (0, projects_1.getProjectsFilteredByDependencies)(tree, [
11
+ 'npm:@angular/ssr',
12
+ ]);
13
+ for (const { project } of projects) {
14
+ (0, devkit_1.visitNotIgnoredFiles)(tree, project.root, (path) => {
15
+ if (!path.endsWith('.ts') || path.endsWith('.d.ts')) {
16
+ return;
17
+ }
18
+ let content = tree.read(path, 'utf-8');
19
+ if (!content.includes('CommonEngine') ||
20
+ content.includes('@angular/ssr/node')) {
21
+ return;
22
+ }
23
+ let recorder;
24
+ const sourceFile = ts.createSourceFile(path, content, ts.ScriptTarget.Latest, true);
25
+ const allImportDeclarations = sourceFile.statements.filter(ts.isImportDeclaration);
26
+ if (allImportDeclarations.length === 0) {
27
+ return;
28
+ }
29
+ const ssrImports = allImportDeclarations.filter((n) => ts.isStringLiteral(n.moduleSpecifier) &&
30
+ n.moduleSpecifier.text === '@angular/ssr');
31
+ for (const ssrImport of ssrImports) {
32
+ const ssrNamedBinding = getNamedImports(ssrImport);
33
+ if (ssrNamedBinding) {
34
+ const isUsingOldEntryPoint = ssrNamedBinding.elements.some((e) => e.name.text.startsWith('CommonEngine'));
35
+ if (!isUsingOldEntryPoint) {
36
+ continue;
37
+ }
38
+ recorder ??= new file_change_recorder_1.FileChangeRecorder(tree, path);
39
+ recorder.insertRight(ssrImport.moduleSpecifier.getEnd() - 1, '/node');
40
+ }
41
+ }
42
+ if (recorder) {
43
+ recorder.applyChanges();
44
+ }
45
+ });
46
+ }
47
+ await (0, devkit_1.formatFiles)(tree);
48
+ }
49
+ function getNamedImports(importDeclaration) {
50
+ const namedBindings = importDeclaration?.importClause?.namedBindings;
51
+ if (namedBindings && ts.isNamedImports(namedBindings)) {
52
+ return namedBindings;
53
+ }
54
+ return undefined;
55
+ }
@@ -1,11 +1,11 @@
1
1
  import * as latestVersions from './versions';
2
- type SupportedVersions = 'angularV16' | 'angularV17';
2
+ type SupportedVersions = 'angularV17' | 'angularV18';
3
3
  type LatestPackageVersionNames = Exclude<keyof typeof latestVersions, 'nxVersion'>;
4
- type CompatPackageVersionNames = LatestPackageVersionNames | 'ngUniversalVersion';
4
+ type CompatPackageVersionNames = LatestPackageVersionNames;
5
5
  export type PackageVersionNames = LatestPackageVersionNames | CompatPackageVersionNames;
6
6
  export type VersionMap = {
7
- angularV16: Record<Exclude<CompatPackageVersionNames, 'analogVitestAngular' | 'typescriptEslintVersion'>, string>;
8
- angularV17: Record<Exclude<CompatPackageVersionNames, 'analogVitestAngular' | 'ngUniversalVersion' | 'typescriptEslintVersion'>, string>;
7
+ angularV17: Record<Exclude<CompatPackageVersionNames, 'analogVitestAngular' | 'typescriptEslintVersion'>, string>;
8
+ angularV18: Record<CompatPackageVersionNames, string>;
9
9
  };
10
10
  export type PackageLatestVersions = Record<LatestPackageVersionNames, string>;
11
11
  export type PackageCompatVersions = VersionMap[SupportedVersions];
@@ -2,16 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.backwardCompatibleVersions = void 0;
4
4
  exports.backwardCompatibleVersions = {
5
- angularV16: {
6
- angularVersion: '~16.2.0',
7
- angularDevkitVersion: '~16.2.0',
8
- ngPackagrVersion: '~16.2.0',
9
- ngrxVersion: '~16.0.0',
5
+ angularV17: {
6
+ angularVersion: '~17.3.0',
7
+ angularDevkitVersion: '~17.3.0',
8
+ ngPackagrVersion: '~17.3.0',
9
+ ngrxVersion: '~17.0.0',
10
10
  rxjsVersion: '~7.8.0',
11
- zoneJsVersion: '~0.13.0',
11
+ zoneJsVersion: '~0.14.3',
12
12
  angularJsVersion: '1.7.9',
13
13
  tsLibVersion: '^2.3.0',
14
- ngUniversalVersion: '~16.2.0',
15
14
  corsVersion: '~2.8.5',
16
15
  typesCorsVersion: '~2.8.5',
17
16
  expressVersion: '~4.18.2',
@@ -19,22 +18,22 @@ exports.backwardCompatibleVersions = {
19
18
  browserSyncVersion: '^3.0.0',
20
19
  moduleFederationNodeVersion: '~2.3.0',
21
20
  moduleFederationEnhancedVersion: '~0.2.3',
22
- angularEslintVersion: '~16.0.0',
21
+ angularEslintVersion: '~17.3.0',
23
22
  tailwindVersion: '^3.0.2',
24
23
  postcssVersion: '^8.4.5',
25
24
  postcssUrlVersion: '~10.1.3',
26
25
  autoprefixerVersion: '^10.4.0',
27
26
  tsNodeVersion: '10.9.1',
28
- jestPresetAngularVersion: '~13.1.0',
29
- typesNodeVersion: '16.11.7',
27
+ jestPresetAngularVersion: '~14.0.3',
28
+ typesNodeVersion: '18.16.9',
30
29
  jasmineMarblesVersion: '^0.9.2',
31
30
  jsoncEslintParserVersion: '^2.1.0',
32
31
  },
33
- angularV17: {
34
- angularVersion: '~17.3.0',
35
- angularDevkitVersion: '~17.3.0',
36
- ngPackagrVersion: '~17.3.0',
37
- ngrxVersion: '~17.0.0',
32
+ angularV18: {
33
+ angularVersion: '~18.2.0',
34
+ angularDevkitVersion: '~18.2.0',
35
+ ngPackagrVersion: '~18.2.0',
36
+ ngrxVersion: '~18.0.2',
38
37
  rxjsVersion: '~7.8.0',
39
38
  zoneJsVersion: '~0.14.3',
40
39
  angularJsVersion: '1.7.9',
@@ -44,17 +43,19 @@ exports.backwardCompatibleVersions = {
44
43
  expressVersion: '~4.18.2',
45
44
  typesExpressVersion: '4.17.14',
46
45
  browserSyncVersion: '^3.0.0',
47
- moduleFederationNodeVersion: '~2.3.0',
48
- moduleFederationEnhancedVersion: '~0.2.3',
49
- angularEslintVersion: '~17.3.0',
46
+ moduleFederationNodeVersion: '~2.5.0',
47
+ moduleFederationEnhancedVersion: '0.6.9',
48
+ angularEslintVersion: '^18.3.0',
49
+ typescriptEslintVersion: '^7.16.0',
50
50
  tailwindVersion: '^3.0.2',
51
51
  postcssVersion: '^8.4.5',
52
52
  postcssUrlVersion: '~10.1.3',
53
53
  autoprefixerVersion: '^10.4.0',
54
54
  tsNodeVersion: '10.9.1',
55
- jestPresetAngularVersion: '~14.0.3',
55
+ jestPresetAngularVersion: '~14.1.0',
56
56
  typesNodeVersion: '18.16.9',
57
57
  jasmineMarblesVersion: '^0.9.2',
58
+ analogVitestAngular: '~1.9.1',
58
59
  jsoncEslintParserVersion: '^2.1.0',
59
60
  },
60
61
  };
@@ -1,12 +1,21 @@
1
- import type * as ts from 'typescript';
2
1
  import { Tree } from '@nx/devkit';
2
+ import type * as ts from 'typescript';
3
3
  type DecoratorName = 'Component' | 'Directive' | 'NgModule' | 'Pipe';
4
4
  /**
5
5
  * Check if the Component, Directive or Pipe is standalone
6
6
  * @param sourceFile TS Source File containing the token to check
7
7
  * @param decoratorName The type of decorator to check (Component, Directive, Pipe)
8
+ *
9
+ * @deprecated Use the function signature with a Tree. This signature will be removed in v21.
8
10
  */
9
11
  export declare function isStandalone(sourceFile: ts.SourceFile, decoratorName: DecoratorName): boolean;
12
+ /**
13
+ * Check if the Component, Directive or Pipe is standalone
14
+ * @param tree The file system tree
15
+ * @param sourceFile TS Source File containing the token to check
16
+ * @param decoratorName The type of decorator to check (Component, Directive, Pipe)
17
+ */
18
+ export declare function isStandalone(tree: Tree, sourceFile: ts.SourceFile, decoratorName: DecoratorName): boolean;
10
19
  export declare function getDecoratorMetadata(source: ts.SourceFile, identifier: string, module: string): ts.Node[];
11
20
  export declare function removeFromNgModule(host: Tree, source: ts.SourceFile, modulePath: string, property: string): ts.SourceFile;
12
21
  /**
@@ -23,10 +23,12 @@ exports.addEntryComponents = addEntryComponents;
23
23
  exports.readBootstrapInfo = readBootstrapInfo;
24
24
  exports.getDecoratorPropertyValueNode = getDecoratorPropertyValueNode;
25
25
  exports.getTsSourceFile = getTsSourceFile;
26
- const js_1 = require("@nx/js");
27
- const path_1 = require("path");
28
26
  const devkit_1 = require("@nx/devkit");
27
+ const js_1 = require("@nx/js");
29
28
  const ensure_typescript_1 = require("@nx/js/src/utils/typescript/ensure-typescript");
29
+ const path_1 = require("path");
30
+ const angular_version_utils_1 = require("../../executors/utilities/angular-version-utils");
31
+ const version_utils_1 = require("../../generators/utils/version-utils");
30
32
  let tsModule;
31
33
  function _angularImportsFromNode(node, _sourceFile) {
32
34
  if (!tsModule) {
@@ -75,14 +77,35 @@ function _angularImportsFromNode(node, _sourceFile) {
75
77
  return {};
76
78
  }
77
79
  }
78
- /**
79
- * Check if the Component, Directive or Pipe is standalone
80
- * @param sourceFile TS Source File containing the token to check
81
- * @param decoratorName The type of decorator to check (Component, Directive, Pipe)
82
- */
83
- function isStandalone(sourceFile, decoratorName) {
80
+ function isStandalone(treeOrSourceFile, sourceFileOrDecoratorName, decoratorName) {
81
+ let tree;
82
+ let sourceFile;
83
+ if (decoratorName === undefined) {
84
+ sourceFile = treeOrSourceFile;
85
+ decoratorName = sourceFileOrDecoratorName;
86
+ }
87
+ else {
88
+ tree = treeOrSourceFile;
89
+ sourceFile = sourceFileOrDecoratorName;
90
+ decoratorName = decoratorName;
91
+ }
84
92
  const decoratorMetadata = getDecoratorMetadata(sourceFile, decoratorName, '@angular/core');
85
- return decoratorMetadata.some((node) => node.getText().includes('standalone: true'));
93
+ const hasStandaloneTrue = decoratorMetadata.some((node) => node.getText().includes('standalone: true'));
94
+ if (hasStandaloneTrue) {
95
+ return true;
96
+ }
97
+ const { major: angularMajorVersion } = tree
98
+ ? (0, version_utils_1.getInstalledAngularVersionInfo)(tree)
99
+ : (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
100
+ if (angularMajorVersion !== null && angularMajorVersion < 19) {
101
+ // in angular 18 and below, standalone: false is the default, so, if
102
+ // standalone: true is not set, then it is false
103
+ return false;
104
+ }
105
+ // in case angularMajorVersion is null, we assume that the version is 19 or
106
+ // above, in which case, standalone: true is the default, so we need to
107
+ // check that standalone: false is not set
108
+ return !decoratorMetadata.some((node) => node.getText().includes('standalone: false'));
86
109
  }
87
110
  function getDecoratorMetadata(source, identifier, module) {
88
111
  if (!tsModule) {
@@ -1,10 +1,10 @@
1
1
  export declare const nxVersion: any;
2
- export declare const angularVersion = "~18.2.0";
3
- export declare const angularDevkitVersion = "~18.2.0";
4
- export declare const ngPackagrVersion = "~18.2.0";
2
+ export declare const angularVersion = "~19.0.0";
3
+ export declare const angularDevkitVersion = "~19.0.0";
4
+ export declare const ngPackagrVersion = "~19.0.0";
5
5
  export declare const ngrxVersion = "^18.0.2";
6
6
  export declare const rxjsVersion = "~7.8.0";
7
- export declare const zoneJsVersion = "~0.14.3";
7
+ export declare const zoneJsVersion = "~0.15.0";
8
8
  export declare const angularJsVersion = "1.7.9";
9
9
  export declare const tsLibVersion = "^2.3.0";
10
10
  export declare const corsVersion = "~2.8.5";
@@ -14,15 +14,15 @@ export declare const typesExpressVersion = "4.17.14";
14
14
  export declare const browserSyncVersion = "^3.0.0";
15
15
  export declare const moduleFederationNodeVersion = "~2.6.11";
16
16
  export declare const moduleFederationEnhancedVersion = "0.7.6";
17
- export declare const angularEslintVersion = "^18.3.0";
17
+ export declare const angularEslintVersion = "^19.0.0";
18
18
  export declare const typescriptEslintVersion = "^7.16.0";
19
19
  export declare const tailwindVersion = "^3.0.2";
20
20
  export declare const postcssVersion = "^8.4.5";
21
21
  export declare const postcssUrlVersion = "~10.1.3";
22
22
  export declare const autoprefixerVersion = "^10.4.0";
23
23
  export declare const tsNodeVersion = "10.9.1";
24
- export declare const jestPresetAngularVersion = "~14.1.0";
24
+ export declare const jestPresetAngularVersion = "~14.4.0";
25
25
  export declare const typesNodeVersion = "18.16.9";
26
26
  export declare const jasmineMarblesVersion = "^0.9.2";
27
- export declare const analogVitestAngular = "~1.9.1";
27
+ export declare const analogVitestAngular = "~1.10.0-beta.6";
28
28
  export declare const jsoncEslintParserVersion = "^2.1.0";
@@ -2,12 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.jsoncEslintParserVersion = exports.analogVitestAngular = exports.jasmineMarblesVersion = exports.typesNodeVersion = exports.jestPresetAngularVersion = exports.tsNodeVersion = exports.autoprefixerVersion = exports.postcssUrlVersion = exports.postcssVersion = exports.tailwindVersion = exports.typescriptEslintVersion = exports.angularEslintVersion = exports.moduleFederationEnhancedVersion = exports.moduleFederationNodeVersion = exports.browserSyncVersion = exports.typesExpressVersion = exports.expressVersion = exports.typesCorsVersion = exports.corsVersion = exports.tsLibVersion = exports.angularJsVersion = exports.zoneJsVersion = exports.rxjsVersion = exports.ngrxVersion = exports.ngPackagrVersion = exports.angularDevkitVersion = exports.angularVersion = exports.nxVersion = void 0;
4
4
  exports.nxVersion = require('../../package.json').version;
5
- exports.angularVersion = '~18.2.0';
6
- exports.angularDevkitVersion = '~18.2.0';
7
- exports.ngPackagrVersion = '~18.2.0';
5
+ exports.angularVersion = '~19.0.0';
6
+ exports.angularDevkitVersion = '~19.0.0';
7
+ exports.ngPackagrVersion = '~19.0.0';
8
8
  exports.ngrxVersion = '^18.0.2';
9
9
  exports.rxjsVersion = '~7.8.0';
10
- exports.zoneJsVersion = '~0.14.3';
10
+ exports.zoneJsVersion = '~0.15.0';
11
11
  exports.angularJsVersion = '1.7.9';
12
12
  exports.tsLibVersion = '^2.3.0';
13
13
  exports.corsVersion = '~2.8.5';
@@ -17,15 +17,15 @@ exports.typesExpressVersion = '4.17.14';
17
17
  exports.browserSyncVersion = '^3.0.0';
18
18
  exports.moduleFederationNodeVersion = '~2.6.11';
19
19
  exports.moduleFederationEnhancedVersion = '0.7.6';
20
- exports.angularEslintVersion = '^18.3.0';
20
+ exports.angularEslintVersion = '^19.0.0';
21
21
  exports.typescriptEslintVersion = '^7.16.0';
22
22
  exports.tailwindVersion = '^3.0.2';
23
23
  exports.postcssVersion = '^8.4.5';
24
24
  exports.postcssUrlVersion = '~10.1.3';
25
25
  exports.autoprefixerVersion = '^10.4.0';
26
26
  exports.tsNodeVersion = '10.9.1';
27
- exports.jestPresetAngularVersion = '~14.1.0';
27
+ exports.jestPresetAngularVersion = '~14.4.0';
28
28
  exports.typesNodeVersion = '18.16.9';
29
29
  exports.jasmineMarblesVersion = '^0.9.2';
30
- exports.analogVitestAngular = '~1.9.1';
30
+ exports.analogVitestAngular = '~1.10.0-beta.6';
31
31
  exports.jsoncEslintParserVersion = '^2.1.0';