@nx/angular 24.0.0-pr.37405.acdaf31 → 24.0.0-rc.1

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 (280) hide show
  1. package/dist/executors.d.ts +0 -2
  2. package/dist/executors.js +0 -2
  3. package/dist/fesm2022/nx-angular.mjs +0 -4
  4. package/dist/generators.d.ts +0 -8
  5. package/dist/generators.js +0 -8
  6. package/dist/ready-check.d.ts +1 -0
  7. package/dist/ready-check.js +8 -0
  8. package/dist/src/executors/application/schema.json +1 -2
  9. package/dist/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.transform.js +9 -1
  10. package/dist/src/executors/unit-test/schema.json +6 -1
  11. package/dist/src/executors/unit-test/unit-test.impl.js +5 -0
  12. package/dist/src/executors/utilities/ng-packagr/stylesheet-processor.js +35 -10
  13. package/dist/src/generators/add-linting/add-linting.js +1 -3
  14. package/dist/src/generators/add-linting/schema.d.ts +0 -5
  15. package/dist/src/generators/add-linting/schema.json +0 -6
  16. package/dist/src/generators/application/application.js +1 -2
  17. package/dist/src/generators/application/lib/add-e2e.js +3 -8
  18. package/dist/src/generators/application/lib/add-linting.js +1 -3
  19. package/dist/src/generators/application/lib/add-serve-static-target.js +2 -0
  20. package/dist/src/generators/application/lib/add-unit-test-runner.js +0 -2
  21. package/dist/src/generators/application/lib/create-project.js +2 -0
  22. package/dist/src/generators/application/lib/normalize-options.d.ts +1 -1
  23. package/dist/src/generators/application/lib/normalize-options.js +1 -8
  24. package/dist/src/generators/application/schema.d.ts +0 -5
  25. package/dist/src/generators/application/schema.json +1 -7
  26. package/dist/src/generators/convert-to-rspack/convert-to-rspack.js +9 -4
  27. package/dist/src/generators/convert-to-rspack/lib/get-custom-webpack-config.d.ts +1 -2
  28. package/dist/src/generators/convert-to-rspack/lib/get-custom-webpack-config.js +0 -63
  29. package/dist/src/generators/convert-to-rspack/lib/validate-no-module-federation.d.ts +2 -0
  30. package/dist/src/generators/convert-to-rspack/lib/validate-no-module-federation.js +32 -0
  31. package/dist/src/generators/cypress-component-configuration/cypress-component-configuration.js +3 -15
  32. package/dist/src/generators/init/init.js +1 -2
  33. package/dist/src/generators/init/schema.d.ts +0 -2
  34. package/dist/src/generators/library/lib/normalized-schema.d.ts +0 -4
  35. package/dist/src/generators/library/library.js +3 -4
  36. package/dist/src/generators/library/schema.d.ts +0 -5
  37. package/dist/src/generators/library/schema.json +0 -6
  38. package/dist/src/generators/ng-add/migrators/builders/angular-eslint-lint.migrator.js +12 -1
  39. package/dist/src/generators/ng-add/migrators/projects/app.migrator.d.ts +1 -0
  40. package/dist/src/generators/ng-add/migrators/projects/app.migrator.js +22 -0
  41. package/dist/src/generators/ng-add/migrators/projects/e2e.migrator.js +12 -16
  42. package/dist/src/generators/ng-add/utilities/workspace.js +1 -3
  43. package/dist/src/generators/setup-ssr/files/v20+/application-builder/server/__serverFileName__ +15 -1
  44. package/dist/src/generators/setup-ssr/lib/add-dependencies.js +4 -0
  45. package/dist/src/generators/setup-ssr/lib/update-project-config.js +1 -0
  46. package/dist/src/generators/storybook-configuration/lib/generate-storybook-configuration.js +0 -2
  47. package/dist/src/generators/utils/add-jest.d.ts +0 -1
  48. package/dist/src/generators/utils/add-jest.js +0 -2
  49. package/dist/src/generators/utils/add-vitest.d.ts +0 -1
  50. package/dist/src/generators/utils/add-vitest.js +0 -1
  51. package/dist/src/generators/utils/testing.d.ts +4 -4
  52. package/dist/src/generators/utils/testing.js +19 -12
  53. package/dist/src/migrations/update-23-1-0/add-angular-build.js +7 -3
  54. package/dist/src/migrations/update-23-1-0/add-angular-build.md +1 -1
  55. package/dist/src/migrations/update-23-1-0/add-trust-proxy-headers.js +9 -2
  56. package/dist/src/migrations/update-24-0-0/add-ready-when-signal.d.ts +4 -0
  57. package/dist/src/migrations/update-24-0-0/add-ready-when-signal.js +12 -0
  58. package/dist/src/migrations/update-24-0-0/add-ready-when-signal.md +59 -0
  59. package/dist/src/migrations/update-24-0-0/remove-scam-generator-defaults.d.ts +2 -0
  60. package/dist/src/migrations/update-24-0-0/remove-scam-generator-defaults.js +85 -0
  61. package/dist/src/migrations/update-24-0-0/remove-scam-generator-defaults.md +48 -0
  62. package/dist/src/migrations/update-24-0-0/upgrade-to-angular-22-2.d.ts +5 -0
  63. package/dist/src/migrations/update-24-0-0/upgrade-to-angular-22-2.js +332 -0
  64. package/dist/src/migrations/update-24-0-0/upgrade-to-angular-22-2.md +46 -0
  65. package/dist/src/plugins/plugin.js +3 -5
  66. package/dist/src/plugins/utils/dev-server-ready-check.d.ts +17 -0
  67. package/dist/src/plugins/utils/dev-server-ready-check.js +213 -0
  68. package/dist/src/utils/assert-cypress-component-testing-support.js +10 -0
  69. package/dist/src/utils/backward-compatible-versions.js +0 -8
  70. package/dist/src/utils/versions.d.ts +4 -8
  71. package/dist/src/utils/versions.js +5 -9
  72. package/dist/types/nx-angular.d.ts +1 -3
  73. package/executors.json +0 -10
  74. package/generators.json +0 -59
  75. package/migrations.json +109 -0
  76. package/package.json +13 -21
  77. package/dist/.npmignore +0 -2
  78. package/dist/fesm2022/nx-angular-mf.mjs +0 -193
  79. package/dist/fesm2022/nx-angular-mf.mjs.map +0 -1
  80. package/dist/fesm2022/nx-angular.mjs.map +0 -1
  81. package/dist/mf/package.json +0 -4
  82. package/dist/src/builders/utilities/module-federation.d.ts +0 -11
  83. package/dist/src/builders/utilities/module-federation.js +0 -109
  84. package/dist/src/executors/module-federation-dev-server/lib/index.d.ts +0 -2
  85. package/dist/src/executors/module-federation-dev-server/lib/index.js +0 -5
  86. package/dist/src/executors/module-federation-dev-server/lib/normalize-options.d.ts +0 -2
  87. package/dist/src/executors/module-federation-dev-server/lib/normalize-options.js +0 -22
  88. package/dist/src/executors/module-federation-dev-server/lib/start-dev-remotes.d.ts +0 -5
  89. package/dist/src/executors/module-federation-dev-server/lib/start-dev-remotes.js +0 -29
  90. package/dist/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +0 -4
  91. package/dist/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +0 -111
  92. package/dist/src/executors/module-federation-dev-server/schema.d.ts +0 -38
  93. package/dist/src/executors/module-federation-dev-server/schema.json +0 -171
  94. package/dist/src/executors/module-federation-ssr-dev-server/lib/normalize-options.d.ts +0 -2
  95. package/dist/src/executors/module-federation-ssr-dev-server/lib/normalize-options.js +0 -20
  96. package/dist/src/executors/module-federation-ssr-dev-server/lib/start-dev-remotes.d.ts +0 -5
  97. package/dist/src/executors/module-federation-ssr-dev-server/lib/start-dev-remotes.js +0 -30
  98. package/dist/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.d.ts +0 -4
  99. package/dist/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +0 -110
  100. package/dist/src/executors/module-federation-ssr-dev-server/schema.d.ts +0 -17
  101. package/dist/src/executors/module-federation-ssr-dev-server/schema.json +0 -124
  102. package/dist/src/generators/convert-to-with-mf/convert-to-with-mf.d.ts +0 -4
  103. package/dist/src/generators/convert-to-with-mf/convert-to-with-mf.js +0 -36
  104. package/dist/src/generators/convert-to-with-mf/convert-to-with-mf.test-data.d.ts +0 -5
  105. package/dist/src/generators/convert-to-with-mf/convert-to-with-mf.test-data.js +0 -448
  106. package/dist/src/generators/convert-to-with-mf/lib/check-name-matches.d.ts +0 -2
  107. package/dist/src/generators/convert-to-with-mf/lib/check-name-matches.js +0 -22
  108. package/dist/src/generators/convert-to-with-mf/lib/check-shared-npm-packages.d.ts +0 -2
  109. package/dist/src/generators/convert-to-with-mf/lib/check-shared-npm-packages.js +0 -45
  110. package/dist/src/generators/convert-to-with-mf/lib/get-webpack-config-path.d.ts +0 -2
  111. package/dist/src/generators/convert-to-with-mf/lib/get-webpack-config-path.js +0 -18
  112. package/dist/src/generators/convert-to-with-mf/lib/index.d.ts +0 -6
  113. package/dist/src/generators/convert-to-with-mf/lib/index.js +0 -9
  114. package/dist/src/generators/convert-to-with-mf/lib/is-host-remote-config.d.ts +0 -5
  115. package/dist/src/generators/convert-to-with-mf/lib/is-host-remote-config.js +0 -57
  116. package/dist/src/generators/convert-to-with-mf/lib/parse-ast-webpack-config.d.ts +0 -2
  117. package/dist/src/generators/convert-to-with-mf/lib/parse-ast-webpack-config.js +0 -13
  118. package/dist/src/generators/convert-to-with-mf/lib/write-new-webpack-config.d.ts +0 -3
  119. package/dist/src/generators/convert-to-with-mf/lib/write-new-webpack-config.js +0 -50
  120. package/dist/src/generators/convert-to-with-mf/schema.d.ts +0 -4
  121. package/dist/src/generators/convert-to-with-mf/schema.json +0 -33
  122. package/dist/src/generators/federate-module/federate-module.d.ts +0 -4
  123. package/dist/src/generators/federate-module/federate-module.js +0 -49
  124. package/dist/src/generators/federate-module/lib/add-file-to-remote-tsconfig.d.ts +0 -2
  125. package/dist/src/generators/federate-module/lib/add-file-to-remote-tsconfig.js +0 -14
  126. package/dist/src/generators/federate-module/lib/add-path-to-exposes.d.ts +0 -8
  127. package/dist/src/generators/federate-module/lib/add-path-to-exposes.js +0 -77
  128. package/dist/src/generators/federate-module/lib/add-path-to-ts-config.d.ts +0 -8
  129. package/dist/src/generators/federate-module/lib/add-path-to-ts-config.js +0 -11
  130. package/dist/src/generators/federate-module/lib/add-remote.d.ts +0 -7
  131. package/dist/src/generators/federate-module/lib/add-remote.js +0 -42
  132. package/dist/src/generators/federate-module/lib/check-remote-exists.d.ts +0 -2
  133. package/dist/src/generators/federate-module/lib/check-remote-exists.js +0 -21
  134. package/dist/src/generators/federate-module/lib/index.d.ts +0 -4
  135. package/dist/src/generators/federate-module/lib/index.js +0 -7
  136. package/dist/src/generators/federate-module/schema.d.ts +0 -13
  137. package/dist/src/generators/federate-module/schema.json +0 -83
  138. package/dist/src/generators/host/files/common/src/main.server.ts__tmpl__ +0 -78
  139. package/dist/src/generators/host/files/js/webpack.server.config.js__tmpl__ +0 -8
  140. package/dist/src/generators/host/files/ts/webpack.server.config.ts__tmpl__ +0 -9
  141. package/dist/src/generators/host/host.d.ts +0 -4
  142. package/dist/src/generators/host/host.js +0 -133
  143. package/dist/src/generators/host/lib/index.d.ts +0 -2
  144. package/dist/src/generators/host/lib/index.js +0 -5
  145. package/dist/src/generators/host/lib/update-ssr-setup.d.ts +0 -3
  146. package/dist/src/generators/host/lib/update-ssr-setup.js +0 -54
  147. package/dist/src/generators/host/lib/validate-options.d.ts +0 -3
  148. package/dist/src/generators/host/lib/validate-options.js +0 -12
  149. package/dist/src/generators/host/schema.d.ts +0 -36
  150. package/dist/src/generators/host/schema.json +0 -195
  151. package/dist/src/generators/remote/files/base/webpack.server.config.js__tmpl__ +0 -9
  152. package/dist/src/generators/remote/files/base-ts/webpack.server.config.ts__tmpl__ +0 -9
  153. package/dist/src/generators/remote/files/common/src/main.server.ts__tmpl__ +0 -84
  154. package/dist/src/generators/remote/files/standalone/src/bootstrap.server.ts__tmpl__ +0 -12
  155. package/dist/src/generators/remote/lib/find-next-available-port.d.ts +0 -2
  156. package/dist/src/generators/remote/lib/find-next-available-port.js +0 -16
  157. package/dist/src/generators/remote/lib/index.d.ts +0 -3
  158. package/dist/src/generators/remote/lib/index.js +0 -6
  159. package/dist/src/generators/remote/lib/update-ssr-setup.d.ts +0 -9
  160. package/dist/src/generators/remote/lib/update-ssr-setup.js +0 -82
  161. package/dist/src/generators/remote/lib/validate-options.d.ts +0 -3
  162. package/dist/src/generators/remote/lib/validate-options.js +0 -12
  163. package/dist/src/generators/remote/remote.d.ts +0 -4
  164. package/dist/src/generators/remote/remote.js +0 -114
  165. package/dist/src/generators/remote/schema.d.ts +0 -34
  166. package/dist/src/generators/remote/schema.json +0 -184
  167. package/dist/src/generators/scam/lib/convert-component-to-scam.d.ts +0 -3
  168. package/dist/src/generators/scam/lib/convert-component-to-scam.js +0 -41
  169. package/dist/src/generators/scam/lib/index.d.ts +0 -2
  170. package/dist/src/generators/scam/lib/index.js +0 -5
  171. package/dist/src/generators/scam/lib/normalize-options.d.ts +0 -3
  172. package/dist/src/generators/scam/lib/normalize-options.js +0 -34
  173. package/dist/src/generators/scam/scam.d.ts +0 -7
  174. package/dist/src/generators/scam/scam.js +0 -28
  175. package/dist/src/generators/scam/schema.d.ts +0 -30
  176. package/dist/src/generators/scam/schema.json +0 -126
  177. package/dist/src/generators/scam-directive/lib/convert-directive-to-scam.d.ts +0 -3
  178. package/dist/src/generators/scam-directive/lib/convert-directive-to-scam.js +0 -41
  179. package/dist/src/generators/scam-directive/lib/index.d.ts +0 -2
  180. package/dist/src/generators/scam-directive/lib/index.js +0 -5
  181. package/dist/src/generators/scam-directive/lib/normalize-options.d.ts +0 -3
  182. package/dist/src/generators/scam-directive/lib/normalize-options.js +0 -34
  183. package/dist/src/generators/scam-directive/scam-directive.d.ts +0 -7
  184. package/dist/src/generators/scam-directive/scam-directive.js +0 -28
  185. package/dist/src/generators/scam-directive/schema.d.ts +0 -23
  186. package/dist/src/generators/scam-directive/schema.json +0 -89
  187. package/dist/src/generators/scam-pipe/lib/convert-pipe-to-scam.d.ts +0 -3
  188. package/dist/src/generators/scam-pipe/lib/convert-pipe-to-scam.js +0 -41
  189. package/dist/src/generators/scam-pipe/lib/index.d.ts +0 -2
  190. package/dist/src/generators/scam-pipe/lib/index.js +0 -5
  191. package/dist/src/generators/scam-pipe/lib/normalize-options.d.ts +0 -3
  192. package/dist/src/generators/scam-pipe/lib/normalize-options.js +0 -36
  193. package/dist/src/generators/scam-pipe/scam-pipe.d.ts +0 -7
  194. package/dist/src/generators/scam-pipe/scam-pipe.js +0 -28
  195. package/dist/src/generators/scam-pipe/schema.d.ts +0 -21
  196. package/dist/src/generators/scam-pipe/schema.json +0 -67
  197. package/dist/src/generators/scam-to-standalone/lib/convert-scam-to-standalone.d.ts +0 -3
  198. package/dist/src/generators/scam-to-standalone/lib/convert-scam-to-standalone.js +0 -35
  199. package/dist/src/generators/scam-to-standalone/lib/get-component-data-from-ast.d.ts +0 -6
  200. package/dist/src/generators/scam-to-standalone/lib/get-component-data-from-ast.js +0 -15
  201. package/dist/src/generators/scam-to-standalone/lib/get-module-metadata-from-ast.d.ts +0 -9
  202. package/dist/src/generators/scam-to-standalone/lib/get-module-metadata-from-ast.js +0 -51
  203. package/dist/src/generators/scam-to-standalone/lib/get-target-project.d.ts +0 -2
  204. package/dist/src/generators/scam-to-standalone/lib/get-target-project.js +0 -13
  205. package/dist/src/generators/scam-to-standalone/lib/index.d.ts +0 -8
  206. package/dist/src/generators/scam-to-standalone/lib/index.js +0 -11
  207. package/dist/src/generators/scam-to-standalone/lib/replace-module-usages-with-component.d.ts +0 -2
  208. package/dist/src/generators/scam-to-standalone/lib/replace-module-usages-with-component.js +0 -20
  209. package/dist/src/generators/scam-to-standalone/lib/selector-exists-in-ast.d.ts +0 -2
  210. package/dist/src/generators/scam-to-standalone/lib/selector-exists-in-ast.js +0 -7
  211. package/dist/src/generators/scam-to-standalone/lib/verify-is-inline-scam.d.ts +0 -2
  212. package/dist/src/generators/scam-to-standalone/lib/verify-is-inline-scam.js +0 -10
  213. package/dist/src/generators/scam-to-standalone/lib/verify-module-is-scam.d.ts +0 -1
  214. package/dist/src/generators/scam-to-standalone/lib/verify-module-is-scam.js +0 -11
  215. package/dist/src/generators/scam-to-standalone/scam-to-standalone.d.ts +0 -7
  216. package/dist/src/generators/scam-to-standalone/scam-to-standalone.js +0 -31
  217. package/dist/src/generators/scam-to-standalone/schema.d.ts +0 -5
  218. package/dist/src/generators/scam-to-standalone/schema.json +0 -32
  219. package/dist/src/generators/setup-mf/files/entry-module-files/__entryModuleFileName__.ts__tmpl__ +0 -18
  220. package/dist/src/generators/setup-mf/files/entry-module-files/entry.routes.ts__tmpl__ +0 -4
  221. package/dist/src/generators/setup-mf/files/entry-module-files/entry__componentFileSuffix__.ts__tmpl__ +0 -10
  222. package/dist/src/generators/setup-mf/files/host-files/__appFileName__.spec.ts__tmpl__ +0 -42
  223. package/dist/src/generators/setup-mf/files/standalone-entry-component-files/entry.routes.ts__tmpl__ +0 -4
  224. package/dist/src/generators/setup-mf/files/standalone-entry-component-files/entry__componentFileSuffix__.ts__tmpl__ +0 -11
  225. package/dist/src/generators/setup-mf/files/ts-webpack/module-federation.config.ts__tmpl__ +0 -27
  226. package/dist/src/generators/setup-mf/files/ts-webpack/tsconfig.lint.json__tmpl__ +0 -12
  227. package/dist/src/generators/setup-mf/files/ts-webpack/webpack.config.ts__tmpl__ +0 -9
  228. package/dist/src/generators/setup-mf/files/ts-webpack/webpack.prod.config.ts__tmpl__ +0 -21
  229. package/dist/src/generators/setup-mf/files/webpack/module-federation.config.js__tmpl__ +0 -23
  230. package/dist/src/generators/setup-mf/files/webpack/webpack.config.js__tmpl__ +0 -9
  231. package/dist/src/generators/setup-mf/files/webpack/webpack.prod.config.js__tmpl__ +0 -21
  232. package/dist/src/generators/setup-mf/lib/add-cypress-workaround.d.ts +0 -3
  233. package/dist/src/generators/setup-mf/lib/add-cypress-workaround.js +0 -52
  234. package/dist/src/generators/setup-mf/lib/add-remote-entry.d.ts +0 -3
  235. package/dist/src/generators/setup-mf/lib/add-remote-entry.js +0 -27
  236. package/dist/src/generators/setup-mf/lib/add-remote-to-host.d.ts +0 -9
  237. package/dist/src/generators/setup-mf/lib/add-remote-to-host.js +0 -127
  238. package/dist/src/generators/setup-mf/lib/change-build-target.d.ts +0 -3
  239. package/dist/src/generators/setup-mf/lib/change-build-target.js +0 -24
  240. package/dist/src/generators/setup-mf/lib/fix-bootstrap.d.ts +0 -3
  241. package/dist/src/generators/setup-mf/lib/fix-bootstrap.js +0 -40
  242. package/dist/src/generators/setup-mf/lib/generate-config.d.ts +0 -6
  243. package/dist/src/generators/setup-mf/lib/generate-config.js +0 -32
  244. package/dist/src/generators/setup-mf/lib/get-remotes-with-ports.d.ts +0 -6
  245. package/dist/src/generators/setup-mf/lib/get-remotes-with-ports.js +0 -20
  246. package/dist/src/generators/setup-mf/lib/index.d.ts +0 -15
  247. package/dist/src/generators/setup-mf/lib/index.js +0 -18
  248. package/dist/src/generators/setup-mf/lib/move-angular-plugin-to-dependencies.d.ts +0 -2
  249. package/dist/src/generators/setup-mf/lib/move-angular-plugin-to-dependencies.js +0 -15
  250. package/dist/src/generators/setup-mf/lib/normalize-options.d.ts +0 -3
  251. package/dist/src/generators/setup-mf/lib/normalize-options.js +0 -26
  252. package/dist/src/generators/setup-mf/lib/remove-dead-code-from-remote.d.ts +0 -3
  253. package/dist/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +0 -61
  254. package/dist/src/generators/setup-mf/lib/setup-host-if-dynamic.d.ts +0 -3
  255. package/dist/src/generators/setup-mf/lib/setup-host-if-dynamic.js +0 -20
  256. package/dist/src/generators/setup-mf/lib/setup-serve-target.d.ts +0 -3
  257. package/dist/src/generators/setup-mf/lib/setup-serve-target.js +0 -39
  258. package/dist/src/generators/setup-mf/lib/setup-tspath-for-remote.d.ts +0 -3
  259. package/dist/src/generators/setup-mf/lib/setup-tspath-for-remote.js +0 -15
  260. package/dist/src/generators/setup-mf/lib/update-host-app-routes.d.ts +0 -3
  261. package/dist/src/generators/setup-mf/lib/update-host-app-routes.js +0 -39
  262. package/dist/src/generators/setup-mf/lib/update-tsconfig.d.ts +0 -3
  263. package/dist/src/generators/setup-mf/lib/update-tsconfig.js +0 -18
  264. package/dist/src/generators/setup-mf/schema.d.ts +0 -35
  265. package/dist/src/generators/setup-mf/schema.json +0 -99
  266. package/dist/src/generators/setup-mf/setup-mf.d.ts +0 -4
  267. package/dist/src/generators/setup-mf/setup-mf.js +0 -90
  268. package/dist/src/generators/utils/add-mf-env-to-inputs.d.ts +0 -2
  269. package/dist/src/generators/utils/add-mf-env-to-inputs.js +0 -36
  270. package/dist/src/generators/utils/assert-mf-utils.d.ts +0 -1
  271. package/dist/src/generators/utils/assert-mf-utils.js +0 -8
  272. package/dist/src/generators/utils/export-scam.d.ts +0 -11
  273. package/dist/src/generators/utils/export-scam.js +0 -35
  274. package/dist/src/utils/get-mf-projects.d.ts +0 -4
  275. package/dist/src/utils/get-mf-projects.js +0 -31
  276. package/dist/src/utils/module-federation-deprecation.d.ts +0 -4
  277. package/dist/src/utils/module-federation-deprecation.js +0 -29
  278. package/dist/types/nx-angular-mf.d.ts +0 -72
  279. package/dist/types/nx-angular-mf.d.ts.map +0 -1
  280. package/dist/types/nx-angular.d.ts.map +0 -1
@@ -1,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkIsCommaNeeded = checkIsCommaNeeded;
4
- exports.addRemoteToHost = addRemoteToHost;
5
- const devkit_1 = require("@nx/devkit");
6
- const js_1 = require("@nx/js");
7
- const internal_1 = require("@nx/js/internal");
8
- const route_utils_1 = require("../../../utils/nx-devkit/route-utils");
9
- let tsModule;
10
- function checkIsCommaNeeded(mfRemoteText) {
11
- const remoteText = mfRemoteText.replace(/\s+/g, '');
12
- return !remoteText.endsWith(',]')
13
- ? remoteText === '[]'
14
- ? false
15
- : true
16
- : false;
17
- }
18
- function addRemoteToHost(tree, options) {
19
- if (options.host) {
20
- const hostProject = (0, devkit_1.readProjectConfiguration)(tree, options.host);
21
- const pathToMFManifest = getDynamicManifestFile(tree, hostProject);
22
- const hostFederationType = !!pathToMFManifest ? 'dynamic' : 'static';
23
- const isHostUsingTypescriptConfig = tree.exists((0, devkit_1.joinPathFragments)(hostProject.root, 'module-federation.config.ts'));
24
- if (hostFederationType === 'static') {
25
- addRemoteToStaticHost(tree, options, hostProject, isHostUsingTypescriptConfig);
26
- }
27
- else if (hostFederationType === 'dynamic') {
28
- addRemoteToDynamicHost(tree, options, pathToMFManifest, (0, internal_1.getProjectSourceRoot)(hostProject, tree));
29
- }
30
- addLazyLoadedRouteToHostAppModule(tree, options, hostFederationType);
31
- }
32
- }
33
- function getDynamicManifestFile(tree, project) {
34
- // {sourceRoot}/assets/module-federation.manifest.json was the generated
35
- // path for the manifest file in the past. We now generate the manifest
36
- // file at {root}/public/module-federation.manifest.json. This check
37
- // ensures that we can still support the old path for backwards
38
- // compatibility since old projects may still have the manifest file
39
- // at the old path.
40
- return [
41
- (0, devkit_1.joinPathFragments)(project.root, 'public/module-federation.manifest.json'),
42
- (0, devkit_1.joinPathFragments)((0, internal_1.getProjectSourceRoot)(project, tree), 'assets/module-federation.manifest.json'),
43
- ].find((path) => tree.exists(path));
44
- }
45
- function addRemoteToStaticHost(tree, options, hostProject, isHostUsingTypescript) {
46
- const hostMFConfigPath = (0, devkit_1.joinPathFragments)(hostProject.root, isHostUsingTypescript
47
- ? 'module-federation.config.ts'
48
- : 'module-federation.config.js');
49
- if (!hostMFConfigPath || !tree.exists(hostMFConfigPath)) {
50
- throw new Error(`The selected host application, ${options.host}, does not contain a module-federation.config.{ts,js} or module-federation.manifest.json file. Are you sure it has been set up as a host application?`);
51
- }
52
- const hostMFConfig = tree.read(hostMFConfigPath, 'utf-8');
53
- const { ast, query } = require('@phenomnomnominal/tsquery');
54
- const webpackAst = ast(hostMFConfig);
55
- const mfRemotesNode = query(webpackAst, 'ObjectLiteralExpression > PropertyAssignment:has(Identifier[name=remotes]) > ArrayLiteralExpression')[0];
56
- const endOfPropertiesPos = mfRemotesNode.getEnd() - 1;
57
- const isCommaNeeded = checkIsCommaNeeded(mfRemotesNode.getText());
58
- const updatedConfig = `${hostMFConfig.slice(0, endOfPropertiesPos)}${isCommaNeeded ? ',' : ''}'${options.appName}',${hostMFConfig.slice(endOfPropertiesPos)}`;
59
- tree.write(hostMFConfigPath, updatedConfig);
60
- }
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(');
66
- (0, devkit_1.updateJson)(tree, pathToMfManifest, (manifest) => {
67
- return {
68
- ...manifest,
69
- [options.appName]: `http://localhost:${options.port}${usingLegacyDynamicFederation ? '' : '/mf-manifest.json'}`,
70
- };
71
- });
72
- }
73
- function addLazyLoadedRouteToHostAppModule(tree, options, hostFederationType) {
74
- if (!tsModule) {
75
- tsModule = (0, internal_1.ensureTypescript)();
76
- }
77
- const hostAppConfig = (0, devkit_1.readProjectConfiguration)(tree, options.host);
78
- const sourceRoot = (0, internal_1.getProjectSourceRoot)(hostAppConfig, tree);
79
- const pathToHostRootRouting = `${sourceRoot}/app/app.routes.ts`;
80
- if (!tree.exists(pathToHostRootRouting)) {
81
- return;
82
- }
83
- const hostRootRoutingFile = tree.read(pathToHostRootRouting, 'utf-8');
84
- let sourceFile = tsModule.createSourceFile(pathToHostRootRouting, hostRootRoutingFile, tsModule.ScriptTarget.Latest, true);
85
- // TODO(Colum): Remove for Nx 22
86
- const usingLegacyDynamicFederation = hostFederationType === 'dynamic' &&
87
- tree
88
- .read(`${sourceRoot}/main.ts`, 'utf-8')
89
- .includes('setRemoteDefinitions(');
90
- if (hostFederationType === 'dynamic') {
91
- sourceFile = (0, js_1.insertImport)(tree, sourceFile, pathToHostRootRouting, usingLegacyDynamicFederation ? 'loadRemoteModule' : 'loadRemote', usingLegacyDynamicFederation
92
- ? '@nx/angular/mf'
93
- : '@module-federation/enhanced/runtime');
94
- }
95
- const routePathName = options.standalone ? 'Routes' : 'Module';
96
- const exportedRemote = options.standalone
97
- ? 'remoteRoutes'
98
- : 'RemoteEntryModule';
99
- const remoteModulePath = `${options.appName.replace(/-/g, '_')}/${routePathName}`;
100
- const routeToAdd = hostFederationType === 'dynamic'
101
- ? usingLegacyDynamicFederation
102
- ? `loadRemoteModule('${options.appName.replace(/-/g, '_')}', './${routePathName}')`
103
- : `loadRemote<typeof import('${remoteModulePath}')>('${remoteModulePath}')`
104
- : `import('${remoteModulePath}')`;
105
- (0, route_utils_1.addRoute)(tree, pathToHostRootRouting, `{
106
- path: '${options.appName}',
107
- loadChildren: () => ${routeToAdd}.then(m => m!.${exportedRemote})
108
- }`);
109
- let pathToAppComponentTemplate = (0, devkit_1.joinPathFragments)(sourceRoot, 'app/app.component.html');
110
- const candidatePaths = [
111
- pathToAppComponentTemplate,
112
- (0, devkit_1.joinPathFragments)(sourceRoot, 'app/app.html'),
113
- ];
114
- for (const path of candidatePaths) {
115
- if (tree.exists(path)) {
116
- pathToAppComponentTemplate = path;
117
- break;
118
- }
119
- }
120
- const appComponent = tree.read(pathToAppComponentTemplate, 'utf-8');
121
- if (appComponent.includes(`<ul class="remote-menu">`) &&
122
- appComponent.includes('</ul>')) {
123
- const indexOfClosingMenuTag = appComponent.indexOf('</ul>');
124
- const newAppComponent = `${appComponent.slice(0, indexOfClosingMenuTag)}<li><a routerLink="${options.appName}">${(0, devkit_1.names)(options.appName).className}</a></li>\n${appComponent.slice(indexOfClosingMenuTag)}`;
125
- tree.write(pathToAppComponentTemplate, newAppComponent);
126
- }
127
- }
@@ -1,3 +0,0 @@
1
- import type { Tree } from '@nx/devkit';
2
- import type { Schema } from '../schema';
3
- export declare function changeBuildTarget(host: Tree, options: Schema): void;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.changeBuildTarget = changeBuildTarget;
4
- const internal_1 = require("@nx/devkit/internal");
5
- const devkit_1 = require("@nx/devkit");
6
- function changeBuildTarget(host, options) {
7
- const appConfig = (0, devkit_1.readProjectConfiguration)(host, options.appName);
8
- const configExtName = options.typescriptConfiguration ? 'ts' : 'js';
9
- appConfig.targets.build.executor = '@nx/angular:webpack-browser';
10
- appConfig.targets.build.options = {
11
- ...appConfig.targets.build.options,
12
- customWebpackConfig: {
13
- path: `${appConfig.root}/webpack.config.${configExtName}`,
14
- },
15
- };
16
- appConfig.targets.build.configurations.production = {
17
- ...appConfig.targets.build.configurations.production,
18
- customWebpackConfig: {
19
- path: `${appConfig.root}/webpack.prod.config.${configExtName}`,
20
- },
21
- };
22
- (0, devkit_1.updateProjectConfiguration)(host, options.appName, appConfig);
23
- (0, internal_1.addBuildTargetDefaults)(host, '@nx/angular:webpack-browser');
24
- }
@@ -1,3 +0,0 @@
1
- import { type Tree } from '@nx/devkit';
2
- import type { NormalizedOptions } from '../schema';
3
- export declare function fixBootstrap(tree: Tree, appRoot: string, options: NormalizedOptions): void;
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fixBootstrap = fixBootstrap;
4
- const devkit_1 = require("@nx/devkit");
5
- function fixBootstrap(tree, appRoot, options) {
6
- const mainFilePath = (0, devkit_1.joinPathFragments)(appRoot, 'src/main.ts');
7
- const bootstrapCode = tree.read(mainFilePath, 'utf-8');
8
- if (options.standalone && options.mfType === 'remote') {
9
- tree.write(`${appRoot}/src/bootstrap.ts`, standaloneBootstrapCode(options.componentType, options.componentFileSuffix));
10
- }
11
- else {
12
- tree.write((0, devkit_1.joinPathFragments)(appRoot, 'src/bootstrap.ts'), bootstrapCode);
13
- }
14
- const bootstrapImportCode = `import('./bootstrap').catch(err => console.error(err))`;
15
- if (options.mfType === 'remote' || options.federationType === 'static') {
16
- tree.write(mainFilePath, `${bootstrapImportCode};`);
17
- }
18
- else {
19
- let manifestPath = '/assets/module-federation.manifest.json';
20
- if (tree.exists((0, devkit_1.joinPathFragments)(appRoot, 'public/module-federation.manifest.json'))) {
21
- manifestPath = '/module-federation.manifest.json';
22
- }
23
- const fetchMFManifestCode = `import { registerRemotes } from '@module-federation/enhanced/runtime';
24
-
25
- fetch('${manifestPath}')
26
- .then((res) => res.json())
27
- .then((remotes: Record<string, string>) => Object.entries(remotes).map(([name, entry]) => ({ name,entry})))
28
- .then(remotes => registerRemotes(remotes))
29
- .then(() => ${bootstrapImportCode});`;
30
- tree.write(mainFilePath, fetchMFManifestCode);
31
- }
32
- }
33
- const standaloneBootstrapCode = (componentType, componentFileSuffix) => `import { bootstrapApplication } from '@angular/platform-browser';
34
- import { appConfig } from './app/app.config';
35
- import { RemoteEntry${componentType} } from './app/remote-entry/entry${componentFileSuffix}';
36
-
37
- bootstrapApplication(RemoteEntry${componentType}, appConfig).catch((err) =>
38
- console.error(err)
39
- );
40
- `;
@@ -1,6 +0,0 @@
1
- import type { Tree } from '@nx/devkit';
2
- import type { NormalizedOptions } from '../schema';
3
- export declare function generateWebpackConfig(tree: Tree, options: NormalizedOptions, appRoot: string, remotesWithPorts: {
4
- remoteName: string;
5
- port: number;
6
- }[]): void;
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateWebpackConfig = generateWebpackConfig;
4
- const devkit_1 = require("@nx/devkit");
5
- const internal_1 = require("@nx/eslint/internal");
6
- function generateWebpackConfig(tree, options, appRoot, remotesWithPorts) {
7
- if (tree.exists(`${appRoot}/module-federation.config.js`) ||
8
- tree.exists(`${appRoot}/webpack.config.js`) ||
9
- tree.exists(`${appRoot}/webpack.prod.config.js`) ||
10
- tree.exists(`${appRoot}/module-federation.config.ts`) ||
11
- tree.exists(`${appRoot}/webpack.config.ts`) ||
12
- tree.exists(`${appRoot}/webpack.prod.config.ts`)) {
13
- devkit_1.logger.warn(`NOTE: We encountered an existing webpack config for the app ${options.appName}. We have overwritten this file with the Module Federation Config.\n
14
- If this was not the outcome you expected, you can discard the changes we have made, create a backup of your current webpack config, and run the command again.`);
15
- }
16
- const pathToWebpackTemplateFiles = options.typescriptConfiguration
17
- ? 'ts-webpack'
18
- : 'webpack';
19
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, `../files/${pathToWebpackTemplateFiles}`), appRoot, {
20
- tmpl: '',
21
- type: options.mfType,
22
- federationType: options.federationType,
23
- name: options.appName,
24
- remotes: remotesWithPorts ?? [],
25
- projectRoot: appRoot,
26
- standalone: options.standalone,
27
- entryModuleFileName: options.entryModuleFileName,
28
- });
29
- if (!(0, internal_1.isTypedLintingEnabled)(options)) {
30
- tree.delete((0, devkit_1.joinPathFragments)(appRoot, 'tsconfig.lint.json'));
31
- }
32
- }
@@ -1,6 +0,0 @@
1
- import type { Tree } from '@nx/devkit';
2
- import type { Schema } from '../schema';
3
- export declare function getRemotesWithPorts(host: Tree, options: Schema): {
4
- remoteName: string;
5
- port: number;
6
- }[];
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRemotesWithPorts = getRemotesWithPorts;
4
- const devkit_1 = require("@nx/devkit");
5
- function getRemotesWithPorts(host, options) {
6
- // If type is host and remotes supplied, check remotes exist
7
- const remotesWithPort = [];
8
- if (options.mfType === 'host' &&
9
- Array.isArray(options.remotes) &&
10
- options.remotes.length > 0) {
11
- for (const remote of options.remotes) {
12
- const remoteConfig = (0, devkit_1.readProjectConfiguration)(host, remote);
13
- remotesWithPort.push({
14
- remoteName: remote,
15
- port: remoteConfig.targets['serve']?.options?.port ?? 4200,
16
- });
17
- }
18
- }
19
- return remotesWithPort;
20
- }
@@ -1,15 +0,0 @@
1
- export * from './add-cypress-workaround';
2
- export * from './add-remote-entry';
3
- export * from './add-remote-to-host';
4
- export * from './change-build-target';
5
- export * from './fix-bootstrap';
6
- export * from './generate-config';
7
- export * from './get-remotes-with-ports';
8
- export * from './move-angular-plugin-to-dependencies';
9
- export * from './normalize-options';
10
- export * from './update-tsconfig';
11
- export * from './setup-host-if-dynamic';
12
- export * from './setup-serve-target';
13
- export * from './update-host-app-routes';
14
- export * from './remove-dead-code-from-remote';
15
- export * from './setup-tspath-for-remote';
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./add-cypress-workaround"), exports);
5
- tslib_1.__exportStar(require("./add-remote-entry"), exports);
6
- tslib_1.__exportStar(require("./add-remote-to-host"), exports);
7
- tslib_1.__exportStar(require("./change-build-target"), exports);
8
- tslib_1.__exportStar(require("./fix-bootstrap"), exports);
9
- tslib_1.__exportStar(require("./generate-config"), exports);
10
- tslib_1.__exportStar(require("./get-remotes-with-ports"), exports);
11
- tslib_1.__exportStar(require("./move-angular-plugin-to-dependencies"), exports);
12
- tslib_1.__exportStar(require("./normalize-options"), exports);
13
- tslib_1.__exportStar(require("./update-tsconfig"), exports);
14
- tslib_1.__exportStar(require("./setup-host-if-dynamic"), exports);
15
- tslib_1.__exportStar(require("./setup-serve-target"), exports);
16
- tslib_1.__exportStar(require("./update-host-app-routes"), exports);
17
- tslib_1.__exportStar(require("./remove-dead-code-from-remote"), exports);
18
- tslib_1.__exportStar(require("./setup-tspath-for-remote"), exports);
@@ -1,2 +0,0 @@
1
- import { type Tree } from '@nx/devkit';
2
- export declare function moveAngularPluginToDependencies(tree: Tree): void;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.moveAngularPluginToDependencies = moveAngularPluginToDependencies;
4
- const devkit_1 = require("@nx/devkit");
5
- function moveAngularPluginToDependencies(tree) {
6
- const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
7
- if (packageJson.dependencies?.['@nx/angular']) {
8
- return;
9
- }
10
- packageJson.dependencies ??= {};
11
- packageJson.dependencies['@nx/angular'] =
12
- packageJson.devDependencies['@nx/angular'];
13
- delete packageJson.devDependencies['@nx/angular'];
14
- (0, devkit_1.writeJson)(tree, 'package.json', packageJson);
15
- }
@@ -1,3 +0,0 @@
1
- import { type Tree } from '@nx/devkit';
2
- import type { NormalizedOptions, Schema } from '../schema';
3
- export declare function normalizeOptions(tree: Tree, options: Schema): NormalizedOptions;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.normalizeOptions = normalizeOptions;
4
- const devkit_1 = require("@nx/devkit");
5
- const app_components_info_1 = require("../../utils/app-components-info");
6
- const artifact_types_1 = require("../../utils/artifact-types");
7
- const project_1 = require("../../utils/project");
8
- function normalizeOptions(tree, options) {
9
- const componentType = (0, artifact_types_1.getComponentType)(tree);
10
- const componentFileSuffix = componentType ? `.${componentType}` : '';
11
- const moduleTypeSeparator = (0, artifact_types_1.getModuleTypeSeparator)(tree);
12
- const entryModuleFileName = `entry${moduleTypeSeparator}module`;
13
- const project = (0, devkit_1.readProjectConfiguration)(tree, options.appName);
14
- return {
15
- ...options,
16
- typescriptConfiguration: options.typescriptConfiguration ?? true,
17
- federationType: options.federationType ?? 'static',
18
- prefix: options.prefix ?? (0, project_1.getProjectPrefix)(tree, options.appName) ?? 'app',
19
- standalone: options.standalone ?? true,
20
- componentType: componentType ? (0, devkit_1.names)(componentType).className : '',
21
- componentFileSuffix,
22
- entryModuleFileName,
23
- appComponentInfo: (0, app_components_info_1.getAppComponentInfo)(tree, componentFileSuffix, project),
24
- nxWelcomeComponentInfo: (0, app_components_info_1.getNxWelcomeComponentInfo)(tree, componentFileSuffix, project),
25
- };
26
- }
@@ -1,3 +0,0 @@
1
- import type { Tree } from '@nx/devkit';
2
- import type { NormalizedOptions } from '../schema';
3
- export declare function removeDeadCodeFromRemote(tree: Tree, options: NormalizedOptions): void;
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeDeadCodeFromRemote = removeDeadCodeFromRemote;
4
- const devkit_1 = require("@nx/devkit");
5
- const internal_1 = require("@nx/js/internal");
6
- function removeDeadCodeFromRemote(tree, options) {
7
- const projectName = options.appName;
8
- const project = (0, devkit_1.readProjectConfiguration)(tree, projectName);
9
- const sourceRoot = (0, internal_1.getProjectSourceRoot)(project, tree);
10
- const { appComponentInfo, nxWelcomeComponentInfo, entryModuleFileName } = options;
11
- ['css', 'less', 'scss', 'sass'].forEach((style) => {
12
- const pathToComponentStyle = (0, devkit_1.joinPathFragments)(sourceRoot, `app/${appComponentInfo.extensionlessFileName}.${style}`);
13
- if (tree.exists(pathToComponentStyle)) {
14
- tree.delete(pathToComponentStyle);
15
- }
16
- });
17
- tree.rename(nxWelcomeComponentInfo.path, (0, devkit_1.joinPathFragments)(sourceRoot, `app/remote-entry/${nxWelcomeComponentInfo.fileName}`));
18
- tree.delete((0, devkit_1.joinPathFragments)(sourceRoot, `app/${appComponentInfo.extensionlessFileName}.spec.ts`));
19
- tree.delete((0, devkit_1.joinPathFragments)(sourceRoot, `app/${appComponentInfo.extensionlessFileName}.html`));
20
- if (!options.standalone) {
21
- const componentContents = tree.read(appComponentInfo.path, 'utf-8');
22
- const isInlineTemplate = !componentContents.includes('templateUrl');
23
- const component = componentContents.split(isInlineTemplate ? 'template' : 'templateUrl')[0] +
24
- `template: '<router-outlet></router-outlet>'
25
-
26
- })
27
- export class ${appComponentInfo.symbolName} {}`;
28
- tree.write(appComponentInfo.path, component);
29
- let modulePath = (0, devkit_1.joinPathFragments)(sourceRoot, 'app/app.module.ts');
30
- if (!tree.exists(modulePath)) {
31
- modulePath = (0, devkit_1.joinPathFragments)(sourceRoot, 'app/app-module.ts');
32
- }
33
- tree.write(modulePath, `import { NgModule } from '@angular/core';
34
- import { BrowserModule } from '@angular/platform-browser';
35
- import { RouterModule } from '@angular/router';
36
- import { ${appComponentInfo.symbolName} } from './${appComponentInfo.extensionlessFileName}';
37
-
38
- @NgModule({
39
- declarations: [${appComponentInfo.symbolName}],
40
- imports: [
41
- BrowserModule,
42
- RouterModule.forRoot([{
43
- path: '',
44
- loadChildren: () => import('./remote-entry/${entryModuleFileName}').then(m => m.RemoteEntryModule)
45
- }], { initialNavigation: 'enabledBlocking' }),
46
- ],
47
- providers: [],
48
- bootstrap: [${appComponentInfo.symbolName}],
49
- })
50
- export class AppModule {}`);
51
- }
52
- else {
53
- tree.delete(appComponentInfo.path);
54
- const pathToIndexHtml = project.targets.build.options.index;
55
- const indexContents = tree.read(pathToIndexHtml, 'utf-8');
56
- const rootSelectorRegex = new RegExp(`${options.prefix || 'app'}-root`, 'ig');
57
- const remoteEntrySelector = `${options.prefix || 'app'}-${projectName}-entry`;
58
- const newIndexContents = indexContents.replace(rootSelectorRegex, remoteEntrySelector);
59
- tree.write(pathToIndexHtml, newIndexContents);
60
- }
61
- }
@@ -1,3 +0,0 @@
1
- import type { Tree } from '@nx/devkit';
2
- import type { Schema } from '../schema';
3
- export declare function setupHostIfDynamic(tree: Tree, options: Schema): void;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setupHostIfDynamic = setupHostIfDynamic;
4
- const devkit_1 = require("@nx/devkit");
5
- function setupHostIfDynamic(tree, options) {
6
- if (options.federationType === 'static') {
7
- return;
8
- }
9
- const project = (0, devkit_1.readProjectConfiguration)(tree, options.appName);
10
- const pathToMFManifest = (0, devkit_1.joinPathFragments)(project.root, 'public/module-federation.manifest.json');
11
- if (!tree.exists(pathToMFManifest)) {
12
- tree.write(pathToMFManifest, '{}');
13
- }
14
- const pathToProdWebpackConfig = (0, devkit_1.joinPathFragments)(project.root, `webpack.prod.config.${options.typescriptConfiguration ? 'ts' : 'js'}`);
15
- if (tree.exists(pathToProdWebpackConfig)) {
16
- tree.delete(pathToProdWebpackConfig);
17
- }
18
- delete project.targets.build.configurations.production?.customWebpackConfig;
19
- (0, devkit_1.updateProjectConfiguration)(tree, options.appName, project);
20
- }
@@ -1,3 +0,0 @@
1
- import type { Tree } from '@nx/devkit';
2
- import type { Schema } from '../schema';
3
- export declare function setupServeTarget(host: Tree, options: Schema): void;
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setupServeTarget = setupServeTarget;
4
- const devkit_1 = require("@nx/devkit");
5
- function setupServeTarget(host, options) {
6
- const appConfig = (0, devkit_1.readProjectConfiguration)(host, options.appName);
7
- appConfig.targets['serve'] = {
8
- ...appConfig.targets['serve'],
9
- executor: options.mfType === 'host'
10
- ? '@nx/angular:module-federation-dev-server'
11
- : '@nx/angular:dev-server',
12
- options: {
13
- ...appConfig.targets['serve'].options,
14
- port: options.port ?? undefined,
15
- publicHost: `http://localhost:${options.port ?? 4200}`,
16
- },
17
- };
18
- if (options.mfType === 'remote') {
19
- appConfig.targets['serve-static'] = {
20
- continuous: true,
21
- executor: '@nx/web:file-server',
22
- defaultConfiguration: 'production',
23
- options: {
24
- buildTarget: `${options.appName}:build`,
25
- port: options.port,
26
- watch: false,
27
- },
28
- configurations: {
29
- development: {
30
- buildTarget: `${options.appName}:build:development`,
31
- },
32
- production: {
33
- buildTarget: `${options.appName}:build:production`,
34
- },
35
- },
36
- };
37
- }
38
- (0, devkit_1.updateProjectConfiguration)(host, options.appName, appConfig);
39
- }
@@ -1,3 +0,0 @@
1
- import type { Tree } from '@nx/devkit';
2
- import type { NormalizedOptions } from '../schema';
3
- export declare function setupTspathForRemote(tree: Tree, options: NormalizedOptions): void;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setupTspathForRemote = setupTspathForRemote;
4
- const devkit_1 = require("@nx/devkit");
5
- const js_1 = require("@nx/js");
6
- const versions_1 = require("../../../utils/versions");
7
- function setupTspathForRemote(tree, options) {
8
- const { normalizeProjectName } = (0, devkit_1.ensurePackage)('@nx/module-federation', versions_1.nxVersion);
9
- const project = (0, devkit_1.readProjectConfiguration)(tree, options.appName);
10
- const exportPath = options.standalone
11
- ? `./src/app/remote-entry/entry.routes.ts`
12
- : `./src/app/remote-entry/${options.entryModuleFileName}.ts`;
13
- const exportName = options.standalone ? 'Routes' : 'Module';
14
- (0, js_1.addTsConfigPath)(tree, `${normalizeProjectName(options.appName)}/${exportName}`, [(0, devkit_1.joinPathFragments)(project.root, exportPath)]);
15
- }
@@ -1,3 +0,0 @@
1
- import { type Tree } from '@nx/devkit';
2
- import type { NormalizedOptions } from '../schema';
3
- export declare function updateHostAppRoutes(tree: Tree, options: NormalizedOptions): void;
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateHostAppRoutes = updateHostAppRoutes;
4
- const devkit_1 = require("@nx/devkit");
5
- const route_utils_1 = require("../../../utils/nx-devkit/route-utils");
6
- const zoneless_1 = require("../../../utils/zoneless");
7
- function updateHostAppRoutes(tree, options) {
8
- const project = (0, devkit_1.readProjectConfiguration)(tree, options.appName);
9
- const { appComponentInfo, nxWelcomeComponentInfo } = options;
10
- const zoneless = (0, zoneless_1.isZonelessApp)(project);
11
- tree.write((0, devkit_1.joinPathFragments)(project.sourceRoot, 'app', `${appComponentInfo.extensionlessFileName}.html`), `<ul class="remote-menu">
12
- <li><a routerLink="/">Home</a></li>
13
- </ul>
14
- <router-outlet></router-outlet>
15
- `);
16
- let pathToHostRootRoutingFile = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.routes.ts');
17
- if (!tree.exists(pathToHostRootRoutingFile)) {
18
- pathToHostRootRoutingFile = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app-routing.module.ts');
19
- }
20
- if (!tree.exists(pathToHostRootRoutingFile)) {
21
- pathToHostRootRoutingFile = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app-routing-module.ts');
22
- }
23
- (0, route_utils_1.addRoute)(tree, pathToHostRootRoutingFile, `{
24
- path: '',
25
- component: ${nxWelcomeComponentInfo.symbolName}
26
- }`);
27
- tree.write(pathToHostRootRoutingFile, `import { ${nxWelcomeComponentInfo.symbolName} } from './${nxWelcomeComponentInfo.extensionlessFileName}';
28
- ${tree.read(pathToHostRootRoutingFile, 'utf-8')}`);
29
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/host-files'), (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app'), {
30
- appName: options.appName,
31
- standalone: options.standalone,
32
- appFileName: appComponentInfo.extensionlessFileName,
33
- appSymbolName: appComponentInfo.symbolName,
34
- nxWelcomeFileName: nxWelcomeComponentInfo.extensionlessFileName,
35
- nxWelcomeSymbolName: nxWelcomeComponentInfo.symbolName,
36
- zoneless,
37
- tmpl: '',
38
- });
39
- }
@@ -1,3 +0,0 @@
1
- import type { Tree } from '@nx/devkit';
2
- import type { NormalizedOptions } from '../schema';
3
- export declare function updateTsConfig(tree: Tree, options: NormalizedOptions): void;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateTsConfig = updateTsConfig;
4
- const devkit_1 = require("@nx/devkit");
5
- function updateTsConfig(tree, options) {
6
- const { root } = (0, devkit_1.readProjectConfiguration)(tree, options.appName);
7
- (0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(root, `tsconfig.app.json`), (json) => {
8
- json.compilerOptions ??= {};
9
- json.compilerOptions.target = 'ES2020';
10
- if (options.mfType === 'remote') {
11
- json.files ??= [];
12
- json.files.push(options.standalone
13
- ? 'src/app/remote-entry/entry.routes.ts'
14
- : `src/app/remote-entry/${options.entryModuleFileName}.ts`);
15
- }
16
- return json;
17
- });
18
- }
@@ -1,35 +0,0 @@
1
- import type { ComponentMetadata } from '../utils/app-components-info';
2
-
3
- type FederationType = 'static' | 'dynamic';
4
-
5
- export interface Schema {
6
- appName: string;
7
- mfType: 'host' | 'remote';
8
- port?: number;
9
- remotes?: string[];
10
- host?: string;
11
- federationType?: FederationType;
12
- routing?: boolean;
13
- skipFormat?: boolean;
14
- skipPackageJson?: boolean;
15
- e2eProjectName?: string;
16
- prefix?: string;
17
- standalone?: boolean;
18
- skipE2E?: boolean;
19
- typescriptConfiguration?: boolean;
20
- enableTypedLinting?: boolean;
21
- /**
22
- * @deprecated Use `enableTypedLinting` instead. This option will be removed in Nx v24.
23
- */
24
- setParserOptionsProject?: boolean;
25
- }
26
-
27
- export interface NormalizedOptions extends Schema {
28
- federationType: FederationType;
29
- prefix: string | undefined;
30
- componentType: string;
31
- componentFileSuffix: string;
32
- entryModuleFileName: string;
33
- appComponentInfo: ComponentMetadata;
34
- nxWelcomeComponentInfo: ComponentMetadata;
35
- }