@nx/angular 17.0.4 → 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 -9
  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 -115
  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
@@ -1,15 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addRemote = void 0;
4
+ const devkit_1 = require("@nx/devkit");
4
5
  const project_name_and_root_utils_1 = require("@nx/devkit/src/generators/project-name-and-root-utils");
5
- const test_runners_1 = require("../../../utils/test-runners");
6
- const remote_1 = require("../../remote/remote");
6
+ const semver_1 = require("semver");
7
7
  const check_remote_exists_1 = require("./check-remote-exists");
8
+ const version_utils_1 = require("../../utils/version-utils");
9
+ const remote_1 = require("../../remote/remote");
10
+ const test_runners_1 = require("../../../utils/test-runners");
8
11
  async function addRemote(tree, schema) {
9
12
  const tasks = [];
10
13
  const remote = (0, check_remote_exists_1.getRemoteIfExists)(tree, schema.remote);
11
14
  let projectRoot, remoteName;
12
15
  if (!remote) {
16
+ const installedAngularVersionInfo = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
17
+ if ((0, semver_1.lt)(installedAngularVersionInfo.version, '14.1.0') &&
18
+ schema.standalone) {
19
+ throw new Error((0, devkit_1.stripIndents) `The "standalone" option is only supported in Angular >= 14.1.0. You are currently using ${installedAngularVersionInfo.version}.
20
+ You can resolve this error by removing the "standalone" option or by migrating to Angular 14.1.0.`);
21
+ }
13
22
  const remoteGeneratorCallback = await (0, remote_1.default)(tree, {
14
23
  name: schema.remote,
15
24
  directory: schema.remoteDirectory,
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://json-schema.org/schema",
2
+ "$schema": "http://json-schema.org/schema",
3
3
  "cli": "nx",
4
4
  "$id": "NxReactFederateModule",
5
5
  "title": "Federate Module",
@@ -67,9 +67,9 @@
67
67
  "default": "cypress"
68
68
  },
69
69
  "standalone": {
70
- "description": "Whether to generate the remote application with standalone components if it needs to be created.",
70
+ "description": "Whether to generate the remote application with standalone components if it needs to be created. _Note: This is only supported in Angular versions >= 14.1.0_",
71
71
  "type": "boolean",
72
- "default": true
72
+ "default": false
73
73
  },
74
74
  "host": {
75
75
  "type": "string",
@@ -1,4 +1,4 @@
1
- import { withModuleFederationForSSR } from '@nx/angular/module-federation';
1
+ import {withModuleFederationForSSR} from '@nx/angular/module-federation';
2
2
  import config from './module-federation.config';
3
3
 
4
- export default withModuleFederationForSSR(config);
4
+ export default withModuleFederationForSSR(config)
@@ -3,12 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.hostInternal = exports.host = void 0;
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  const project_name_and_root_utils_1 = require("@nx/devkit/src/generators/project-name-and-root-utils");
6
+ const semver_1 = require("semver");
6
7
  const test_runners_1 = require("../../utils/test-runners");
7
8
  const application_1 = require("../application/application");
8
9
  const remote_1 = require("../remote/remote");
9
10
  const setup_mf_1 = require("../setup-mf/setup-mf");
11
+ const version_utils_1 = require("../utils/version-utils");
10
12
  const lib_1 = require("./lib");
11
- const add_mf_env_to_inputs_1 = require("../utils/add-mf-env-to-inputs");
12
13
  async function host(tree, options) {
13
14
  return await hostInternal(tree, {
14
15
  projectNameAndRootFormat: 'derived',
@@ -17,8 +18,12 @@ async function host(tree, options) {
17
18
  }
18
19
  exports.host = host;
19
20
  async function hostInternal(tree, schema) {
21
+ const installedAngularVersionInfo = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
22
+ if ((0, semver_1.lt)(installedAngularVersionInfo.version, '14.1.0') && schema.standalone) {
23
+ throw new Error((0, devkit_1.stripIndents) `The "standalone" option is only supported in Angular >= 14.1.0. You are currently using ${installedAngularVersionInfo.version}.
24
+ You can resolve this error by removing the "standalone" option or by migrating to Angular 14.1.0.`);
25
+ }
20
26
  const { typescriptConfiguration = true, ...options } = schema;
21
- options.standalone = options.standalone ?? true;
22
27
  const projects = (0, devkit_1.getProjects)(tree);
23
28
  const remotesToGenerate = [];
24
29
  const remotesToIntegrate = [];
@@ -42,11 +47,10 @@ async function hostInternal(tree, schema) {
42
47
  options.projectNameAndRootFormat = projectNameAndRootFormat;
43
48
  const appInstallTask = await (0, application_1.default)(tree, {
44
49
  ...options,
45
- standalone: options.standalone,
50
+ standalone: options.standalone ?? false,
46
51
  routing: true,
47
52
  port: 4200,
48
53
  skipFormat: true,
49
- bundler: 'webpack',
50
54
  });
51
55
  const skipE2E = !options.e2eTestRunner || options.e2eTestRunner === test_runners_1.E2eTestRunner.None;
52
56
  await (0, setup_mf_1.setupMf)(tree, {
@@ -62,12 +66,10 @@ async function hostInternal(tree, schema) {
62
66
  e2eProjectName: skipE2E ? undefined : `${hostProjectName}-e2e`,
63
67
  prefix: options.prefix,
64
68
  typescriptConfiguration,
65
- standalone: options.standalone,
66
- setParserOptionsProject: options.setParserOptionsProject,
67
69
  });
68
70
  let installTasks = [appInstallTask];
69
71
  if (options.ssr) {
70
- let ssrInstallTask = await (0, lib_1.updateSsrSetup)(tree, options, hostProjectName, typescriptConfiguration);
72
+ let ssrInstallTask = await (0, lib_1.addSsr)(tree, options, hostProjectName, typescriptConfiguration);
71
73
  installTasks.push(ssrInstallTask);
72
74
  }
73
75
  for (const remote of remotesToGenerate) {
@@ -91,7 +93,6 @@ async function hostInternal(tree, schema) {
91
93
  typescriptConfiguration,
92
94
  });
93
95
  }
94
- (0, add_mf_env_to_inputs_1.addMfEnvToTargetDefaultInputs)(tree);
95
96
  if (!options.skipFormat) {
96
97
  await (0, devkit_1.formatFiles)(tree);
97
98
  }
@@ -0,0 +1,3 @@
1
+ import type { Tree } from '@nx/devkit';
2
+ import type { Schema } from '../schema';
3
+ export declare function addSsr(tree: Tree, options: Schema, appName: string, typescriptConfiguration: boolean): Promise<import("@nx/devkit").GeneratorCallback>;
@@ -1,18 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateSsrSetup = void 0;
3
+ exports.addSsr = void 0;
4
4
  const devkit_1 = require("@nx/devkit");
5
- const path_1 = require("path");
5
+ const setup_ssr_1 = require("../../setup-ssr/setup-ssr");
6
6
  const versions_1 = require("../../../utils/versions");
7
- const version_utils_1 = require("../../utils/version-utils");
8
- async function updateSsrSetup(tree, options, appName, typescriptConfiguration) {
7
+ const path_1 = require("path");
8
+ async function addSsr(tree, options, appName, typescriptConfiguration) {
9
9
  let project = (0, devkit_1.readProjectConfiguration)(tree, appName);
10
+ await (0, setup_ssr_1.default)(tree, {
11
+ project: appName,
12
+ standalone: options.standalone,
13
+ });
10
14
  tree.rename((0, devkit_1.joinPathFragments)(project.sourceRoot, 'main.server.ts'), (0, devkit_1.joinPathFragments)(project.sourceRoot, 'bootstrap.server.ts'));
11
15
  tree.write((0, devkit_1.joinPathFragments)(project.root, 'server.ts'), "import('./src/main.server');");
12
- const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
13
- (0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, '../files/common', angularMajorVersion >= 17 ? 'v17+' : 'pre-v17'), project.root, {
16
+ const browserBundleOutput = (0, devkit_1.joinPathFragments)(project.targets.build.options.outputPath, 'browser');
17
+ (0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, '../files/common'), project.root, {
14
18
  appName,
15
- browserBundleOutput: project.targets.build.options.outputPath,
19
+ browserBundleOutput,
16
20
  standalone: options.standalone,
17
21
  tmpl: '',
18
22
  });
@@ -31,10 +35,12 @@ async function updateSsrSetup(tree, options, appName, typescriptConfiguration) {
31
35
  (0, devkit_1.updateProjectConfiguration)(tree, appName, project);
32
36
  const installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {
33
37
  cors: versions_1.corsVersion,
38
+ express: versions_1.expressVersion,
34
39
  '@module-federation/node': versions_1.moduleFederationNodeVersion,
35
40
  }, {
36
41
  '@types/cors': versions_1.typesCorsVersion,
42
+ '@types/express': versions_1.typesExpressVersion,
37
43
  });
38
44
  return installTask;
39
45
  }
40
- exports.updateSsrSetup = updateSsrSetup;
46
+ exports.addSsr = addSsr;
@@ -1 +1 @@
1
- export * from './update-ssr-setup';
1
+ export * from './add-ssr';
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./update-ssr-setup"), exports);
4
+ tslib_1.__exportStar(require("./add-ssr"), exports);
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://json-schema.org/schema",
2
+ "$schema": "http://json-schema.org/schema",
3
3
  "$id": "NxMFHost",
4
4
  "cli": "nx",
5
5
  "title": "Nx Module Federation Host Application",
@@ -55,15 +55,15 @@
55
55
  },
56
56
  {
57
57
  "value": "scss",
58
- "label": "SASS(.scss) [ https://sass-lang.com ]"
58
+ "label": "SASS(.scss) [ http://sass-lang.com ]"
59
59
  },
60
60
  {
61
61
  "value": "sass",
62
- "label": "SASS(.sass) [ https://sass-lang.com ]"
62
+ "label": "SASS(.sass) [ http://sass-lang.com ]"
63
63
  },
64
64
  {
65
65
  "value": "less",
66
- "label": "LESS [ https://lesscss.org ]"
66
+ "label": "LESS [ http://lesscss.org ]"
67
67
  }
68
68
  ]
69
69
  }
@@ -165,8 +165,8 @@
165
165
  },
166
166
  "standalone": {
167
167
  "type": "boolean",
168
- "description": "Whether to generate a host application that uses standalone components.",
169
- "default": true
168
+ "description": "Whether to generate a host application that uses standalone components. _Note: This is only supported in Angular versions >= 14.1.0_",
169
+ "default": false
170
170
  },
171
171
  "ssr": {
172
172
  "description": "Whether to configure SSR for the host application",
@@ -1,4 +1,4 @@
1
- import { type GeneratorCallback, type Tree } from '@nx/devkit';
1
+ import { GeneratorCallback, Tree } from '@nx/devkit';
2
2
  import { Schema } from './schema';
3
- export declare function angularInitGenerator(tree: Tree, options: Schema): Promise<GeneratorCallback>;
3
+ export declare function angularInitGenerator(tree: Tree, rawOptions: Schema): Promise<GeneratorCallback>;
4
4
  export default angularInitGenerator;
@@ -2,33 +2,151 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.angularInitGenerator = void 0;
4
4
  const devkit_1 = require("@nx/devkit");
5
+ const jest_1 = require("@nx/jest");
6
+ const eslint_1 = require("@nx/eslint");
7
+ const js_1 = require("@nx/js");
8
+ const test_runners_1 = require("../../utils/test-runners");
5
9
  const version_utils_1 = require("../utils/version-utils");
6
- async function angularInitGenerator(tree, options) {
10
+ const versions_1 = require("../../utils/versions");
11
+ async function angularInitGenerator(tree, rawOptions) {
12
+ const tasks = [];
13
+ const options = normalizeOptions(rawOptions);
14
+ const pkgVersions = (0, version_utils_1.versions)(tree);
15
+ const peerDepsToInstall = ['@angular-devkit/core'];
16
+ let devkitVersion;
17
+ peerDepsToInstall.forEach((pkg) => {
18
+ const packageVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, pkg);
19
+ if (!packageVersion) {
20
+ devkitVersion ??=
21
+ (0, version_utils_1.getInstalledPackageVersion)(tree, '@angular-devkit/build-angular') ??
22
+ pkgVersions.angularDevkitVersion;
23
+ try {
24
+ (0, devkit_1.ensurePackage)(pkg, devkitVersion);
25
+ }
26
+ catch {
27
+ // @schematics/angular cannot be required so this fails but this will still allow wrapping the schematic later on
28
+ }
29
+ if (!options.skipPackageJson) {
30
+ tasks.push((0, devkit_1.addDependenciesToPackageJson)(tree, {}, { [pkg]: devkitVersion }));
31
+ }
32
+ }
33
+ });
34
+ setDefaults(tree, options);
35
+ const jsTask = await (0, js_1.initGenerator)(tree, {
36
+ ...options,
37
+ tsConfigName: options.rootProject ? 'tsconfig.json' : 'tsconfig.base.json',
38
+ js: false,
39
+ skipFormat: true,
40
+ });
41
+ tasks.push(jsTask);
42
+ if (!options.skipPackageJson) {
43
+ tasks.push(updateDependencies(tree, pkgVersions));
44
+ }
45
+ const unitTestTask = await addUnitTestRunner(tree, options, pkgVersions.jestPresetAngularVersion);
46
+ tasks.push(unitTestTask);
47
+ const e2eTask = await addE2ETestRunner(tree, options);
48
+ tasks.push(e2eTask);
7
49
  ignoreAngularCacheDirectory(tree);
8
- const installTask = installAngularDevkitCoreIfMissing(tree, options);
9
50
  if (!options.skipFormat) {
10
51
  await (0, devkit_1.formatFiles)(tree);
11
52
  }
12
- return installTask;
53
+ return (0, devkit_1.runTasksInSerial)(...tasks);
13
54
  }
14
55
  exports.angularInitGenerator = angularInitGenerator;
15
- function installAngularDevkitCoreIfMissing(tree, options) {
16
- const packageVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, '@angular-devkit/core');
17
- if (!packageVersion) {
18
- const pkgVersions = (0, version_utils_1.versions)(tree);
19
- const devkitVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, '@angular-devkit/build-angular') ??
20
- pkgVersions.angularDevkitVersion;
21
- try {
22
- (0, devkit_1.ensurePackage)('@angular-devkit/core', devkitVersion);
23
- }
24
- catch {
25
- // @schematics/angular cannot be required so this fails but this will still allow wrapping the schematic later on
26
- }
27
- if (!options.skipPackageJson) {
28
- return (0, devkit_1.addDependenciesToPackageJson)(tree, {}, { ['@angular-devkit/core']: devkitVersion }, undefined, options.keepExistingVersions);
29
- }
56
+ function normalizeOptions(options) {
57
+ return {
58
+ e2eTestRunner: options.e2eTestRunner ?? test_runners_1.E2eTestRunner.Cypress,
59
+ linter: options.linter ?? eslint_1.Linter.EsLint,
60
+ skipFormat: options.skipFormat ?? false,
61
+ skipInstall: options.skipInstall ?? false,
62
+ skipPackageJson: options.skipPackageJson ?? false,
63
+ style: options.style ?? 'css',
64
+ unitTestRunner: options.unitTestRunner ?? test_runners_1.UnitTestRunner.Jest,
65
+ rootProject: options.rootProject,
66
+ };
67
+ }
68
+ function setDefaults(host, options) {
69
+ const nxJson = (0, devkit_1.readNxJson)(host);
70
+ nxJson.generators = nxJson.generators || {};
71
+ nxJson.generators['@nx/angular:application'] = {
72
+ style: options.style,
73
+ linter: options.linter,
74
+ unitTestRunner: options.unitTestRunner,
75
+ e2eTestRunner: options.e2eTestRunner,
76
+ ...(nxJson.generators['@nx/angular:application'] || {}),
77
+ };
78
+ nxJson.generators['@nx/angular:library'] = {
79
+ linter: options.linter,
80
+ unitTestRunner: options.unitTestRunner,
81
+ ...(nxJson.generators['@nx/angular:library'] || {}),
82
+ };
83
+ nxJson.generators['@nx/angular:component'] = {
84
+ style: options.style,
85
+ ...(nxJson.generators['@nx/angular:component'] || {}),
86
+ };
87
+ (0, devkit_1.updateNxJson)(host, nxJson);
88
+ }
89
+ function updateDependencies(tree, versions) {
90
+ const angularVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, '@angular/core') ??
91
+ versions.angularVersion;
92
+ const angularDevkitVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, '@angular-devkit/build-angular') ??
93
+ versions.angularDevkitVersion;
94
+ const rxjsVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, 'rxjs') ?? versions.rxjsVersion;
95
+ const tsLibVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, 'tslib') ?? versions.tsLibVersion;
96
+ const zoneJsVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, 'zone.js') ?? versions.zoneJsVersion;
97
+ return (0, version_utils_1.addDependenciesToPackageJsonIfDontExist)(tree, {
98
+ '@angular/animations': angularVersion,
99
+ '@angular/common': angularVersion,
100
+ '@angular/compiler': angularVersion,
101
+ '@angular/core': angularVersion,
102
+ '@angular/forms': angularVersion,
103
+ '@angular/platform-browser': angularVersion,
104
+ '@angular/platform-browser-dynamic': angularVersion,
105
+ '@angular/router': angularVersion,
106
+ rxjs: rxjsVersion,
107
+ tslib: tsLibVersion,
108
+ 'zone.js': zoneJsVersion,
109
+ }, {
110
+ '@angular/cli': angularDevkitVersion,
111
+ '@angular/compiler-cli': angularVersion,
112
+ '@angular/language-service': angularVersion,
113
+ '@angular-devkit/build-angular': angularDevkitVersion,
114
+ '@angular-devkit/schematics': angularDevkitVersion,
115
+ '@schematics/angular': angularDevkitVersion,
116
+ });
117
+ }
118
+ async function addUnitTestRunner(tree, options, jestPresetAngularVersion) {
119
+ switch (options.unitTestRunner) {
120
+ case test_runners_1.UnitTestRunner.Jest:
121
+ if (!options.skipPackageJson) {
122
+ process.env.npm_config_legacy_peer_deps ??= 'true';
123
+ (0, version_utils_1.addDependenciesToPackageJsonIfDontExist)(tree, {}, {
124
+ 'jest-preset-angular': jestPresetAngularVersion,
125
+ });
126
+ }
127
+ return (0, jest_1.jestInitGenerator)(tree, {
128
+ skipPackageJson: options.skipPackageJson,
129
+ });
130
+ default:
131
+ return () => { };
132
+ }
133
+ }
134
+ async function addE2ETestRunner(tree, options) {
135
+ switch (options.e2eTestRunner) {
136
+ case test_runners_1.E2eTestRunner.Cypress:
137
+ const { cypressInitGenerator } = (0, devkit_1.ensurePackage)('@nx/cypress', versions_1.nxVersion);
138
+ return cypressInitGenerator(tree, {
139
+ skipPackageJson: options.skipPackageJson,
140
+ });
141
+ case test_runners_1.E2eTestRunner.Playwright:
142
+ const { initGenerator: playwrightInitGenerator } = (0, devkit_1.ensurePackage)('@nx/playwright', versions_1.nxVersion);
143
+ return playwrightInitGenerator(tree, {
144
+ skipFormat: true,
145
+ skipPackageJson: options.skipPackageJson,
146
+ });
147
+ default:
148
+ return () => { };
30
149
  }
31
- return () => { };
32
150
  }
33
151
  function ignoreAngularCacheDirectory(tree) {
34
152
  const { cli } = (0, devkit_1.readNxJson)(tree);
@@ -1,6 +1,14 @@
1
+ import { Linter } from '@nx/eslint';
2
+ import { E2eTestRunner, UnitTestRunner } from '../../utils/test-runners';
3
+ import type { Styles } from '../utils/types';
4
+
1
5
  export interface Schema {
6
+ unitTestRunner?: UnitTestRunner;
7
+ e2eTestRunner?: E2eTestRunner;
2
8
  skipFormat?: boolean;
3
9
  skipInstall?: boolean;
10
+ style?: Styles;
11
+ linter?: Linter;
4
12
  skipPackageJson?: boolean;
5
- keepExistingVersions?: boolean;
13
+ rootProject?: boolean;
6
14
  }
@@ -1,11 +1,32 @@
1
1
  {
2
- "$schema": "https://json-schema.org/schema",
2
+ "$schema": "http://json-schema.org/schema",
3
3
  "$id": "SchematicsAngularModuleInit",
4
4
  "cli": "nx",
5
5
  "title": "Init Angular Plugin",
6
6
  "description": "Initializes the `@nx/angular` plugin. NOTE: Does not work in the `--dry-run` mode.",
7
7
  "type": "object",
8
+ "examples": [
9
+ {
10
+ "command": "nx g @nx/angular:init --style=scss",
11
+ "description": "Installs angular dependencies and initializes the `@nx/angular` plugin with the `scss` stylesheet format."
12
+ }
13
+ ],
8
14
  "properties": {
15
+ "unitTestRunner": {
16
+ "type": "string",
17
+ "enum": ["jest", "none"],
18
+ "description": "Test runner to use for unit tests.",
19
+ "default": "jest",
20
+ "x-priority": "important"
21
+ },
22
+ "e2eTestRunner": {
23
+ "type": "string",
24
+ "enum": ["cypress", "playwright", "none"],
25
+ "x-prompt": "Which E2E test runner would you like to use?",
26
+ "description": "Test runner to use for end to end (e2e) tests.",
27
+ "default": "cypress",
28
+ "x-priority": "important"
29
+ },
9
30
  "skipInstall": {
10
31
  "type": "boolean",
11
32
  "description": "Skip installing after adding `@nx/workspace`.",
@@ -18,17 +39,47 @@
18
39
  "default": false,
19
40
  "x-priority": "internal"
20
41
  },
42
+ "linter": {
43
+ "description": "The tool to use for running lint checks.",
44
+ "type": "string",
45
+ "enum": ["eslint", "none"],
46
+ "default": "eslint",
47
+ "x-priority": "important"
48
+ },
49
+ "style": {
50
+ "description": "The file extension to be used for style files.",
51
+ "type": "string",
52
+ "default": "css",
53
+ "enum": ["css", "scss", "sass", "less"],
54
+ "x-prompt": {
55
+ "message": "Which stylesheet format would you like to use?",
56
+ "type": "list",
57
+ "items": [
58
+ {
59
+ "value": "css",
60
+ "label": "CSS"
61
+ },
62
+ {
63
+ "value": "scss",
64
+ "label": "SASS(.scss) [ http://sass-lang.com ]"
65
+ },
66
+ {
67
+ "value": "sass",
68
+ "label": "SASS(.sass) [ http://sass-lang.com ]"
69
+ },
70
+ {
71
+ "value": "less",
72
+ "label": "LESS [ http://lesscss.org ]"
73
+ }
74
+ ]
75
+ }
76
+ },
21
77
  "skipPackageJson": {
22
78
  "type": "boolean",
23
79
  "default": false,
24
80
  "description": "Do not add dependencies to `package.json`.",
25
81
  "x-priority": "internal"
26
- },
27
- "keepExistingVersions": {
28
- "type": "boolean",
29
- "x-priority": "internal",
30
- "description": "Keep existing dependencies versions",
31
- "default": false
32
82
  }
33
- }
83
+ },
84
+ "additionalProperties": false
34
85
  }
@@ -1,5 +1,5 @@
1
1
  import { Route } from '@angular/router';
2
2
 
3
3
  export const <%= libPropertyName %>Routes: Route[] = [
4
- /* { path: '', pathMatch: 'full', component: InsertYourComponentHere } */
4
+ /* {path: '', pathMatch: 'full', component: InsertYourComponentHere} */
5
5
  ];
@@ -2,5 +2,5 @@ import { Route } from '@angular/router';
2
2
  import { <%= libClassName %>Component } from './<%= pathToComponent %>.component';
3
3
 
4
4
  export const <%= libPropertyName %>Routes: Route[] = [
5
- { path: '', component: <%= libClassName %>Component }
5
+ {path: '', component: <%= libClassName %>Component}
6
6
  ];
@@ -14,9 +14,9 @@ function addLoadChildren(tree, options) {
14
14
  }
15
15
  const moduleSource = tree.read(options.parent, 'utf-8');
16
16
  const sourceFile = tsModule.createSourceFile(options.parent, moduleSource, tsModule.ScriptTarget.Latest, true);
17
- const route = `{ path: '${(0, devkit_1.names)(options.fileName).fileName}', loadChildren: () => import('${options.importPath}').then(m => m.${options.standalone
17
+ const route = `{path: '${(0, devkit_1.names)(options.fileName).fileName}', loadChildren: () => import('${options.importPath}').then(m => m.${options.standalone
18
18
  ? `${(0, devkit_1.names)(options.name).propertyName}Routes`
19
- : options.moduleName}) }`;
19
+ : options.moduleName})}`;
20
20
  (0, route_utils_1.addRoute)(tree, options.parent, route);
21
21
  }
22
22
  exports.addLoadChildren = addLoadChildren;
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addProject = void 0;
4
4
  const devkit_1 = require("@nx/devkit");
5
- const add_build_target_defaults_1 = require("@nx/devkit/src/generators/add-build-target-defaults");
6
5
  function addProject(tree, libraryOptions) {
7
6
  const project = {
8
7
  name: libraryOptions.name,
@@ -11,30 +10,29 @@ function addProject(tree, libraryOptions) {
11
10
  prefix: libraryOptions.prefix,
12
11
  tags: libraryOptions.parsedTags,
13
12
  projectType: 'library',
14
- targets: {},
13
+ targets: {
14
+ build: libraryOptions.buildable || libraryOptions.publishable
15
+ ? {
16
+ executor: libraryOptions.publishable
17
+ ? '@nx/angular:package'
18
+ : '@nx/angular:ng-packagr-lite',
19
+ outputs: ['{workspaceRoot}/dist/{projectRoot}'],
20
+ options: {
21
+ project: `${libraryOptions.projectRoot}/ng-package.json`,
22
+ },
23
+ configurations: {
24
+ production: {
25
+ tsConfig: `${libraryOptions.projectRoot}/tsconfig.lib.prod.json`,
26
+ },
27
+ development: {
28
+ tsConfig: `${libraryOptions.projectRoot}/tsconfig.lib.json`,
29
+ },
30
+ },
31
+ defaultConfiguration: 'production',
32
+ }
33
+ : undefined,
34
+ },
15
35
  };
16
- if (libraryOptions.buildable || libraryOptions.publishable) {
17
- const executor = libraryOptions.publishable
18
- ? '@nx/angular:package'
19
- : '@nx/angular:ng-packagr-lite';
20
- (0, add_build_target_defaults_1.addBuildTargetDefaults)(tree, executor);
21
- project.targets.build = {
22
- executor,
23
- outputs: ['{workspaceRoot}/dist/{projectRoot}'],
24
- options: {
25
- project: `${libraryOptions.projectRoot}/ng-package.json`,
26
- },
27
- configurations: {
28
- production: {
29
- tsConfig: `${libraryOptions.projectRoot}/tsconfig.lib.prod.json`,
30
- },
31
- development: {
32
- tsConfig: `${libraryOptions.projectRoot}/tsconfig.lib.json`,
33
- },
34
- },
35
- defaultConfiguration: 'production',
36
- };
37
- }
38
36
  (0, devkit_1.addProjectConfiguration)(tree, libraryOptions.name, project);
39
37
  return project;
40
38
  }
@@ -1,3 +1,3 @@
1
- import { type Tree } from '@nx/devkit';
2
- import type { NormalizedSchema } from './normalized-schema';
1
+ import { Tree } from 'nx/src/generators/tree';
2
+ import { NormalizedSchema } from './normalized-schema';
3
3
  export declare function addStandaloneComponent(tree: Tree, { libraryOptions, componentOptions }: NormalizedSchema): Promise<void>;
@@ -1,18 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addStandaloneComponent = void 0;
4
- const devkit_1 = require("@nx/devkit");
5
4
  const component_1 = require("../../component/component");
6
- const add_children_1 = require("./add-children");
7
5
  const add_load_children_1 = require("./add-load-children");
6
+ const add_children_1 = require("./add-children");
8
7
  async function addStandaloneComponent(tree, { libraryOptions, componentOptions }) {
9
- await (0, component_1.componentGenerator)(tree, {
8
+ await (0, component_1.default)(tree, {
10
9
  ...componentOptions,
11
10
  name: componentOptions.name,
12
- directory: (0, devkit_1.joinPathFragments)(libraryOptions.projectRoot, 'src', 'lib', componentOptions.flat ? '' : componentOptions.name),
13
- nameAndDirectoryFormat: 'as-provided',
14
11
  standalone: true,
15
12
  export: true,
13
+ project: libraryOptions.name,
14
+ flat: componentOptions.flat,
16
15
  skipFormat: true,
17
16
  });
18
17
  if (libraryOptions.routing) {
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.normalizeOptions = void 0;
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  const project_name_and_root_utils_1 = require("@nx/devkit/src/generators/project-name-and-root-utils");
6
+ const get_npm_scope_1 = require("@nx/js/src/utils/package-json/get-npm-scope");
6
7
  const eslint_1 = require("@nx/eslint");
7
8
  const test_runners_1 = require("../../../utils/test-runners");
9
+ const project_1 = require("../../utils/project");
8
10
  async function normalizeOptions(host, schema) {
9
- schema.standalone = schema.standalone ?? true;
10
11
  // Create a schema with populated default values
11
12
  const options = {
12
13
  buildable: false,
@@ -38,12 +39,14 @@ async function normalizeOptions(host, schema) {
38
39
  ? options.tags.split(',').map((s) => s.trim())
39
40
  : [];
40
41
  const modulePath = `${projectRoot}/src/lib/${fileName}.module.ts`;
42
+ const npmScope = (0, get_npm_scope_1.getNpmScope)(host);
43
+ const prefix = (0, project_1.normalizeNewProjectPrefix)(options.prefix, npmScope, 'lib');
41
44
  const ngCliSchematicLibRoot = projectName;
42
45
  const allNormalizedOptions = {
43
46
  ...options,
44
47
  linter: options.linter ?? eslint_1.Linter.EsLint,
45
48
  unitTestRunner: options.unitTestRunner ?? test_runners_1.UnitTestRunner.Jest,
46
- prefix: options.prefix ?? 'lib',
49
+ prefix,
47
50
  name: projectName,
48
51
  projectRoot,
49
52
  entryFile: 'index',