@nx/angular 17.0.5 → 17.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (458) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +4 -9
  3. package/esm2022/mf/mf.mjs +1 -1
  4. package/esm2022/src/runtime/nx/data-persistence.mjs +1 -1
  5. package/executors.d.ts +2 -9
  6. package/executors.js +2 -7
  7. package/executors.json +9 -19
  8. package/fesm2022/nx-angular-mf.mjs.map +1 -1
  9. package/fesm2022/nx-angular.mjs.map +1 -1
  10. package/generators.d.ts +1 -1
  11. package/generators.js +1 -3
  12. package/generators.json +2 -7
  13. package/migrations.json +0 -451
  14. package/ng-package.json +2 -2
  15. package/package.json +26 -20
  16. package/plugins/component-testing.d.ts +26 -1
  17. package/plugins/component-testing.js +4 -15
  18. package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.d.ts +5 -0
  19. package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.js +137 -0
  20. package/src/{executors → builders}/module-federation-dev-server/schema.d.ts +7 -25
  21. package/src/{executors → builders}/module-federation-dev-server/schema.json +6 -31
  22. package/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.d.ts +1 -1
  23. package/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.js +9 -15
  24. package/src/builders/utilities/module-federation.js +1 -1
  25. package/src/builders/webpack-browser/schema.d.ts +2 -6
  26. package/src/builders/webpack-browser/schema.json +15 -15
  27. package/src/builders/webpack-browser/validate-options.d.ts +2 -0
  28. package/src/builders/webpack-browser/validate-options.js +40 -0
  29. package/src/builders/webpack-browser/webpack-browser.impl.js +6 -8
  30. package/src/builders/{dev-server → webpack-dev-server}/lib/index.d.ts +0 -1
  31. package/src/builders/{dev-server → webpack-dev-server}/lib/index.js +0 -1
  32. package/src/builders/webpack-dev-server/lib/normalize-options.d.ts +2 -0
  33. package/src/builders/webpack-dev-server/lib/normalize-options.js +14 -0
  34. package/src/builders/webpack-dev-server/schema.d.ts +21 -0
  35. package/src/builders/{dev-server → webpack-dev-server}/schema.json +5 -42
  36. package/src/builders/webpack-dev-server/webpack-dev-server.impl.d.ts +4 -0
  37. package/src/builders/webpack-dev-server/webpack-dev-server.impl.js +105 -0
  38. package/src/builders/webpack-server/schema.d.ts +1 -0
  39. package/src/builders/webpack-server/schema.json +20 -7
  40. package/src/builders/webpack-server/validate-options.js +7 -0
  41. package/src/builders/webpack-server/webpack-server.impl.js +9 -4
  42. package/src/executors/browser-esbuild/browser-esbuild.impl.d.ts +3 -2
  43. package/src/executors/browser-esbuild/browser-esbuild.impl.js +8 -15
  44. package/src/executors/browser-esbuild/lib/buildable-libs.d.ts +9 -0
  45. package/src/executors/{utilities → browser-esbuild/lib}/buildable-libs.js +4 -3
  46. package/src/executors/browser-esbuild/lib/validate-options.d.ts +2 -0
  47. package/src/executors/browser-esbuild/lib/validate-options.js +40 -0
  48. package/src/executors/browser-esbuild/schema.d.ts +1 -3
  49. package/src/executors/browser-esbuild/schema.json +8 -38
  50. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/compile-ngc.transform.js +4 -6
  51. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/write-package.transform.js +13 -25
  52. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ngc → ngc}/compile-source-files.d.ts +2 -1
  53. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ngc → ngc}/compile-source-files.js +9 -14
  54. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/styles → styles}/stylesheet-processor.d.ts +10 -5
  55. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/styles → styles}/stylesheet-processor.js +86 -39
  56. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ts/cache-compiler-host.d.ts +16 -0
  57. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ts/cache-compiler-host.js +175 -0
  58. package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js +17 -5
  59. package/src/executors/ng-packagr-lite/schema.json +1 -1
  60. package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js +3 -5
  61. package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.d.ts +1 -1
  62. package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.js +6 -13
  63. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.d.ts +10 -5
  64. package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.js +86 -39
  65. package/src/executors/package/ng-packagr-adjustments/ts/cache-compiler-host.d.ts +15 -0
  66. package/src/executors/package/ng-packagr-adjustments/ts/cache-compiler-host.js +197 -0
  67. package/src/executors/package/package.impl.d.ts +1 -1
  68. package/src/executors/package/package.impl.js +15 -5
  69. package/src/executors/package/schema.json +3 -3
  70. package/src/executors/utilities/tailwindcss.d.ts +7 -0
  71. package/src/executors/utilities/{ng-packagr/tailwindcss.js → tailwindcss.js} +22 -5
  72. package/src/executors/utilities/typescript.js +1 -1
  73. package/src/generators/add-linting/add-linting.d.ts +1 -1
  74. package/src/generators/add-linting/add-linting.js +15 -9
  75. package/src/generators/add-linting/lib/add-angular-eslint-dependencies.d.ts +2 -2
  76. package/src/generators/add-linting/lib/add-angular-eslint-dependencies.js +5 -9
  77. package/src/generators/add-linting/lib/create-eslint-configuration.d.ts +2 -2
  78. package/src/generators/add-linting/schema.json +1 -1
  79. package/src/generators/application/application.js +17 -19
  80. package/src/generators/application/files/base/tsconfig.app.json__tpl__ +1 -1
  81. package/src/generators/application/files/base/tsconfig.json__tpl__ +2 -6
  82. package/src/generators/application/files/ng-module/src/app/app.component.spec.ts__tpl__ +1 -3
  83. package/src/generators/application/files/ng-module/src/app/app.component.ts__tpl__ +2 -4
  84. package/src/generators/application/files/ng-module/src/app/app.module.ts__tpl__ +1 -1
  85. package/src/generators/application/files/ng-module/src/app/nx-welcome.component.ts__tpl__ +14 -53
  86. package/src/generators/application/files/ng-module/src/main.ts__tpl__ +8 -2
  87. package/src/generators/application/files/standalone-components/src/app/app.component.spec.ts__tpl__ +4 -6
  88. package/src/generators/application/files/standalone-components/src/app/app.component.ts__tpl__ +2 -4
  89. package/src/generators/application/files/standalone-components/src/app/app.config.ts__tpl__ +3 -3
  90. package/src/generators/application/files/standalone-components/src/app/nx-welcome.component.ts__tpl__ +14 -53
  91. package/src/generators/application/files/standalone-components/src/main.ts__tpl__ +8 -4
  92. package/src/generators/application/files/tsconfig.editor.json__tpl__ +5 -0
  93. package/src/generators/application/files/v14/.browserlistrc__tpl__ +16 -0
  94. package/src/generators/application/files/v14/src/environments/environment.prod.ts__tpl__ +3 -0
  95. package/src/generators/application/files/v14/src/environments/environment.ts__tpl__ +16 -0
  96. package/src/generators/application/files/v14/src/polyfills.ts__tpl__ +53 -0
  97. package/src/generators/application/lib/add-e2e.js +8 -22
  98. package/src/generators/application/lib/add-unit-test-runner.js +20 -5
  99. package/src/generators/application/lib/create-files.js +10 -14
  100. package/src/generators/application/lib/create-project.d.ts +1 -1
  101. package/src/generators/application/lib/create-project.js +38 -48
  102. package/src/generators/application/lib/index.d.ts +0 -1
  103. package/src/generators/application/lib/index.js +0 -1
  104. package/src/generators/application/lib/normalize-options.d.ts +1 -1
  105. package/src/generators/application/lib/normalize-options.js +6 -28
  106. package/src/generators/application/lib/normalized-schema.d.ts +0 -5
  107. package/src/generators/application/lib/update-editor-tsconfig.d.ts +1 -1
  108. package/src/generators/application/lib/update-editor-tsconfig.js +14 -11
  109. package/src/generators/application/schema.d.ts +0 -1
  110. package/src/generators/application/schema.json +10 -18
  111. package/src/generators/component/component.js +1 -4
  112. package/src/generators/component/files/__fileName__.spec.ts__tpl__ +3 -2
  113. package/src/generators/component/files/__fileName__.ts__tpl__ +2 -8
  114. package/src/generators/component/lib/component.js +1 -1
  115. package/src/generators/component/lib/index.d.ts +1 -1
  116. package/src/generators/component/lib/index.js +1 -1
  117. package/src/generators/component/lib/normalize-options.js +2 -3
  118. package/src/generators/{setup-mf/lib/update-tsconfig.d.ts → component/lib/validate-options.d.ts} +1 -1
  119. package/src/generators/component/lib/validate-options.js +8 -0
  120. package/src/generators/component/schema.d.ts +3 -3
  121. package/src/generators/component/schema.json +4 -4
  122. package/src/generators/component-cypress-spec/files/__componentFileName__.__fileExt__ +8 -13
  123. package/src/generators/component-cypress-spec/schema.json +1 -1
  124. package/src/generators/component-story/files/__componentFileName__.stories.ts__tmpl__ +2 -2
  125. package/src/generators/component-test/component-test.d.ts +1 -1
  126. package/src/generators/component-test/component-test.js +3 -8
  127. package/src/generators/component-test/files/__componentFileName__.cy.ts__tpl__ +11 -9
  128. package/src/generators/component-test/schema.json +1 -1
  129. package/src/generators/convert-to-with-mf/convert-to-with-mf.js +1 -3
  130. package/src/generators/convert-to-with-mf/lib/write-new-webpack-config.js +2 -3
  131. package/src/generators/convert-to-with-mf/schema.d.ts +0 -1
  132. package/src/generators/convert-to-with-mf/schema.json +0 -6
  133. package/src/generators/cypress-component-configuration/cypress-component-configuration.d.ts +1 -2
  134. package/src/generators/cypress-component-configuration/cypress-component-configuration.js +24 -43
  135. package/src/generators/directive/directive.js +1 -0
  136. package/src/generators/directive/files/__fileName__.ts__tpl__ +3 -1
  137. package/src/generators/directive/lib/index.d.ts +1 -0
  138. package/src/generators/directive/lib/index.js +1 -0
  139. package/src/generators/directive/lib/normalize-options.js +1 -3
  140. package/src/generators/directive/lib/validate-options.d.ts +3 -0
  141. package/src/generators/directive/lib/validate-options.js +8 -0
  142. package/src/generators/directive/schema.d.ts +3 -3
  143. package/src/generators/directive/schema.json +4 -4
  144. package/src/generators/federate-module/federate-module.js +0 -1
  145. package/src/generators/federate-module/lib/add-remote.d.ts +1 -1
  146. package/src/generators/federate-module/lib/add-remote.js +11 -2
  147. package/src/generators/federate-module/schema.json +3 -3
  148. package/src/generators/host/files/ts/webpack.server.config.ts__tmpl__ +2 -2
  149. package/src/generators/host/host.js +9 -8
  150. package/src/generators/host/lib/add-ssr.d.ts +3 -0
  151. package/src/generators/host/lib/{update-ssr-setup.js → add-ssr.js} +14 -8
  152. package/src/generators/host/lib/index.d.ts +1 -1
  153. package/src/generators/host/lib/index.js +1 -1
  154. package/src/generators/host/schema.json +6 -6
  155. package/src/generators/init/init.d.ts +2 -2
  156. package/src/generators/init/init.js +137 -19
  157. package/src/generators/init/schema.d.ts +9 -1
  158. package/src/generators/init/schema.json +59 -8
  159. package/src/generators/library/files/ng-module/src/lib/lib.routes.ts__tpl__ +1 -1
  160. package/src/generators/library/files/standalone-components/src/lib/lib.routes.ts__tpl__ +1 -1
  161. package/src/generators/library/lib/add-load-children.js +2 -2
  162. package/src/generators/library/lib/add-project.js +22 -24
  163. package/src/generators/library/lib/add-standalone-component.d.ts +2 -2
  164. package/src/generators/library/lib/add-standalone-component.js +4 -5
  165. package/src/generators/library/lib/normalize-options.js +5 -2
  166. package/src/generators/library/lib/update-tsconfig.js +3 -3
  167. package/src/generators/library/library.js +27 -15
  168. package/src/generators/library/schema.d.ts +0 -1
  169. package/src/generators/library/schema.json +13 -13
  170. package/src/generators/library-secondary-entry-point/files/src/index.ts__tmpl__ +5 -1
  171. package/src/generators/library-secondary-entry-point/lib/index.d.ts +1 -0
  172. package/src/generators/library-secondary-entry-point/lib/index.js +1 -0
  173. package/src/generators/library-secondary-entry-point/lib/update-linting-file-patterns.d.ts +3 -0
  174. package/src/generators/library-secondary-entry-point/lib/update-linting-file-patterns.js +15 -0
  175. package/src/generators/library-secondary-entry-point/library-secondary-entry-point.js +2 -3
  176. package/src/generators/library-secondary-entry-point/schema.d.ts +0 -1
  177. package/src/generators/library-secondary-entry-point/schema.json +3 -9
  178. package/src/generators/move/schema.json +1 -1
  179. package/src/generators/ng-add/migrate-from-angular-cli.js +1 -1
  180. package/src/generators/ng-add/migrators/projects/app.migrator.js +7 -50
  181. package/src/generators/ng-add/migrators/projects/e2e.migrator.js +23 -31
  182. package/src/generators/ng-add/ng-add.js +8 -1
  183. package/src/generators/ng-add/schema.json +1 -1
  184. package/src/generators/ng-add/utilities/workspace.d.ts +1 -1
  185. package/src/generators/ng-add/utilities/workspace.js +16 -9
  186. package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.models.ts__tmpl__ +1 -1
  187. package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.selectors.spec.ts__tmpl__ +1 -1
  188. package/src/generators/ngrx/files/no-inject/__directory__/__fileName__.effects.ts__tmpl__ +22 -0
  189. package/src/generators/ngrx/files/no-inject/__directory__/__fileName__.facade.ts__tmpl__ +27 -0
  190. package/src/generators/ngrx/lib/generate-files.js +10 -1
  191. package/src/generators/ngrx/lib/validate-options.js +23 -0
  192. package/src/generators/ngrx/schema.json +3 -3
  193. package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.models.ts__tmpl__ +1 -1
  194. package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.selectors.spec.ts__tmpl__ +1 -1
  195. package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.effects.ts__tmpl__ +22 -0
  196. package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.facade.ts__tmpl__ +27 -0
  197. package/src/generators/ngrx-feature-store/lib/generate-files.js +12 -1
  198. package/src/generators/ngrx-feature-store/lib/validate-options.js +22 -0
  199. package/src/generators/ngrx-feature-store/schema.json +3 -3
  200. package/src/generators/ngrx-root-store/lib/normalize-options.js +1 -1
  201. package/src/generators/ngrx-root-store/lib/validate-options.js +15 -0
  202. package/src/generators/ngrx-root-store/schema.json +2 -2
  203. package/src/generators/pipe/files/__fileName__.ts__tpl__ +2 -0
  204. package/src/generators/pipe/lib/index.d.ts +1 -0
  205. package/src/generators/pipe/lib/index.js +1 -0
  206. package/src/generators/pipe/lib/normalize-options.js +0 -1
  207. package/src/generators/pipe/lib/validate-options.d.ts +3 -0
  208. package/src/generators/pipe/lib/validate-options.js +8 -0
  209. package/src/generators/pipe/pipe.js +1 -0
  210. package/src/generators/pipe/schema.d.ts +3 -3
  211. package/src/generators/pipe/schema.json +4 -4
  212. package/src/generators/remote/files/base-ts/webpack.server.config.ts__tmpl__ +2 -2
  213. package/src/generators/remote/files/common/{pre-v17/src → src}/main.server.ts__tmpl__ +3 -1
  214. package/src/generators/remote/lib/{update-ssr-setup.d.ts → add-ssr.d.ts} +1 -1
  215. package/src/generators/remote/lib/{update-ssr-setup.js → add-ssr.js} +13 -9
  216. package/src/generators/remote/lib/index.d.ts +1 -1
  217. package/src/generators/remote/lib/index.js +1 -1
  218. package/src/generators/remote/remote.js +9 -7
  219. package/src/generators/remote/schema.json +6 -6
  220. package/src/generators/scam/lib/convert-component-to-scam.js +1 -2
  221. package/src/generators/scam/schema.d.ts +3 -3
  222. package/src/generators/scam/schema.json +2 -2
  223. package/src/generators/scam-directive/lib/convert-directive-to-scam.js +1 -2
  224. package/src/generators/scam-directive/scam-directive.js +1 -3
  225. package/src/generators/scam-directive/schema.d.ts +3 -4
  226. package/src/generators/scam-directive/schema.json +2 -8
  227. package/src/generators/scam-pipe/lib/convert-pipe-to-scam.js +1 -2
  228. package/src/generators/scam-pipe/scam-pipe.js +1 -3
  229. package/src/generators/scam-pipe/schema.d.ts +3 -4
  230. package/src/generators/scam-pipe/schema.json +2 -8
  231. package/src/generators/scam-to-standalone/scam-to-standalone.js +7 -0
  232. package/src/generators/scam-to-standalone/schema.json +2 -2
  233. package/src/generators/setup-mf/files/host-files/app.component.spec.ts__tmpl__ +1 -3
  234. package/src/generators/setup-mf/files/ts-webpack/module-federation.config.ts__tmpl__ +0 -12
  235. package/src/generators/setup-mf/files/ts-webpack/webpack.config.ts__tmpl__ +1 -1
  236. package/src/generators/setup-mf/files/ts-webpack/webpack.prod.config.ts__tmpl__ +12 -12
  237. package/src/generators/setup-mf/files/webpack/module-federation.config.js__tmpl__ +1 -13
  238. package/src/generators/setup-mf/lib/add-cypress-workaround.js +4 -14
  239. package/src/generators/setup-mf/lib/add-remote-entry.js +11 -2
  240. package/src/generators/setup-mf/lib/add-remote-to-host.js +1 -1
  241. package/src/generators/setup-mf/lib/fix-bootstrap.js +18 -10
  242. package/src/generators/setup-mf/lib/generate-config.js +0 -3
  243. package/src/generators/setup-mf/lib/index.d.ts +1 -1
  244. package/src/generators/setup-mf/lib/index.js +1 -1
  245. package/src/generators/setup-mf/lib/normalize-options.js +1 -2
  246. package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +10 -10
  247. package/src/generators/setup-mf/lib/set-tsconfig-target.d.ts +3 -0
  248. package/src/generators/setup-mf/lib/set-tsconfig-target.js +16 -0
  249. package/src/generators/setup-mf/lib/setup-serve-target.js +1 -1
  250. package/src/generators/setup-mf/lib/update-host-app-routes.js +2 -2
  251. package/src/generators/setup-mf/schema.d.ts +0 -1
  252. package/src/generators/setup-mf/schema.json +3 -8
  253. package/src/generators/setup-mf/setup-mf.js +7 -1
  254. package/src/generators/setup-ssr/files/{server/server-builder/pre-v17 → ngmodule/base}/__serverFileName__ +8 -7
  255. package/src/generators/setup-ssr/files/ngmodule/base/src/__main__ +1 -1
  256. package/src/generators/setup-ssr/files/ngmodule/v14/src/__main__ +11 -0
  257. package/src/generators/setup-ssr/files/{server/server-builder/v17+ → standalone}/__serverFileName__ +16 -25
  258. package/src/generators/setup-ssr/lib/add-hydration.js +5 -11
  259. package/src/generators/setup-ssr/lib/generate-files.d.ts +1 -1
  260. package/src/generators/setup-ssr/lib/generate-files.js +16 -11
  261. package/src/generators/setup-ssr/lib/index.d.ts +0 -4
  262. package/src/generators/setup-ssr/lib/index.js +0 -4
  263. package/src/generators/setup-ssr/lib/normalize-options.js +1 -7
  264. package/src/generators/setup-ssr/lib/update-project-config.d.ts +1 -2
  265. package/src/generators/setup-ssr/lib/update-project-config.js +13 -46
  266. package/src/generators/setup-ssr/lib/validate-options.js +2 -15
  267. package/src/generators/setup-ssr/schema.json +4 -4
  268. package/src/generators/setup-ssr/setup-ssr.js +12 -18
  269. package/src/generators/setup-tailwind/schema.json +1 -1
  270. package/src/generators/stories/schema.json +1 -1
  271. package/src/generators/stories/stories.js +2 -2
  272. package/src/generators/storybook-configuration/lib/generate-stories.js +4 -6
  273. package/src/generators/storybook-configuration/lib/generate-storybook-configuration.js +1 -3
  274. package/src/generators/storybook-configuration/schema.d.ts +1 -1
  275. package/src/generators/storybook-configuration/schema.json +7 -7
  276. package/src/generators/storybook-configuration/storybook-configuration.js +5 -8
  277. package/src/generators/utils/create-ts-config.d.ts +8 -0
  278. package/src/generators/utils/create-ts-config.js +35 -0
  279. package/src/generators/utils/dependencies.js +2 -1
  280. package/src/generators/utils/export-scam.js +2 -2
  281. package/src/generators/utils/project.d.ts +1 -0
  282. package/src/generators/utils/project.js +29 -2
  283. package/src/generators/utils/selector.d.ts +2 -2
  284. package/src/generators/utils/selector.js +4 -11
  285. package/src/generators/utils/testing.js +1 -24
  286. package/src/generators/utils/validations.d.ts +1 -0
  287. package/src/generators/utils/validations.js +14 -1
  288. package/src/generators/utils/version-utils.d.ts +2 -2
  289. package/src/generators/utils/version-utils.js +3 -3
  290. package/src/utils/backward-compatible-versions.d.ts +4 -6
  291. package/src/utils/backward-compatible-versions.js +22 -20
  292. package/src/utils/mf/utils.js +0 -7
  293. package/src/utils/mf/with-module-federation-ssr.js +0 -3
  294. package/src/utils/mf/with-module-federation.js +0 -3
  295. package/src/utils/nx-devkit/ast-utils.js +2 -4
  296. package/src/utils/nx-devkit/testing.js +31 -27
  297. package/src/utils/{index.d.ts → public-api.d.ts} +0 -5
  298. package/src/utils/{index.js → public-api.js} +0 -5
  299. package/src/utils/version-utils.d.ts +3 -3
  300. package/src/utils/versions.d.ts +11 -9
  301. package/src/utils/versions.js +12 -10
  302. package/src/builders/dev-server/dev-server.impl.d.ts +0 -4
  303. package/src/builders/dev-server/dev-server.impl.js +0 -160
  304. package/src/builders/dev-server/lib/normalize-options.d.ts +0 -2
  305. package/src/builders/dev-server/lib/normalize-options.js +0 -20
  306. package/src/builders/dev-server/lib/validate-options.d.ts +0 -2
  307. package/src/builders/dev-server/lib/validate-options.js +0 -22
  308. package/src/builders/dev-server/schema.d.ts +0 -39
  309. package/src/executors/application/application.impl.d.ts +0 -3
  310. package/src/executors/application/application.impl.js +0 -37
  311. package/src/executors/application/schema.d.ts +0 -8
  312. package/src/executors/application/schema.json +0 -682
  313. package/src/executors/application/utils/validate-options.d.ts +0 -2
  314. package/src/executors/application/utils/validate-options.js +0 -52
  315. package/src/executors/extract-i18n/extract-i18n.impl.d.ts +0 -3
  316. package/src/executors/extract-i18n/extract-i18n.impl.js +0 -43
  317. package/src/executors/extract-i18n/schema.d.ts +0 -8
  318. package/src/executors/extract-i18n/schema.json +0 -45
  319. package/src/executors/module-federation-dev-server/lib/build-static-remotes.d.ts +0 -4
  320. package/src/executors/module-federation-dev-server/lib/build-static-remotes.js +0 -56
  321. package/src/executors/module-federation-dev-server/lib/index.d.ts +0 -5
  322. package/src/executors/module-federation-dev-server/lib/index.js +0 -8
  323. package/src/executors/module-federation-dev-server/lib/normalize-options.d.ts +0 -2
  324. package/src/executors/module-federation-dev-server/lib/normalize-options.js +0 -23
  325. package/src/executors/module-federation-dev-server/lib/parse-static-remotes-config.d.ts +0 -11
  326. package/src/executors/module-federation-dev-server/lib/parse-static-remotes-config.js +0 -18
  327. package/src/executors/module-federation-dev-server/lib/start-dev-remotes.d.ts +0 -5
  328. package/src/executors/module-federation-dev-server/lib/start-dev-remotes.js +0 -29
  329. package/src/executors/module-federation-dev-server/lib/start-static-remotes-file-server.d.ts +0 -9
  330. package/src/executors/module-federation-dev-server/lib/start-static-remotes-file-server.js +0 -46
  331. package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +0 -4
  332. package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +0 -116
  333. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.d.ts +0 -3
  334. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.js +0 -34
  335. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.di.d.ts +0 -2
  336. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.di.js +0 -12
  337. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.transform.d.ts +0 -8
  338. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-bundles.transform.js +0 -12
  339. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.di.d.ts +0 -8
  340. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.di.js +0 -18
  341. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.d.ts +0 -8
  342. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.js +0 -285
  343. package/src/executors/package/ng-packagr-adjustments/ng-packagr.d.ts +0 -3
  344. package/src/executors/package/ng-packagr-adjustments/ng-packagr.js +0 -28
  345. package/src/executors/utilities/buildable-libs.d.ts +0 -6
  346. package/src/executors/utilities/esbuild-extensions.d.ts +0 -10
  347. package/src/executors/utilities/esbuild-extensions.js +0 -50
  348. package/src/executors/utilities/module-loader.d.ts +0 -15
  349. package/src/executors/utilities/module-loader.js +0 -52
  350. package/src/executors/utilities/ng-compiler-cli.d.ts +0 -1
  351. package/src/executors/utilities/ng-compiler-cli.js +0 -8
  352. package/src/executors/utilities/ng-packagr/stylesheet-processor.d.ts +0 -49
  353. package/src/executors/utilities/ng-packagr/stylesheet-processor.di.d.ts +0 -2
  354. package/src/executors/utilities/ng-packagr/stylesheet-processor.di.js +0 -16
  355. package/src/executors/utilities/ng-packagr/stylesheet-processor.js +0 -209
  356. package/src/executors/utilities/ng-packagr/tailwindcss.d.ts +0 -7
  357. package/src/executors/utilities/patch-builder-context.d.ts +0 -3
  358. package/src/executors/utilities/patch-builder-context.js +0 -41
  359. package/src/generators/add-linting/lib/buildable-project.d.ts +0 -2
  360. package/src/generators/add-linting/lib/buildable-project.js +0 -9
  361. package/src/generators/application/lib/set-generator-defaults.d.ts +0 -3
  362. package/src/generators/application/lib/set-generator-defaults.js +0 -17
  363. package/src/generators/component/lib/set-generator-defaults.d.ts +0 -3
  364. package/src/generators/component/lib/set-generator-defaults.js +0 -14
  365. package/src/generators/convert-to-application-executor/convert-to-application-executor.d.ts +0 -4
  366. package/src/generators/convert-to-application-executor/convert-to-application-executor.js +0 -242
  367. package/src/generators/convert-to-application-executor/schema.d.ts +0 -4
  368. package/src/generators/convert-to-application-executor/schema.json +0 -26
  369. package/src/generators/host/files/common/v17+/src/main.server.ts__tmpl__ +0 -67
  370. package/src/generators/host/lib/update-ssr-setup.d.ts +0 -3
  371. package/src/generators/library/lib/set-generator-defaults.d.ts +0 -3
  372. package/src/generators/library/lib/set-generator-defaults.js +0 -15
  373. package/src/generators/remote/files/common/v17+/src/main.server.ts__tmpl__ +0 -73
  374. package/src/generators/setup-mf/files/ts-webpack/tsconfig.lint.json__tmpl__ +0 -12
  375. package/src/generators/setup-mf/lib/update-tsconfig.js +0 -19
  376. package/src/generators/setup-ssr/files/server/application-builder/__serverFileName__ +0 -56
  377. package/src/generators/setup-ssr/lib/add-dependencies.d.ts +0 -2
  378. package/src/generators/setup-ssr/lib/add-dependencies.js +0 -36
  379. package/src/generators/setup-ssr/lib/add-server-file.d.ts +0 -3
  380. package/src/generators/setup-ssr/lib/add-server-file.js +0 -31
  381. package/src/generators/setup-ssr/lib/constants.d.ts +0 -3
  382. package/src/generators/setup-ssr/lib/constants.js +0 -6
  383. package/src/generators/setup-ssr/lib/generate-server-ts-config.d.ts +0 -4
  384. package/src/generators/setup-ssr/lib/generate-server-ts-config.js +0 -29
  385. package/src/generators/setup-ssr/lib/set-router-initial-navigation.d.ts +0 -3
  386. package/src/generators/setup-ssr/lib/set-router-initial-navigation.js +0 -93
  387. package/src/generators/utils/add-jest.d.ts +0 -8
  388. package/src/generators/utils/add-jest.js +0 -36
  389. package/src/generators/utils/add-mf-env-to-inputs.d.ts +0 -2
  390. package/src/generators/utils/add-mf-env-to-inputs.js +0 -27
  391. package/src/generators/utils/ensure-angular-dependencies.d.ts +0 -2
  392. package/src/generators/utils/ensure-angular-dependencies.js +0 -35
  393. package/src/generators/utils/update-app-editor-tsconfig-excluded-files.d.ts +0 -2
  394. package/src/generators/utils/update-app-editor-tsconfig-excluded-files.js +0 -23
  395. package/src/generators/utils/update-project-root-tsconfig.d.ts +0 -3
  396. package/src/generators/utils/update-project-root-tsconfig.js +0 -26
  397. package/src/migrations/update-17-1-0/browser-target-to-build-target.d.ts +0 -3
  398. package/src/migrations/update-17-1-0/browser-target-to-build-target.js +0 -50
  399. package/src/migrations/update-17-1-0/replace-nguniversal-builders.d.ts +0 -2
  400. package/src/migrations/update-17-1-0/replace-nguniversal-builders.js +0 -75
  401. package/src/migrations/update-17-1-0/replace-nguniversal-engines.d.ts +0 -2
  402. package/src/migrations/update-17-1-0/replace-nguniversal-engines.js +0 -183
  403. package/src/migrations/update-17-1-0/update-angular-cli.d.ts +0 -3
  404. package/src/migrations/update-17-1-0/update-angular-cli.js +0 -23
  405. package/src/migrations/update-17-1-0/update-zone-js-deep-import.d.ts +0 -2
  406. package/src/migrations/update-17-1-0/update-zone-js-deep-import.js +0 -37
  407. package/src/migrations/update-17-2-0/rename-webpack-dev-server.d.ts +0 -2
  408. package/src/migrations/update-17-2-0/rename-webpack-dev-server.js +0 -40
  409. package/src/migrations/update-17-3-0/add-autoprefixer-dependency.d.ts +0 -2
  410. package/src/migrations/update-17-3-0/add-autoprefixer-dependency.js +0 -26
  411. package/src/migrations/update-17-3-0/add-browser-sync-dependency.d.ts +0 -2
  412. package/src/migrations/update-17-3-0/add-browser-sync-dependency.js +0 -26
  413. package/src/migrations/update-17-3-0/update-angular-cli.d.ts +0 -3
  414. package/src/migrations/update-17-3-0/update-angular-cli.js +0 -23
  415. package/src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults.d.ts +0 -2
  416. package/src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults.js +0 -26
  417. package/src/migrations/update-18-1-0/update-angular-cli.d.ts +0 -3
  418. package/src/migrations/update-18-1-0/update-angular-cli.js +0 -23
  419. package/src/migrations/update-18-1-1/fix-target-defaults-inputs.d.ts +0 -2
  420. package/src/migrations/update-18-1-1/fix-target-defaults-inputs.js +0 -53
  421. package/src/migrations/update-18-2-0/update-angular-cli.d.ts +0 -3
  422. package/src/migrations/update-18-2-0/update-angular-cli.js +0 -23
  423. package/src/utils/targets.d.ts +0 -2
  424. package/src/utils/targets.js +0 -17
  425. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/compile-ngc.di.d.ts +0 -0
  426. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/compile-ngc.di.js +0 -0
  427. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/compile-ngc.transform.d.ts +0 -0
  428. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/entry-point.di.d.ts +0 -0
  429. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/entry-point.di.js +0 -0
  430. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/entry-point.transform.d.ts +0 -0
  431. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/entry-point.transform.js +0 -0
  432. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/write-package.di.d.ts +0 -0
  433. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/write-package.di.js +0 -0
  434. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/entry-point/write-package.transform.d.ts +0 -0
  435. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/options.di.d.ts +0 -0
  436. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/options.di.js +0 -0
  437. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/package.di.d.ts +0 -0
  438. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/ng-package → ng-package}/package.di.js +0 -0
  439. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/styles → styles}/stylesheet-processor.di.d.ts +0 -0
  440. /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{pre-v17/styles → styles}/stylesheet-processor.di.js +0 -0
  441. /package/src/generators/host/files/common/{pre-v17/src → src}/main.server.ts__tmpl__ +0 -0
  442. /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.actions.ts__tmpl__ +0 -0
  443. /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.effects.spec.ts__tmpl__ +0 -0
  444. /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.effects.ts__tmpl__ +0 -0
  445. /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.facade.spec.ts__tmpl__ +0 -0
  446. /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.facade.ts__tmpl__ +0 -0
  447. /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.reducer.spec.ts__tmpl__ +0 -0
  448. /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.reducer.ts__tmpl__ +0 -0
  449. /package/src/generators/ngrx/files/{__directory__ → base/__directory__}/__fileName__.selectors.ts__tmpl__ +0 -0
  450. /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.actions.ts__tmpl__ +0 -0
  451. /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.effects.spec.ts__tmpl__ +0 -0
  452. /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.effects.ts__tmpl__ +0 -0
  453. /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.facade.spec.ts__tmpl__ +0 -0
  454. /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.facade.ts__tmpl__ +0 -0
  455. /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.reducer.spec.ts__tmpl__ +0 -0
  456. /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.reducer.ts__tmpl__ +0 -0
  457. /package/src/generators/ngrx-feature-store/files/{__directory__ → base/__directory__}/__fileName__.selectors.ts__tmpl__ +0 -0
  458. /package/src/generators/setup-ssr/files/{root → base}/tsconfig.server.json__tpl__ +0 -0
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeModuleFederationDevServerBuilder = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const ngcli_adapter_1 = require("nx/src/adapter/ngcli-adapter");
6
+ const webpack_dev_server_impl_1 = require("../webpack-dev-server/webpack-dev-server.impl");
7
+ const project_graph_1 = require("nx/src/project-graph/project-graph");
8
+ const executor_utils_1 = require("nx/src/command-line/run/executor-utils");
9
+ const module_federation_1 = require("../utilities/module-federation");
10
+ const fs_1 = require("fs");
11
+ const path_1 = require("path");
12
+ const module_federation_2 = require("@nx/webpack/src/utils/module-federation");
13
+ const child_process_1 = require("child_process");
14
+ const rxjs_1 = require("rxjs");
15
+ const operators_1 = require("rxjs/operators");
16
+ function executeModuleFederationDevServerBuilder(schema, context) {
17
+ // Force Node to resolve to look for the nx binary that is inside node_modules
18
+ const nxBin = require.resolve('nx/bin/nx');
19
+ const { ...options } = schema;
20
+ const projectGraph = (0, devkit_1.readCachedProjectGraph)();
21
+ const { projects: workspaceProjects } = (0, project_graph_1.readProjectsConfigurationFromProjectGraph)(projectGraph);
22
+ const project = workspaceProjects[context.target.project];
23
+ const staticFileServer = (0, rxjs_1.from)(Promise.resolve().then(() => require('@nx/web/src/executors/file-server/file-server.impl'))).pipe((0, operators_1.switchMap)((fileServerExecutor) => fileServerExecutor.default({
24
+ port: options.port,
25
+ host: options.host,
26
+ ssl: options.ssl,
27
+ buildTarget: options.browserTarget,
28
+ parallel: false,
29
+ spa: false,
30
+ withDeps: false,
31
+ cors: true,
32
+ }, {
33
+ projectGraph,
34
+ root: context.workspaceRoot,
35
+ target: projectGraph.nodes[context.target.project].data.targets[context.target.target],
36
+ targetName: context.target.target,
37
+ projectName: context.target.project,
38
+ configurationName: context.target.configuration,
39
+ cwd: context.currentDirectory,
40
+ isVerbose: options.verbose,
41
+ projectsConfigurations: (0, project_graph_1.readProjectsConfigurationFromProjectGraph)(projectGraph),
42
+ nxJsonConfiguration: (0, devkit_1.readNxJson)(),
43
+ })));
44
+ const webpackDevServer = (0, webpack_dev_server_impl_1.executeWebpackDevServerBuilder)(options, context);
45
+ const currExecutor = options.static ? staticFileServer : webpackDevServer;
46
+ if (options.isInitialHost === false) {
47
+ return currExecutor;
48
+ }
49
+ let pathToManifestFile = (0, path_1.join)(context.workspaceRoot, project.sourceRoot, 'assets/module-federation.manifest.json');
50
+ if (options.pathToManifestFile) {
51
+ const userPathToManifestFile = (0, path_1.join)(context.workspaceRoot, options.pathToManifestFile);
52
+ if (!(0, fs_1.existsSync)(userPathToManifestFile)) {
53
+ throw new Error(`The provided Module Federation manifest file path does not exist. Please check the file exists at "${userPathToManifestFile}".`);
54
+ }
55
+ else if ((0, path_1.extname)(options.pathToManifestFile) !== '.json') {
56
+ throw new Error(`The Module Federation manifest file must be a JSON. Please ensure the file at ${userPathToManifestFile} is a JSON.`);
57
+ }
58
+ pathToManifestFile = userPathToManifestFile;
59
+ }
60
+ (0, module_federation_1.validateDevRemotes)(options, workspaceProjects);
61
+ const moduleFederationConfig = (0, module_federation_2.getModuleFederationConfig)(project.targets.build.options.tsConfig, context.workspaceRoot, project.root, 'angular');
62
+ const remotes = (0, module_federation_2.getRemotes)(options.devRemotes, options.skipRemotes, moduleFederationConfig, {
63
+ projectName: project.name,
64
+ projectGraph,
65
+ root: context.workspaceRoot,
66
+ }, pathToManifestFile);
67
+ let isCollectingStaticRemoteOutput = true;
68
+ for (const app of remotes.staticRemotes) {
69
+ const remoteProjectServeTarget = projectGraph.nodes[app].data.targets['serve-static'];
70
+ const isUsingModuleFederationDevServerExecutor = remoteProjectServeTarget.executor.includes('module-federation-dev-server');
71
+ let outWithErr = [];
72
+ const staticProcess = (0, child_process_1.fork)(nxBin, [
73
+ 'run',
74
+ `${app}:serve-static${context.target.configuration ? `:${context.target.configuration}` : ''}`,
75
+ ...(isUsingModuleFederationDevServerExecutor
76
+ ? [`--isInitialHost=false`]
77
+ : []),
78
+ ], {
79
+ cwd: context.workspaceRoot,
80
+ stdio: ['ignore', 'pipe', 'pipe', 'ipc'],
81
+ });
82
+ staticProcess.stdout.on('data', (data) => {
83
+ if (isCollectingStaticRemoteOutput) {
84
+ outWithErr.push(data.toString());
85
+ }
86
+ else {
87
+ outWithErr = null;
88
+ staticProcess.stdout.removeAllListeners('data');
89
+ }
90
+ });
91
+ staticProcess.stderr.on('data', (data) => devkit_1.logger.info(data.toString()));
92
+ staticProcess.on('exit', (code) => {
93
+ if (code !== 0) {
94
+ devkit_1.logger.info(outWithErr.join(''));
95
+ throw new Error(`Remote failed to start. See above for errors.`);
96
+ }
97
+ });
98
+ process.on('SIGTERM', () => staticProcess.kill('SIGTERM'));
99
+ process.on('exit', () => staticProcess.kill('SIGTERM'));
100
+ }
101
+ const devRemotes$ = [];
102
+ for (const app of remotes.devRemotes) {
103
+ if (!workspaceProjects[app].targets?.['serve']) {
104
+ throw new Error(`Could not find "serve" target in "${app}" project.`);
105
+ }
106
+ else if (!workspaceProjects[app].targets?.['serve'].executor) {
107
+ throw new Error(`Could not find executor for "serve" target in "${app}" project.`);
108
+ }
109
+ const runOptions = {};
110
+ const [collection, executor] = workspaceProjects[app].targets['serve'].executor.split(':');
111
+ const isUsingModuleFederationDevServerExecutor = executor.includes('module-federation-dev-server');
112
+ const { schema } = (0, executor_utils_1.getExecutorInformation)(collection, executor, devkit_1.workspaceRoot);
113
+ if ((options.verbose && schema.additionalProperties) ||
114
+ 'verbose' in schema.properties) {
115
+ runOptions.verbose = options.verbose;
116
+ }
117
+ if (isUsingModuleFederationDevServerExecutor) {
118
+ runOptions.isInitialHost = false;
119
+ }
120
+ const serve$ = (0, ngcli_adapter_1.scheduleTarget)(context.workspaceRoot, {
121
+ project: app,
122
+ target: 'serve',
123
+ configuration: context.target.configuration,
124
+ runOptions,
125
+ }, options.verbose).then((obs) => {
126
+ obs.toPromise().catch((err) => {
127
+ throw new Error(`Remote '${app}' failed to serve correctly due to the following: \r\n${err.toString()}`);
128
+ });
129
+ });
130
+ devRemotes$.push(serve$);
131
+ }
132
+ return devRemotes$.length > 0
133
+ ? (0, rxjs_1.combineLatest)([...devRemotes$]).pipe((0, operators_1.concatMap)(() => currExecutor))
134
+ : currExecutor;
135
+ }
136
+ exports.executeModuleFederationDevServerBuilder = executeModuleFederationDevServerBuilder;
137
+ exports.default = require('@angular-devkit/architect').createBuilder(executeModuleFederationDevServerBuilder);
@@ -1,14 +1,15 @@
1
- interface BaseSchema {
2
- port?: number;
3
- host?: string;
1
+ export interface Schema {
2
+ browserTarget: string;
3
+ port: number;
4
+ host: string;
4
5
  proxyConfig?: string;
5
- ssl?: boolean;
6
+ ssl: boolean;
6
7
  sslKey?: string;
7
8
  sslCert?: string;
8
9
  headers?: Record<string, string>;
9
- open?: boolean;
10
+ open: boolean;
10
11
  verbose?: boolean;
11
- liveReload?: boolean;
12
+ liveReload: boolean;
12
13
  publicHost?: string;
13
14
  allowedHosts?: string[];
14
15
  servePath?: string;
@@ -21,23 +22,4 @@ interface BaseSchema {
21
22
  pathToManifestFile?: string;
22
23
  static?: boolean;
23
24
  isInitialHost?: boolean;
24
- parallel?: number;
25
- staticRemotesPort?: number;
26
- buildLibsFromSource?: boolean;
27
25
  }
28
-
29
- export type SchemaWithBrowserTarget = BaseSchema & {
30
- browserTarget: string;
31
- };
32
-
33
- export type SchemaWithBuildTarget = BaseSchema & {
34
- buildTarget: string;
35
- };
36
-
37
- export type Schema = SchemaWithBrowserTarget | SchemaWithBuildTarget;
38
-
39
- export type NormalizedSchema = SchemaWithBuildTarget & {
40
- liveReload: boolean;
41
- open: boolean;
42
- ssl: boolean;
43
- };
@@ -1,25 +1,20 @@
1
1
  {
2
+ "version": 2,
3
+ "outputCapture": "direct-nodejs",
2
4
  "$schema": "http://json-schema.org/draft-07/schema",
3
5
  "title": "Schema for Module Federation Dev Server",
4
- "outputCapture": "direct-nodejs",
5
6
  "description": "The module-federation-dev-server executor is reserved exclusively for use with host Module Federation applications. It allows the user to specify which remote applications should be served with the host.",
6
7
  "type": "object",
7
8
  "presets": [
8
9
  {
9
10
  "name": "Using a Different Port",
10
- "keys": ["buildTarget", "port"]
11
+ "keys": ["browserTarget", "port"]
11
12
  }
12
13
  ],
13
14
  "properties": {
14
15
  "browserTarget": {
15
16
  "type": "string",
16
- "description": "A browser builder target to serve in the format of `project:target[:configuration]`.",
17
- "pattern": "^[^:\\s]+:[^:\\s]+(:[^\\s]+)?$",
18
- "x-deprecated": "Use 'buildTarget' instead. It will be removed in Nx v19."
19
- },
20
- "buildTarget": {
21
- "type": "string",
22
- "description": "A build builder target to serve in the format of `project:target[:configuration]`.",
17
+ "description": "A browser builder target to serve in the format of `project:target[:configuration]`. You can also pass in more than one configuration name as a comma-separated list. Example: `project:target:production,staging`.",
23
18
  "pattern": "^[^:\\s]+:[^:\\s]+(:[^\\s]+)?$"
24
19
  },
25
20
  "port": {
@@ -122,7 +117,7 @@
122
117
  "items": {
123
118
  "type": "string"
124
119
  },
125
- "description": "List of remote applications to not automatically serve, either statically or in development mode. This will not remove the remotes from the `module-federation.config` file, and therefore the application may still try to fetch these remotes.\nThis option is useful for when the `host` application is using a `remote` that does not live in the same workspace as the `host`."
120
+ "description": "List of remote applications to not automatically serve, either statically or in development mode."
126
121
  },
127
122
  "pathToManifestFile": {
128
123
  "type": "string",
@@ -137,29 +132,9 @@
137
132
  "description": "Whether the host that is running this executor is the first in the project tree to do so.",
138
133
  "default": true,
139
134
  "x-priority": "internal"
140
- },
141
- "parallel": {
142
- "type": "number",
143
- "description": "Max number of parallel processes for building static remotes"
144
- },
145
- "staticRemotesPort": {
146
- "type": "number",
147
- "description": "The port at which to serve the file-server for the static remotes."
148
- },
149
- "buildLibsFromSource": {
150
- "type": "boolean",
151
- "description": "Read buildable libraries from source instead of building them separately. If not set, it will take the value specified in the `browserTarget` options, or it will default to `true` if it's also not set in the `browserTarget` options.",
152
- "x-priority": "important"
153
135
  }
154
136
  },
155
137
  "additionalProperties": false,
156
- "anyOf": [
157
- {
158
- "required": ["buildTarget"]
159
- },
160
- {
161
- "required": ["browserTarget"]
162
- }
163
- ],
138
+ "required": ["browserTarget"],
164
139
  "examplesFile": "../../../docs/module-federation-dev-server-examples.md"
165
140
  }
@@ -1,4 +1,4 @@
1
1
  import type { Schema } from './schema';
2
- export declare function executeModuleFederationDevSSRBuilder(schema: Schema, context: import('@angular-devkit/architect').BuilderContext): import("rxjs").Observable<unknown>;
2
+ export declare function executeModuleFederationDevSSRBuilder(schema: Schema, context: import('@angular-devkit/architect').BuilderContext): import("rxjs").Observable<import("@nguniversal/builders").SSRDevServerBuilderOutput>;
3
3
  declare const _default: any;
4
4
  export default _default;
@@ -1,17 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.executeModuleFederationDevSSRBuilder = void 0;
4
+ const project_graph_1 = require("nx/src/project-graph/project-graph");
5
+ const executor_utils_1 = require("nx/src/command-line/run/executor-utils");
4
6
  const devkit_1 = require("@nx/devkit");
7
+ const module_federation_1 = require("../utilities/module-federation");
8
+ const operators_1 = require("rxjs/operators");
9
+ const rxjs_1 = require("rxjs");
10
+ const path_1 = require("path");
5
11
  const child_process_1 = require("child_process");
6
- const fs_1 = require("fs");
7
12
  const ngcli_adapter_1 = require("nx/src/adapter/ngcli-adapter");
8
- const executor_utils_1 = require("nx/src/command-line/run/executor-utils");
9
- const project_graph_1 = require("nx/src/project-graph/project-graph");
10
- const path_1 = require("path");
11
- const rxjs_1 = require("rxjs");
12
- const operators_1 = require("rxjs/operators");
13
- const angular_version_utils_1 = require("../../executors/utilities/angular-version-utils");
14
- const module_federation_1 = require("../utilities/module-federation");
13
+ const fs_1 = require("fs");
15
14
  function executeModuleFederationDevSSRBuilder(schema, context) {
16
15
  const { ...options } = schema;
17
16
  const projectGraph = (0, devkit_1.readCachedProjectGraph)();
@@ -51,7 +50,7 @@ function executeModuleFederationDevSSRBuilder(schema, context) {
51
50
  const runOptions = {};
52
51
  if (options.verbose) {
53
52
  const [collection, executor] = workspaceProjects[remote].targets[target].executor.split(':');
54
- const { schema } = (0, executor_utils_1.getExecutorInformation)(collection, executor, devkit_1.workspaceRoot, workspaceProjects);
53
+ const { schema } = (0, executor_utils_1.getExecutorInformation)(collection, executor, devkit_1.workspaceRoot);
55
54
  if (schema.additionalProperties || 'verbose' in schema.properties) {
56
55
  runOptions.verbose = options.verbose;
57
56
  }
@@ -79,7 +78,6 @@ function executeModuleFederationDevSSRBuilder(schema, context) {
79
78
  target,
80
79
  configuration: context.target.configuration,
81
80
  runOptions,
82
- projects: workspaceProjects,
83
81
  }, options.verbose).then((obs) => obs
84
82
  .pipe((0, operators_1.tap)((result) => {
85
83
  result.success && res();
@@ -89,11 +87,7 @@ function executeModuleFederationDevSSRBuilder(schema, context) {
89
87
  });
90
88
  remoteProcessPromises.push(remotePromise);
91
89
  }
92
- const { major: angularMajorVersion } = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
93
- const { executeSSRDevServerBuilder } = angularMajorVersion >= 17
94
- ? require('@angular-devkit/build-angular')
95
- : require('@nguniversal/builders');
96
- return (0, rxjs_1.from)(Promise.all(remoteProcessPromises)).pipe((0, operators_1.switchMap)(() => executeSSRDevServerBuilder(options, context)));
90
+ return (0, rxjs_1.from)(Promise.all(remoteProcessPromises)).pipe((0, operators_1.switchMap)(() => (0, rxjs_1.from)(Promise.resolve().then(() => require('@nguniversal/builders')))), (0, operators_1.switchMap)(({ executeSSRDevServerBuilder }) => executeSSRDevServerBuilder(options, context)));
97
91
  }
98
92
  exports.executeModuleFederationDevSSRBuilder = executeModuleFederationDevSSRBuilder;
99
93
  exports.default = require('@angular-devkit/architect').createBuilder(executeModuleFederationDevSSRBuilder);
@@ -85,7 +85,7 @@ function getStaticRemotes(project, context, workspaceProjects, remotesToSkip) {
85
85
  }
86
86
  exports.getStaticRemotes = getStaticRemotes;
87
87
  function validateDevRemotes(options, workspaceProjects) {
88
- const invalidDevRemotes = options.devRemotes?.filter((remote) => !workspaceProjects[remote]) ?? [];
88
+ const invalidDevRemotes = options.devRemotes?.filter((remote) => !workspaceProjects[remote]);
89
89
  if (invalidDevRemotes.length) {
90
90
  throw new Error(invalidDevRemotes.length === 1
91
91
  ? `Invalid dev remote provided: ${invalidDevRemotes[0]}.`
@@ -1,13 +1,9 @@
1
- import type { Schema } from '@angular-devkit/build-angular/src/builders/browser/schema';
1
+ import { Schema } from '@angular-devkit/build-angular/src/builders/browser/schema';
2
2
 
3
3
  export type BrowserBuilderSchema = Schema & {
4
4
  customWebpackConfig?: {
5
5
  path: string;
6
6
  };
7
- indexHtmlTransformer?: string;
8
- buildLibsFromSource?: boolean;
9
- /**
10
- * @deprecated Use `indexHtmlTransformer` instead. It will be removed in Nx 19.
11
- */
12
7
  indexFileTransformer?: string;
8
+ buildLibsFromSource?: boolean;
13
9
  };
@@ -41,7 +41,7 @@
41
41
  "oneOf": [
42
42
  {
43
43
  "type": "array",
44
- "description": "A list of polyfills to include in the build. Can be a full path for a file, relative to the current workspace or module specifier. Example: 'zone.js'.",
44
+ "description": "A list of polyfills to include in the build. Can be a full path for a file, relative to the current workspace or module specifier. Example: 'zone.js'. _Note: supported in Angular versions >= 15.0.0_.",
45
45
  "items": {
46
46
  "type": "string",
47
47
  "uniqueItems": true
@@ -106,7 +106,7 @@
106
106
  "input": {
107
107
  "type": "string",
108
108
  "description": "The file to include.",
109
- "pattern": "\\.(?:css|scss|sass|less)$"
109
+ "pattern": "\\.(?:css|scss|sass|less|styl)$"
110
110
  },
111
111
  "bundleName": {
112
112
  "type": "string",
@@ -125,7 +125,7 @@
125
125
  {
126
126
  "type": "string",
127
127
  "description": "The file to include.",
128
- "pattern": "\\.(?:css|scss|sass|less)$"
128
+ "pattern": "\\.(?:css|scss|sass|less|styl)$"
129
129
  }
130
130
  ]
131
131
  },
@@ -228,7 +228,7 @@
228
228
  },
229
229
  "outputPath": {
230
230
  "type": "string",
231
- "description": "The full path for the new output directory, relative to the current workspace."
231
+ "description": "The full path for the new output directory, relative to the current workspace.\n\nBy default, writes output to a folder named dist/ in the current project."
232
232
  },
233
233
  "resourcesOutputPath": {
234
234
  "type": "string",
@@ -278,12 +278,12 @@
278
278
  },
279
279
  "vendorChunk": {
280
280
  "type": "boolean",
281
- "description": "Generate a separate bundle containing only vendor libraries. This option should only be used for development to reduce the incremental compilation time.",
281
+ "description": "Generate a seperate bundle containing only vendor libraries. This option should only be used for development to reduce the incremental compilation time.",
282
282
  "default": false
283
283
  },
284
284
  "commonChunk": {
285
285
  "type": "boolean",
286
- "description": "Generate a separate bundle containing code used across multiple bundles.",
286
+ "description": "Generate a seperate bundle containing code used across multiple bundles.",
287
287
  "default": true
288
288
  },
289
289
  "baseHref": {
@@ -292,7 +292,8 @@
292
292
  },
293
293
  "deployUrl": {
294
294
  "type": "string",
295
- "description": "Customize the base path for the URLs of resources in 'index.html' and component stylesheets. This option is only necessary for specific deployment scenarios, such as with Angular Elements or when utilizing different CDN locations."
295
+ "description": "URL where files will be deployed.",
296
+ "x-deprecated": "Use `baseHref` option, `APP_BASE_HREF` DI token or a combination of both instead. For more information, see https://angular.io/guide/deployment#the-deploy-url."
296
297
  },
297
298
  "verbose": {
298
299
  "type": "boolean",
@@ -438,7 +439,7 @@
438
439
  "enum": ["none", "anonymous", "use-credentials"]
439
440
  },
440
441
  "allowedCommonJsDependencies": {
441
- "description": "A list of CommonJS or AMD packages that are allowed to be used without a build time warning. Use `'*'` to allow all.",
442
+ "description": "A list of CommonJS packages that are allowed to be used without a build time warning.",
442
443
  "type": "array",
443
444
  "items": {
444
445
  "type": "string"
@@ -457,10 +458,9 @@
457
458
  "x-priority": "important",
458
459
  "additionalProperties": false
459
460
  },
460
- "indexHtmlTransformer": {
461
+ "indexFileTransformer": {
461
462
  "description": "Path to transformer function to transform the index.html",
462
- "type": "string",
463
- "alias": "indexFileTransformer"
463
+ "type": "string"
464
464
  },
465
465
  "buildLibsFromSource": {
466
466
  "type": "boolean",
@@ -516,11 +516,11 @@
516
516
  "properties": {
517
517
  "src": {
518
518
  "type": "string",
519
- "pattern": "\\.(([cm]?[jt])sx?|json)$"
519
+ "pattern": "\\.(([cm]?j|t)sx?|json)$"
520
520
  },
521
521
  "replaceWith": {
522
522
  "type": "string",
523
- "pattern": "\\.(([cm]?[jt])sx?|json)$"
523
+ "pattern": "\\.(([cm]?j|t)sx?|json)$"
524
524
  }
525
525
  },
526
526
  "additionalProperties": false,
@@ -531,11 +531,11 @@
531
531
  "properties": {
532
532
  "replace": {
533
533
  "type": "string",
534
- "pattern": "\\.(([cm]?[jt])sx?|json)$"
534
+ "pattern": "\\.(([cm]?j|t)sx?|json)$"
535
535
  },
536
536
  "with": {
537
537
  "type": "string",
538
- "pattern": "\\.(([cm]?[jt])sx?|json)$"
538
+ "pattern": "\\.(([cm]?j|t)sx?|json)$"
539
539
  }
540
540
  },
541
541
  "additionalProperties": false,
@@ -0,0 +1,2 @@
1
+ import type { BrowserBuilderSchema } from './schema';
2
+ export declare function validateOptions(options: BrowserBuilderSchema): void;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateOptions = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const path_1 = require("path");
6
+ const angular_version_utils_1 = require("../../executors/utilities/angular-version-utils");
7
+ function validateOptions(options) {
8
+ const angularVersionInfo = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
9
+ validatePolyfills(options, angularVersionInfo);
10
+ validateStyles(options, angularVersionInfo);
11
+ }
12
+ exports.validateOptions = validateOptions;
13
+ function validatePolyfills(options, { major, version }) {
14
+ if (major < 15 && Array.isArray(options.polyfills)) {
15
+ throw new Error((0, devkit_1.stripIndents) `The array syntax for the "polyfills" option is supported from Angular >= 15.0.0. You are currently using "${version}".
16
+ You can resolve this error by removing the "polyfills" option, setting it to a string value or migrating to Angular 15.0.0.`);
17
+ }
18
+ }
19
+ function validateStyles(options, { major, version }) {
20
+ if (!options.styles || !options.styles.length) {
21
+ return;
22
+ }
23
+ if (major < 15) {
24
+ return;
25
+ }
26
+ const stylusFiles = [];
27
+ options.styles.forEach((style) => {
28
+ const styleFile = typeof style === 'string' ? style : style.input;
29
+ if ((0, path_1.extname)(styleFile) === '.styl') {
30
+ stylusFiles.push(styleFile);
31
+ }
32
+ });
33
+ if (stylusFiles.length) {
34
+ throw new Error((0, devkit_1.stripIndents) `Stylus is not supported since Angular v15. You're currently using "${version}".
35
+ You have the "styles" option with the following file(s) using the ".styl" extension: ${stylusFiles
36
+ .map((x) => `"${x}"`)
37
+ .join(', ')}.
38
+ Make sure to convert them to a supported extension (".css", ".scss", ".sass", ".less").`);
39
+ }
40
+ }
@@ -7,11 +7,11 @@ const fs_1 = require("fs");
7
7
  const configuration_1 = require("nx/src/config/configuration");
8
8
  const operators_1 = require("nx/src/project-graph/operators");
9
9
  const utils_1 = require("nx/src/tasks-runner/utils");
10
- const path_1 = require("path");
11
10
  const rxjs_1 = require("rxjs");
12
11
  const operators_2 = require("rxjs/operators");
13
12
  const buildable_libs_1 = require("../utilities/buildable-libs");
14
13
  const webpack_1 = require("../utilities/webpack");
14
+ const validate_options_1 = require("./validate-options");
15
15
  function shouldSkipInitialTargetRun(projectGraph, project, target) {
16
16
  const nxJson = (0, configuration_1.readNxJson)();
17
17
  const defaultDependencyConfigs = Object.entries(nxJson.targetDefaults ?? {}).reduce((acc, [targetName, dependencyConfig]) => {
@@ -23,18 +23,16 @@ function shouldSkipInitialTargetRun(projectGraph, project, target) {
23
23
  return projectDependencyConfigs.some((d) => d.target === target && d.projects === 'dependencies');
24
24
  }
25
25
  function executeWebpackBrowserBuilder(options, context) {
26
+ (0, validate_options_1.validateOptions)(options);
26
27
  options.buildLibsFromSource ??= true;
27
- const { buildLibsFromSource, customWebpackConfig, indexHtmlTransformer, indexFileTransformer, ...delegateBuilderOptions } = options;
28
- process.env.NX_BUILD_LIBS_FROM_SOURCE = `${buildLibsFromSource}`;
29
- process.env.NX_BUILD_TARGET = (0, devkit_1.targetToTargetString)({ ...context.target });
28
+ const { buildLibsFromSource, customWebpackConfig, indexFileTransformer, ...delegateBuilderOptions } = options;
30
29
  const pathToWebpackConfig = customWebpackConfig?.path &&
31
30
  (0, devkit_1.joinPathFragments)(context.workspaceRoot, customWebpackConfig.path);
32
31
  if (pathToWebpackConfig && !(0, fs_1.existsSync)(pathToWebpackConfig)) {
33
32
  throw new Error(`Custom Webpack Config File Not Found!\nTo use a custom webpack config, please ensure the path to the custom webpack file is correct: \n${pathToWebpackConfig}`);
34
33
  }
35
- const normalizedIndexHtmlTransformer = indexHtmlTransformer ?? indexFileTransformer;
36
- const pathToIndexFileTransformer = normalizedIndexHtmlTransformer &&
37
- (0, devkit_1.joinPathFragments)(context.workspaceRoot, normalizedIndexHtmlTransformer);
34
+ const pathToIndexFileTransformer = indexFileTransformer &&
35
+ (0, devkit_1.joinPathFragments)(context.workspaceRoot, indexFileTransformer);
38
36
  if (pathToIndexFileTransformer && !(0, fs_1.existsSync)(pathToIndexFileTransformer)) {
39
37
  throw new Error(`File containing Index File Transformer function Not Found!\n Please ensure the path to the file containing the function is correct: \n${pathToIndexFileTransformer}`);
40
38
  }
@@ -44,7 +42,7 @@ function executeWebpackBrowserBuilder(options, context) {
44
42
  projectGraph = (0, devkit_1.readCachedProjectGraph)();
45
43
  const { tsConfigPath, dependencies: foundDependencies } = (0, buildable_libs_1.createTmpTsConfigForBuildableLibs)(delegateBuilderOptions.tsConfig, context, { projectGraph });
46
44
  dependencies = foundDependencies;
47
- delegateBuilderOptions.tsConfig = (0, devkit_1.normalizePath)((0, path_1.relative)(context.workspaceRoot, tsConfigPath));
45
+ delegateBuilderOptions.tsConfig = tsConfigPath;
48
46
  }
49
47
  return (0, rxjs_1.from)(Promise.resolve().then(() => require('@angular-devkit/build-angular'))).pipe((0, operators_2.switchMap)(({ executeBrowserBuilder }) => executeBrowserBuilder(delegateBuilderOptions, context, {
50
48
  webpackConfiguration: (baseWebpackConfig) => {
@@ -1,2 +1 @@
1
1
  export * from './normalize-options';
2
- export * from './validate-options';
@@ -2,4 +2,3 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./normalize-options"), exports);
5
- tslib_1.__exportStar(require("./validate-options"), exports);
@@ -0,0 +1,2 @@
1
+ import type { Schema } from '../schema';
2
+ export declare function normalizeOptions(schema: Schema): Schema;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeOptions = void 0;
4
+ function normalizeOptions(schema) {
5
+ return {
6
+ host: 'localhost',
7
+ port: 4200,
8
+ liveReload: true,
9
+ open: false,
10
+ ssl: false,
11
+ ...schema,
12
+ };
13
+ }
14
+ exports.normalizeOptions = normalizeOptions;
@@ -0,0 +1,21 @@
1
+ export interface Schema {
2
+ browserTarget: string;
3
+ port: number;
4
+ host: string;
5
+ proxyConfig?: string;
6
+ ssl: boolean;
7
+ sslKey?: string;
8
+ sslCert?: string;
9
+ headers?: Record<string, string>;
10
+ open: boolean;
11
+ verbose?: boolean;
12
+ liveReload: boolean;
13
+ publicHost?: string;
14
+ allowedHosts?: string[];
15
+ servePath?: string;
16
+ disableHostCheck?: boolean;
17
+ hmr?: boolean;
18
+ watch?: boolean;
19
+ poll?: number;
20
+ buildLibsFromSource?: boolean;
21
+ }