@nx/angular 0.0.0-pr-30715-a5f5e3b → 0.0.0-pr-31313-387cdca

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/fesm2022/nx-angular-mf.mjs.map +1 -1
  2. package/fesm2022/nx-angular.mjs.map +1 -1
  3. package/index.d.ts +1 -2
  4. package/mf/index.d.ts +1 -71
  5. package/mf/mf.d.ts +69 -0
  6. package/migrations.json +0 -98
  7. package/package.json +16 -25
  8. package/plugins/component-testing.js +3 -8
  9. package/src/builders/dev-server/dev-server.impl.js +7 -4
  10. package/src/builders/dev-server/lib/normalize-options.js +6 -0
  11. package/src/builders/dev-server/lib/validate-options.js +4 -0
  12. package/src/builders/dev-server/schema.d.ts +15 -3
  13. package/src/builders/dev-server/schema.json +9 -3
  14. package/src/builders/webpack-browser/webpack-browser.impl.js +0 -2
  15. package/src/builders/webpack-server/webpack-server.impl.d.ts +1 -3
  16. package/src/builders/webpack-server/webpack-server.impl.js +0 -2
  17. package/src/executors/application/application.impl.d.ts +2 -2
  18. package/src/executors/application/application.impl.js +6 -11
  19. package/src/executors/application/schema.d.ts +1 -1
  20. package/src/executors/application/schema.json +10 -21
  21. package/src/executors/application/utils/normalize-options.js +1 -8
  22. package/src/executors/application/utils/validate-options.js +40 -10
  23. package/src/executors/extract-i18n/extract-i18n.impl.js +14 -6
  24. package/src/executors/extract-i18n/schema.d.ts +6 -1
  25. package/src/executors/module-federation-dev-server/lib/normalize-options.js +7 -1
  26. package/src/executors/module-federation-dev-server/schema.d.ts +15 -3
  27. package/src/executors/module-federation-dev-server/schema.json +15 -2
  28. package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +8 -10
  29. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/entry-point.d.ts +3 -6
  30. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/entry-point.js +8 -46
  31. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.di.d.ts +1 -1
  32. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.di.js +3 -3
  33. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.transform.d.ts +2 -2
  34. package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.transform.js +6 -22
  35. package/src/executors/ng-packagr-lite/schema.json +3 -2
  36. package/src/executors/package/package.impl.js +5 -1
  37. package/src/executors/package/schema.d.ts +1 -3
  38. package/src/executors/package/schema.json +3 -2
  39. package/src/executors/utilities/esbuild-extensions.d.ts +1 -2
  40. package/src/executors/utilities/ng-packagr/package-imports.d.ts +1 -3
  41. package/src/executors/utilities/ng-packagr/package-imports.js +2 -2
  42. package/src/executors/utilities/ng-packagr/pre-v19/stylesheet-processor.d.ts +24 -1
  43. package/src/executors/utilities/ng-packagr/pre-v19/stylesheet-processor.js +105 -12
  44. package/src/executors/utilities/ng-packagr/stylesheet-processor.di.js +8 -4
  45. package/src/executors/utilities/ng-packagr/v19+/stylesheet-processor.d.ts +1 -1
  46. package/src/executors/utilities/ng-packagr/v19+/stylesheet-processor.js +11 -18
  47. package/src/generators/add-linting/add-linting.js +0 -8
  48. package/src/generators/application/application.js +1 -21
  49. package/src/generators/application/files/base-pre18/src/favicon.ico +0 -0
  50. package/src/generators/application/files/ng-module/src/app/app.component.spec.ts__tpl__ +29 -0
  51. package/src/generators/application/files/ng-module/src/app/{app__componentFileSuffix__.ts__tpl__ → app.component.ts__tpl__} +3 -3
  52. package/src/generators/application/files/ng-module/src/app/app.module.ts__tpl__ +17 -0
  53. package/src/generators/application/files/ng-module/src/main.ts__tpl__ +3 -11
  54. package/src/generators/application/files/nx-welcome/claimed/ng-module/src/app/{nx-welcome__componentFileSuffix__.ts__tpl__ → nx-welcome.component.ts__tpl__} +1 -1
  55. package/src/generators/application/files/nx-welcome/claimed/standalone/src/app/{nx-welcome__componentFileSuffix__.ts__tpl__ → nx-welcome.component.ts__tpl__} +1 -1
  56. package/src/generators/application/files/nx-welcome/not-configured/ng-module/src/app/{nx-welcome__componentFileSuffix__.ts__tpl__ → nx-welcome.component.ts__tpl__} +1 -1
  57. package/src/generators/application/files/nx-welcome/not-configured/standalone/src/app/{nx-welcome__componentFileSuffix__.ts__tpl__ → nx-welcome.component.ts__tpl__} +1 -1
  58. package/src/generators/application/files/nx-welcome/unclaimed/ng-module/src/app/{nx-welcome__componentFileSuffix__.ts__tpl__ → nx-welcome.component.ts__tpl__} +1 -1
  59. package/src/generators/application/files/nx-welcome/unclaimed/standalone/src/app/{nx-welcome__componentFileSuffix__.ts__tpl__ → nx-welcome.component.ts__tpl__} +1 -1
  60. package/src/generators/application/files/standalone-components/src/app/app.component.__style__ +0 -0
  61. package/src/generators/application/files/standalone-components/src/app/app.component.spec.ts__tpl__ +28 -0
  62. package/src/generators/application/files/standalone-components/src/app/{app__componentFileSuffix__.ts__tpl__ → app.component.ts__tpl__} +5 -5
  63. package/src/generators/application/files/standalone-components/src/app/app.config.ts__tpl__ +2 -6
  64. package/src/generators/application/files/standalone-components/src/main.ts__tpl__ +2 -2
  65. package/src/generators/application/lib/create-files.d.ts +1 -1
  66. package/src/generators/application/lib/create-files.js +14 -15
  67. package/src/generators/application/lib/create-project.d.ts +1 -1
  68. package/src/generators/application/lib/create-project.js +26 -119
  69. package/src/generators/application/lib/enable-strict-type-checking.js +0 -3
  70. package/src/generators/application/schema.json +1 -1
  71. package/src/generators/component/component.js +2 -13
  72. package/src/generators/component/files/__fileName__.ts__tpl__ +1 -1
  73. package/src/generators/component/lib/component.js +1 -11
  74. package/src/generators/component/lib/module.d.ts +2 -7
  75. package/src/generators/component/lib/module.js +5 -7
  76. package/src/generators/component/lib/normalize-options.js +3 -7
  77. package/src/generators/component/schema.d.ts +0 -1
  78. package/src/generators/component/schema.json +2 -6
  79. package/src/generators/convert-to-application-executor/convert-to-application-executor.js +22 -19
  80. package/src/generators/convert-to-rspack/convert-to-rspack.js +2 -6
  81. package/src/generators/convert-to-rspack/lib/get-custom-webpack-config.js +1 -1
  82. package/src/generators/directive/directive.js +1 -1
  83. package/src/generators/directive/lib/normalize-options.js +2 -7
  84. package/src/generators/directive/schema.d.ts +0 -1
  85. package/src/generators/directive/schema.json +2 -10
  86. package/src/generators/host/host.js +21 -1
  87. package/src/generators/host/schema.d.ts +1 -0
  88. package/src/generators/host/schema.json +7 -1
  89. package/src/generators/init/init.js +1 -1
  90. package/src/generators/library/files/ng-module/src/index.ts__tpl__ +1 -1
  91. package/src/generators/library/files/standalone-components/src/lib/lib.routes.ts__tpl__ +2 -2
  92. package/src/generators/library/lib/add-standalone-component.js +0 -1
  93. package/src/generators/library/lib/create-files.js +1 -10
  94. package/src/generators/library/lib/enable-strict-type-checking.d.ts +1 -1
  95. package/src/generators/library/lib/enable-strict-type-checking.js +0 -3
  96. package/src/generators/library/lib/normalize-options.d.ts +3 -3
  97. package/src/generators/library/lib/normalize-options.js +1 -6
  98. package/src/generators/library/lib/normalized-schema.d.ts +0 -2
  99. package/src/generators/library-secondary-entry-point/files/src/index.ts__tmpl__ +1 -1
  100. package/src/generators/library-secondary-entry-point/lib/add-files.js +1 -2
  101. package/src/generators/library-secondary-entry-point/lib/normalize-options.d.ts +2 -2
  102. package/src/generators/library-secondary-entry-point/lib/normalize-options.js +0 -3
  103. package/src/generators/library-secondary-entry-point/schema.d.ts +0 -1
  104. package/src/generators/move/lib/update-module-name.js +10 -17
  105. package/src/generators/move/lib/update-secondary-entry-points.js +3 -0
  106. package/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.js +1 -1
  107. package/src/generators/ng-add/migrators/projects/app.migrator.js +8 -43
  108. package/src/generators/ngrx/schema.json +3 -3
  109. package/src/generators/ngrx-root-store/lib/normalize-options.js +2 -9
  110. package/src/generators/pipe/lib/normalize-options.js +0 -4
  111. package/src/generators/pipe/pipe.js +1 -1
  112. package/src/generators/pipe/schema.d.ts +0 -1
  113. package/src/generators/pipe/schema.json +2 -11
  114. package/src/generators/remote/files/standalone/src/bootstrap.server.ts__tmpl__ +4 -4
  115. package/src/generators/remote/lib/update-ssr-setup.js +0 -5
  116. package/src/generators/remote/remote.js +23 -0
  117. package/src/generators/remote/schema.d.ts +1 -0
  118. package/src/generators/remote/schema.json +7 -1
  119. package/src/generators/scam/lib/convert-component-to-scam.js +3 -1
  120. package/src/generators/scam/lib/normalize-options.js +3 -11
  121. package/src/generators/scam/schema.d.ts +0 -1
  122. package/src/generators/scam/schema.json +2 -1
  123. package/src/generators/scam-directive/lib/convert-directive-to-scam.js +3 -1
  124. package/src/generators/scam-directive/lib/normalize-options.js +2 -11
  125. package/src/generators/scam-directive/schema.d.ts +0 -2
  126. package/src/generators/scam-directive/schema.json +2 -10
  127. package/src/generators/scam-pipe/lib/convert-pipe-to-scam.js +3 -1
  128. package/src/generators/scam-pipe/lib/normalize-options.js +0 -8
  129. package/src/generators/scam-pipe/schema.d.ts +0 -2
  130. package/src/generators/scam-pipe/schema.json +0 -5
  131. package/src/generators/setup-mf/files/entry-module-files/{entry__componentFileSuffix__.ts__tmpl__ → entry.component.ts__tmpl__} +1 -1
  132. package/src/generators/setup-mf/files/entry-module-files/{__entryModuleFileName__.ts__tmpl__ → entry.module.ts__tmpl__} +4 -4
  133. package/src/generators/setup-mf/files/entry-module-files/entry.routes.ts__tmpl__ +2 -2
  134. package/src/generators/setup-mf/files/host-files/app.component.spec.ts__tmpl__ +47 -0
  135. package/src/generators/setup-mf/files/standalone-entry-component-files/{entry__componentFileSuffix__.ts__tmpl__ → entry.component.ts__tmpl__} +3 -3
  136. package/src/generators/setup-mf/files/standalone-entry-component-files/entry.routes.ts__tmpl__ +2 -2
  137. package/src/generators/setup-mf/files/ts-webpack/module-federation.config.ts__tmpl__ +1 -1
  138. package/src/generators/setup-mf/files/ts-webpack/tsconfig.lint.json__tmpl__ +1 -1
  139. package/src/generators/setup-mf/files/webpack/module-federation.config.js__tmpl__ +1 -1
  140. package/src/generators/setup-mf/lib/add-remote-entry.d.ts +2 -2
  141. package/src/generators/setup-mf/lib/add-remote-entry.js +3 -9
  142. package/src/generators/setup-mf/lib/add-remote-to-host.js +1 -11
  143. package/src/generators/setup-mf/lib/fix-bootstrap.d.ts +2 -2
  144. package/src/generators/setup-mf/lib/fix-bootstrap.js +4 -4
  145. package/src/generators/setup-mf/lib/generate-config.d.ts +2 -2
  146. package/src/generators/setup-mf/lib/generate-config.js +0 -1
  147. package/src/generators/setup-mf/lib/normalize-options.d.ts +1 -1
  148. package/src/generators/setup-mf/lib/normalize-options.js +0 -13
  149. package/src/generators/setup-mf/lib/remove-dead-code-from-remote.d.ts +2 -2
  150. package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +14 -18
  151. package/src/generators/setup-mf/lib/setup-host-if-dynamic.js +5 -1
  152. package/src/generators/setup-mf/lib/setup-tspath-for-remote.d.ts +2 -2
  153. package/src/generators/setup-mf/lib/setup-tspath-for-remote.js +1 -1
  154. package/src/generators/setup-mf/lib/update-host-app-routes.d.ts +2 -2
  155. package/src/generators/setup-mf/lib/update-host-app-routes.js +9 -12
  156. package/src/generators/setup-mf/lib/update-tsconfig.d.ts +2 -2
  157. package/src/generators/setup-mf/lib/update-tsconfig.js +5 -5
  158. package/src/generators/setup-mf/schema.d.ts +0 -7
  159. package/src/generators/setup-ssr/lib/add-dependencies.js +7 -4
  160. package/src/generators/setup-ssr/lib/add-hydration.js +3 -10
  161. package/src/generators/setup-ssr/lib/add-server-file.js +2 -7
  162. package/src/generators/setup-ssr/lib/generate-files.js +4 -17
  163. package/src/generators/setup-ssr/lib/generate-server-ts-config.js +2 -5
  164. package/src/generators/setup-ssr/lib/normalize-options.js +2 -2
  165. package/src/generators/setup-ssr/lib/update-project-config.js +0 -5
  166. package/src/generators/setup-ssr/lib/validate-options.js +2 -2
  167. package/src/generators/setup-ssr/schema.json +1 -1
  168. package/src/generators/utils/add-jest.js +1 -6
  169. package/src/generators/utils/assert-mf-utils.d.ts +1 -0
  170. package/src/generators/utils/assert-mf-utils.js +11 -0
  171. package/src/generators/utils/ensure-angular-dependencies.js +3 -6
  172. package/src/generators/utils/export-scam.d.ts +0 -1
  173. package/src/generators/utils/export-scam.js +2 -1
  174. package/src/generators/utils/find-module.js +13 -18
  175. package/src/generators/utils/storybook-ast/component-info.js +24 -40
  176. package/src/generators/utils/storybook-ast/module-info.d.ts +1 -1
  177. package/src/generators/utils/storybook-ast/module-info.js +8 -3
  178. package/src/generators/utils/testing.js +28 -28
  179. package/src/generators/utils/version-utils.js +2 -2
  180. package/src/generators/web-worker/lib/add-snippet.js +3 -3
  181. package/src/plugins/plugin.js +13 -22
  182. package/src/utils/backward-compatible-versions.d.ts +2 -2
  183. package/src/utils/backward-compatible-versions.js +21 -20
  184. package/src/utils/nx-devkit/ast-utils.js +3 -17
  185. package/src/utils/nx-devkit/testing.js +9 -9
  186. package/src/utils/versions.d.ts +4 -3
  187. package/src/utils/versions.js +5 -4
  188. package/src/executors/utilities/builder-package.d.ts +0 -1
  189. package/src/executors/utilities/builder-package.js +0 -11
  190. package/src/generators/application/files/ng-module/src/app/app__componentFileSuffix__.spec.ts__tpl__ +0 -28
  191. package/src/generators/application/files/ng-module/src/app/app__moduleTypeSeparator__module.ts__tpl__ +0 -17
  192. package/src/generators/application/files/standalone-components/src/app/app__componentFileSuffix__.spec.ts__tpl__ +0 -27
  193. package/src/generators/setup-mf/files/host-files/__appFileName__.spec.ts__tmpl__ +0 -43
  194. package/src/generators/setup-ssr/files/v20+/application-builder/ngmodule-src/__main__ +0 -1
  195. package/src/generators/setup-ssr/files/v20+/application-builder/ngmodule-src/app/__rootModuleFileName__ +0 -12
  196. package/src/generators/setup-ssr/files/v20+/application-builder/ngmodule-src/app/app.routes.server.ts__tpl__ +0 -8
  197. package/src/generators/setup-ssr/files/v20+/application-builder/server/__serverFileName__ +0 -66
  198. package/src/generators/setup-ssr/files/v20+/application-builder/standalone-src/__main__ +0 -7
  199. package/src/generators/setup-ssr/files/v20+/application-builder/standalone-src/app/app.config.server.ts__tpl__ +0 -12
  200. package/src/generators/setup-ssr/files/v20+/application-builder/standalone-src/app/app.routes.server.ts__tpl__ +0 -8
  201. package/src/generators/setup-ssr/files/v20+/server-builder/ngmodule-src/__main__ +0 -1
  202. package/src/generators/setup-ssr/files/v20+/server-builder/ngmodule-src/app/__rootModuleFileName__ +0 -14
  203. package/src/generators/setup-ssr/files/v20+/server-builder/root/tsconfig.server.json.template +0 -16
  204. package/src/generators/setup-ssr/files/v20+/server-builder/server/__serverFileName__ +0 -69
  205. package/src/generators/setup-ssr/files/v20+/server-builder/standalone-src/__main__ +0 -7
  206. package/src/generators/setup-ssr/files/v20+/server-builder/standalone-src/app/app.config.server.ts.template +0 -11
  207. package/src/generators/utils/app-components-info.d.ts +0 -9
  208. package/src/generators/utils/app-components-info.js +0 -39
  209. package/src/generators/utils/artifact-types.d.ts +0 -3
  210. package/src/generators/utils/artifact-types.js +0 -33
  211. package/src/migrations/update-21-2-0/migrate-provide-server-rendering-import.d.ts +0 -2
  212. package/src/migrations/update-21-2-0/migrate-provide-server-rendering-import.js +0 -110
  213. package/src/migrations/update-21-2-0/replace-provide-server-routing.d.ts +0 -2
  214. package/src/migrations/update-21-2-0/replace-provide-server-routing.js +0 -103
  215. package/src/migrations/update-21-2-0/set-generator-defaults-for-previous-style-guide.d.ts +0 -2
  216. package/src/migrations/update-21-2-0/set-generator-defaults-for-previous-style-guide.js +0 -47
  217. package/src/migrations/update-21-2-0/update-angular-cli.d.ts +0 -3
  218. package/src/migrations/update-21-2-0/update-angular-cli.js +0 -23
  219. /package/src/generators/application/files/{base → base-18+}/public/favicon.ico +0 -0
  220. /package/src/generators/application/files/{ng-module/src/app/app__componentFileSuffix__.__style__ → base-pre18/src/assets/.gitkeep__tpl__} +0 -0
  221. /package/src/generators/application/files/{standalone-components/src/app/app__componentFileSuffix__.__style__ → ng-module/src/app/app.component.__style__} +0 -0
  222. /package/src/generators/application/files/ng-module/src/app/{app__componentFileSuffix__.html__tpl__ → app.component.html__tpl__} +0 -0
  223. /package/src/generators/application/files/standalone-components/src/app/{app__componentFileSuffix__.html__tpl__ → app.component.html__tpl__} +0 -0
  224. /package/src/generators/component/files/{__fileName____ngext__.html__tpl__ → __fileName__.html__tpl__} +0 -0
  225. /package/src/generators/library/files/ng-module/src/lib/{__libFileName____moduleTypeSeparator__module.ts__tpl__ → __libFileName__.module.ts__tpl__} +0 -0
  226. /package/src/generators/library-secondary-entry-point/files/src/lib/{__fileName____moduleTypeSeparator__module.ts__tmpl__ → __fileName__.module.ts__tmpl__} +0 -0
  227. /package/src/generators/setup-ssr/files/{v19 → v19+}/application-builder/ngmodule-src/__main__ +0 -0
  228. /package/src/generators/setup-ssr/files/{v19 → v19+}/application-builder/ngmodule-src/app/__rootModuleFileName__ +0 -0
  229. /package/src/generators/setup-ssr/files/{v19 → v19+}/application-builder/ngmodule-src/app/app.routes.server.ts__tpl__ +0 -0
  230. /package/src/generators/setup-ssr/files/{v19 → v19+}/application-builder/server/__serverFileName__ +0 -0
  231. /package/src/generators/setup-ssr/files/{v19 → v19+}/application-builder/standalone-src/__main__ +0 -0
  232. /package/src/generators/setup-ssr/files/{v19 → v19+}/application-builder/standalone-src/app/app.config.server.ts__tpl__ +0 -0
  233. /package/src/generators/setup-ssr/files/{v19 → v19+}/application-builder/standalone-src/app/app.routes.server.ts__tpl__ +0 -0
  234. /package/src/generators/setup-ssr/files/{v19 → v19+}/application-builder-common-engine/server/__serverFileName__ +0 -0
  235. /package/src/generators/setup-ssr/files/{v19 → v19+}/server-builder/ngmodule-src/__main__ +0 -0
  236. /package/src/generators/setup-ssr/files/{v19 → v19+}/server-builder/ngmodule-src/app/__rootModuleFileName__ +0 -0
  237. /package/src/generators/setup-ssr/files/{v19 → v19+}/server-builder/root/tsconfig.server.json.template +0 -0
  238. /package/src/generators/setup-ssr/files/{v19 → v19+}/server-builder/server/__serverFileName__ +0 -0
  239. /package/src/generators/setup-ssr/files/{v19 → v19+}/server-builder/standalone-src/__main__ +0 -0
  240. /package/src/generators/setup-ssr/files/{v19 → v19+}/server-builder/standalone-src/app/app.config.server.ts.template +0 -0
@@ -12,8 +12,14 @@ const remote_1 = tslib_1.__importDefault(require("../remote/remote"));
12
12
  const setup_mf_1 = require("../setup-mf/setup-mf");
13
13
  const add_mf_env_to_inputs_1 = require("../utils/add-mf-env-to-inputs");
14
14
  const lib_1 = require("./lib");
15
+ const assert_mf_utils_1 = require("../utils/assert-mf-utils");
16
+ const convert_to_rspack_1 = tslib_1.__importDefault(require("../convert-to-rspack/convert-to-rspack"));
15
17
  async function host(tree, schema) {
16
18
  (0, ts_solution_setup_1.assertNotUsingTsSolutionSetup)(tree, 'angular', 'host');
19
+ // TODO: Replace with Rspack when confidence is high enough
20
+ schema.bundler ??= 'webpack';
21
+ const isRspack = schema.bundler === 'rspack';
22
+ (0, assert_mf_utils_1.assertRspackIsCSR)(schema.bundler, schema.ssr ?? false, schema.serverRouting ?? false);
17
23
  const { typescriptConfiguration = true, ...options } = schema;
18
24
  options.standalone = options.standalone ?? true;
19
25
  const projects = (0, devkit_1.getProjects)(tree);
@@ -75,7 +81,8 @@ async function host(tree, schema) {
75
81
  let ssrInstallTask = await (0, lib_1.updateSsrSetup)(tree, options, hostProjectName, typescriptConfiguration);
76
82
  installTasks.push(ssrInstallTask);
77
83
  }
78
- for (const remote of remotesToGenerate) {
84
+ for (let i = 0; i < remotesToGenerate.length; i++) {
85
+ const remote = remotesToGenerate[i];
79
86
  const remoteDirectory = options.directory
80
87
  ? (0, devkit_1.joinPathFragments)(options.directory, '..', remote)
81
88
  : appRoot === '.'
@@ -86,12 +93,25 @@ async function host(tree, schema) {
86
93
  name: remote,
87
94
  directory: remoteDirectory,
88
95
  host: hostProjectName,
96
+ port: isRspack ? 4200 + i + 1 : undefined,
89
97
  skipFormat: true,
90
98
  standalone: options.standalone,
91
99
  typescriptConfiguration,
92
100
  });
93
101
  }
94
102
  (0, add_mf_env_to_inputs_1.addMfEnvToTargetDefaultInputs)(tree);
103
+ if (isRspack) {
104
+ await (0, convert_to_rspack_1.default)(tree, {
105
+ project: hostProjectName,
106
+ skipInstall: options.skipPackageJson,
107
+ skipFormat: true,
108
+ });
109
+ }
110
+ const project = (0, devkit_1.readProjectConfiguration)(tree, hostProjectName);
111
+ project.targets.serve ??= {};
112
+ project.targets.serve.options ??= {};
113
+ project.targets.serve.options.port = 4200;
114
+ (0, devkit_1.updateProjectConfiguration)(tree, hostProjectName, project);
95
115
  if (!options.skipFormat) {
96
116
  await (0, devkit_1.formatFiles)(tree);
97
117
  }
@@ -5,6 +5,7 @@ import type { Styles } from '../utils/types';
5
5
  export interface Schema {
6
6
  directory: string;
7
7
  name?: string;
8
+ bundler?: 'webpack' | 'rspack';
8
9
  remotes?: string[];
9
10
  dynamic?: boolean;
10
11
  setParserOptionsProject?: boolean;
@@ -37,6 +37,12 @@
37
37
  "x-priority": "important",
38
38
  "alias": "producers"
39
39
  },
40
+ "bundler": {
41
+ "type": "string",
42
+ "description": "The bundler to use for the host application.",
43
+ "default": "webpack",
44
+ "enum": ["webpack", "rspack"]
45
+ },
40
46
  "dynamic": {
41
47
  "type": "boolean",
42
48
  "description": "Should the host application use dynamic federation?",
@@ -172,7 +178,7 @@
172
178
  "x-priority": "important"
173
179
  },
174
180
  "serverRouting": {
175
- "description": "Creates a server application using the Server Routing and App Engine APIs for application using the `application` builder (Developer Preview). _Note: this is only supported in Angular versions 19.x.x_. From Angular 20 onwards, SSR will always enable server routing when using the `application` builder.",
181
+ "description": "Creates a server application using the Server Routing and App Engine APIs (Developer Preview). _Note: this is only supported in Angular versions >= 19.0.0_.",
176
182
  "type": "boolean"
177
183
  },
178
184
  "typescriptConfiguration": {
@@ -29,7 +29,7 @@ function installAngularDevkitCoreIfMissing(tree, options) {
29
29
  const packageVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, '@angular-devkit/core');
30
30
  if (!packageVersion) {
31
31
  const pkgVersions = (0, version_utils_1.versions)(tree);
32
- const devkitVersion = (0, version_utils_1.getInstalledAngularDevkitVersion)(tree) ??
32
+ const devkitVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, '@angular-devkit/build-angular') ??
33
33
  pkgVersions.angularDevkitVersion;
34
34
  try {
35
35
  (0, devkit_1.ensurePackage)('@angular-devkit/core', devkitVersion);
@@ -1,2 +1,2 @@
1
- <% if (!skipModule) { %>export * from './lib/<%= libFileName %><%= moduleTypeSeparator %>module';<% } %><% if(routing) { %>
1
+ <% if (!skipModule) { %>export * from './lib/<%= libFileName %>.module';<% } %><% if(routing) { %>
2
2
  export * from './lib/lib.routes';<% } %>
@@ -1,6 +1,6 @@
1
1
  import { Route } from '@angular/router';
2
- import { <%= libClassName %><%= componentType %> } from './<%= pathToComponent %><%= componentFileSuffix %>';
2
+ import { <%= libClassName %>Component } from './<%= pathToComponent %>.component';
3
3
 
4
4
  export const <%= libPropertyName %>Routes: Route[] = [
5
- { path: '', component: <%= libClassName %><%= componentType %> }
5
+ { path: '', component: <%= libClassName %>Component }
6
6
  ];
@@ -14,7 +14,6 @@ async function addStandaloneComponent(tree, { libraryOptions, componentOptions }
14
14
  : `${componentOptions.name}/${componentOptions.name}`),
15
15
  standalone: true,
16
16
  export: true,
17
- type: componentOptions.type,
18
17
  skipFormat: true,
19
18
  });
20
19
  if (libraryOptions.routing) {
@@ -15,12 +15,6 @@ function createFiles(tree, options, project) {
15
15
  const version = (0, version_utils_1.getInstalledAngularVersion)(tree);
16
16
  const { major, minor } = (0, semver_1.parse)(version);
17
17
  const disableModernClassFieldsBehavior = (0, semver_1.lt)(version, '18.1.0-rc.0');
18
- const componentType = options.componentOptions.type
19
- ? (0, devkit_1.names)(options.componentOptions.type).className
20
- : '';
21
- const componentFileSuffix = options.componentOptions.type
22
- ? `.${options.componentOptions.type}`
23
- : '';
24
18
  const substitutions = {
25
19
  libName: options.libraryOptions.name,
26
20
  libFileName: options.libraryOptions.fileName,
@@ -36,9 +30,6 @@ function createFiles(tree, options, project) {
36
30
  rootOffset,
37
31
  angularPeerDepVersion: `^${major}.${minor}.0`,
38
32
  disableModernClassFieldsBehavior,
39
- componentType,
40
- componentFileSuffix,
41
- moduleTypeSeparator: options.libraryOptions.moduleTypeSeparator,
42
33
  tpl: '',
43
34
  };
44
35
  (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/base'), options.libraryOptions.projectRoot, substitutions);
@@ -48,7 +39,7 @@ function createFiles(tree, options, project) {
48
39
  else {
49
40
  (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/ng-module'), options.libraryOptions.projectRoot, substitutions);
50
41
  if (options.libraryOptions.skipModule) {
51
- tree.delete(options.libraryOptions.modulePath);
42
+ tree.delete((0, devkit_1.joinPathFragments)(project.sourceRoot, `lib/${options.libraryOptions.fileName}.module.ts`));
52
43
  }
53
44
  }
54
45
  if (!options.libraryOptions.routing) {
@@ -1,5 +1,5 @@
1
1
  import type { Tree } from '@nx/devkit';
2
- import type { NormalizedSchema } from './normalized-schema';
2
+ import { NormalizedSchema } from './normalized-schema';
3
3
  /**
4
4
  * Enable Strict Mode in the library and spec TS Config
5
5
  * */
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.enableStrictTypeChecking = enableStrictTypeChecking;
4
4
  exports.setLibraryStrictDefault = setLibraryStrictDefault;
5
5
  const devkit_1 = require("@nx/devkit");
6
- const version_utils_1 = require("../../utils/version-utils");
7
6
  /**
8
7
  * Enable Strict Mode in the library and spec TS Config
9
8
  * */
@@ -22,7 +21,6 @@ function setLibraryStrictDefault(host, isStrict) {
22
21
  (0, devkit_1.updateNxJson)(host, nxJson);
23
22
  }
24
23
  function updateTsConfig(host, options) {
25
- const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(host);
26
24
  // Update the settings in the tsconfig.app.json to enable strict type checking.
27
25
  // This matches the settings defined by the Angular CL https://angular.io/guide/strict-mode
28
26
  (0, devkit_1.updateJson)(host, `${options.projectRoot}/tsconfig.json`, (json) => {
@@ -42,7 +40,6 @@ function updateTsConfig(host, options) {
42
40
  enableI18nLegacyMessageIdFormat: false,
43
41
  strictInjectionParameters: true,
44
42
  strictInputAccessModifiers: true,
45
- typeCheckHostBindings: angularMajorVersion >= 20 ? true : undefined,
46
43
  strictTemplates: true,
47
44
  };
48
45
  return json;
@@ -1,4 +1,4 @@
1
- import { type Tree } from '@nx/devkit';
2
- import type { Schema } from '../schema';
3
- import type { NormalizedSchema } from './normalized-schema';
1
+ import { Tree } from '@nx/devkit';
2
+ import { Schema } from '../schema';
3
+ import { NormalizedSchema } from './normalized-schema';
4
4
  export declare function normalizeOptions(host: Tree, schema: Schema): Promise<NormalizedSchema>;
@@ -4,7 +4,6 @@ exports.normalizeOptions = normalizeOptions;
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
6
  const test_runners_1 = require("../../../utils/test-runners");
7
- const artifact_types_1 = require("../../utils/artifact-types");
8
7
  async function normalizeOptions(host, schema) {
9
8
  schema.standalone = schema.standalone ?? true;
10
9
  // Create a schema with populated default values
@@ -36,8 +35,7 @@ async function normalizeOptions(host, schema) {
36
35
  const parsedTags = options.tags
37
36
  ? options.tags.split(',').map((s) => s.trim())
38
37
  : [];
39
- const moduleTypeSeparator = (0, artifact_types_1.getModuleTypeSeparator)(host);
40
- const modulePath = `${projectRoot}/src/lib/${fileName}${moduleTypeSeparator}module.ts`;
38
+ const modulePath = `${projectRoot}/src/lib/${fileName}.module.ts`;
41
39
  const ngCliSchematicLibRoot = projectName;
42
40
  const allNormalizedOptions = {
43
41
  ...options,
@@ -55,10 +53,8 @@ async function normalizeOptions(host, schema) {
55
53
  ngCliSchematicLibRoot,
56
54
  skipTests: options.unitTestRunner === 'none' ? true : options.skipTests,
57
55
  standaloneComponentName: `${(0, devkit_1.names)(projectNames.projectSimpleName).className}Component`,
58
- moduleTypeSeparator,
59
56
  };
60
57
  const { displayBlock, inlineStyle, inlineTemplate, viewEncapsulation, changeDetection, style, skipTests, selector, skipSelector, flat, ...libraryOptions } = allNormalizedOptions;
61
- const componentType = (0, artifact_types_1.getComponentType)(host);
62
58
  return {
63
59
  libraryOptions,
64
60
  componentOptions: {
@@ -74,7 +70,6 @@ async function normalizeOptions(host, schema) {
74
70
  selector,
75
71
  skipSelector,
76
72
  flat,
77
- type: componentType,
78
73
  },
79
74
  };
80
75
  }
@@ -36,7 +36,6 @@ export interface NormalizedSchema {
36
36
  parsedTags: string[];
37
37
  ngCliSchematicLibRoot: string;
38
38
  standaloneComponentName: string;
39
- moduleTypeSeparator: '-' | '.';
40
39
  };
41
40
  componentOptions: {
42
41
  name: string;
@@ -51,6 +50,5 @@ export interface NormalizedSchema {
51
50
  selector?: string;
52
51
  skipSelector?: boolean;
53
52
  flat?: boolean;
54
- type?: string;
55
53
  };
56
54
  }
@@ -1 +1 @@
1
- <% if (!skipModule) { %>export * from './lib/<%= fileName %><%= moduleTypeSeparator %>module';<% } else { %>export const greeting = 'Hello World!';<% } %>
1
+ <% if (!skipModule) { %>export * from './lib/<%= fileName %>.module';<% } else { %>export const greeting = 'Hello World!';<% } %>
@@ -7,10 +7,9 @@ function addFiles(tree, options) {
7
7
  (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '..', 'files'), options.entryPointDestination, {
8
8
  ...options,
9
9
  ...nameVariants,
10
- moduleTypeSeparator: options.moduleTypeSeparator,
11
10
  tmpl: '',
12
11
  });
13
12
  if (options.skipModule) {
14
- tree.delete((0, devkit_1.joinPathFragments)(options.entryPointDestination, `src/lib/${nameVariants.fileName}${options.moduleTypeSeparator}module.ts`));
13
+ tree.delete((0, devkit_1.joinPathFragments)(options.entryPointDestination, `src/lib/${nameVariants.fileName}.module.ts`));
15
14
  }
16
15
  }
@@ -1,3 +1,3 @@
1
- import { type Tree } from '@nx/devkit';
2
- import type { GeneratorOptions, NormalizedGeneratorOptions } from '../schema';
1
+ import { Tree } from '@nx/devkit';
2
+ import { GeneratorOptions, NormalizedGeneratorOptions } from '../schema';
3
3
  export declare function normalizeOptions(tree: Tree, options: GeneratorOptions): NormalizedGeneratorOptions;
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.normalizeOptions = normalizeOptions;
4
4
  const devkit_1 = require("@nx/devkit");
5
- const artifact_types_1 = require("../../utils/artifact-types");
6
5
  function normalizeOptions(tree, options) {
7
6
  const name = (0, devkit_1.names)(options.name).fileName;
8
7
  const projects = (0, devkit_1.getProjects)(tree);
@@ -19,7 +18,6 @@ function normalizeOptions(tree, options) {
19
18
  }
20
19
  const { name: mainEntryPoint } = (0, devkit_1.readJson)(tree, (0, devkit_1.joinPathFragments)(libraryProject.root, 'package.json'));
21
20
  const secondaryEntryPoint = `${mainEntryPoint}/${options.name}`;
22
- const moduleTypeSeparator = (0, artifact_types_1.getModuleTypeSeparator)(tree);
23
21
  return {
24
22
  ...options,
25
23
  entryPointDestination,
@@ -28,6 +26,5 @@ function normalizeOptions(tree, options) {
28
26
  libraryProject,
29
27
  secondaryEntryPoint,
30
28
  skipModule: options.skipModule ?? false,
31
- moduleTypeSeparator,
32
29
  };
33
30
  }
@@ -13,5 +13,4 @@ export interface NormalizedGeneratorOptions extends GeneratorOptions {
13
13
  mainEntryPoint: string;
14
14
  secondaryEntryPoint: string;
15
15
  skipModule: boolean;
16
- moduleTypeSeparator: '-' | '.';
17
16
  }
@@ -28,19 +28,12 @@ function updateModuleName(tree, { oldProjectName, newProjectName }) {
28
28
  to: `${(0, devkit_1.names)(unscopedNewProjectName).className}Module`,
29
29
  };
30
30
  const findModuleName = new RegExp(`\\b${moduleName.from}`, 'g');
31
- const moduleFiles = [
32
- {
33
- from: `${oldProjectName}.module`,
34
- fromRegex: new RegExp(`\\b${oldProjectName}\\.module`, 'g'),
35
- to: `${unscopedNewProjectName}.module`,
36
- },
37
- {
38
- from: `${oldProjectName}-module`,
39
- fromRegex: new RegExp(`\\b${oldProjectName}-module`, 'g'),
40
- to: `${unscopedNewProjectName}-module`,
41
- },
42
- ];
43
- const filesToRename = moduleFiles.flatMap((moduleFile) => [
31
+ const moduleFile = {
32
+ from: `${oldProjectName}.module`,
33
+ to: `${unscopedNewProjectName}.module`,
34
+ };
35
+ const findFileName = new RegExp(`\\b${moduleFile.from}`, 'g');
36
+ const filesToRename = [
44
37
  {
45
38
  from: `${project.sourceRoot}/lib/${moduleFile.from}.ts`,
46
39
  to: `${project.sourceRoot}/lib/${moduleFile.to}.ts`,
@@ -49,15 +42,15 @@ function updateModuleName(tree, { oldProjectName, newProjectName }) {
49
42
  from: `${project.sourceRoot}/lib/${moduleFile.from}.spec.ts`,
50
43
  to: `${project.sourceRoot}/lib/${moduleFile.to}.spec.ts`,
51
44
  },
52
- ].filter((rename) => rename.from !== rename.to));
45
+ ].filter((rename) => rename.from !== rename.to);
53
46
  if (filesToRename.length === 0) {
54
47
  return;
55
48
  }
56
49
  const replacements = [
57
- ...moduleFiles.map((moduleFile) => ({
58
- regex: moduleFile.fromRegex,
50
+ {
51
+ regex: findFileName,
59
52
  replaceWith: moduleFile.to,
60
- })),
53
+ },
61
54
  {
62
55
  regex: findModuleName,
63
56
  replaceWith: moduleName.to,
@@ -8,6 +8,9 @@ const libraryExecutors = [
8
8
  '@angular/build:ng-packagr',
9
9
  '@nx/angular:ng-packagr-lite',
10
10
  '@nx/angular:package',
11
+ // TODO(v17): remove when @nrwl/* scope is removed
12
+ '@nrwl/angular:ng-packagr-lite',
13
+ '@nrwl/angular:package',
11
14
  ];
12
15
  function updateSecondaryEntryPoints(tree, schema) {
13
16
  if (schema.oldProjectName === schema.newProjectName) {
@@ -7,7 +7,7 @@ const path_1 = require("path");
7
7
  const builder_migrator_1 = require("./builder.migrator");
8
8
  class AngularDevkitKarmaMigrator extends builder_migrator_1.BuilderMigrator {
9
9
  constructor(tree, project, projectConfig, logger) {
10
- super(tree, ['@angular/build:karma', '@angular-devkit/build-angular:karma'], 'karma', project, projectConfig, logger);
10
+ super(tree, ['@angular-devkit/build-angular:karma'], 'karma', project, projectConfig, logger);
11
11
  }
12
12
  migrate() {
13
13
  if (this.skipMigration) {
@@ -11,7 +11,6 @@ const project_migrator_1 = require("./project.migrator");
11
11
  const supportedTargets = {
12
12
  build: {
13
13
  builders: [
14
- '@angular/build:application',
15
14
  '@angular-devkit/build-angular:application',
16
15
  '@angular-devkit/build-angular:browser',
17
16
  '@angular-devkit/build-angular:browser-esbuild',
@@ -24,24 +23,14 @@ const supportedTargets = {
24
23
  '@cypress/schematic:cypress',
25
24
  ],
26
25
  },
27
- i18n: {
28
- builders: [
29
- '@angular/build:extract-i18n',
30
- '@angular-devkit/build-angular:extract-i18n',
31
- ],
32
- },
26
+ i18n: { builders: ['@angular-devkit/build-angular:extract-i18n'] },
33
27
  prerender: {
34
28
  builders: [
35
29
  '@nguniversal/builders:prerender',
36
30
  '@angular-devkit/build-angular:prerender',
37
31
  ],
38
32
  },
39
- serve: {
40
- builders: [
41
- '@angular/build:dev-server',
42
- '@angular-devkit/build-angular:dev-server',
43
- ],
44
- },
33
+ serve: { builders: ['@angular-devkit/build-angular:dev-server'] },
45
34
  server: { builders: ['@angular-devkit/build-angular:server'] },
46
35
  serveSsr: {
47
36
  builders: [
@@ -148,34 +137,10 @@ class AppMigrator extends project_migrator_1.ProjectMigrator {
148
137
  this.updateTsConfigFileUsedByBuildTarget(rootTsConfigFile, projectOffsetFromRoot);
149
138
  this.updateTsConfigFileUsedByServerTarget(projectOffsetFromRoot);
150
139
  }
151
- convertBuildOptions(buildOptions, target, updateOutputs = true) {
152
- const { executor } = target;
153
- const isApplicationBuilder = executor === '@angular/build:application' ||
154
- executor === '@angular-devkit/build-angular:application';
155
- if (updateOutputs) {
156
- if (buildOptions.outputPath) {
157
- if (isApplicationBuilder) {
158
- if (typeof buildOptions.outputPath === 'string') {
159
- buildOptions.outputPath = (0, devkit_1.joinPathFragments)('dist', this.project.newRoot);
160
- }
161
- else if (buildOptions.outputPath.base) {
162
- buildOptions.outputPath.base = (0, devkit_1.joinPathFragments)('dist', this.project.newRoot);
163
- }
164
- }
165
- else {
166
- buildOptions.outputPath = (0, devkit_1.joinPathFragments)('dist', this.project.newRoot, this.targetNames.server ? 'browser' : '');
167
- }
168
- }
169
- else if (isApplicationBuilder) {
170
- buildOptions.outputPath = (0, devkit_1.joinPathFragments)('dist', this.projectName);
171
- }
172
- if (typeof buildOptions.outputPath === 'string') {
173
- target.outputs = ['{options.outputPath}'];
174
- }
175
- else if (buildOptions.outputPath?.base) {
176
- target.outputs = ['{options.outputPath.base}'];
177
- }
178
- }
140
+ convertBuildOptions(buildOptions) {
141
+ buildOptions.outputPath =
142
+ buildOptions.outputPath &&
143
+ (0, devkit_1.joinPathFragments)('dist', this.project.newRoot, this.targetNames.server ? 'browser' : '');
179
144
  if (buildOptions.index) {
180
145
  if (typeof buildOptions.index === 'string') {
181
146
  buildOptions.index = this.convertAsset(buildOptions.index);
@@ -272,8 +237,8 @@ class AppMigrator extends project_migrator_1.ProjectMigrator {
272
237
  this.logger.warn(`The tsConfig file "${buildDevTsConfig}" specified in the "${this.targetNames.build}" target could not be found. Skipping updating the tsConfig file.`);
273
238
  }
274
239
  }
275
- this.convertBuildOptions(buildTarget.options ?? {}, buildTarget);
276
- Object.values(buildTarget.configurations ?? {}).forEach((config) => this.convertBuildOptions(config, buildTarget, false));
240
+ this.convertBuildOptions(buildTarget.options ?? {});
241
+ Object.values(buildTarget.configurations ?? {}).forEach((config) => this.convertBuildOptions(config));
277
242
  }
278
243
  updatePrerenderTargetConfiguration() {
279
244
  if (!this.targetNames.prerender ||
@@ -8,11 +8,11 @@
8
8
  "type": "object",
9
9
  "examples": [
10
10
  {
11
- "command": "nx g @nx/angular:ngrx --root --parent=apps/my-app/src/app/app-module.ts --facade=false placeholder",
11
+ "command": "nx g @nx/angular:ngrx --root --parent=apps/my-app/src/app/app.module.ts --facade=false placeholder",
12
12
  "description": "Add root ngrx configration to the `my-app` application"
13
13
  },
14
14
  {
15
- "command": "nx g @nx/angular:ngrx --parent=libs/my-lib/src/lib/my-lib-module.ts --facade=true --root=false users",
15
+ "command": "nx g @nx/angular:ngrx --parent=libs/my-lib/src/lib/my-lib.module.ts --facade=true --root=false users",
16
16
  "description": "Add a `users` state with a facade to the `my-lib` library. It will be tracked under the default `+state` folder in the lib"
17
17
  },
18
18
  {
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "parent": {
44
44
  "type": "string",
45
- "description": "The path to the file where the state will be registered. For NgModule usage, this will be your `app-module.ts` for your root state, or your Feature Module for feature state. For Standalone API usage, this will be your `app.config.ts` file for your root state, or the Routes definition file for your feature state. The host directory will create/use the new state directory.",
45
+ "description": "The path to the file where the state will be registered. For NgModule usage, this will be your `app.module.ts` for your root state, or your Feature Module for feature state. For Standalone API usage, this will be your `app.config.ts` file for your root state, or the Routes definition file for your feature state. The host directory will create/use the new state directory.",
46
46
  "x-prompt": "What is the path to the module or Routes definition where this NgRx state should be registered?",
47
47
  "x-priority": "important"
48
48
  },
@@ -16,11 +16,7 @@ function normalizeOptions(tree, options) {
16
16
  const project = (0, devkit_1.readProjectConfiguration)(tree, options.project);
17
17
  const isStandalone = (0, ast_utils_1.isNgStandaloneApp)(tree, options.project);
18
18
  const appConfigPath = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.config.ts');
19
- let appMainPath = project.targets.build.options.main ?? project.targets.build.options.browser;
20
- if (!appMainPath) {
21
- const sourceRoot = project.sourceRoot ?? (0, devkit_1.joinPathFragments)(project.root, 'src');
22
- appMainPath = (0, devkit_1.joinPathFragments)(sourceRoot, 'main.ts');
23
- }
19
+ const appMainPath = project.targets.build.options.main ?? project.targets.build.options.browser;
24
20
  /** If NgModule App
25
21
  * -> Use App Module
26
22
  * If Standalone
@@ -28,10 +24,7 @@ function normalizeOptions(tree, options) {
28
24
  * --> If so, use that
29
25
  * --> If not, use main.ts
30
26
  */
31
- let ngModulePath = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.module.ts');
32
- if (!tree.exists(ngModulePath)) {
33
- ngModulePath = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app-module.ts');
34
- }
27
+ const ngModulePath = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.module.ts');
35
28
  const parent = !isStandalone && tree.exists(ngModulePath)
36
29
  ? ngModulePath
37
30
  : tree.exists(appConfigPath)
@@ -4,15 +4,11 @@ exports.normalizeOptions = normalizeOptions;
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  const artifact_name_and_directory_utils_1 = require("@nx/devkit/src/generators/artifact-name-and-directory-utils");
6
6
  const validations_1 = require("../../utils/validations");
7
- const version_utils_1 = require("../../utils/version-utils");
8
7
  async function normalizeOptions(tree, options) {
9
- const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
10
- options.typeSeparator ??= angularMajorVersion < 20 ? '.' : '-';
11
8
  const { artifactName: name, directory, fileName, filePath, project: projectName, } = await (0, artifact_name_and_directory_utils_1.determineArtifactNameAndDirectoryOptions)(tree, {
12
9
  name: options.name,
13
10
  path: options.path,
14
11
  suffix: 'pipe',
15
- suffixSeparator: options.typeSeparator,
16
12
  allowedFileExtensions: ['ts'],
17
13
  fileExtension: 'ts',
18
14
  });
@@ -14,7 +14,7 @@ async function pipeGenerator(tree, rawOptions) {
14
14
  fileName: options.fileName,
15
15
  selector: pipeNames.propertyName,
16
16
  standalone: options.standalone,
17
- // Angular v19 or higher defaults to true, while lower versions default to false
17
+ // Angular v19 or higher defaults to true, while v18 or lower defaults to false
18
18
  setStandalone: (angularMajorVersion >= 19 && !options.standalone) ||
19
19
  (angularMajorVersion < 19 && options.standalone),
20
20
  tpl: '',
@@ -6,7 +6,6 @@ export interface Schema {
6
6
  standalone?: boolean;
7
7
  module?: string;
8
8
  export?: boolean;
9
- typeSeparator?: string;
10
9
  skipFormat?: boolean;
11
10
  }
12
11
 
@@ -12,15 +12,11 @@
12
12
  "command": "nx g @nx/angular:pipe mylib/src/lib/foo.pipe.ts"
13
13
  },
14
14
  {
15
- "description": "Generate a pipe without providing the file extension. It results in the pipe `FooPipe` at `mylib/src/lib/foo-pipe.ts`",
15
+ "description": "Generate a pipe without providing the file extension. It results in the pipe `FooPipe` at `mylib/src/lib/foo.pipe.ts`",
16
16
  "command": "nx g @nx/angular:pipe mylib/src/lib/foo"
17
17
  },
18
18
  {
19
- "description": "Generate a pipe with a different type separator. It results in the pipe `FooPipe` at `mylib/src/lib/foo.pipe.ts`",
20
- "command": "nx g @nx/angular:pipe mylib/src/lib/foo --typeSeparator=."
21
- },
22
- {
23
- "description": "Generate a pipe with the exported symbol different from the file name. It results in the pipe `CustomPipe` at `mylib/src/lib/foo-pipe.ts`",
19
+ "description": "Generate a pipe with the exported symbol different from the file name. It results in the pipe `CustomPipe` at `mylib/src/lib/foo.pipe.ts`",
24
20
  "command": "nx g @nx/angular:pipe mylib/src/lib/foo --name=custom"
25
21
  }
26
22
  ],
@@ -63,11 +59,6 @@
63
59
  "default": false,
64
60
  "description": "The declaring NgModule exports this pipe."
65
61
  },
66
- "typeSeparator": {
67
- "type": "string",
68
- "enum": ["-", "."],
69
- "description": "The separator character to use before the type within the generated file's name. For example, if you set the option to `.`, the file will be named `example.pipe.ts`. It defaults to '-' for Angular v20+. For versions below v20, it defaults to '.'."
70
- },
71
62
  "skipFormat": {
72
63
  "type": "boolean",
73
64
  "default": false,
@@ -1,7 +1,7 @@
1
- import { bootstrapApplication } from '@angular/platform-browser';
2
- import { RemoteEntry<%= componentType %> } from './app/remote-entry/entry<%= componentFileSuffix %>';
3
- import { config } from './app/app.config.server';
1
+ import {bootstrapApplication} from '@angular/platform-browser';
2
+ import {RemoteEntryComponent} from './app/remote-entry/entry.component';
3
+ import {config} from './app/app.config.server';
4
4
 
5
- const bootstrap = () => bootstrapApplication(RemoteEntry<%= componentType %>, config);
5
+ const bootstrap = () => bootstrapApplication(RemoteEntryComponent, config);
6
6
 
7
7
  export default bootstrap;
@@ -4,7 +4,6 @@ exports.updateSsrSetup = updateSsrSetup;
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  const path_1 = require("path");
6
6
  const versions_1 = require("../../../utils/versions");
7
- const artifact_types_1 = require("../../utils/artifact-types");
8
7
  const version_utils_1 = require("../../utils/version-utils");
9
8
  async function updateSsrSetup(tree, { appName, port, standalone, typescriptConfiguration, skipPackageJson, }) {
10
9
  const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
@@ -29,13 +28,9 @@ async function updateSsrSetup(tree, { appName, port, standalone, typescriptConfi
29
28
  tmpl: '',
30
29
  });
31
30
  if (standalone) {
32
- const componentType = (0, artifact_types_1.getComponentType)(tree);
33
- const componentFileSuffix = componentType ? `.${componentType}` : '';
34
31
  (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/standalone'), project.root, {
35
32
  appName,
36
33
  standalone,
37
- componentType: componentType ? (0, devkit_1.names)(componentType).className : '',
38
- componentFileSuffix,
39
34
  tmpl: '',
40
35
  });
41
36
  }