@nx/angular 23.0.0-beta.2 → 23.0.0-beta.21

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 (304) hide show
  1. package/generators.d.ts +0 -2
  2. package/generators.d.ts.map +1 -1
  3. package/generators.js +0 -2
  4. package/generators.json +8 -17
  5. package/migrations.json +19 -536
  6. package/package.json +9 -11
  7. package/plugins/component-testing.js +8 -8
  8. package/src/builders/utilities/buildable-libs.d.ts +1 -1
  9. package/src/builders/utilities/buildable-libs.d.ts.map +1 -1
  10. package/src/builders/utilities/buildable-libs.js +3 -3
  11. package/src/builders/utilities/module-federation.d.ts.map +1 -1
  12. package/src/builders/utilities/module-federation.js +9 -11
  13. package/src/builders/utilities/webpack.d.ts.map +1 -1
  14. package/src/builders/utilities/webpack.js +3 -7
  15. package/src/executors/delegate-build/delegate-build.impl.js +3 -3
  16. package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts.map +1 -1
  17. package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +6 -5
  18. package/src/executors/module-federation-dev-server/schema.json +1 -0
  19. package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.d.ts.map +1 -1
  20. package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +6 -5
  21. package/src/executors/module-federation-ssr-dev-server/schema.json +1 -0
  22. package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js +2 -2
  23. package/src/executors/package/package.impl.d.ts +1 -1
  24. package/src/executors/package/package.impl.d.ts.map +1 -1
  25. package/src/executors/package/package.impl.js +5 -5
  26. package/src/executors/utilities/angular-version-utils.d.ts.map +1 -1
  27. package/src/executors/utilities/angular-version-utils.js +3 -8
  28. package/src/executors/utilities/buildable-libs.d.ts +1 -1
  29. package/src/executors/utilities/buildable-libs.d.ts.map +1 -1
  30. package/src/executors/utilities/buildable-libs.js +3 -3
  31. package/src/executors/utilities/esbuild-extensions.d.ts.map +1 -1
  32. package/src/executors/utilities/esbuild-extensions.js +5 -24
  33. package/src/executors/utilities/module-loader.d.ts +1 -1
  34. package/src/executors/utilities/module-loader.d.ts.map +1 -1
  35. package/src/executors/utilities/module-loader.js +24 -20
  36. package/src/generators/add-linting/add-linting.d.ts.map +1 -1
  37. package/src/generators/add-linting/add-linting.js +17 -17
  38. package/src/generators/add-linting/lib/add-angular-eslint-dependencies.d.ts.map +1 -1
  39. package/src/generators/add-linting/lib/add-angular-eslint-dependencies.js +4 -5
  40. package/src/generators/application/application.d.ts.map +1 -1
  41. package/src/generators/application/application.js +7 -4
  42. package/src/generators/application/lib/add-e2e.d.ts.map +1 -1
  43. package/src/generators/application/lib/add-e2e.js +5 -7
  44. package/src/generators/application/lib/add-unit-test-runner.d.ts +2 -2
  45. package/src/generators/application/lib/add-unit-test-runner.d.ts.map +1 -1
  46. package/src/generators/application/lib/add-unit-test-runner.js +5 -5
  47. package/src/generators/application/lib/create-project.d.ts.map +1 -1
  48. package/src/generators/application/lib/create-project.js +3 -3
  49. package/src/generators/application/lib/normalize-options.js +3 -3
  50. package/src/generators/application/lib/update-tsconfig-files.js +3 -3
  51. package/src/generators/component/component.d.ts.map +1 -1
  52. package/src/generators/component/component.js +2 -0
  53. package/src/generators/component/lib/component.js +2 -2
  54. package/src/generators/component/lib/normalize-options.js +2 -2
  55. package/src/generators/component-story/component-story.d.ts.map +1 -1
  56. package/src/generators/component-story/component-story.js +2 -0
  57. package/src/generators/component-test/component-test.d.ts.map +1 -1
  58. package/src/generators/component-test/component-test.js +2 -0
  59. package/src/generators/convert-to-application-executor/convert-to-application-executor.d.ts.map +1 -1
  60. package/src/generators/convert-to-application-executor/convert-to-application-executor.js +2 -0
  61. package/src/generators/convert-to-rspack/convert-to-rspack.d.ts.map +1 -1
  62. package/src/generators/convert-to-rspack/convert-to-rspack.js +5 -4
  63. package/src/generators/convert-to-rspack/lib/create-config.js +1 -1
  64. package/src/generators/convert-to-rspack/lib/get-custom-webpack-config.js +2 -2
  65. package/src/generators/convert-to-with-mf/convert-to-with-mf.d.ts +1 -1
  66. package/src/generators/convert-to-with-mf/convert-to-with-mf.d.ts.map +1 -1
  67. package/src/generators/convert-to-with-mf/convert-to-with-mf.js +5 -0
  68. package/src/generators/convert-to-with-mf/lib/check-name-matches.js +2 -2
  69. package/src/generators/convert-to-with-mf/lib/check-shared-npm-packages.js +2 -2
  70. package/src/generators/convert-to-with-mf/lib/is-host-remote-config.js +4 -4
  71. package/src/generators/convert-to-with-mf/lib/parse-ast-webpack-config.js +2 -2
  72. package/src/generators/convert-to-with-mf/lib/write-new-webpack-config.js +1 -1
  73. package/src/generators/cypress-component-configuration/cypress-component-configuration.d.ts.map +1 -1
  74. package/src/generators/cypress-component-configuration/cypress-component-configuration.js +8 -6
  75. package/src/generators/directive/directive.d.ts.map +1 -1
  76. package/src/generators/directive/directive.js +2 -0
  77. package/src/generators/directive/lib/normalize-options.js +2 -2
  78. package/src/generators/federate-module/federate-module.d.ts.map +1 -1
  79. package/src/generators/federate-module/federate-module.js +4 -0
  80. package/src/generators/federate-module/lib/add-path-to-exposes.js +6 -6
  81. package/src/generators/federate-module/lib/add-remote.js +2 -2
  82. package/src/generators/host/host.d.ts.map +1 -1
  83. package/src/generators/host/host.js +12 -7
  84. package/src/generators/host/lib/update-ssr-setup.js +2 -2
  85. package/src/generators/host/schema.d.ts +1 -0
  86. package/src/generators/host/schema.json +4 -0
  87. package/src/generators/init/init.d.ts.map +1 -1
  88. package/src/generators/init/init.js +4 -2
  89. package/src/generators/library/lib/add-children.js +2 -2
  90. package/src/generators/library/lib/add-load-children.js +2 -2
  91. package/src/generators/library/lib/add-project.js +4 -4
  92. package/src/generators/library/lib/create-files.js +2 -2
  93. package/src/generators/library/lib/normalize-options.js +3 -3
  94. package/src/generators/library/lib/update-tsconfig-files.js +3 -3
  95. package/src/generators/library/library.d.ts.map +1 -1
  96. package/src/generators/library/library.js +16 -11
  97. package/src/generators/library-secondary-entry-point/library-secondary-entry-point.d.ts.map +1 -1
  98. package/src/generators/library-secondary-entry-point/library-secondary-entry-point.js +2 -0
  99. package/src/generators/move/lib/update-module-name.js +2 -2
  100. package/src/generators/ng-add/migrators/migrator.d.ts.map +1 -1
  101. package/src/generators/ng-add/migrators/migrator.js +10 -5
  102. package/src/generators/ng-add/migrators/projects/e2e.migrator.js +6 -6
  103. package/src/generators/ng-add/ng-add.d.ts.map +1 -1
  104. package/src/generators/ng-add/ng-add.js +2 -0
  105. package/src/generators/ng-add/utilities/workspace.js +8 -8
  106. package/src/generators/ngrx-feature-store/lib/add-exports-barrel.js +2 -2
  107. package/src/generators/ngrx-feature-store/lib/add-imports.js +2 -2
  108. package/src/generators/ngrx-feature-store/lib/normalize-options.js +5 -5
  109. package/src/generators/ngrx-feature-store/ngrx-feature-store.d.ts.map +1 -1
  110. package/src/generators/ngrx-feature-store/ngrx-feature-store.js +2 -0
  111. package/src/generators/ngrx-root-store/lib/add-imports.js +2 -2
  112. package/src/generators/ngrx-root-store/lib/normalize-options.js +5 -5
  113. package/src/generators/ngrx-root-store/ngrx-root-store.d.ts.map +1 -1
  114. package/src/generators/ngrx-root-store/ngrx-root-store.js +2 -0
  115. package/src/generators/pipe/lib/normalize-options.js +2 -2
  116. package/src/generators/pipe/pipe.d.ts.map +1 -1
  117. package/src/generators/pipe/pipe.js +2 -0
  118. package/src/generators/remote/lib/update-ssr-setup.js +2 -2
  119. package/src/generators/remote/remote.d.ts.map +1 -1
  120. package/src/generators/remote/remote.js +9 -5
  121. package/src/generators/scam/lib/convert-component-to-scam.js +2 -2
  122. package/src/generators/scam/lib/normalize-options.js +2 -2
  123. package/src/generators/scam/scam.d.ts.map +1 -1
  124. package/src/generators/scam/scam.js +2 -0
  125. package/src/generators/scam-directive/lib/convert-directive-to-scam.js +2 -2
  126. package/src/generators/scam-directive/lib/normalize-options.js +2 -2
  127. package/src/generators/scam-directive/scam-directive.d.ts.map +1 -1
  128. package/src/generators/scam-directive/scam-directive.js +2 -0
  129. package/src/generators/scam-pipe/lib/convert-pipe-to-scam.js +2 -2
  130. package/src/generators/scam-pipe/lib/normalize-options.js +2 -2
  131. package/src/generators/scam-pipe/scam-pipe.d.ts.map +1 -1
  132. package/src/generators/scam-pipe/scam-pipe.js +2 -0
  133. package/src/generators/scam-to-standalone/scam-to-standalone.d.ts.map +1 -1
  134. package/src/generators/scam-to-standalone/scam-to-standalone.js +2 -0
  135. package/src/generators/setup-mf/files/ts-webpack/module-federation.config.ts__tmpl__ +1 -1
  136. package/src/generators/setup-mf/lib/add-cypress-workaround.js +3 -3
  137. package/src/generators/setup-mf/lib/add-remote-to-host.d.ts.map +1 -1
  138. package/src/generators/setup-mf/lib/add-remote-to-host.js +5 -6
  139. package/src/generators/setup-mf/lib/change-build-target.d.ts.map +1 -1
  140. package/src/generators/setup-mf/lib/change-build-target.js +2 -2
  141. package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +2 -2
  142. package/src/generators/setup-mf/setup-mf.d.ts.map +1 -1
  143. package/src/generators/setup-mf/setup-mf.js +10 -0
  144. package/src/generators/setup-ssr/lib/add-hydration.d.ts.map +1 -1
  145. package/src/generators/setup-ssr/lib/add-hydration.js +3 -4
  146. package/src/generators/setup-ssr/lib/add-server-file.js +2 -2
  147. package/src/generators/setup-ssr/lib/generate-files.js +2 -2
  148. package/src/generators/setup-ssr/lib/generate-server-ts-config.js +2 -2
  149. package/src/generators/setup-ssr/lib/normalize-options.d.ts.map +1 -1
  150. package/src/generators/setup-ssr/lib/normalize-options.js +2 -2
  151. package/src/generators/setup-ssr/lib/update-project-config.d.ts.map +1 -1
  152. package/src/generators/setup-ssr/lib/update-project-config.js +19 -7
  153. package/src/generators/setup-ssr/setup-ssr.d.ts.map +1 -1
  154. package/src/generators/setup-ssr/setup-ssr.js +2 -0
  155. package/src/generators/stories/stories.d.ts.map +1 -1
  156. package/src/generators/stories/stories.js +2 -0
  157. package/src/generators/storybook-configuration/storybook-configuration.d.ts.map +1 -1
  158. package/src/generators/storybook-configuration/storybook-configuration.js +2 -0
  159. package/src/generators/utils/add-mf-env-to-inputs.d.ts.map +1 -1
  160. package/src/generators/utils/add-mf-env-to-inputs.js +16 -9
  161. package/src/generators/utils/add-vitest.d.ts +3 -3
  162. package/src/generators/utils/add-vitest.d.ts.map +1 -1
  163. package/src/generators/utils/add-vitest.js +41 -26
  164. package/src/generators/utils/app-components-info.js +2 -2
  165. package/src/generators/utils/find-module.js +2 -2
  166. package/src/generators/utils/insert-ngmodule-import.js +6 -6
  167. package/src/generators/utils/storybook-ast/component-info.js +5 -5
  168. package/src/generators/utils/storybook-ast/module-info.js +9 -9
  169. package/src/generators/utils/storybook-ast/storybook-inputs.js +4 -4
  170. package/src/generators/utils/testing.js +2 -2
  171. package/src/generators/utils/tsconfig-utils.js +2 -2
  172. package/src/generators/utils/validations.js +2 -2
  173. package/src/generators/utils/version-utils.d.ts.map +1 -1
  174. package/src/generators/utils/version-utils.js +2 -7
  175. package/src/generators/web-worker/web-worker.d.ts.map +1 -1
  176. package/src/generators/web-worker/web-worker.js +2 -0
  177. package/src/migrations/update-19-6-1/ensure-depends-on-for-mf.d.ts.map +1 -1
  178. package/src/migrations/update-19-6-1/ensure-depends-on-for-mf.js +26 -19
  179. package/src/migrations/update-20-2-0/disable-angular-eslint-prefer-standalone.js +8 -8
  180. package/src/migrations/update-20-2-0/migrate-with-mf-import-to-new-package.d.ts.map +1 -1
  181. package/src/migrations/update-20-2-0/migrate-with-mf-import-to-new-package.js +2 -2
  182. package/src/migrations/update-20-2-0/remove-angular-eslint-rules.js +6 -6
  183. package/src/migrations/update-20-2-0/remove-tailwind-config-from-ng-packagr-executors.d.ts.map +1 -1
  184. package/src/migrations/update-20-2-0/remove-tailwind-config-from-ng-packagr-executors.js +45 -12
  185. package/src/migrations/update-20-3-0/ensure-nx-module-federation-package.d.ts.map +1 -1
  186. package/src/migrations/update-20-3-0/ensure-nx-module-federation-package.js +2 -2
  187. package/src/migrations/update-21-0-0/change-data-persistence-operators-imports-to-ngrx-router-store-data-persistence.js +2 -2
  188. package/src/migrations/update-21-5-0/utils/karma-config-analyzer.js +2 -2
  189. package/src/migrations/update-22-3-0/update-module-resolution.js +2 -2
  190. package/src/migrations/update-22-3-0/update-ssr-webpack-config.js +2 -2
  191. package/src/migrations/{update-17-2-0/rename-webpack-dev-server.d.ts → update-23-0-0/migrate-ngrx-generator-defaults.d.ts} +1 -1
  192. package/src/migrations/update-23-0-0/migrate-ngrx-generator-defaults.d.ts.map +1 -0
  193. package/src/migrations/update-23-0-0/migrate-ngrx-generator-defaults.js +120 -0
  194. package/src/migrations/update-23-0-0/migrate-with-mf-import-to-new-package.d.ts +3 -0
  195. package/src/migrations/update-23-0-0/migrate-with-mf-import-to-new-package.d.ts.map +1 -0
  196. package/src/migrations/update-23-0-0/migrate-with-mf-import-to-new-package.js +45 -0
  197. package/src/plugins/plugin.d.ts.map +1 -1
  198. package/src/plugins/plugin.js +54 -22
  199. package/src/utils/assert-supported-angular-version.d.ts +3 -0
  200. package/src/utils/assert-supported-angular-version.d.ts.map +1 -0
  201. package/src/utils/assert-supported-angular-version.js +9 -0
  202. package/src/utils/backward-compatible-versions.js +2 -2
  203. package/src/utils/get-mf-projects.js +3 -3
  204. package/src/utils/index.d.ts +1 -0
  205. package/src/utils/index.d.ts.map +1 -1
  206. package/src/utils/index.js +3 -1
  207. package/src/utils/module-federation-deprecation.d.ts +13 -0
  208. package/src/utils/module-federation-deprecation.d.ts.map +1 -0
  209. package/src/utils/module-federation-deprecation.js +49 -0
  210. package/src/utils/nx-devkit/ast-utils.d.ts.map +1 -1
  211. package/src/utils/nx-devkit/ast-utils.js +17 -18
  212. package/src/utils/nx-devkit/route-utils.js +3 -3
  213. package/src/utils/versions.d.ts +1 -1
  214. package/src/utils/versions.d.ts.map +1 -1
  215. package/src/utils/versions.js +8 -3
  216. package/tailwind.js +2 -2
  217. package/module-federation/index.d.ts +0 -6
  218. package/module-federation/index.d.ts.map +0 -1
  219. package/module-federation/index.js +0 -6
  220. package/src/generators/add-linting/lib/create-eslint-configuration.d.ts +0 -16
  221. package/src/generators/add-linting/lib/create-eslint-configuration.d.ts.map +0 -1
  222. package/src/generators/add-linting/lib/create-eslint-configuration.js +0 -121
  223. package/src/generators/move/move.d.ts +0 -7
  224. package/src/generators/move/move.d.ts.map +0 -1
  225. package/src/generators/move/move.js +0 -11
  226. package/src/generators/move/schema.d.ts +0 -8
  227. package/src/generators/move/schema.json +0 -56
  228. package/src/generators/ngrx/files/__directory__/__fileName__.actions.ts__tmpl__ +0 -16
  229. package/src/generators/ngrx/files/__directory__/__fileName__.effects.spec.ts__tmpl__ +0 -37
  230. package/src/generators/ngrx/files/__directory__/__fileName__.effects.ts__tmpl__ +0 -22
  231. package/src/generators/ngrx/files/__directory__/__fileName__.facade.spec.ts__tmpl__ +0 -103
  232. package/src/generators/ngrx/files/__directory__/__fileName__.facade.ts__tmpl__ +0 -27
  233. package/src/generators/ngrx/files/__directory__/__fileName__.models.ts__tmpl__ +0 -7
  234. package/src/generators/ngrx/files/__directory__/__fileName__.reducer.spec.ts__tmpl__ +0 -37
  235. package/src/generators/ngrx/files/__directory__/__fileName__.reducer.ts__tmpl__ +0 -41
  236. package/src/generators/ngrx/files/__directory__/__fileName__.selectors.spec.ts__tmpl__ +0 -58
  237. package/src/generators/ngrx/files/__directory__/__fileName__.selectors.ts__tmpl__ +0 -38
  238. package/src/generators/ngrx/lib/add-exports-barrel.d.ts +0 -7
  239. package/src/generators/ngrx/lib/add-exports-barrel.d.ts.map +0 -1
  240. package/src/generators/ngrx/lib/add-exports-barrel.js +0 -44
  241. package/src/generators/ngrx/lib/add-imports-to-module.d.ts +0 -4
  242. package/src/generators/ngrx/lib/add-imports-to-module.d.ts.map +0 -1
  243. package/src/generators/ngrx/lib/add-imports-to-module.js +0 -181
  244. package/src/generators/ngrx/lib/add-ngrx-to-package-json.d.ts +0 -4
  245. package/src/generators/ngrx/lib/add-ngrx-to-package-json.d.ts.map +0 -1
  246. package/src/generators/ngrx/lib/add-ngrx-to-package-json.js +0 -23
  247. package/src/generators/ngrx/lib/generate-files.d.ts +0 -7
  248. package/src/generators/ngrx/lib/generate-files.d.ts.map +0 -1
  249. package/src/generators/ngrx/lib/generate-files.js +0 -23
  250. package/src/generators/ngrx/lib/index.d.ts +0 -7
  251. package/src/generators/ngrx/lib/index.d.ts.map +0 -1
  252. package/src/generators/ngrx/lib/index.js +0 -15
  253. package/src/generators/ngrx/lib/normalize-options.d.ts +0 -9
  254. package/src/generators/ngrx/lib/normalize-options.d.ts.map +0 -1
  255. package/src/generators/ngrx/lib/normalize-options.js +0 -30
  256. package/src/generators/ngrx/lib/validate-options.d.ts +0 -4
  257. package/src/generators/ngrx/lib/validate-options.d.ts.map +0 -1
  258. package/src/generators/ngrx/lib/validate-options.js +0 -14
  259. package/src/generators/ngrx/ngrx.d.ts +0 -8
  260. package/src/generators/ngrx/ngrx.d.ts.map +0 -1
  261. package/src/generators/ngrx/ngrx.js +0 -28
  262. package/src/generators/ngrx/schema.d.ts +0 -14
  263. package/src/generators/ngrx/schema.json +0 -102
  264. package/src/migrations/update-17-1-0/browser-target-to-build-target.d.ts +0 -4
  265. package/src/migrations/update-17-1-0/browser-target-to-build-target.d.ts.map +0 -1
  266. package/src/migrations/update-17-1-0/browser-target-to-build-target.js +0 -50
  267. package/src/migrations/update-17-1-0/replace-nguniversal-builders.d.ts +0 -3
  268. package/src/migrations/update-17-1-0/replace-nguniversal-builders.d.ts.map +0 -1
  269. package/src/migrations/update-17-1-0/replace-nguniversal-builders.js +0 -75
  270. package/src/migrations/update-17-1-0/replace-nguniversal-engines.d.ts +0 -3
  271. package/src/migrations/update-17-1-0/replace-nguniversal-engines.d.ts.map +0 -1
  272. package/src/migrations/update-17-1-0/replace-nguniversal-engines.js +0 -184
  273. package/src/migrations/update-17-1-0/update-angular-cli.d.ts +0 -4
  274. package/src/migrations/update-17-1-0/update-angular-cli.d.ts.map +0 -1
  275. package/src/migrations/update-17-1-0/update-angular-cli.js +0 -14
  276. package/src/migrations/update-17-1-0/update-zone-js-deep-import.d.ts +0 -3
  277. package/src/migrations/update-17-1-0/update-zone-js-deep-import.d.ts.map +0 -1
  278. package/src/migrations/update-17-1-0/update-zone-js-deep-import.js +0 -37
  279. package/src/migrations/update-17-2-0/rename-webpack-dev-server.d.ts.map +0 -1
  280. package/src/migrations/update-17-2-0/rename-webpack-dev-server.js +0 -40
  281. package/src/migrations/update-17-3-0/add-autoprefixer-dependency.d.ts +0 -3
  282. package/src/migrations/update-17-3-0/add-autoprefixer-dependency.d.ts.map +0 -1
  283. package/src/migrations/update-17-3-0/add-autoprefixer-dependency.js +0 -25
  284. package/src/migrations/update-17-3-0/add-browser-sync-dependency.d.ts +0 -3
  285. package/src/migrations/update-17-3-0/add-browser-sync-dependency.d.ts.map +0 -1
  286. package/src/migrations/update-17-3-0/add-browser-sync-dependency.js +0 -25
  287. package/src/migrations/update-17-3-0/update-angular-cli.d.ts +0 -4
  288. package/src/migrations/update-17-3-0/update-angular-cli.d.ts.map +0 -1
  289. package/src/migrations/update-17-3-0/update-angular-cli.js +0 -14
  290. package/src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults.d.ts +0 -3
  291. package/src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults.d.ts.map +0 -1
  292. package/src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults.js +0 -26
  293. package/src/migrations/update-18-1-0/update-angular-cli.d.ts +0 -4
  294. package/src/migrations/update-18-1-0/update-angular-cli.d.ts.map +0 -1
  295. package/src/migrations/update-18-1-0/update-angular-cli.js +0 -14
  296. package/src/migrations/update-18-1-1/fix-target-defaults-inputs.d.ts +0 -3
  297. package/src/migrations/update-18-1-1/fix-target-defaults-inputs.d.ts.map +0 -1
  298. package/src/migrations/update-18-1-1/fix-target-defaults-inputs.js +0 -53
  299. package/src/migrations/update-18-2-0/update-angular-cli.d.ts +0 -4
  300. package/src/migrations/update-18-2-0/update-angular-cli.d.ts.map +0 -1
  301. package/src/migrations/update-18-2-0/update-angular-cli.js +0 -14
  302. package/src/migrations/update-19-1-0/update-angular-cli.d.ts +0 -4
  303. package/src/migrations/update-19-1-0/update-angular-cli.d.ts.map +0 -1
  304. package/src/migrations/update-19-1-0/update-angular-cli.js +0 -14
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rulesToRemove = void 0;
4
4
  exports.default = default_1;
5
5
  const devkit_1 = require("@nx/devkit");
6
- const eslint_file_1 = require("@nx/eslint/src/generators/utils/eslint-file");
6
+ const internal_1 = require("@nx/eslint/internal");
7
7
  const projects_1 = require("../utils/projects");
8
8
  exports.rulesToRemove = [
9
9
  '@angular-eslint/no-host-metadata-property',
@@ -17,7 +17,7 @@ async function default_1(tree) {
17
17
  let hasRootProject = false;
18
18
  for (const graphNode of projects) {
19
19
  const root = graphNode.data.root;
20
- if (!(0, eslint_file_1.isEslintConfigSupported)(tree, root)) {
20
+ if (!(0, internal_1.isEslintConfigSupported)(tree, root)) {
21
21
  // ESLint config is not supported, skip
22
22
  continue;
23
23
  }
@@ -36,12 +36,12 @@ async function default_1(tree) {
36
36
  // check root config, provide a root so it doesn't try to lookup a base config
37
37
  if (!hasRootProject) {
38
38
  // if there is no root project the root eslint config has not been processed
39
- if ((0, eslint_file_1.isEslintConfigSupported)(tree, '')) {
39
+ if ((0, internal_1.isEslintConfigSupported)(tree, '')) {
40
40
  removeRules(tree, '');
41
41
  }
42
42
  }
43
43
  // handle root base config, not providing a root will prioritize a base config
44
- const baseEslintConfig = (0, eslint_file_1.findEslintFile)(tree);
44
+ const baseEslintConfig = (0, internal_1.findEslintFile)(tree);
45
45
  if (baseEslintConfig && baseEslintConfig.includes('.base.')) {
46
46
  removeRules(tree, baseEslintConfig);
47
47
  }
@@ -50,12 +50,12 @@ async function default_1(tree) {
50
50
  function removeRules(tree, root) {
51
51
  for (const rule of exports.rulesToRemove) {
52
52
  const lookup = (o) => !!o.rules?.[rule];
53
- if (!(0, eslint_file_1.lintConfigHasOverride)(tree, root, lookup)) {
53
+ if (!(0, internal_1.lintConfigHasOverride)(tree, root, lookup)) {
54
54
  // it's not using the rule, skip
55
55
  continue;
56
56
  }
57
57
  // there is an override containing the rule, remove the rule
58
- (0, eslint_file_1.updateOverrideInLintConfig)(tree, root, lookup, (o) => {
58
+ (0, internal_1.updateOverrideInLintConfig)(tree, root, lookup, (o) => {
59
59
  delete o.rules[rule];
60
60
  return o;
61
61
  });
@@ -1 +1 @@
1
- {"version":3,"file":"remove-tailwind-config-from-ng-packagr-executors.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/migrations/update-20-2-0/remove-tailwind-config-from-ng-packagr-executors.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,SAAS,UAAyD,CAAC;AAEhF,yBAA+B,IAAI,EAAE,IAAI,iBA4FxC"}
1
+ {"version":3,"file":"remove-tailwind-config-from-ng-packagr-executors.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/migrations/update-20-2-0/remove-tailwind-config-from-ng-packagr-executors.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,SAAS,UAAyD,CAAC;AAEhF,yBAA+B,IAAI,EAAE,IAAI,iBAgIxC"}
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.executors = void 0;
4
4
  exports.default = default_1;
5
+ const internal_1 = require("@nx/devkit/internal");
5
6
  const devkit_1 = require("@nx/devkit");
6
- const executor_options_utils_1 = require("@nx/devkit/src/generators/executor-options-utils");
7
7
  exports.executors = ['@nx/angular:ng-packagr-lite', '@nx/angular:package'];
8
8
  async function default_1(tree) {
9
9
  // update options from project configs
10
10
  exports.executors.forEach((executor) => {
11
- (0, executor_options_utils_1.forEachExecutorOptions)(tree, executor, (options, project, target, configuration) => {
11
+ (0, internal_1.forEachExecutorOptions)(tree, executor, (options, project, target, configuration) => {
12
12
  if (options.tailwindConfig === undefined) {
13
13
  return;
14
14
  }
@@ -39,11 +39,7 @@ async function default_1(tree) {
39
39
  if (!nxJson.targetDefaults) {
40
40
  return;
41
41
  }
42
- for (const [targetOrExecutor, targetConfig] of Object.entries(nxJson.targetDefaults)) {
43
- if (!exports.executors.includes(targetOrExecutor) &&
44
- !exports.executors.includes(targetConfig.executor)) {
45
- continue;
46
- }
42
+ const cleanEntry = (targetConfig) => {
47
43
  if (targetConfig.options) {
48
44
  delete targetConfig.options.tailwindConfig;
49
45
  if (!Object.keys(targetConfig.options).length) {
@@ -59,14 +55,51 @@ async function default_1(tree) {
59
55
  if (!Object.keys(targetConfig.configurations ?? {}).length) {
60
56
  delete targetConfig.configurations;
61
57
  }
62
- if (!Object.keys(targetConfig).length ||
63
- (Object.keys(targetConfig).length === 1 &&
64
- Object.keys(targetConfig)[0] === 'executor')) {
65
- delete nxJson.targetDefaults[targetOrExecutor];
58
+ return {
59
+ empty: !Object.keys(targetConfig).length ||
60
+ (Object.keys(targetConfig).length === 1 &&
61
+ Object.keys(targetConfig)[0] === 'executor'),
62
+ };
63
+ };
64
+ if (Array.isArray(nxJson.targetDefaults)) {
65
+ const remaining = [];
66
+ for (const entry of nxJson.targetDefaults) {
67
+ const matches = exports.executors.includes(entry.executor) || exports.executors.includes(entry.target);
68
+ if (!matches) {
69
+ remaining.push(entry);
70
+ continue;
71
+ }
72
+ const { empty } = cleanEntry(entry);
73
+ // Empty entries that only described executor/target wrappers are dropped.
74
+ const onlyKeys = Object.keys(entry).filter((k) => k !== 'target' &&
75
+ k !== 'executor' &&
76
+ k !== 'projects' &&
77
+ k !== 'plugin');
78
+ if (empty && onlyKeys.length === 0)
79
+ continue;
80
+ remaining.push(entry);
66
81
  }
67
- if (!Object.keys(nxJson.targetDefaults).length) {
82
+ if (remaining.length === 0) {
68
83
  delete nxJson.targetDefaults;
69
84
  }
85
+ else {
86
+ nxJson.targetDefaults = remaining;
87
+ }
88
+ }
89
+ else {
90
+ for (const [targetOrExecutor, targetConfig] of Object.entries(nxJson.targetDefaults)) {
91
+ if (!exports.executors.includes(targetOrExecutor) &&
92
+ !exports.executors.includes(targetConfig.executor)) {
93
+ continue;
94
+ }
95
+ const { empty } = cleanEntry(targetConfig);
96
+ if (empty) {
97
+ delete nxJson.targetDefaults[targetOrExecutor];
98
+ }
99
+ if (!Object.keys(nxJson.targetDefaults).length) {
100
+ delete nxJson.targetDefaults;
101
+ }
102
+ }
70
103
  }
71
104
  (0, devkit_1.updateNxJson)(tree, nxJson);
72
105
  await (0, devkit_1.formatFiles)(tree);
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-nx-module-federation-package.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/migrations/update-20-3-0/ensure-nx-module-federation-package.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,IAAI,EAGV,MAAM,YAAY,CAAC;AAIpB,wBAA8B,eAAe,CAAC,IAAI,EAAE,IAAI,iBAqBvD"}
1
+ {"version":3,"file":"ensure-nx-module-federation-package.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/migrations/update-20-3-0/ensure-nx-module-federation-package.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,IAAI,EAGV,MAAM,YAAY,CAAC;AAGpB,wBAA8B,eAAe,CAAC,IAAI,EAAE,IAAI,iBAqBvD"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = ensureMfPackage;
4
+ const internal_1 = require("@nx/devkit/internal");
4
5
  const devkit_1 = require("@nx/devkit");
5
- const executor_options_utils_1 = require("@nx/devkit/src/generators/executor-options-utils");
6
6
  const versions_1 = require("../../utils/versions");
7
7
  async function ensureMfPackage(tree) {
8
8
  const projects = new Set();
9
- (0, executor_options_utils_1.forEachExecutorOptions)(tree, '@nx/angular:module-federation-dev-server', (options, project, target) => {
9
+ (0, internal_1.forEachExecutorOptions)(tree, '@nx/angular:module-federation-dev-server', (options, project, target) => {
10
10
  const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, project);
11
11
  projects.add(projectConfig.root);
12
12
  });
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = default_1;
4
4
  const devkit_1 = require("@nx/devkit");
5
- const ensure_typescript_1 = require("@nx/js/src/utils/typescript/ensure-typescript");
5
+ const internal_1 = require("@nx/js/internal");
6
6
  const project_graph_1 = require("nx/src/config/project-graph");
7
7
  const nx_deps_cache_1 = require("nx/src/project-graph/nx-deps-cache");
8
8
  const version_utils_1 = require("../../generators/utils/version-utils");
@@ -23,7 +23,7 @@ async function default_1(tree) {
23
23
  if (!projects.length) {
24
24
  return;
25
25
  }
26
- (0, ensure_typescript_1.ensureTypescript)();
26
+ (0, internal_1.ensureTypescript)();
27
27
  const tsqueryModule = require('@phenomnomnominal/tsquery');
28
28
  tsqueryAst = tsqueryModule.ast;
29
29
  tsqueryQuery = tsqueryModule.query;
@@ -11,7 +11,7 @@ exports.analyzeKarmaConfig = analyzeKarmaConfig;
11
11
  /**
12
12
  * Adapts the private utility from Angular CLI to be used in the migration.
13
13
  */
14
- const ensure_typescript_1 = require("@nx/js/src/utils/typescript/ensure-typescript");
14
+ const internal_1 = require("@nx/js/internal");
15
15
  let ts;
16
16
  /**
17
17
  * Analyzes the content of a Karma configuration file to extract its settings.
@@ -21,7 +21,7 @@ let ts;
21
21
  */
22
22
  function analyzeKarmaConfig(content) {
23
23
  if (!ts) {
24
- ts = (0, ensure_typescript_1.ensureTypescript)();
24
+ ts = (0, internal_1.ensureTypescript)();
25
25
  }
26
26
  const sourceFile = ts.createSourceFile('karma.conf.js', content, ts.ScriptTarget.Latest, true);
27
27
  const settings = new Map();
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = default_1;
4
4
  const devkit_1 = require("@nx/devkit");
5
- const ensure_typescript_1 = require("@nx/js/src/utils/typescript/ensure-typescript");
5
+ const internal_1 = require("@nx/js/internal");
6
6
  const tsconfig_utils_1 = require("../../generators/utils/tsconfig-utils");
7
7
  const targets_1 = require("../../utils/targets");
8
8
  const projects_1 = require("../utils/projects");
@@ -43,7 +43,7 @@ async function default_1(tree) {
43
43
  await (0, devkit_1.formatFiles)(tree);
44
44
  }
45
45
  function updateModuleAndModuleResolution(tree, tsConfigPath) {
46
- const ts = (0, ensure_typescript_1.ensureTypescript)();
46
+ const ts = (0, internal_1.ensureTypescript)();
47
47
  // Read the resolved compiler options from the tsconfig
48
48
  const compilerOptions = (0, tsconfig_utils_1.readCompilerOptionsFromTsConfig)(tree, tsConfigPath);
49
49
  // Check if both module and moduleResolution are already set correctly
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = default_1;
4
4
  const devkit_1 = require("@nx/devkit");
5
- const ensure_typescript_1 = require("@nx/js/src/utils/typescript/ensure-typescript");
5
+ const internal_1 = require("@nx/js/internal");
6
6
  const tsconfig_utils_1 = require("../../generators/utils/tsconfig-utils");
7
7
  const file_change_recorder_1 = require("../../utils/file-change-recorder");
8
8
  const targets_1 = require("../../utils/targets");
@@ -52,7 +52,7 @@ async function default_1(tree) {
52
52
  return;
53
53
  }
54
54
  // Second pass: process each project
55
- ts = (0, ensure_typescript_1.ensureTypescript)();
55
+ ts = (0, internal_1.ensureTypescript)();
56
56
  for (const { tsConfigPath, serverFiles } of projectFilesMap.values()) {
57
57
  const wasUpdated = updateTsConfigServer(tree, tsConfigPath);
58
58
  // Only update server files if tsconfig was actually modified
@@ -1,3 +1,3 @@
1
1
  import { type Tree } from '@nx/devkit';
2
2
  export default function (tree: Tree): Promise<void>;
3
- //# sourceMappingURL=rename-webpack-dev-server.d.ts.map
3
+ //# sourceMappingURL=migrate-ngrx-generator-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-ngrx-generator-defaults.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/migrations/update-23-0-0/migrate-ngrx-generator-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AAsCpB,yBAA+B,IAAI,EAAE,IAAI,iBAcxC"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = default_1;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const COLLECTION = '@nx/angular';
6
+ const OLD_GENERATOR = 'ngrx';
7
+ const OLD_KEY = `${COLLECTION}:${OLD_GENERATOR}`;
8
+ const ROOT_STORE = 'ngrx-root-store';
9
+ const FEATURE_STORE = 'ngrx-feature-store';
10
+ // Options supported by ngrx-root-store. The `minimal` option is included here
11
+ // because its semantics match the old generator (skip generating root feature
12
+ // state files).
13
+ const ROOT_STORE_OPTIONS = [
14
+ 'name',
15
+ 'route',
16
+ 'directory',
17
+ 'facade',
18
+ 'minimal',
19
+ 'skipImport',
20
+ 'skipPackageJson',
21
+ 'skipFormat',
22
+ ];
23
+ // Options supported by ngrx-feature-store. `minimal` is intentionally excluded:
24
+ // in the old generator it was a no-op for feature usage, but in
25
+ // ngrx-feature-store it skips template generation while still wiring imports,
26
+ // which would produce broken modules.
27
+ const FEATURE_STORE_OPTIONS = [
28
+ 'name',
29
+ 'parent',
30
+ 'route',
31
+ 'directory',
32
+ 'facade',
33
+ 'barrels',
34
+ 'skipImport',
35
+ 'skipPackageJson',
36
+ 'skipFormat',
37
+ ];
38
+ async function default_1(tree) {
39
+ const nxJson = (0, devkit_1.readNxJson)(tree);
40
+ if (nxJson?.generators && migrateGenerators(nxJson.generators)) {
41
+ (0, devkit_1.updateNxJson)(tree, nxJson);
42
+ }
43
+ const projects = (0, devkit_1.getProjects)(tree);
44
+ for (const [projectName, project] of projects) {
45
+ if (project.generators && migrateGenerators(project.generators)) {
46
+ (0, devkit_1.updateProjectConfiguration)(tree, projectName, project);
47
+ }
48
+ }
49
+ await (0, devkit_1.formatFiles)(tree);
50
+ }
51
+ function migrateGenerators(generators) {
52
+ const flatDefaults = generators[OLD_KEY];
53
+ const nestedDefaults = generators[COLLECTION]?.[OLD_GENERATOR];
54
+ if (!flatDefaults && !nestedDefaults) {
55
+ return false;
56
+ }
57
+ // Match Nx's runtime merge: nested first, then flat overrides.
58
+ // See `getGeneratorDefaults` in packages/nx/src/utils/params.ts.
59
+ const oldDefaults = {
60
+ ...(nestedDefaults ?? {}),
61
+ ...(flatDefaults ?? {}),
62
+ };
63
+ // Prefer flat when both shapes exist (it's the dominant runtime shape).
64
+ const useNestedFormat = !flatDefaults && !!nestedDefaults;
65
+ // The deprecated `module` option was an alias for `parent`. The old
66
+ // generator resolved `options.module ?? options.parent`, so `module` won
67
+ // when both were set — preserve that precedence here.
68
+ if (oldDefaults.module !== undefined) {
69
+ oldDefaults.parent = oldDefaults.module;
70
+ }
71
+ const rootStoreDefaults = pick(oldDefaults, ROOT_STORE_OPTIONS);
72
+ const featureStoreDefaults = pick(oldDefaults, FEATURE_STORE_OPTIONS);
73
+ if (Object.keys(rootStoreDefaults).length > 0) {
74
+ setNewDefaults(generators, ROOT_STORE, rootStoreDefaults, useNestedFormat);
75
+ }
76
+ if (Object.keys(featureStoreDefaults).length > 0) {
77
+ setNewDefaults(generators, FEATURE_STORE, featureStoreDefaults, useNestedFormat);
78
+ }
79
+ delete generators[OLD_KEY];
80
+ if (generators[COLLECTION]?.[OLD_GENERATOR] !== undefined) {
81
+ delete generators[COLLECTION][OLD_GENERATOR];
82
+ if (Object.keys(generators[COLLECTION]).length === 0) {
83
+ delete generators[COLLECTION];
84
+ }
85
+ }
86
+ return true;
87
+ }
88
+ function pick(obj, keys) {
89
+ const result = {};
90
+ for (const key of keys) {
91
+ if (obj[key] !== undefined) {
92
+ result[key] = obj[key];
93
+ }
94
+ }
95
+ return result;
96
+ }
97
+ function setNewDefaults(generators, generator, newDefaults, preferNestedFormat) {
98
+ const flatKey = `${COLLECTION}:${generator}`;
99
+ const existingFlat = generators[flatKey];
100
+ const existingNested = generators[COLLECTION]?.[generator];
101
+ // Per-generator destination: prefer whichever shape the user already uses
102
+ // for the replacement key, so the migrated defaults layer correctly under
103
+ // their existing values. Fall back to the input shape when neither exists.
104
+ const writeNested = existingNested !== undefined
105
+ ? true
106
+ : existingFlat !== undefined
107
+ ? false
108
+ : preferNestedFormat;
109
+ if (writeNested) {
110
+ generators[COLLECTION] ??= {};
111
+ // Existing user-set defaults take precedence over the migrated ones.
112
+ generators[COLLECTION][generator] = {
113
+ ...newDefaults,
114
+ ...(existingNested ?? {}),
115
+ };
116
+ }
117
+ else {
118
+ generators[flatKey] = { ...newDefaults, ...(existingFlat ?? {}) };
119
+ }
120
+ }
@@ -0,0 +1,3 @@
1
+ import { type Tree } from '@nx/devkit';
2
+ export default function migrateWithMfImport(tree: Tree): Promise<void>;
3
+ //# sourceMappingURL=migrate-with-mf-import-to-new-package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-with-mf-import-to-new-package.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/migrations/update-23-0-0/migrate-with-mf-import-to-new-package.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,IAAI,EAIV,MAAM,YAAY,CAAC;AASpB,wBAA8B,mBAAmB,CAAC,IAAI,EAAE,IAAI,iBAmD3D"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = migrateWithMfImport;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const tsquery_1 = require("@phenomnomnominal/tsquery");
6
+ const projects_1 = require("../utils/projects");
7
+ const versions_1 = require("../../utils/versions");
8
+ const NX_ANGULAR_MODULE_FEDERATION_IMPORT_SELECTOR = 'ImportDeclaration > StringLiteral[value=@nx/angular/module-federation], VariableStatement CallExpression:has(Identifier[name=require]) > StringLiteral[value=@nx/angular/module-federation]';
9
+ const NEW_IMPORT_PATH = `'@nx/module-federation/angular'`;
10
+ async function migrateWithMfImport(tree) {
11
+ const angularProjects = await (0, projects_1.getProjectsFilteredByDependencies)([
12
+ 'npm:@nx/angular',
13
+ ]);
14
+ if (!angularProjects.length) {
15
+ return;
16
+ }
17
+ let anyUpdated = false;
18
+ for (const { data } of angularProjects) {
19
+ (0, devkit_1.visitNotIgnoredFiles)(tree, data.root, (filePath) => {
20
+ if (!filePath.endsWith('.ts') && !filePath.endsWith('.js')) {
21
+ return;
22
+ }
23
+ let contents = tree.read(filePath, 'utf-8');
24
+ if (!contents.includes('@nx/angular/module-federation')) {
25
+ return;
26
+ }
27
+ const sourceFile = (0, tsquery_1.ast)(contents);
28
+ const importNodes = (0, tsquery_1.query)(sourceFile, NX_ANGULAR_MODULE_FEDERATION_IMPORT_SELECTOR);
29
+ if (importNodes.length === 0) {
30
+ return;
31
+ }
32
+ // Iterate end-to-start so earlier replacements don't shift later offsets.
33
+ for (let i = importNodes.length - 1; i >= 0; i--) {
34
+ const node = importNodes[i];
35
+ contents = `${contents.slice(0, node.getStart())}${NEW_IMPORT_PATH}${contents.slice(node.getEnd())}`;
36
+ }
37
+ tree.write(filePath, contents);
38
+ anyUpdated = true;
39
+ });
40
+ }
41
+ if (anyUpdated) {
42
+ (0, devkit_1.addDependenciesToPackageJson)(tree, {}, { '@nx/module-federation': versions_1.nxVersion });
43
+ }
44
+ await (0, devkit_1.formatFiles)(tree);
45
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../../packages/angular/src/plugins/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,aAAa,EAQnB,MAAM,YAAY,CAAC;AAYpB,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAOD,KAAK,0BAA0B,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AACF,MAAM,MAAM,2BAA2B,GAAG;IACxC,WAAW,EAAE,aAAa,GAAG,SAAS,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;CACtD,CAAC;AAgDF,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,oBAAoB,CAwB7D,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../../packages/angular/src/plugins/plugin.ts"],"names":[],"mappings":"AAKA,OAAO,EAML,KAAK,aAAa,EAOnB,MAAM,YAAY,CAAC;AAUpB,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAOD,KAAK,0BAA0B,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AACF,MAAM,MAAM,2BAA2B,GAAG;IACxC,WAAW,EAAE,aAAa,GAAG,SAAS,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;CACtD,CAAC;AAqCF,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,oBAAoB,CA6D7D,CAAC"}
@@ -2,9 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createNodesV2 = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const internal_1 = require("@nx/devkit/internal");
5
6
  const devkit_1 = require("@nx/devkit");
6
- const calculate_hash_for_create_nodes_1 = require("@nx/devkit/src/utils/calculate-hash-for-create-nodes");
7
- const get_named_inputs_1 = require("@nx/devkit/src/utils/get-named-inputs");
8
7
  const js_1 = require("@nx/js");
9
8
  const node_fs_1 = require("node:fs");
10
9
  const node_path_1 = require("node:path");
@@ -46,37 +45,49 @@ const knownExecutors = {
46
45
  '@angular/build:unit-test',
47
46
  ]),
48
47
  };
49
- function readProjectsCache(cachePath) {
50
- return (0, node_fs_1.existsSync)(cachePath) ? (0, devkit_1.readJsonFile)(cachePath) : {};
51
- }
52
- function writeProjectsToCache(cachePath, results) {
53
- (0, devkit_1.writeJsonFile)(cachePath, results);
54
- }
55
48
  exports.createNodesV2 = [
56
49
  '**/angular.json',
57
50
  async (configFiles, options, context) => {
58
51
  const optionsHash = (0, devkit_internals_1.hashObject)(options);
59
52
  const cachePath = (0, node_path_1.join)(cache_directory_1.workspaceDataDirectory, `angular-${optionsHash}.hash`);
60
- const projectsCache = readProjectsCache(cachePath);
61
- const pmc = (0, devkit_1.getPackageManagerCommand)((0, devkit_1.detectPackageManager)(context.workspaceRoot));
53
+ const projectsCache = new internal_1.PluginCache(cachePath);
54
+ const packageManager = (0, devkit_1.detectPackageManager)(context.workspaceRoot);
55
+ const pmc = (0, devkit_1.getPackageManagerCommand)(packageManager);
56
+ const lockFileName = (0, js_1.getLockFileName)(packageManager);
62
57
  try {
63
- return await (0, devkit_1.createNodesFromFiles)((configFile, options, context) => createNodesInternal(configFile, options, context, projectsCache, pmc), configFiles, options, context);
58
+ const { entries, preErrors } = await filterAngularConfigs(configFiles, context);
59
+ const projectHashes = await (0, internal_1.calculateHashesForCreateNodes)(entries.map((e) => e.angularWorkspaceRoot), options ?? {}, context, entries.map(() => [lockFileName]));
60
+ let results = [];
61
+ let nodeErrors = [];
62
+ try {
63
+ results = await (0, devkit_1.createNodesFromFiles)((configFile, opts, ctx, idx) => createNodesInternal(configFile, opts, ctx, projectsCache, pmc, projectHashes[idx]), entries.map((e) => e.configFile), options, context);
64
+ }
65
+ catch (e) {
66
+ if (e instanceof devkit_1.AggregateCreateNodesError) {
67
+ results = e.partialResults ?? [];
68
+ nodeErrors = e.errors;
69
+ }
70
+ else {
71
+ throw e;
72
+ }
73
+ }
74
+ const allErrors = [...preErrors, ...nodeErrors];
75
+ if (allErrors.length > 0) {
76
+ throw new devkit_1.AggregateCreateNodesError(allErrors, results);
77
+ }
78
+ return results;
64
79
  }
65
80
  finally {
66
- writeProjectsToCache(cachePath, projectsCache);
81
+ projectsCache.writeToDisk();
67
82
  }
68
83
  },
69
84
  ];
70
- async function createNodesInternal(configFilePath, options, context, projectsCache, pmc) {
85
+ async function createNodesInternal(configFilePath, options, context, projectsCache, pmc, hash) {
71
86
  const angularWorkspaceRoot = (0, node_path_1.dirname)(configFilePath);
72
- // Do not create a project if package.json isn't there
73
- const siblingFiles = (0, node_fs_1.readdirSync)((0, node_path_1.join)(context.workspaceRoot, angularWorkspaceRoot));
74
- if (!siblingFiles.includes('package.json')) {
75
- return {};
76
- }
77
- const hash = await (0, calculate_hash_for_create_nodes_1.calculateHashForCreateNodes)(angularWorkspaceRoot, options, context, [(0, js_1.getLockFileName)((0, devkit_1.detectPackageManager)(context.workspaceRoot))]);
78
- projectsCache[hash] ??= await buildAngularProjects(configFilePath, options, angularWorkspaceRoot, context, pmc);
79
- return { projects: projectsCache[hash] };
87
+ if (!projectsCache.has(hash)) {
88
+ projectsCache.set(hash, await buildAngularProjects(configFilePath, options, angularWorkspaceRoot, context, pmc));
89
+ }
90
+ return { projects: projectsCache.get(hash) };
80
91
  }
81
92
  async function buildAngularProjects(configFilePath, options, angularWorkspaceRoot, context, pmc) {
82
93
  const projects = {};
@@ -90,7 +101,7 @@ async function buildAngularProjects(configFilePath, options, angularWorkspaceRoo
90
101
  if (!projectTargets) {
91
102
  continue;
92
103
  }
93
- const namedInputs = (0, get_named_inputs_1.getNamedInputs)(project.root, context);
104
+ const namedInputs = (0, internal_1.getNamedInputs)(project.root, context);
94
105
  for (const [angularTargetName, angularTarget] of Object.entries(projectTargets)) {
95
106
  const nxTargetName = options?.targetNamePrefix
96
107
  ? `${options.targetNamePrefix}${angularTargetName}`
@@ -525,3 +536,24 @@ function getOutput(path, workspaceRoot, angularWorkspaceRoot, projectRoot) {
525
536
  function getAngularJsonProjectTargets(project) {
526
537
  return project.architect ?? project.targets;
527
538
  }
539
+ async function filterAngularConfigs(configFiles, context) {
540
+ const preErrors = [];
541
+ const candidates = await Promise.all(configFiles.map(async (configFile) => {
542
+ try {
543
+ const angularWorkspaceRoot = (0, node_path_1.dirname)(configFile);
544
+ const siblingFiles = (0, node_fs_1.readdirSync)((0, node_path_1.join)(context.workspaceRoot, angularWorkspaceRoot));
545
+ if (!siblingFiles.includes('package.json')) {
546
+ return null;
547
+ }
548
+ return { configFile, angularWorkspaceRoot };
549
+ }
550
+ catch (e) {
551
+ preErrors.push([configFile, e]);
552
+ return null;
553
+ }
554
+ }));
555
+ return {
556
+ entries: candidates.filter((c) => c !== null),
557
+ preErrors,
558
+ };
559
+ }
@@ -0,0 +1,3 @@
1
+ import { type Tree } from '@nx/devkit';
2
+ export declare function assertSupportedAngularVersion(tree: Tree): void;
3
+ //# sourceMappingURL=assert-supported-angular-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert-supported-angular-version.d.ts","sourceRoot":"","sources":["../../../../../packages/angular/src/utils/assert-supported-angular-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAMvC,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAM9D"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertSupportedAngularVersion = assertSupportedAngularVersion;
4
+ const internal_1 = require("@nx/devkit/internal");
5
+ const backward_compatible_versions_1 = require("./backward-compatible-versions");
6
+ const minSupportedAngularMajor = Math.min(...backward_compatible_versions_1.supportedVersions);
7
+ function assertSupportedAngularVersion(tree) {
8
+ (0, internal_1.assertSupportedPackageVersion)(tree, '@angular/core', `${minSupportedAngularMajor}.0.0`);
9
+ }
@@ -29,7 +29,7 @@ exports.backwardCompatibleVersions = {
29
29
  tsNodeVersion: '10.9.1',
30
30
  lessVersion: '^4.3.0',
31
31
  jestPresetAngularVersion: '~14.6.1',
32
- typesNodeVersion: '20.19.9',
32
+ typesNodeVersion: '^22.0.0',
33
33
  jasmineMarblesVersion: '^0.9.2',
34
34
  jsoncEslintParserVersion: '^2.1.0',
35
35
  webpackMergeVersion: '^5.8.0',
@@ -61,7 +61,7 @@ exports.backwardCompatibleVersions = {
61
61
  tsNodeVersion: '10.9.1',
62
62
  lessVersion: '^4.3.0',
63
63
  jestPresetAngularVersion: '~14.4.0',
64
- typesNodeVersion: '20.19.9',
64
+ typesNodeVersion: '^22.0.0',
65
65
  jasmineMarblesVersion: '^0.9.2',
66
66
  jsoncEslintParserVersion: '^2.1.0',
67
67
  webpackMergeVersion: '^5.8.0',
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getMFProjects = getMFProjects;
4
- const executor_options_utils_1 = require("@nx/devkit/src/generators/executor-options-utils");
4
+ const internal_1 = require("@nx/devkit/internal");
5
5
  function _getMfProjects(tree, CUSTOM_WEBPACK_OPTION, MODULE_FEDERATION_IDENTIFIER, projects) {
6
6
  return (opts, projectName) => {
7
7
  const webpackPath = opts[CUSTOM_WEBPACK_OPTION]?.path;
@@ -25,7 +25,7 @@ function getMFProjects(tree, { legacy } = { legacy: false }) {
25
25
  ? 'Identifier[name=ModuleFederationPlugin]'
26
26
  : 'Identifier[name=withModuleFederation]';
27
27
  const projects = [];
28
- (0, executor_options_utils_1.forEachExecutorOptions)(tree, '@nx/angular:webpack-browser', _getMfProjects(tree, CUSTOM_WEBPACK_OPTION, MODULE_FEDERATION_IDENTIFIER, projects));
29
- (0, executor_options_utils_1.forEachExecutorOptions)(tree, '@nrwl/angular:webpack-browser', _getMfProjects(tree, CUSTOM_WEBPACK_OPTION, MODULE_FEDERATION_IDENTIFIER, projects));
28
+ (0, internal_1.forEachExecutorOptions)(tree, '@nx/angular:webpack-browser', _getMfProjects(tree, CUSTOM_WEBPACK_OPTION, MODULE_FEDERATION_IDENTIFIER, projects));
29
+ (0, internal_1.forEachExecutorOptions)(tree, '@nrwl/angular:webpack-browser', _getMfProjects(tree, CUSTOM_WEBPACK_OPTION, MODULE_FEDERATION_IDENTIFIER, projects));
30
30
  return projects;
31
31
  }
@@ -5,4 +5,5 @@
5
5
  */
6
6
  export { isStandalone, addImportToComponent, addImportToDirective, addImportToPipe, addImportToModule, addProviderToBootstrapApplication, addProviderToAppConfig, addProviderToComponent, addProviderToModule, addViewProviderToComponent, } from './nx-devkit/ast-utils';
7
7
  export { addRoute, addProviderToRoute } from './nx-devkit/route-utils';
8
+ export { angularDevkitVersion } from './versions';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/angular/src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,iCAAiC,EACjC,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/angular/src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,iCAAiC,EACjC,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * Try hard to not add to this API to reduce the surface area we need to maintain.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.addProviderToRoute = exports.addRoute = exports.addViewProviderToComponent = exports.addProviderToModule = exports.addProviderToComponent = exports.addProviderToAppConfig = exports.addProviderToBootstrapApplication = exports.addImportToModule = exports.addImportToPipe = exports.addImportToDirective = exports.addImportToComponent = exports.isStandalone = void 0;
8
+ exports.angularDevkitVersion = exports.addProviderToRoute = exports.addRoute = exports.addViewProviderToComponent = exports.addProviderToModule = exports.addProviderToComponent = exports.addProviderToAppConfig = exports.addProviderToBootstrapApplication = exports.addImportToModule = exports.addImportToPipe = exports.addImportToDirective = exports.addImportToComponent = exports.isStandalone = void 0;
9
9
  var ast_utils_1 = require("./nx-devkit/ast-utils");
10
10
  Object.defineProperty(exports, "isStandalone", { enumerable: true, get: function () { return ast_utils_1.isStandalone; } });
11
11
  Object.defineProperty(exports, "addImportToComponent", { enumerable: true, get: function () { return ast_utils_1.addImportToComponent; } });
@@ -20,3 +20,5 @@ Object.defineProperty(exports, "addViewProviderToComponent", { enumerable: true,
20
20
  var route_utils_1 = require("./nx-devkit/route-utils");
21
21
  Object.defineProperty(exports, "addRoute", { enumerable: true, get: function () { return route_utils_1.addRoute; } });
22
22
  Object.defineProperty(exports, "addProviderToRoute", { enumerable: true, get: function () { return route_utils_1.addProviderToRoute; } });
23
+ var versions_1 = require("./versions");
24
+ Object.defineProperty(exports, "angularDevkitVersion", { enumerable: true, get: function () { return versions_1.angularDevkitVersion; } });