@nx/angular 0.0.0-pr-31222-862e973 → 0.0.0-pr-31313-387cdca

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 (477) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/executors.d.ts +1 -6
  4. package/executors.js +2 -3
  5. package/executors.json +2 -2
  6. package/fesm2022/nx-angular-mf.mjs +64 -0
  7. package/fesm2022/nx-angular-mf.mjs.map +1 -1
  8. package/fesm2022/nx-angular.mjs +0 -352
  9. package/fesm2022/nx-angular.mjs.map +1 -1
  10. package/generators.d.ts +0 -1
  11. package/generators.js +0 -1
  12. package/generators.json +19 -18
  13. package/index.d.ts +1 -1
  14. package/mf/mf.d.ts +64 -0
  15. package/migrations.json +778 -1289
  16. package/module-federation/index.d.ts +5 -2
  17. package/module-federation/index.js +3 -4
  18. package/ng-package.json +2 -2
  19. package/package.json +17 -29
  20. package/src/builders/dev-server/dev-server.impl.js +6 -4
  21. package/src/builders/dev-server/lib/normalize-options.js +3 -0
  22. package/src/builders/dev-server/lib/validate-options.js +1 -9
  23. package/src/builders/dev-server/schema.d.ts +3 -0
  24. package/src/builders/dev-server/schema.json +8 -8
  25. package/src/builders/webpack-browser/schema.d.ts +0 -5
  26. package/src/builders/webpack-browser/schema.json +0 -2
  27. package/src/builders/webpack-browser/webpack-browser.impl.js +3 -4
  28. package/src/builders/webpack-server/schema.json +0 -1
  29. package/src/executors/application/application.impl.d.ts +1 -1
  30. package/src/executors/application/application.impl.js +4 -1
  31. package/src/executors/application/schema.json +78 -8
  32. package/src/executors/application/utils/normalize-options.d.ts +2 -0
  33. package/src/executors/application/utils/normalize-options.js +34 -0
  34. package/src/executors/application/utils/validate-options.js +18 -4
  35. package/src/executors/browser-esbuild/browser-esbuild.impl.d.ts +1 -1
  36. package/src/executors/browser-esbuild/browser-esbuild.impl.js +0 -9
  37. package/src/executors/browser-esbuild/schema.json +1 -3
  38. package/src/executors/delegate-build/delegate-build.impl.d.ts +1 -3
  39. package/src/executors/delegate-build/delegate-build.impl.js +0 -3
  40. package/src/executors/module-federation-dev-server/lib/index.d.ts +0 -2
  41. package/src/executors/module-federation-dev-server/lib/index.js +0 -2
  42. package/src/executors/module-federation-dev-server/lib/normalize-options.js +1 -0
  43. package/src/executors/module-federation-dev-server/lib/start-dev-remotes.d.ts +1 -1
  44. package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +1 -1
  45. package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +5 -31
  46. package/src/executors/module-federation-dev-server/schema.d.ts +4 -0
  47. package/src/executors/module-federation-dev-server/schema.json +2 -1
  48. package/src/executors/module-federation-ssr-dev-server/lib/normalize-options.d.ts +2 -2
  49. package/src/executors/module-federation-ssr-dev-server/lib/normalize-options.js +1 -0
  50. package/src/executors/module-federation-ssr-dev-server/lib/start-dev-remotes.d.ts +1 -1
  51. package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.d.ts +1 -1
  52. package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +7 -35
  53. package/src/executors/module-federation-ssr-dev-server/schema.d.ts +8 -14
  54. package/src/executors/module-federation-ssr-dev-server/schema.json +1 -0
  55. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/entry-point.d.ts +3 -0
  56. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/entry-point.js +22 -0
  57. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.di.d.ts +2 -0
  58. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.di.js +17 -0
  59. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+/ng-package → ng-package}/entry-point/write-bundles.transform.d.ts +3 -1
  60. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.transform.js +49 -0
  61. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.d.ts +2 -3
  62. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.js +7 -26
  63. package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.d.ts +1 -1
  64. package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js +1 -1
  65. package/src/executors/ng-packagr-lite/schema.json +3 -7
  66. package/src/executors/package/ng-packagr-adjustments/ng-packagr.d.ts +2 -3
  67. package/src/executors/package/ng-packagr-adjustments/ng-packagr.js +4 -21
  68. package/src/executors/package/package.impl.d.ts +2 -2
  69. package/src/executors/package/package.impl.js +6 -4
  70. package/src/executors/package/schema.d.ts +4 -6
  71. package/src/executors/package/schema.json +4 -10
  72. package/src/executors/utilities/ng-packagr/ng-packagr-version.d.ts +2 -0
  73. package/src/executors/utilities/ng-packagr/ng-packagr-version.js +11 -0
  74. package/src/executors/utilities/ng-packagr/package-imports.d.ts +1 -0
  75. package/src/executors/utilities/ng-packagr/package-imports.js +10 -0
  76. package/src/executors/utilities/ng-packagr/{stylesheet-processor.js → pre-v19/stylesheet-processor.js} +4 -4
  77. package/src/executors/utilities/ng-packagr/stylesheet-processor.di.d.ts +1 -1
  78. package/src/executors/utilities/ng-packagr/stylesheet-processor.di.js +23 -14
  79. package/src/executors/utilities/ng-packagr/tailwindcss.d.ts +0 -6
  80. package/src/executors/utilities/ng-packagr/tailwindcss.js +0 -32
  81. package/src/executors/utilities/ng-packagr/v19+/stylesheet-processor.d.ts +14 -0
  82. package/src/executors/utilities/ng-packagr/v19+/stylesheet-processor.js +99 -0
  83. package/src/generators/add-linting/add-linting.js +2 -17
  84. package/src/generators/add-linting/lib/create-eslint-configuration.d.ts +2 -2
  85. package/src/generators/add-linting/lib/create-eslint-configuration.js +2 -2
  86. package/src/generators/add-linting/schema.d.ts +1 -0
  87. package/src/generators/application/application.d.ts +0 -1
  88. package/src/generators/application/application.js +24 -9
  89. package/src/generators/application/files/ng-module/src/app/app.component.html__tpl__ +8 -1
  90. package/src/generators/application/files/ng-module/src/app/app.component.ts__tpl__ +4 -5
  91. package/src/generators/application/files/nx-welcome/claimed/ng-module/src/app/nx-welcome.component.ts__tpl__ +2 -1
  92. package/src/generators/application/files/nx-welcome/claimed/standalone/src/app/nx-welcome.component.ts__tpl__ +2 -2
  93. package/src/generators/application/files/nx-welcome/not-configured/ng-module/src/app/nx-welcome.component.ts__tpl__ +2 -1
  94. package/src/generators/application/files/nx-welcome/not-configured/standalone/src/app/nx-welcome.component.ts__tpl__ +2 -2
  95. package/src/generators/application/files/nx-welcome/unclaimed/ng-module/src/app/nx-welcome.component.ts__tpl__ +2 -1
  96. package/src/generators/application/files/nx-welcome/unclaimed/standalone/src/app/nx-welcome.component.ts__tpl__ +2 -2
  97. package/src/generators/application/files/rspack-ssr/server.ts__tmpl__ +72 -0
  98. package/src/generators/application/files/standalone-components/src/app/app.component.html__tpl__ +8 -1
  99. package/src/generators/application/files/standalone-components/src/app/app.component.ts__tpl__ +4 -6
  100. package/src/generators/application/lib/add-e2e.js +2 -9
  101. package/src/generators/application/lib/add-linting.js +2 -2
  102. package/src/generators/application/lib/add-serve-static-target.d.ts +1 -1
  103. package/src/generators/application/lib/add-serve-static-target.js +2 -3
  104. package/src/generators/application/lib/add-unit-test-runner.js +20 -7
  105. package/src/generators/application/lib/create-files.js +4 -1
  106. package/src/generators/application/lib/create-project.js +25 -31
  107. package/src/generators/application/lib/normalize-options.d.ts +1 -1
  108. package/src/generators/application/lib/normalize-options.js +14 -15
  109. package/src/generators/application/schema.d.ts +5 -6
  110. package/src/generators/application/schema.json +16 -21
  111. package/src/generators/component/component.d.ts +0 -1
  112. package/src/generators/component/component.js +4 -7
  113. package/src/generators/component/files/__fileName__.__style__ +1 -1
  114. package/src/generators/component/files/__fileName__.spec.ts__tpl__ +1 -1
  115. package/src/generators/component/files/__fileName__.ts__tpl__ +5 -13
  116. package/src/generators/component/lib/normalize-options.js +8 -6
  117. package/src/generators/component/schema.d.ts +3 -18
  118. package/src/generators/component/schema.json +11 -28
  119. package/src/generators/component-story/files/__componentFileName__.stories.ts__tmpl__ +4 -4
  120. package/src/generators/component-test/component-test.js +1 -1
  121. package/src/generators/convert-to-application-executor/convert-to-application-executor.js +1 -4
  122. package/src/generators/convert-to-application-executor/schema.json +1 -1
  123. package/src/generators/convert-to-rspack/convert-to-rspack.d.ts +4 -0
  124. package/src/generators/convert-to-rspack/convert-to-rspack.js +357 -0
  125. package/src/generators/convert-to-rspack/lib/create-config.d.ts +2 -0
  126. package/src/generators/convert-to-rspack/lib/create-config.js +45 -0
  127. package/src/generators/convert-to-rspack/lib/get-custom-webpack-config.d.ts +6 -0
  128. package/src/generators/convert-to-rspack/lib/get-custom-webpack-config.js +77 -0
  129. package/src/generators/convert-to-rspack/lib/update-tsconfig.d.ts +2 -0
  130. package/src/generators/convert-to-rspack/lib/update-tsconfig.js +26 -0
  131. package/src/generators/convert-to-rspack/lib/validate-supported-executor.d.ts +2 -0
  132. package/src/generators/convert-to-rspack/lib/validate-supported-executor.js +14 -0
  133. package/src/generators/convert-to-rspack/schema.d.ts +5 -0
  134. package/src/generators/convert-to-rspack/schema.json +30 -0
  135. package/src/generators/cypress-component-configuration/cypress-component-configuration.d.ts +1 -2
  136. package/src/generators/cypress-component-configuration/cypress-component-configuration.js +1 -7
  137. package/src/generators/directive/directive.js +5 -0
  138. package/src/generators/directive/files/__fileName__.ts__tpl__ +2 -2
  139. package/src/generators/directive/lib/normalize-options.js +6 -7
  140. package/src/generators/directive/schema.d.ts +2 -17
  141. package/src/generators/directive/schema.json +20 -28
  142. package/src/generators/federate-module/lib/add-remote.js +0 -3
  143. package/src/generators/federate-module/schema.d.ts +0 -2
  144. package/src/generators/federate-module/schema.json +19 -16
  145. package/src/generators/host/files/common/{v17+/src → src}/main.server.ts__tmpl__ +1 -1
  146. package/src/generators/host/files/js/webpack.server.config.js__tmpl__ +1 -1
  147. package/src/generators/host/files/ts/webpack.server.config.ts__tmpl__ +1 -1
  148. package/src/generators/host/host.d.ts +1 -2
  149. package/src/generators/host/host.js +33 -25
  150. package/src/generators/host/lib/update-ssr-setup.js +7 -3
  151. package/src/generators/host/schema.d.ts +4 -5
  152. package/src/generators/host/schema.json +34 -27
  153. package/src/generators/init/init.js +3 -1
  154. package/src/generators/library/files/base/README.md__tpl__ +2 -2
  155. package/src/generators/library/lib/add-project.d.ts +1 -1
  156. package/src/generators/library/lib/add-project.js +7 -1
  157. package/src/generators/library/lib/add-standalone-component.js +4 -3
  158. package/src/generators/library/lib/normalize-options.js +4 -5
  159. package/src/generators/library/lib/normalized-schema.d.ts +2 -3
  160. package/src/generators/library/library.d.ts +0 -1
  161. package/src/generators/library/library.js +27 -19
  162. package/src/generators/library/schema.d.ts +2 -5
  163. package/src/generators/library/schema.json +9 -20
  164. package/src/generators/move/lib/update-secondary-entry-points.js +1 -0
  165. package/src/generators/move/move.d.ts +3 -1
  166. package/src/generators/move/move.js +4 -8
  167. package/src/generators/move/schema.d.ts +0 -3
  168. package/src/generators/move/schema.json +0 -5
  169. package/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.js +1 -1
  170. package/src/generators/ng-add/migrators/builders/angular-devkit-ng-packagr.migrator.js +4 -3
  171. package/src/generators/ng-add/migrators/builders/angular-eslint-lint.migrator.js +1 -1
  172. package/src/generators/ng-add/migrators/builders/builder.migrator.d.ts +2 -2
  173. package/src/generators/ng-add/migrators/builders/builder.migrator.js +4 -4
  174. package/src/generators/ng-add/migrators/projects/e2e.migrator.js +4 -4
  175. package/src/generators/ng-add/migrators/projects/project.migrator.js +1 -1
  176. package/src/generators/ng-add/utilities/validation-logging.js +5 -4
  177. package/src/generators/ng-add/utilities/workspace.js +5 -2
  178. package/src/generators/ngrx/ngrx.d.ts +3 -0
  179. package/src/generators/ngrx/ngrx.js +3 -0
  180. package/src/generators/ngrx/schema.json +1 -1
  181. package/src/generators/ngrx-feature-store/schema.d.ts +1 -1
  182. package/src/generators/ngrx-root-store/lib/add-imports.js +4 -4
  183. package/src/generators/ngrx-root-store/lib/normalize-options.js +3 -2
  184. package/src/generators/pipe/files/__fileName__.ts__tpl__ +2 -2
  185. package/src/generators/pipe/lib/normalize-options.js +6 -7
  186. package/src/generators/pipe/pipe.js +5 -0
  187. package/src/generators/pipe/schema.d.ts +2 -17
  188. package/src/generators/pipe/schema.json +20 -28
  189. package/src/generators/remote/files/base/webpack.server.config.js__tmpl__ +1 -1
  190. package/src/generators/remote/files/base-ts/webpack.server.config.ts__tmpl__ +1 -1
  191. package/src/generators/remote/files/common/{v17+/src → src}/main.server.ts__tmpl__ +1 -1
  192. package/src/generators/remote/lib/update-ssr-setup.js +7 -3
  193. package/src/generators/remote/remote.d.ts +1 -2
  194. package/src/generators/remote/remote.js +38 -14
  195. package/src/generators/remote/schema.d.ts +4 -5
  196. package/src/generators/remote/schema.json +32 -25
  197. package/src/generators/scam/lib/normalize-options.js +6 -7
  198. package/src/generators/scam/scam.js +0 -2
  199. package/src/generators/scam/schema.d.ts +3 -17
  200. package/src/generators/scam/schema.json +16 -30
  201. package/src/generators/scam-directive/lib/normalize-options.js +6 -7
  202. package/src/generators/scam-directive/scam-directive.js +0 -2
  203. package/src/generators/scam-directive/schema.d.ts +3 -17
  204. package/src/generators/scam-directive/schema.json +16 -31
  205. package/src/generators/scam-pipe/lib/normalize-options.js +6 -7
  206. package/src/generators/scam-pipe/scam-pipe.js +0 -2
  207. package/src/generators/scam-pipe/schema.d.ts +3 -17
  208. package/src/generators/scam-pipe/schema.json +16 -31
  209. package/src/generators/scam-to-standalone/lib/convert-scam-to-standalone.d.ts +1 -1
  210. package/src/generators/scam-to-standalone/lib/convert-scam-to-standalone.js +5 -4
  211. package/src/generators/scam-to-standalone/lib/replace-module-usages-with-component.js +3 -1
  212. package/src/generators/setup-mf/files/entry-module-files/entry.component.ts__tmpl__ +2 -1
  213. package/src/generators/setup-mf/files/standalone-entry-component-files/entry.component.ts__tmpl__ +2 -2
  214. package/src/generators/setup-mf/files/ts-webpack/module-federation.config.ts__tmpl__ +4 -1
  215. package/src/generators/setup-mf/files/ts-webpack/webpack.config.ts__tmpl__ +1 -1
  216. package/src/generators/setup-mf/files/ts-webpack/webpack.prod.config.ts__tmpl__ +1 -1
  217. package/src/generators/setup-mf/files/webpack/module-federation.config.js__tmpl__ +3 -0
  218. package/src/generators/setup-mf/files/webpack/webpack.config.js__tmpl__ +1 -1
  219. package/src/generators/setup-mf/files/webpack/webpack.prod.config.js__tmpl__ +1 -1
  220. package/src/generators/setup-mf/lib/add-remote-entry.js +5 -0
  221. package/src/generators/setup-mf/lib/add-remote-to-host.js +21 -8
  222. package/src/generators/setup-mf/lib/fix-bootstrap.js +3 -2
  223. package/src/generators/setup-mf/lib/setup-serve-target.js +1 -0
  224. package/src/generators/setup-mf/lib/setup-tspath-for-remote.js +1 -1
  225. package/src/generators/setup-mf/schema.json +5 -3
  226. package/src/generators/setup-mf/setup-mf.js +5 -2
  227. package/src/generators/setup-ssr/files/{server → pre-v19/server}/application-builder/__serverFileName__ +1 -1
  228. package/src/generators/setup-ssr/files/{server/server-builder/v17+ → pre-v19/server/server-builder}/__serverFileName__ +1 -1
  229. package/src/generators/setup-ssr/files/v19+/application-builder/ngmodule-src/__main__ +1 -0
  230. package/src/generators/setup-ssr/files/v19+/application-builder/ngmodule-src/app/__rootModuleFileName__ +13 -0
  231. package/src/generators/setup-ssr/files/v19+/application-builder/ngmodule-src/app/app.routes.server.ts__tpl__ +8 -0
  232. package/src/generators/setup-ssr/files/v19+/application-builder/server/__serverFileName__ +66 -0
  233. package/src/generators/setup-ssr/files/v19+/application-builder/standalone-src/__main__ +7 -0
  234. package/src/generators/setup-ssr/files/v19+/application-builder/standalone-src/app/app.config.server.ts__tpl__ +14 -0
  235. package/src/generators/setup-ssr/files/v19+/application-builder/standalone-src/app/app.routes.server.ts__tpl__ +8 -0
  236. package/src/generators/setup-ssr/files/v19+/application-builder-common-engine/server/__serverFileName__ +67 -0
  237. package/src/generators/setup-ssr/files/v19+/server-builder/ngmodule-src/__main__ +1 -0
  238. package/src/generators/setup-ssr/files/v19+/server-builder/ngmodule-src/app/__rootModuleFileName__ +14 -0
  239. package/src/generators/setup-ssr/files/v19+/server-builder/root/tsconfig.server.json.template +16 -0
  240. package/src/generators/setup-ssr/files/{server/server-builder/pre-v17 → v19+/server-builder/server}/__serverFileName__ +25 -15
  241. package/src/generators/setup-ssr/files/v19+/server-builder/standalone-src/__main__ +7 -0
  242. package/src/generators/setup-ssr/files/v19+/server-builder/standalone-src/app/app.config.server.ts.template +11 -0
  243. package/src/generators/setup-ssr/lib/add-dependencies.js +6 -17
  244. package/src/generators/setup-ssr/lib/add-hydration.d.ts +2 -2
  245. package/src/generators/setup-ssr/lib/add-hydration.js +10 -2
  246. package/src/generators/setup-ssr/lib/add-server-file.d.ts +2 -2
  247. package/src/generators/setup-ssr/lib/add-server-file.js +24 -10
  248. package/src/generators/setup-ssr/lib/generate-files.d.ts +2 -2
  249. package/src/generators/setup-ssr/lib/generate-files.js +31 -8
  250. package/src/generators/setup-ssr/lib/generate-server-ts-config.d.ts +3 -3
  251. package/src/generators/setup-ssr/lib/generate-server-ts-config.js +24 -3
  252. package/src/generators/setup-ssr/lib/normalize-options.d.ts +3 -14
  253. package/src/generators/setup-ssr/lib/normalize-options.js +27 -6
  254. package/src/generators/setup-ssr/lib/set-router-initial-navigation.d.ts +2 -2
  255. package/src/generators/setup-ssr/lib/update-project-config.d.ts +3 -3
  256. package/src/generators/setup-ssr/lib/update-project-config.js +37 -24
  257. package/src/generators/setup-ssr/lib/validate-options.js +5 -0
  258. package/src/generators/setup-ssr/schema.d.ts +5 -0
  259. package/src/generators/setup-ssr/schema.json +6 -8
  260. package/src/generators/setup-ssr/setup-ssr.js +6 -11
  261. package/src/generators/setup-tailwind/lib/index.d.ts +1 -1
  262. package/src/generators/setup-tailwind/lib/index.js +1 -1
  263. package/src/generators/setup-tailwind/lib/update-application-styles.js +1 -1
  264. package/src/generators/setup-tailwind/lib/validate-build-target.d.ts +3 -0
  265. package/src/generators/setup-tailwind/lib/{add-tailwind-config-path-to-project.js → validate-build-target.js} +5 -15
  266. package/src/generators/setup-tailwind/setup-tailwind.js +4 -1
  267. package/src/generators/stories/schema.d.ts +0 -2
  268. package/src/generators/stories/schema.json +0 -10
  269. package/src/generators/stories/stories.js +2 -21
  270. package/src/generators/storybook-configuration/lib/generate-stories.js +0 -6
  271. package/src/generators/storybook-configuration/lib/generate-storybook-configuration.js +0 -2
  272. package/src/generators/storybook-configuration/schema.d.ts +0 -3
  273. package/src/generators/storybook-configuration/schema.json +0 -15
  274. package/src/generators/storybook-configuration/storybook-configuration.js +0 -3
  275. package/src/generators/utils/add-jest.d.ts +1 -0
  276. package/src/generators/utils/add-jest.js +5 -9
  277. package/src/generators/utils/add-vitest.d.ts +9 -0
  278. package/src/generators/utils/add-vitest.js +21 -0
  279. package/src/generators/utils/assert-mf-utils.d.ts +1 -0
  280. package/src/generators/utils/assert-mf-utils.js +11 -0
  281. package/src/generators/utils/ensure-angular-dependencies.js +0 -1
  282. package/src/generators/utils/storybook-ast/component-info.js +13 -3
  283. package/src/generators/utils/testing.js +15 -28
  284. package/src/generators/utils/validations.d.ts +1 -0
  285. package/src/generators/utils/validations.js +10 -0
  286. package/src/generators/utils/version-utils.d.ts +1 -0
  287. package/src/generators/utils/version-utils.js +7 -2
  288. package/src/migrations/update-16-2-0/switch-data-persistence-operators-imports-to-ngrx-router-store.js +4 -4
  289. package/src/migrations/update-19-6-0/turn-off-dts-by-default.js +2 -2
  290. package/src/migrations/update-20-2-0/add-localize-polyfill-to-targets.d.ts +3 -0
  291. package/src/migrations/update-20-2-0/add-localize-polyfill-to-targets.js +55 -0
  292. package/src/migrations/{update-14-2-0/remove-show-circular-dependencies-option.d.ts → update-20-2-0/disable-angular-eslint-prefer-standalone.d.ts} +1 -1
  293. package/src/migrations/update-20-2-0/disable-angular-eslint-prefer-standalone.js +55 -0
  294. package/src/migrations/update-20-2-0/migrate-mf-imports-to-new-package.d.ts +2 -0
  295. package/src/migrations/update-20-2-0/migrate-mf-imports-to-new-package.js +61 -0
  296. package/src/migrations/update-20-2-0/migrate-with-mf-import-to-new-package.d.ts +2 -0
  297. package/src/migrations/update-20-2-0/migrate-with-mf-import-to-new-package.js +41 -0
  298. package/src/migrations/update-20-2-0/remove-angular-eslint-rules.d.ts +3 -0
  299. package/src/migrations/update-20-2-0/remove-angular-eslint-rules.js +62 -0
  300. package/src/migrations/update-20-2-0/remove-tailwind-config-from-ng-packagr-executors.d.ts +3 -0
  301. package/src/migrations/update-20-2-0/remove-tailwind-config-from-ng-packagr-executors.js +73 -0
  302. package/src/migrations/{update-14-5-2 → update-20-2-0}/update-angular-cli.d.ts +1 -0
  303. package/src/migrations/{update-16-1-0 → update-20-2-0}/update-angular-cli.js +1 -1
  304. package/src/migrations/{update-14-2-0/update-libraries-secondary-entrypoints.d.ts → update-20-2-0/update-angular-ssr-imports-to-use-node-entry-point.d.ts} +1 -1
  305. package/src/migrations/update-20-2-0/update-angular-ssr-imports-to-use-node-entry-point.js +55 -0
  306. package/src/migrations/update-20-3-0/ensure-nx-module-federation-package.d.ts +2 -0
  307. package/src/migrations/update-20-3-0/ensure-nx-module-federation-package.js +18 -0
  308. package/src/migrations/{update-14-2-0 → update-20-4-0}/update-angular-cli.d.ts +1 -0
  309. package/src/migrations/{update-14-2-0 → update-20-4-0}/update-angular-cli.js +4 -3
  310. package/src/migrations/{update-14-6-0 → update-20-5-0}/update-angular-cli.d.ts +1 -0
  311. package/src/migrations/{update-14-5-2 → update-20-5-0}/update-angular-cli.js +4 -3
  312. package/src/migrations/{update-14-2-0/update-ngcc-target.d.ts → update-21-0-0/change-data-persistence-operators-imports-to-ngrx-router-store-data-persistence.d.ts} +1 -1
  313. package/src/migrations/update-21-0-0/change-data-persistence-operators-imports-to-ngrx-router-store-data-persistence.js +122 -0
  314. package/src/migrations/update-21-0-0/set-continuous-option.d.ts +3 -0
  315. package/src/migrations/update-21-0-0/set-continuous-option.js +29 -0
  316. package/src/plugins/plugin.js +7 -2
  317. package/src/utils/backward-compatible-versions.d.ts +4 -4
  318. package/src/utils/backward-compatible-versions.js +27 -23
  319. package/src/utils/nx-devkit/ast-utils.d.ts +3 -2
  320. package/src/utils/nx-devkit/ast-utils.js +22 -4
  321. package/src/utils/test-runners.d.ts +2 -1
  322. package/src/utils/test-runners.js +1 -0
  323. package/src/utils/versions.d.ts +13 -11
  324. package/src/utils/versions.js +14 -12
  325. package/esm2022/index.mjs +0 -2
  326. package/esm2022/mf/index.mjs +0 -2
  327. package/esm2022/mf/mf.mjs +0 -52
  328. package/esm2022/mf/nx-angular-mf.mjs +0 -5
  329. package/esm2022/nx-angular.mjs +0 -5
  330. package/esm2022/src/runtime/nx/data-persistence.mjs +0 -349
  331. package/esm2022/testing/index.mjs +0 -2
  332. package/esm2022/testing/nx-angular-testing.mjs +0 -5
  333. package/esm2022/testing/src/testing-utils.mjs +0 -38
  334. package/fesm2022/nx-angular-testing.mjs +0 -45
  335. package/fesm2022/nx-angular-testing.mjs.map +0 -1
  336. package/src/executors/module-federation-dev-server/lib/build-static-remotes.d.ts +0 -4
  337. package/src/executors/module-federation-dev-server/lib/build-static-remotes.js +0 -65
  338. package/src/executors/module-federation-dev-server/lib/start-static-remotes-file-server.d.ts +0 -9
  339. package/src/executors/module-federation-dev-server/lib/start-static-remotes-file-server.js +0 -51
  340. package/src/executors/module-federation-ssr-dev-server/lib/build-static-remotes.d.ts +0 -4
  341. package/src/executors/module-federation-ssr-dev-server/lib/build-static-remotes.js +0 -65
  342. package/src/executors/module-federation-ssr-dev-server/lib/start-static-remotes.d.ts +0 -4
  343. package/src/executors/module-federation-ssr-dev-server/lib/start-static-remotes.js +0 -41
  344. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.di.d.ts +0 -14
  345. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.di.js +0 -27
  346. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.transform.d.ts +0 -12
  347. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.transform.js +0 -53
  348. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/entry-point.di.d.ts +0 -15
  349. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/entry-point.di.js +0 -28
  350. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/entry-point.transform.d.ts +0 -30
  351. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/entry-point.transform.js +0 -52
  352. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.di.d.ts +0 -12
  353. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.di.js +0 -20
  354. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.transform.d.ts +0 -9
  355. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.transform.js +0 -320
  356. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/options.di.d.ts +0 -14
  357. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/options.di.js +0 -35
  358. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/package.di.d.ts +0 -14
  359. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/package.di.js +0 -37
  360. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ngc/compile-source-files.d.ts +0 -12
  361. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ngc/compile-source-files.js +0 -178
  362. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.d.ts +0 -42
  363. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.di.d.ts +0 -10
  364. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.di.js +0 -17
  365. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.js +0 -201
  366. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.di.d.ts +0 -2
  367. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.di.js +0 -12
  368. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.transform.js +0 -12
  369. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.di.d.ts +0 -8
  370. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.di.js +0 -18
  371. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.d.ts +0 -8
  372. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.js +0 -286
  373. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.di.d.ts +0 -14
  374. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.di.js +0 -26
  375. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.d.ts +0 -12
  376. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js +0 -71
  377. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/entry-point.di.d.ts +0 -13
  378. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/entry-point.di.js +0 -32
  379. package/src/executors/package/ng-packagr-adjustments/ng-package/options.di.d.ts +0 -14
  380. package/src/executors/package/ng-packagr-adjustments/ng-package/options.di.js +0 -35
  381. package/src/executors/package/ng-packagr-adjustments/ng-package/package.di.d.ts +0 -14
  382. package/src/executors/package/ng-packagr-adjustments/ng-package/package.di.js +0 -37
  383. package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.d.ts +0 -13
  384. package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.js +0 -183
  385. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.d.ts +0 -36
  386. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.di.d.ts +0 -10
  387. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.di.js +0 -17
  388. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.js +0 -194
  389. package/src/executors/package/ng-packagr-adjustments/utils/ng-compiler-cli.d.ts +0 -1
  390. package/src/executors/package/ng-packagr-adjustments/utils/ng-compiler-cli.js +0 -9
  391. package/src/generators/component-cypress-spec/component-cypress-spec.d.ts +0 -4
  392. package/src/generators/component-cypress-spec/component-cypress-spec.js +0 -35
  393. package/src/generators/component-cypress-spec/files/__componentFileName__.__fileExt__ +0 -17
  394. package/src/generators/component-cypress-spec/lib/get-args-default-value.d.ts +0 -2
  395. package/src/generators/component-cypress-spec/lib/get-args-default-value.js +0 -24
  396. package/src/generators/component-cypress-spec/lib/get-component-selector.d.ts +0 -2
  397. package/src/generators/component-cypress-spec/lib/get-component-selector.js +0 -23
  398. package/src/generators/component-cypress-spec/schema.d.ts +0 -10
  399. package/src/generators/component-cypress-spec/schema.json +0 -66
  400. package/src/generators/host/files/common/pre-v17/src/main.server.ts__tmpl__ +0 -66
  401. package/src/generators/remote/files/common/pre-v17/src/main.server.ts__tmpl__ +0 -72
  402. package/src/generators/setup-tailwind/lib/add-tailwind-config-path-to-project.d.ts +0 -3
  403. package/src/generators/stories/lib/get-e2e-project.d.ts +0 -2
  404. package/src/generators/stories/lib/get-e2e-project.js +0 -14
  405. package/src/generators/storybook-configuration/lib/validate-options.d.ts +0 -2
  406. package/src/generators/storybook-configuration/lib/validate-options.js +0 -8
  407. package/src/migrations/update-14-2-0/remove-show-circular-dependencies-option.js +0 -23
  408. package/src/migrations/update-14-2-0/update-libraries-secondary-entrypoints.js +0 -34
  409. package/src/migrations/update-14-2-0/update-ngcc-target.js +0 -17
  410. package/src/migrations/update-14-2-0/update-router-initial-navigation.d.ts +0 -2
  411. package/src/migrations/update-14-2-0/update-router-initial-navigation.js +0 -73
  412. package/src/migrations/update-14-2-0/update-tsconfig-target.d.ts +0 -2
  413. package/src/migrations/update-14-2-0/update-tsconfig-target.js +0 -155
  414. package/src/migrations/update-14-5-0/migrate-mfe-to-mf.d.ts +0 -5
  415. package/src/migrations/update-14-5-0/migrate-mfe-to-mf.js +0 -90
  416. package/src/migrations/update-14-6-0/update-angular-cli.js +0 -22
  417. package/src/migrations/update-14-8-0/rename-webpack-server.d.ts +0 -2
  418. package/src/migrations/update-14-8-0/rename-webpack-server.js +0 -21
  419. package/src/migrations/update-15-0-0/add-karma-inputs.d.ts +0 -2
  420. package/src/migrations/update-15-0-0/add-karma-inputs.js +0 -41
  421. package/src/migrations/update-15-0-0/switch-to-jasmine-marbles.d.ts +0 -2
  422. package/src/migrations/update-15-0-0/switch-to-jasmine-marbles.js +0 -102
  423. package/src/migrations/update-15-2-0/remove-browserlist-config.d.ts +0 -4
  424. package/src/migrations/update-15-2-0/remove-browserlist-config.js +0 -59
  425. package/src/migrations/update-15-2-0/remove-platform-server-exports.d.ts +0 -2
  426. package/src/migrations/update-15-2-0/remove-platform-server-exports.js +0 -62
  427. package/src/migrations/update-15-2-0/update-angular-cli.d.ts +0 -2
  428. package/src/migrations/update-15-2-0/update-angular-cli.js +0 -22
  429. package/src/migrations/update-15-2-0/update-karma-main-file.d.ts +0 -2
  430. package/src/migrations/update-15-2-0/update-karma-main-file.js +0 -72
  431. package/src/migrations/update-15-2-0/update-typescript-target.d.ts +0 -2
  432. package/src/migrations/update-15-2-0/update-typescript-target.js +0 -52
  433. package/src/migrations/update-15-2-0/update-workspace-config.d.ts +0 -2
  434. package/src/migrations/update-15-2-0/update-workspace-config.js +0 -24
  435. package/src/migrations/update-15-5-0/update-angular-cli.d.ts +0 -2
  436. package/src/migrations/update-15-5-0/update-angular-cli.js +0 -22
  437. package/src/migrations/update-15-7-0/install-required-packages.d.ts +0 -2
  438. package/src/migrations/update-15-7-0/install-required-packages.js +0 -36
  439. package/src/migrations/update-15-8-0/update-angular-cli.d.ts +0 -2
  440. package/src/migrations/update-15-8-0/update-angular-cli.js +0 -22
  441. package/src/migrations/update-15-9-0/update-file-server-executor.d.ts +0 -2
  442. package/src/migrations/update-15-9-0/update-file-server-executor.js +0 -42
  443. package/src/migrations/update-15-9-0/update-testing-tsconfig.d.ts +0 -3
  444. package/src/migrations/update-15-9-0/update-testing-tsconfig.js +0 -32
  445. package/src/migrations/update-16-0-0/remove-karma-defaults.d.ts +0 -2
  446. package/src/migrations/update-16-0-0/remove-karma-defaults.js +0 -52
  447. package/src/migrations/update-16-0-0/remove-library-generator-simple-module-name-option.d.ts +0 -2
  448. package/src/migrations/update-16-0-0/remove-library-generator-simple-module-name-option.js +0 -40
  449. package/src/migrations/update-16-0-0/remove-protractor-defaults.d.ts +0 -2
  450. package/src/migrations/update-16-0-0/remove-protractor-defaults.js +0 -52
  451. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.d.ts +0 -2
  452. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +0 -9
  453. package/src/migrations/update-16-1-0/extract-standalone-config-from-bootstrap.d.ts +0 -2
  454. package/src/migrations/update-16-1-0/extract-standalone-config-from-bootstrap.js +0 -127
  455. package/src/migrations/update-16-1-0/remove-ngcc-invocation.d.ts +0 -2
  456. package/src/migrations/update-16-1-0/remove-ngcc-invocation.js +0 -22
  457. package/src/migrations/update-16-1-0/remove-render-module-platform-server-exports.d.ts +0 -2
  458. package/src/migrations/update-16-1-0/remove-render-module-platform-server-exports.js +0 -62
  459. package/src/migrations/update-16-1-0/update-angular-cli.d.ts +0 -3
  460. package/src/migrations/update-16-1-0/update-server-executor-config.d.ts +0 -2
  461. package/src/migrations/update-16-1-0/update-server-executor-config.js +0 -26
  462. package/src/runtime/nx/data-persistence.d.ts +0 -276
  463. package/src/utils/mf/utils.d.ts +0 -15
  464. package/src/utils/mf/utils.js +0 -101
  465. package/src/utils/mf/with-module-federation-ssr.d.ts +0 -2
  466. package/src/utils/mf/with-module-federation-ssr.js +0 -68
  467. package/src/utils/mf/with-module-federation.d.ts +0 -2
  468. package/src/utils/mf/with-module-federation.js +0 -70
  469. package/testing/index.d.ts +0 -1
  470. package/testing/ng-package.json +0 -6
  471. package/testing/src/testing-utils.d.ts +0 -33
  472. /package/src/executors/utilities/ng-packagr/{stylesheet-processor.d.ts → pre-v19/stylesheet-processor.d.ts} +0 -0
  473. /package/src/generators/setup-ssr/files/{ngmodule/src → pre-v19/ngmodule-src}/__main__ +0 -0
  474. /package/src/generators/setup-ssr/files/{ngmodule/src → pre-v19/ngmodule-src}/app/__rootModuleFileName__ +0 -0
  475. /package/src/generators/setup-ssr/files/{root → pre-v19/root}/tsconfig.server.json__tpl__ +0 -0
  476. /package/src/generators/setup-ssr/files/{standalone/src → pre-v19/standalone-src}/__main__ +0 -0
  477. /package/src/generators/setup-ssr/files/{standalone/src → pre-v19/standalone-src}/app/app.config.server.ts__tpl__ +0 -0
@@ -1,4 +1,4 @@
1
- import { ModuleFederationConfig } from '@nx/webpack';
1
+ import { ModuleFederationConfig } from '@nx/module-federation';
2
2
 
3
3
  const config: ModuleFederationConfig = {
4
4
  name: '<%= name %>',<% if(type === 'host') { %>
@@ -21,4 +21,7 @@ const config: ModuleFederationConfig = {
21
21
  },<% } %>
22
22
  };
23
23
 
24
+ /**
25
+ * Nx requires a default export of the config to allow correct resolution of the module federation graph.
26
+ **/
24
27
  export default config;
@@ -1,4 +1,4 @@
1
- import { withModuleFederation } from '@nx/angular/module-federation';
1
+ import { withModuleFederation } from '@nx/module-federation/angular';
2
2
  import config from './module-federation.config';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { withModuleFederation } from '@nx/angular/module-federation';
1
+ import { withModuleFederation } from '@nx/module-federation/angular';
2
2
  import config from './module-federation.config';
3
3
 
4
4
  /**
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Nx requires a default export of the config to allow correct resolution of the module federation graph.
3
+ **/
1
4
  module.exports = {
2
5
  name: '<%= name %>',<% if(type === 'host') { %>
3
6
  /**
@@ -1,4 +1,4 @@
1
- const { withModuleFederation } = require('@nx/angular/module-federation');
1
+ const { withModuleFederation } = require('@nx/module-federation/angular');
2
2
  const config = require('./module-federation.config');
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- const { withModuleFederation } = require('@nx/angular/module-federation');
1
+ const { withModuleFederation } = require('@nx/module-federation/angular');
2
2
  const config = require('./module-federation.config');
3
3
 
4
4
  /**
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addRemoteEntry = addRemoteEntry;
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  const route_utils_1 = require("../../../utils/nx-devkit/route-utils");
6
+ const version_utils_1 = require("../../utils/version-utils");
6
7
  function addRemoteEntry(tree, { appName, routing, prefix, standalone }, appRoot) {
8
+ const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
7
9
  (0, devkit_1.generateFiles)(tree, standalone
8
10
  ? (0, devkit_1.joinPathFragments)(__dirname, '../files/standalone-entry-component-files')
9
11
  : (0, devkit_1.joinPathFragments)(__dirname, '../files/entry-module-files'), `${appRoot}/src/app/remote-entry`, {
@@ -11,6 +13,9 @@ function addRemoteEntry(tree, { appName, routing, prefix, standalone }, appRoot)
11
13
  appName,
12
14
  routing,
13
15
  prefix,
16
+ // Angular v19 or higher defaults to true, while v18 or lower defaults to false
17
+ setStandaloneFalse: angularMajorVersion >= 19,
18
+ setStandaloneTrue: angularMajorVersion < 19,
14
19
  });
15
20
  if (standalone && routing) {
16
21
  (0, route_utils_1.addRoute)(tree, (0, devkit_1.joinPathFragments)(appRoot, 'src/app/app.routes.ts'), `{path: '', loadChildren: () => import('./remote-entry/entry.routes').then(m => m.remoteRoutes)}`);
@@ -25,7 +25,7 @@ function addRemoteToHost(tree, options) {
25
25
  addRemoteToStaticHost(tree, options, hostProject, isHostUsingTypescriptConfig);
26
26
  }
27
27
  else if (hostFederationType === 'dynamic') {
28
- addRemoteToDynamicHost(tree, options, pathToMFManifest);
28
+ addRemoteToDynamicHost(tree, options, pathToMFManifest, hostProject.sourceRoot);
29
29
  }
30
30
  addLazyLoadedRouteToHostAppModule(tree, options, hostFederationType);
31
31
  }
@@ -58,15 +58,18 @@ function addRemoteToStaticHost(tree, options, hostProject, isHostUsingTypescript
58
58
  const updatedConfig = `${hostMFConfig.slice(0, endOfPropertiesPos)}${isCommaNeeded ? ',' : ''}'${options.appName}',${hostMFConfig.slice(endOfPropertiesPos)}`;
59
59
  tree.write(hostMFConfigPath, updatedConfig);
60
60
  }
61
- function addRemoteToDynamicHost(tree, options, pathToMfManifest) {
61
+ function addRemoteToDynamicHost(tree, options, pathToMfManifest, hostSourceRoot) {
62
+ // TODO(Colum): Remove for Nx 22
63
+ const usingLegacyDynamicFederation = tree
64
+ .read(`${hostSourceRoot}/main.ts`, 'utf-8')
65
+ .includes('setRemoteDefinitions(');
62
66
  (0, devkit_1.updateJson)(tree, pathToMfManifest, (manifest) => {
63
67
  return {
64
68
  ...manifest,
65
- [options.appName]: `http://localhost:${options.port}`,
69
+ [options.appName]: `http://localhost:${options.port}${usingLegacyDynamicFederation ? '' : '/mf-manifest.json'}`,
66
70
  };
67
71
  });
68
72
  }
69
- // TODO(colum): future work: allow dev to pass to path to routing module
70
73
  function addLazyLoadedRouteToHostAppModule(tree, options, hostFederationType) {
71
74
  if (!tsModule) {
72
75
  tsModule = (0, ensure_typescript_1.ensureTypescript)();
@@ -78,19 +81,29 @@ function addLazyLoadedRouteToHostAppModule(tree, options, hostFederationType) {
78
81
  }
79
82
  const hostRootRoutingFile = tree.read(pathToHostRootRouting, 'utf-8');
80
83
  let sourceFile = tsModule.createSourceFile(pathToHostRootRouting, hostRootRoutingFile, tsModule.ScriptTarget.Latest, true);
84
+ // TODO(Colum): Remove for Nx 22
85
+ const usingLegacyDynamicFederation = hostFederationType === 'dynamic' &&
86
+ tree
87
+ .read(`${hostAppConfig.sourceRoot}/main.ts`, 'utf-8')
88
+ .includes('setRemoteDefinitions(');
81
89
  if (hostFederationType === 'dynamic') {
82
- sourceFile = (0, js_1.insertImport)(tree, sourceFile, pathToHostRootRouting, 'loadRemoteModule', '@nx/angular/mf');
90
+ sourceFile = (0, js_1.insertImport)(tree, sourceFile, pathToHostRootRouting, usingLegacyDynamicFederation ? 'loadRemoteModule' : 'loadRemote', usingLegacyDynamicFederation
91
+ ? '@nx/angular/mf'
92
+ : '@module-federation/enhanced/runtime');
83
93
  }
84
94
  const routePathName = options.standalone ? 'Routes' : 'Module';
85
95
  const exportedRemote = options.standalone
86
96
  ? 'remoteRoutes'
87
97
  : 'RemoteEntryModule';
98
+ const remoteModulePath = `${options.appName.replace(/-/g, '_')}/${routePathName}`;
88
99
  const routeToAdd = hostFederationType === 'dynamic'
89
- ? `loadRemoteModule('${options.appName}', './${routePathName}')`
90
- : `import('${options.appName}/${routePathName}')`;
100
+ ? usingLegacyDynamicFederation
101
+ ? `loadRemoteModule('${options.appName.replace(/-/g, '_')}', './${routePathName}')`
102
+ : `loadRemote<typeof import('${remoteModulePath}')>('${remoteModulePath}')`
103
+ : `import('${remoteModulePath}')`;
91
104
  (0, route_utils_1.addRoute)(tree, pathToHostRootRouting, `{
92
105
  path: '${options.appName}',
93
- loadChildren: () => ${routeToAdd}.then(m => m.${exportedRemote})
106
+ loadChildren: () => ${routeToAdd}.then(m => m!.${exportedRemote})
94
107
  }`);
95
108
  const pathToAppComponentTemplate = (0, devkit_1.joinPathFragments)(hostAppConfig.sourceRoot, 'app/app.component.html');
96
109
  const appComponent = tree.read(pathToAppComponentTemplate, 'utf-8');
@@ -20,11 +20,12 @@ function fixBootstrap(tree, appRoot, options) {
20
20
  if (tree.exists((0, devkit_1.joinPathFragments)(appRoot, 'public/module-federation.manifest.json'))) {
21
21
  manifestPath = '/module-federation.manifest.json';
22
22
  }
23
- const fetchMFManifestCode = `import { setRemoteDefinitions } from '@nx/angular/mf';
23
+ const fetchMFManifestCode = `import { init } from '@module-federation/enhanced/runtime';
24
24
 
25
25
  fetch('${manifestPath}')
26
26
  .then((res) => res.json())
27
- .then(definitions => setRemoteDefinitions(definitions))
27
+ .then((remotes: Record<string, string>) => Object.entries(remotes).map(([name, entry]) => ({ name,entry})))
28
+ .then(remotes => init({name: '${options.appName}', remotes}))
28
29
  .then(() => ${bootstrapImportCode});`;
29
30
  tree.write(mainFilePath, fetchMFManifestCode);
30
31
  }
@@ -17,6 +17,7 @@ function setupServeTarget(host, options) {
17
17
  };
18
18
  if (options.mfType === 'remote') {
19
19
  appConfig.targets['serve-static'] = {
20
+ continuous: true,
20
21
  executor: '@nx/web:file-server',
21
22
  defaultConfiguration: 'production',
22
23
  options: {
@@ -9,7 +9,7 @@ function setupTspathForRemote(tree, options) {
9
9
  ? `./src/app/remote-entry/entry.routes.ts`
10
10
  : `./src/app/remote-entry/entry.module.ts`;
11
11
  const exportName = options.standalone ? 'Routes' : 'Module';
12
- (0, js_1.addTsConfigPath)(tree, `${options.appName}/${exportName}`, [
12
+ (0, js_1.addTsConfigPath)(tree, `${options.appName.replace(/-/g, '_')}/${exportName}`, [
13
13
  (0, devkit_1.joinPathFragments)(project.root, exportPath),
14
14
  ]);
15
15
  }
@@ -34,15 +34,17 @@
34
34
  },
35
35
  "remotes": {
36
36
  "type": "array",
37
- "description": "A list of remote application names that the host application should consume."
37
+ "description": "A list of remote application names that the Consumer (host) application should consume.",
38
+ "alias": "producers"
38
39
  },
39
40
  "host": {
40
41
  "type": "string",
41
- "description": "The name of the host application that the remote application will be consumed by."
42
+ "description": "The name of the host application that the remote application will be consumed by.",
43
+ "alias": "consumer"
42
44
  },
43
45
  "routing": {
44
46
  "type": "boolean",
45
- "description": "Generate a routing setup to allow a host application to route to the remote application.",
47
+ "description": "Generate a routing setup to allow a Consumer (host) application to route to the Producer (remote) application.",
46
48
  "x-priority": "important"
47
49
  },
48
50
  "skipFormat": {
@@ -19,10 +19,12 @@ async function setupMf(tree, rawOptions) {
19
19
  (0, lib_1.removeDeadCodeFromRemote)(tree, options);
20
20
  (0, lib_1.setupTspathForRemote)(tree, options);
21
21
  if (!options.skipPackageJson) {
22
- installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {}, {
22
+ installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {
23
+ '@module-federation/enhanced': versions_1.moduleFederationEnhancedVersion,
24
+ }, {
23
25
  '@nx/web': versions_1.nxVersion,
24
26
  '@nx/webpack': versions_1.nxVersion,
25
- '@module-federation/enhanced': versions_1.moduleFederationEnhancedVersion,
27
+ '@nx/module-federation': versions_1.nxVersion,
26
28
  });
27
29
  }
28
30
  }
@@ -46,6 +48,7 @@ async function setupMf(tree, rawOptions) {
46
48
  installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {}, {
47
49
  '@nx/webpack': versions_1.nxVersion,
48
50
  '@module-federation/enhanced': versions_1.moduleFederationEnhancedVersion,
51
+ '@nx/module-federation': versions_1.nxVersion,
49
52
  });
50
53
  }
51
54
  }
@@ -9,7 +9,7 @@ import <% if (standalone) { %>bootstrap<% } else { %><%= rootModuleClassName %><
9
9
  export function app(): express.Express {
10
10
  const server = express();
11
11
  const serverDistFolder = dirname(fileURLToPath(import.meta.url));
12
- const browserDistFolder = resolve(serverDistFolder, '../<%= browserBundleOutputPath %>');
12
+ const browserDistFolder = resolve(serverDistFolder, '../<%= browserDistDirectory %>');
13
13
  const indexHtml = join(serverDistFolder, 'index.server.html');
14
14
 
15
15
  const commonEngine = new CommonEngine();
@@ -10,7 +10,7 @@ import <% if (standalone) { %>bootstrap<% } else { %><%= rootModuleClassName %><
10
10
  // The Express app is exported so that it can be used by serverless Functions.
11
11
  export function app(): express.Express {
12
12
  const server = express();
13
- const distFolder = join(process.cwd(), '<%= browserBundleOutputPath %>');
13
+ const distFolder = join(process.cwd(), '<%= browserDistDirectory %>');
14
14
  const indexHtml = existsSync(join(distFolder, 'index.original.html'))
15
15
  ? join(distFolder, 'index.original.html')
16
16
  : join(distFolder, 'index.html');
@@ -0,0 +1 @@
1
+ export { <%= rootModuleClassName %> as default } from './app/<%= rootModuleFileName.slice(0, -3) %>';
@@ -0,0 +1,13 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { ServerModule } from '@angular/platform-server';<% if(serverRouting) { %>
3
+ import { <%= provideServerRoutingFn %> } from '@angular/ssr';<% } %>
4
+ import { AppComponent } from './app.component';
5
+ import { AppModule } from './app.module';<% if(serverRouting) { %>
6
+ import { serverRoutes } from './app.routes.server';<% } %>
7
+
8
+ @NgModule({
9
+ imports: [AppModule, ServerModule],<% if(serverRouting) { %>
10
+ providers: [<%= provideServerRoutingFn %>(serverRoutes)],<% } %>
11
+ bootstrap: [AppComponent],
12
+ })
13
+ export class <%= rootModuleClassName %> {}
@@ -0,0 +1,8 @@
1
+ import { RenderMode, ServerRoute } from '@angular/ssr';
2
+
3
+ export const serverRoutes: ServerRoute[] = [
4
+ {
5
+ path: '**',
6
+ renderMode: RenderMode.Prerender
7
+ }
8
+ ];
@@ -0,0 +1,66 @@
1
+ import {
2
+ AngularNodeAppEngine,
3
+ createNodeRequestHandler,
4
+ isMainModule,
5
+ writeResponseToNodeResponse,
6
+ } from '@angular/ssr/node';
7
+ import express from 'express';
8
+ import { dirname, resolve } from 'node:path';
9
+ import { fileURLToPath } from 'node:url';
10
+
11
+ const serverDistFolder = dirname(fileURLToPath(import.meta.url));
12
+ const browserDistFolder = resolve(serverDistFolder, '../<%= browserDistDirectory %>');
13
+
14
+ const app = express();
15
+ const angularApp = new AngularNodeAppEngine();
16
+
17
+ /**
18
+ * Example Express Rest API endpoints can be defined here.
19
+ * Uncomment and define endpoints as necessary.
20
+ *
21
+ * Example:
22
+ * ```ts
23
+ * app.get('/api/**', (req, res) => {
24
+ * // Handle API request
25
+ * });
26
+ * ```
27
+ */
28
+
29
+ /**
30
+ * Serve static files from /<%= browserDistDirectory %>
31
+ */
32
+ app.use(
33
+ express.static(browserDistFolder, {
34
+ maxAge: '1y',
35
+ index: false,
36
+ redirect: false,
37
+ })
38
+ );
39
+
40
+ /**
41
+ * Handle all other requests by rendering the Angular application.
42
+ */
43
+ app.use('/**', (req, res, next) => {
44
+ angularApp
45
+ .handle(req)
46
+ .then((response) =>
47
+ response ? writeResponseToNodeResponse(response, res) : next()
48
+ )
49
+ .catch(next);
50
+ });
51
+
52
+ /**
53
+ * Start the server if this module is the main entry point.
54
+ * The server listens on the port defined by the `PORT` environment variable, or defaults to <%= serverPort %>.
55
+ */
56
+ if (isMainModule(import.meta.url)) {
57
+ const port = process.env['PORT'] || <%= serverPort %>;
58
+ app.listen(port, () => {
59
+ console.log(`Node Express server listening on http://localhost:${port}`);
60
+ });
61
+ }
62
+
63
+ /**
64
+ * Request handler used by the Angular CLI (for dev-server and during build) or Firebase Cloud Functions.
65
+ */
66
+ export const reqHandler = createNodeRequestHandler(app);
@@ -0,0 +1,7 @@
1
+ import { bootstrapApplication } from '@angular/platform-browser';
2
+ import { AppComponent } from './app/app.component';
3
+ import { config } from './app/app.config.server';
4
+
5
+ const bootstrap = () => bootstrapApplication(AppComponent, config);
6
+
7
+ export default bootstrap;
@@ -0,0 +1,14 @@
1
+ import { mergeApplicationConfig, ApplicationConfig } from '@angular/core';
2
+ import { provideServerRendering } from '@angular/platform-server';<% if(serverRouting) { %>
3
+ import { <%= provideServerRoutingFn %> } from '@angular/ssr';<% } %>
4
+ import { appConfig } from './app.config';<% if(serverRouting) { %>
5
+ import { serverRoutes } from './app.routes.server';<% } %>
6
+
7
+ const serverConfig: ApplicationConfig = {
8
+ providers: [
9
+ provideServerRendering()<% if(serverRouting) { %>,
10
+ <%= provideServerRoutingFn %>(serverRoutes)<% } %>
11
+ ]
12
+ };
13
+
14
+ export const config = mergeApplicationConfig(appConfig, serverConfig);
@@ -0,0 +1,8 @@
1
+ import { RenderMode, ServerRoute } from '@angular/ssr';
2
+
3
+ export const serverRoutes: ServerRoute[] = [
4
+ {
5
+ path: '**',
6
+ renderMode: RenderMode.Prerender
7
+ }
8
+ ];
@@ -0,0 +1,67 @@
1
+ import { APP_BASE_HREF } from '@angular/common';
2
+ import { CommonEngine, isMainModule } from '@angular/ssr/node';
3
+ import express from 'express';
4
+ import { dirname, join, resolve } from 'node:path';
5
+ import { fileURLToPath } from 'node:url';
6
+ import <% if (standalone) { %>bootstrap<% } else { %><%= rootModuleClassName %><% } %> from './<%= main.slice(0, -3) %>';
7
+
8
+ const serverDistFolder = dirname(fileURLToPath(import.meta.url));
9
+ const browserDistFolder = resolve(serverDistFolder, '../<%= browserDistDirectory %>');
10
+ const indexHtml = join(serverDistFolder, 'index.server.html');
11
+
12
+ const app = express();
13
+ const commonEngine = new CommonEngine();
14
+
15
+ /**
16
+ * Example Express Rest API endpoints can be defined here.
17
+ * Uncomment and define endpoints as necessary.
18
+ *
19
+ * Example:
20
+ * ```ts
21
+ * app.get('/api/**', (req, res) => {
22
+ * // Handle API request
23
+ * });
24
+ * ```
25
+ */
26
+
27
+ /**
28
+ * Serve static files from /<%= browserDistDirectory %>
29
+ */
30
+ app.get(
31
+ '**',
32
+ express.static(browserDistFolder, {
33
+ maxAge: '1y',
34
+ index: 'index.html'
35
+ }),
36
+ );
37
+
38
+ /**
39
+ * Handle all other requests by rendering the Angular application.
40
+ */
41
+ app.get('**', (req, res, next) => {
42
+ const { protocol, originalUrl, baseUrl, headers } = req;
43
+
44
+ commonEngine
45
+ .render({
46
+ bootstrap<% if (!standalone) { %>: <%= rootModuleClassName %><% } %>,
47
+ documentFilePath: indexHtml,
48
+ url: `${protocol}://${headers.host}${originalUrl}`,
49
+ publicPath: browserDistFolder,
50
+ providers: [{ provide: APP_BASE_HREF, useValue: baseUrl }],
51
+ })
52
+ .then((html) => res.send(html))
53
+ .catch((err) => next(err));
54
+ });
55
+
56
+ /**
57
+ * Start the server if this module is the main entry point.
58
+ * The server listens on the port defined by the `PORT` environment variable, or defaults to 4000.
59
+ */
60
+ if (isMainModule(import.meta.url)) {
61
+ const port = process.env['PORT'] || <%= serverPort %>;
62
+ app.listen(port, () => {
63
+ console.log(`Node Express server listening on http://localhost:${port}`);
64
+ });
65
+ }
66
+
67
+ export default app;
@@ -0,0 +1 @@
1
+ export { <%= rootModuleClassName %> as default } from './app/<%= rootModuleFileName.slice(0, -3) %>';
@@ -0,0 +1,14 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { ServerModule } from '@angular/platform-server';
3
+
4
+ import { AppModule } from './app.module';
5
+ import { AppComponent } from './app.component';
6
+
7
+ @NgModule({
8
+ imports: [
9
+ AppModule,
10
+ ServerModule,
11
+ ],
12
+ bootstrap: [AppComponent],
13
+ })
14
+ export class <%= rootModuleClassName %> {}
@@ -0,0 +1,16 @@
1
+ /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
+ /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
+ {
4
+ "extends": "./tsconfig.app.json",
5
+ "compilerOptions": {
6
+ "outDir": "<%= rootOffset %>out-tsc/server",
7
+ "types": [
8
+ "node"<% if (hasLocalizePackage) { %>,
9
+ "@angular/localize"<% } %>
10
+ ]
11
+ },
12
+ "files": [
13
+ "src/<%= main %>",
14
+ "src/server.ts"
15
+ ]
16
+ }
@@ -1,22 +1,21 @@
1
- import 'zone.js/dist/zone-node';
1
+ import 'zone.js/node';
2
2
 
3
3
  import { APP_BASE_HREF } from '@angular/common';
4
- import { ngExpressEngine } from '@nguniversal/express-engine';
4
+ import { CommonEngine } from '@angular/ssr/node';
5
5
  import * as express from 'express';
6
- import { existsSync } from 'fs';
7
- import { join } from 'path';
8
- import <% if (standalone) { %>bootstrap<% } else { %><%= rootModuleClassName %><% } %> from './src/<%= main.slice(0, -3) %>';
6
+ import { existsSync } from 'node:fs';
7
+ import { join } from 'node:path';
8
+ import <% if (standalone) { %>bootstrap<% } else { %><%= rootModuleClassName %><% } %> from './<%= main.slice(0, -3) %>';
9
9
 
10
10
  // The Express app is exported so that it can be used by serverless Functions.
11
11
  export function app(): express.Express {
12
12
  const server = express();
13
- const distFolder = join(process.cwd(), '<%= browserBundleOutputPath %>');
14
- const indexHtml = existsSync(join(distFolder, 'index.original.html')) ? 'index.original.html' : 'index';
13
+ const distFolder = join(process.cwd(), '<%= browserDistDirectory %>');
14
+ const indexHtml = existsSync(join(distFolder, 'index.original.html'))
15
+ ? join(distFolder, 'index.original.html')
16
+ : join(distFolder, 'index.html');
15
17
 
16
- // Our Universal express-engine (found @ https://github.com/angular/universal/tree/main/modules/express-engine)
17
- server.engine('html', ngExpressEngine({
18
- bootstrap<% if (!standalone) { %>: <%= rootModuleClassName %><% } %>,
19
- }));
18
+ const commonEngine = new CommonEngine();
20
19
 
21
20
  server.set('view engine', 'html');
22
21
  server.set('views', distFolder);
@@ -28,9 +27,20 @@ export function app(): express.Express {
28
27
  maxAge: '1y'
29
28
  }));
30
29
 
31
- // All regular routes use the Universal engine
32
- server.get('*', (req, res) => {
33
- res.render(indexHtml, { req, providers: [{ provide: APP_BASE_HREF, useValue: req.baseUrl }] });
30
+ // All regular routes use the Angular engine
31
+ server.get('*', (req, res, next) => {
32
+ const { protocol, originalUrl, baseUrl, headers } = req;
33
+
34
+ commonEngine
35
+ .render({
36
+ bootstrap<% if (!standalone) { %>: <%= rootModuleClassName %><% } %>,
37
+ documentFilePath: indexHtml,
38
+ url: `${protocol}://${headers.host}${originalUrl}`,
39
+ publicPath: distFolder,
40
+ providers: [{ provide: APP_BASE_HREF, useValue: baseUrl }],
41
+ })
42
+ .then((html) => res.send(html))
43
+ .catch((err) => next(err));
34
44
  });
35
45
 
36
46
  return server;
@@ -56,4 +66,4 @@ if (moduleFilename === __filename || moduleFilename.includes('iisnode')) {
56
66
  run();
57
67
  }
58
68
 
59
- export <% if (standalone) { %>default bootstrap<% } else { %>* from './src/<%= main.slice(0, -3) %>'<% } %>;
69
+ export default <% if (standalone) { %>bootstrap<% } else { %><%= rootModuleClassName %><% } %>;
@@ -0,0 +1,7 @@
1
+ import { bootstrapApplication } from '@angular/platform-browser';
2
+ import { AppComponent } from './app/app.component';
3
+ import { config } from './app/app.config.server';
4
+
5
+ const bootstrap = () => bootstrapApplication(AppComponent, config);
6
+
7
+ export default bootstrap;
@@ -0,0 +1,11 @@
1
+ import { mergeApplicationConfig, ApplicationConfig } from '@angular/core';
2
+ import { provideServerRendering } from '@angular/platform-server';
3
+ import { appConfig } from './app.config';
4
+
5
+ const serverConfig: ApplicationConfig = {
6
+ providers: [
7
+ provideServerRendering()
8
+ ]
9
+ };
10
+
11
+ export const config = mergeApplicationConfig(appConfig, serverConfig);
@@ -6,7 +6,7 @@ const semver_1 = require("semver");
6
6
  const version_utils_1 = require("../../utils/version-utils");
7
7
  function addDependencies(tree, isUsingApplicationBuilder) {
8
8
  const pkgVersions = (0, version_utils_1.versions)(tree);
9
- const { major: angularMajorVersion, version: angularVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
9
+ const { version: angularVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
10
10
  const dependencies = {
11
11
  '@angular/platform-server': (0, version_utils_1.getInstalledPackageVersionInfo)(tree, '@angular/platform-server')
12
12
  ?.version ?? pkgVersions.angularVersion,
@@ -15,22 +15,11 @@ function addDependencies(tree, isUsingApplicationBuilder) {
15
15
  const devDependencies = {
16
16
  '@types/express': pkgVersions.typesExpressVersion,
17
17
  };
18
- if (angularMajorVersion >= 17) {
19
- dependencies['@angular/ssr'] =
20
- (0, version_utils_1.getInstalledPackageVersionInfo)(tree, '@angular-devkit/build-angular')
21
- ?.version ?? pkgVersions.angularDevkitVersion;
22
- if (!isUsingApplicationBuilder && (0, semver_1.gte)(angularVersion, '17.1.0')) {
23
- devDependencies['browser-sync'] = pkgVersions.browserSyncVersion;
24
- }
25
- }
26
- else {
27
- dependencies['@nguniversal/express-engine'] =
28
- (0, version_utils_1.getInstalledPackageVersionInfo)(tree, '@nguniversal/express-engine')
29
- ?.version ??
30
- pkgVersions.ngUniversalVersion;
31
- devDependencies['@nguniversal/builders'] =
32
- (0, version_utils_1.getInstalledPackageVersionInfo)(tree, '@nguniversal/builders')?.version ??
33
- pkgVersions.ngUniversalVersion;
18
+ dependencies['@angular/ssr'] =
19
+ (0, version_utils_1.getInstalledPackageVersionInfo)(tree, '@angular-devkit/build-angular')
20
+ ?.version ?? pkgVersions.angularDevkitVersion;
21
+ if (!isUsingApplicationBuilder && (0, semver_1.gte)(angularVersion, '17.1.0')) {
22
+ devDependencies['browser-sync'] = pkgVersions.browserSyncVersion;
34
23
  }
35
24
  (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies, devDependencies);
36
25
  }
@@ -1,3 +1,3 @@
1
1
  import { type Tree } from '@nx/devkit';
2
- import { type Schema } from '../schema';
3
- export declare function addHydration(tree: Tree, options: Schema): void;
2
+ import type { NormalizedGeneratorOptions } from '../schema';
3
+ export declare function addHydration(tree: Tree, options: NormalizedGeneratorOptions): void;
@@ -5,6 +5,7 @@ const devkit_1 = require("@nx/devkit");
5
5
  const js_1 = require("@nx/js");
6
6
  const ensure_typescript_1 = require("@nx/js/src/utils/typescript/ensure-typescript");
7
7
  const ast_utils_1 = require("../../../utils/nx-devkit/ast-utils");
8
+ const version_utils_1 = require("../../utils/version-utils");
8
9
  let tsModule;
9
10
  let tsquery;
10
11
  function addHydration(tree, options) {
@@ -25,11 +26,18 @@ function addHydration(tree, options) {
25
26
  const addImport = (source, symbolName, packageName, filePath, isDefault = false) => {
26
27
  return (0, js_1.insertImport)(tree, source, filePath, symbolName, packageName, isDefault);
27
28
  };
29
+ const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
28
30
  sourceFile = addImport(sourceFile, 'provideClientHydration', '@angular/platform-browser', pathToClientConfigFile);
31
+ if (angularMajorVersion >= 19) {
32
+ sourceFile = addImport(sourceFile, 'withEventReplay', '@angular/platform-browser', pathToClientConfigFile);
33
+ }
34
+ const provider = angularMajorVersion >= 19
35
+ ? 'provideClientHydration(withEventReplay())'
36
+ : 'provideClientHydration()';
29
37
  if (options.standalone) {
30
- (0, ast_utils_1.addProviderToAppConfig)(tree, pathToClientConfigFile, 'provideClientHydration()');
38
+ (0, ast_utils_1.addProviderToAppConfig)(tree, pathToClientConfigFile, provider);
31
39
  }
32
40
  else {
33
- (0, ast_utils_1.addProviderToModule)(tree, sourceFile, pathToClientConfigFile, 'provideClientHydration()');
41
+ (0, ast_utils_1.addProviderToModule)(tree, sourceFile, pathToClientConfigFile, provider);
34
42
  }
35
43
  }
@@ -1,3 +1,3 @@
1
1
  import type { Tree } from '@nx/devkit';
2
- import type { Schema } from '../schema';
3
- export declare function addServerFile(tree: Tree, schema: Schema, isUsingApplicationBuilder: boolean): void;
2
+ import type { NormalizedGeneratorOptions } from '../schema';
3
+ export declare function addServerFile(tree: Tree, options: NormalizedGeneratorOptions): void;