@nx/react 24.0.0-pr.37405.acdaf31 → 24.0.0-rc.0

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 (232) hide show
  1. package/dist/index.d.ts +0 -2
  2. package/dist/index.js +1 -5
  3. package/dist/internal.d.ts +1 -0
  4. package/dist/internal.js +3 -1
  5. package/dist/module-federation.d.ts +6 -5
  6. package/dist/module-federation.js +29 -18
  7. package/dist/plugins/component-testing/index.js +92 -33
  8. package/dist/plugins/storybook/index.js +18 -18
  9. package/dist/plugins/with-react.d.ts +3 -7
  10. package/dist/plugins/with-react.js +5 -19
  11. package/dist/ready-check.d.ts +1 -0
  12. package/dist/ready-check.js +5 -0
  13. package/dist/src/generators/_utils/mf-dependencies.js +3 -0
  14. package/dist/src/generators/application/application.js +1 -36
  15. package/dist/src/generators/application/files/base-rspack/rspack.config.js__tmpl__ +1 -24
  16. package/dist/src/generators/application/files/base-webpack/webpack.config.js__tmpl__ +1 -26
  17. package/dist/src/generators/application/lib/add-e2e.js +11 -11
  18. package/dist/src/generators/application/lib/add-linting.js +1 -2
  19. package/dist/src/generators/application/lib/add-project.js +0 -167
  20. package/dist/src/generators/application/lib/bundlers/add-rsbuild.js +0 -1
  21. package/dist/src/generators/application/lib/bundlers/add-vite.js +0 -2
  22. package/dist/src/generators/application/lib/bundlers/add-webpack.js +0 -1
  23. package/dist/src/generators/application/lib/create-application-files.d.ts +0 -2
  24. package/dist/src/generators/application/lib/create-application-files.js +2 -11
  25. package/dist/src/generators/application/lib/normalize-options.js +0 -4
  26. package/dist/src/generators/application/schema.d.ts +0 -6
  27. package/dist/src/generators/application/schema.json +0 -6
  28. package/dist/src/generators/consumer/consumer.js +2 -0
  29. package/dist/src/generators/consumer/files/rsbuild/package.json__tmpl__ +1 -0
  30. package/dist/src/generators/consumer/files/rsbuild/rsbuild.config.ts__tmpl__ +2 -0
  31. package/dist/src/generators/consumer/files/rspack/package.json__tmpl__ +1 -0
  32. package/dist/src/generators/consumer/files/rspack/rspack.config.ts__tmpl__ +2 -0
  33. package/dist/src/generators/consumer/files/vite/package.json__tmpl__ +1 -0
  34. package/dist/src/generators/consumer/files/vite/vite.config.mts__tmpl__ +2 -0
  35. package/dist/src/generators/cypress-component-configuration/cypress-component-configuration.js +4 -16
  36. package/dist/src/generators/cypress-component-configuration/lib/add-files.d.ts +1 -2
  37. package/dist/src/generators/cypress-component-configuration/lib/add-files.js +4 -2
  38. package/dist/src/generators/cypress-component-configuration/schema.d.ts +0 -1
  39. package/dist/src/generators/init/init.js +3 -5
  40. package/dist/src/generators/init/schema.d.ts +0 -1
  41. package/dist/src/generators/library/lib/add-linting.js +1 -2
  42. package/dist/src/generators/library/lib/add-rollup-build-target.js +3 -47
  43. package/dist/src/generators/library/lib/normalize-options.js +0 -4
  44. package/dist/src/generators/library/library.js +1 -4
  45. package/dist/src/generators/library/schema.d.ts +0 -5
  46. package/dist/src/generators/library/schema.json +0 -6
  47. package/dist/src/generators/provider/files/rsbuild/package.json__tmpl__ +1 -0
  48. package/dist/src/generators/provider/files/rsbuild/rsbuild.config.ts__tmpl__ +2 -0
  49. package/dist/src/generators/provider/files/rspack/package.json__tmpl__ +1 -0
  50. package/dist/src/generators/provider/files/rspack/rspack.config.ts__tmpl__ +2 -0
  51. package/dist/src/generators/provider/files/vite/package.json__tmpl__ +1 -0
  52. package/dist/src/generators/provider/files/vite/vite.config.mts__tmpl__ +2 -0
  53. package/dist/src/generators/provider/provider.js +2 -0
  54. package/dist/src/generators/stories/stories.js +0 -5
  55. package/dist/src/generators/storybook-configuration/configuration.js +1 -9
  56. package/dist/src/generators/storybook-configuration/schema.d.ts +0 -1
  57. package/dist/src/migrations/update-23-2-0/add-optional-module-federation-packages.js +2 -1
  58. package/dist/src/migrations/update-24-0-0/register-typescript-plugin-for-typecheck.d.ts +4 -0
  59. package/dist/src/migrations/update-24-0-0/register-typescript-plugin-for-typecheck.js +13 -0
  60. package/dist/src/migrations/update-24-0-0/register-typescript-plugin-for-typecheck.md +40 -0
  61. package/dist/src/plugins/router-plugin-utils.d.ts +4 -0
  62. package/dist/src/plugins/router-plugin-utils.js +15 -0
  63. package/dist/src/plugins/router-plugin.d.ts +0 -1
  64. package/dist/src/plugins/router-plugin.js +35 -44
  65. package/dist/src/utils/ast-utils.d.ts +0 -1
  66. package/dist/src/utils/ast-utils.js +0 -23
  67. package/dist/src/utils/ct-utils.d.ts +0 -7
  68. package/dist/src/utils/ct-utils.js +71 -55
  69. package/dist/src/utils/deprecation.d.ts +1 -1
  70. package/dist/src/utils/deprecation.js +3 -5
  71. package/dist/src/utils/framework.js +1 -3
  72. package/dist/src/utils/react-router-serve-ready-check.d.ts +11 -0
  73. package/dist/src/utils/react-router-serve-ready-check.js +25 -0
  74. package/dist/src/utils/versions.d.ts +0 -7
  75. package/dist/src/utils/versions.js +2 -9
  76. package/executors.json +1 -17
  77. package/generators.json +0 -27
  78. package/migrations.json +6 -0
  79. package/package.json +25 -39
  80. package/dist/mf/dynamic-federation.d.ts +0 -69
  81. package/dist/mf/dynamic-federation.js +0 -141
  82. package/dist/mf/index.d.ts +0 -1
  83. package/dist/mf/index.js +0 -8
  84. package/dist/src/executors/module-federation-dev-server/lib/index.d.ts +0 -2
  85. package/dist/src/executors/module-federation-dev-server/lib/index.js +0 -5
  86. package/dist/src/executors/module-federation-dev-server/lib/normalize-options.d.ts +0 -4
  87. package/dist/src/executors/module-federation-dev-server/lib/normalize-options.js +0 -19
  88. package/dist/src/executors/module-federation-dev-server/lib/start-remotes.d.ts +0 -5
  89. package/dist/src/executors/module-federation-dev-server/lib/start-remotes.js +0 -33
  90. package/dist/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +0 -6
  91. package/dist/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +0 -80
  92. package/dist/src/executors/module-federation-dev-server/schema.d.ts +0 -19
  93. package/dist/src/executors/module-federation-dev-server/schema.json +0 -142
  94. package/dist/src/executors/module-federation-ssr-dev-server/lib/index.d.ts +0 -2
  95. package/dist/src/executors/module-federation-ssr-dev-server/lib/index.js +0 -5
  96. package/dist/src/executors/module-federation-ssr-dev-server/lib/normalize-options.d.ts +0 -4
  97. package/dist/src/executors/module-federation-ssr-dev-server/lib/normalize-options.js +0 -23
  98. package/dist/src/executors/module-federation-ssr-dev-server/lib/start-remotes.d.ts +0 -5
  99. package/dist/src/executors/module-federation-ssr-dev-server/lib/start-remotes.js +0 -34
  100. package/dist/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.d.ts +0 -3
  101. package/dist/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +0 -83
  102. package/dist/src/executors/module-federation-ssr-dev-server/schema.d.ts +0 -29
  103. package/dist/src/executors/module-federation-ssr-dev-server/schema.json +0 -81
  104. package/dist/src/executors/module-federation-static-server/module-federation-static-server.impl.d.ts +0 -12
  105. package/dist/src/executors/module-federation-static-server/module-federation-static-server.impl.js +0 -244
  106. package/dist/src/executors/module-federation-static-server/schema.d.ts +0 -3
  107. package/dist/src/executors/module-federation-static-server/schema.json +0 -16
  108. package/dist/src/generators/federate-module/federate-module.d.ts +0 -4
  109. package/dist/src/generators/federate-module/federate-module.js +0 -67
  110. package/dist/src/generators/federate-module/lib/utils.d.ts +0 -23
  111. package/dist/src/generators/federate-module/lib/utils.js +0 -99
  112. package/dist/src/generators/federate-module/schema.d.ts +0 -15
  113. package/dist/src/generators/federate-module/schema.json +0 -89
  114. package/dist/src/generators/host/files/common/src/app/__fileName__.js__tmpl__ +0 -40
  115. package/dist/src/generators/host/files/common/src/main.js__tmpl__ +0 -13
  116. package/dist/src/generators/host/files/common/tsconfig.lint.json__tmpl__ +0 -19
  117. package/dist/src/generators/host/files/common-ts/src/app/__fileName__.tsx__tmpl__ +0 -41
  118. package/dist/src/generators/host/files/common-ts/src/main.ts__tmpl__ +0 -13
  119. package/dist/src/generators/host/files/rspack-common/src/app/__fileName__.jsx__tmpl__ +0 -42
  120. package/dist/src/generators/host/files/rspack-common/src/main.jsx__tmpl__ +0 -13
  121. package/dist/src/generators/host/files/rspack-common/tsconfig.lint.json__tmpl__ +0 -19
  122. package/dist/src/generators/host/files/rspack-module-federation/module-federation.config.js__tmpl__ +0 -24
  123. package/dist/src/generators/host/files/rspack-module-federation/rspack.config.js__tmpl__ +0 -42
  124. package/dist/src/generators/host/files/rspack-module-federation/rspack.config.prod.js__tmpl__ +0 -66
  125. package/dist/src/generators/host/files/rspack-module-federation-ssr/module-federation.server.config.js__tmpl__ +0 -27
  126. package/dist/src/generators/host/files/rspack-module-federation-ssr/rspack.config.js__tmpl__ +0 -68
  127. package/dist/src/generators/host/files/rspack-module-federation-ssr/server.ts__tmpl__ +0 -28
  128. package/dist/src/generators/host/files/rspack-module-federation-ssr/src/main.server.tsx__tmpl__ +0 -49
  129. package/dist/src/generators/host/files/rspack-module-federation-ssr/tsconfig.server.json__tmpl__ +0 -17
  130. package/dist/src/generators/host/files/rspack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +0 -22
  131. package/dist/src/generators/host/files/rspack-module-federation-ssr-ts/rspack.config.ts__tmpl__ +0 -68
  132. package/dist/src/generators/host/files/rspack-module-federation-ssr-ts/server.ts__tmpl__ +0 -28
  133. package/dist/src/generators/host/files/rspack-module-federation-ssr-ts/src/main.server.tsx__tmpl__ +0 -49
  134. package/dist/src/generators/host/files/rspack-module-federation-ssr-ts/tsconfig.server.json__tmpl__ +0 -17
  135. package/dist/src/generators/host/files/rspack-module-federation-ts/module-federation.config.ts__tmpl__ +0 -28
  136. package/dist/src/generators/host/files/rspack-module-federation-ts/rspack.config.prod.ts__tmpl__ +0 -67
  137. package/dist/src/generators/host/files/rspack-module-federation-ts/rspack.config.ts__tmpl__ +0 -42
  138. package/dist/src/generators/host/files/webpack-module-federation/module-federation.config.js__tmpl__ +0 -24
  139. package/dist/src/generators/host/files/webpack-module-federation/webpack.config.js__tmpl__ +0 -17
  140. package/dist/src/generators/host/files/webpack-module-federation/webpack.config.prod.js__tmpl__ +0 -39
  141. package/dist/src/generators/host/files/webpack-module-federation-ssr/module-federation.server.config.js__tmpl__ +0 -19
  142. package/dist/src/generators/host/files/webpack-module-federation-ssr/server.ts__tmpl__ +0 -28
  143. package/dist/src/generators/host/files/webpack-module-federation-ssr/tsconfig.server.json__tmpl__ +0 -17
  144. package/dist/src/generators/host/files/webpack-module-federation-ssr/webpack.server.config.js__tmpl__ +0 -17
  145. package/dist/src/generators/host/files/webpack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +0 -16
  146. package/dist/src/generators/host/files/webpack-module-federation-ssr-ts/server.ts__tmpl__ +0 -28
  147. package/dist/src/generators/host/files/webpack-module-federation-ssr-ts/tsconfig.server.json__tmpl__ +0 -17
  148. package/dist/src/generators/host/files/webpack-module-federation-ssr-ts/webpack.server.config.ts__tmpl__ +0 -17
  149. package/dist/src/generators/host/files/webpack-module-federation-ts/module-federation.config.ts__tmpl__ +0 -28
  150. package/dist/src/generators/host/files/webpack-module-federation-ts/webpack.config.prod.ts__tmpl__ +0 -40
  151. package/dist/src/generators/host/files/webpack-module-federation-ts/webpack.config.ts__tmpl__ +0 -18
  152. package/dist/src/generators/host/host.d.ts +0 -4
  153. package/dist/src/generators/host/host.js +0 -174
  154. package/dist/src/generators/host/lib/add-module-federation-files.d.ts +0 -6
  155. package/dist/src/generators/host/lib/add-module-federation-files.js +0 -92
  156. package/dist/src/generators/host/lib/normalize-host-name.d.ts +0 -2
  157. package/dist/src/generators/host/lib/normalize-host-name.js +0 -12
  158. package/dist/src/generators/host/lib/setup-ssr-for-host.d.ts +0 -6
  159. package/dist/src/generators/host/lib/setup-ssr-for-host.js +0 -59
  160. package/dist/src/generators/host/lib/update-module-federation-e2e-project.d.ts +0 -3
  161. package/dist/src/generators/host/lib/update-module-federation-e2e-project.js +0 -19
  162. package/dist/src/generators/host/lib/update-module-federation-tsconfig.d.ts +0 -3
  163. package/dist/src/generators/host/lib/update-module-federation-tsconfig.js +0 -34
  164. package/dist/src/generators/host/schema.d.ts +0 -44
  165. package/dist/src/generators/host/schema.json +0 -173
  166. package/dist/src/generators/remote/files/common/src/main.js__tmpl__ +0 -1
  167. package/dist/src/generators/remote/files/common/src/remote-entry.js__tmpl__ +0 -1
  168. package/dist/src/generators/remote/files/common-ts/src/main.ts__tmpl__ +0 -1
  169. package/dist/src/generators/remote/files/common-ts/src/remote-entry.ts__tmpl__ +0 -1
  170. package/dist/src/generators/remote/files/rspack-common/src/main.jsx__tmpl__ +0 -1
  171. package/dist/src/generators/remote/files/rspack-common/src/remote-entry.js__tmpl__ +0 -1
  172. package/dist/src/generators/remote/files/rspack-module-federation/module-federation.config.js__tmpl__ +0 -12
  173. package/dist/src/generators/remote/files/rspack-module-federation/rspack.config.js__tmpl__ +0 -45
  174. package/dist/src/generators/remote/files/rspack-module-federation/rspack.config.prod.js__tmpl__ +0 -1
  175. package/dist/src/generators/remote/files/rspack-module-federation-ssr/module-federation.server.config.js__tmpl__ +0 -15
  176. package/dist/src/generators/remote/files/rspack-module-federation-ssr/rspack.config.js__tmpl__ +0 -71
  177. package/dist/src/generators/remote/files/rspack-module-federation-ssr/server.ts__tmpl__ +0 -45
  178. package/dist/src/generators/remote/files/rspack-module-federation-ssr/src/main.server.tsx__tmpl__ +0 -45
  179. package/dist/src/generators/remote/files/rspack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +0 -19
  180. package/dist/src/generators/remote/files/rspack-module-federation-ssr-ts/rspack.config.ts__tmpl__ +0 -71
  181. package/dist/src/generators/remote/files/rspack-module-federation-ssr-ts/server.ts__tmpl__ +0 -45
  182. package/dist/src/generators/remote/files/rspack-module-federation-ssr-ts/src/main.server.tsx__tmpl__ +0 -45
  183. package/dist/src/generators/remote/files/rspack-module-federation-ssr-ts/tsconfig.lint.json__tmpl__ +0 -19
  184. package/dist/src/generators/remote/files/rspack-module-federation-ts/module-federation.config.ts__tmpl__ +0 -16
  185. package/dist/src/generators/remote/files/rspack-module-federation-ts/rspack.config.prod.ts__tmpl__ +0 -1
  186. package/dist/src/generators/remote/files/rspack-module-federation-ts/rspack.config.ts__tmpl__ +0 -45
  187. package/dist/src/generators/remote/files/rspack-module-federation-ts/tsconfig.lint.json__tmpl__ +0 -19
  188. package/dist/src/generators/remote/files/webpack-module-federation/module-federation.config.js__tmpl__ +0 -12
  189. package/dist/src/generators/remote/files/webpack-module-federation/webpack.config.js__tmpl__ +0 -17
  190. package/dist/src/generators/remote/files/webpack-module-federation/webpack.config.prod.js__tmpl__ +0 -1
  191. package/dist/src/generators/remote/files/webpack-module-federation-ssr/module-federation.server.config.js__tmpl__ +0 -9
  192. package/dist/src/generators/remote/files/webpack-module-federation-ssr/server.ts__tmpl__ +0 -45
  193. package/dist/src/generators/remote/files/webpack-module-federation-ssr/webpack.server.config.js__tmpl__ +0 -17
  194. package/dist/src/generators/remote/files/webpack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +0 -13
  195. package/dist/src/generators/remote/files/webpack-module-federation-ssr-ts/server.ts__tmpl__ +0 -45
  196. package/dist/src/generators/remote/files/webpack-module-federation-ssr-ts/tsconfig.lint.json__tmpl__ +0 -19
  197. package/dist/src/generators/remote/files/webpack-module-federation-ssr-ts/webpack.server.config.ts__tmpl__ +0 -17
  198. package/dist/src/generators/remote/files/webpack-module-federation-ts/module-federation.config.ts__tmpl__ +0 -16
  199. package/dist/src/generators/remote/files/webpack-module-federation-ts/tsconfig.lint.json__tmpl__ +0 -19
  200. package/dist/src/generators/remote/files/webpack-module-federation-ts/webpack.config.prod.ts__tmpl__ +0 -1
  201. package/dist/src/generators/remote/files/webpack-module-federation-ts/webpack.config.ts__tmpl__ +0 -17
  202. package/dist/src/generators/remote/lib/add-remote-to-dynamic-host.d.ts +0 -2
  203. package/dist/src/generators/remote/lib/add-remote-to-dynamic-host.js +0 -12
  204. package/dist/src/generators/remote/lib/setup-package-json-exports-for-remote.d.ts +0 -3
  205. package/dist/src/generators/remote/lib/setup-package-json-exports-for-remote.js +0 -30
  206. package/dist/src/generators/remote/lib/setup-ssr-for-remote.d.ts +0 -4
  207. package/dist/src/generators/remote/lib/setup-ssr-for-remote.js +0 -61
  208. package/dist/src/generators/remote/lib/setup-tspath-for-remote.d.ts +0 -3
  209. package/dist/src/generators/remote/lib/setup-tspath-for-remote.js +0 -14
  210. package/dist/src/generators/remote/lib/update-host-with-remote.d.ts +0 -2
  211. package/dist/src/generators/remote/lib/update-host-with-remote.js +0 -79
  212. package/dist/src/generators/remote/remote.d.ts +0 -6
  213. package/dist/src/generators/remote/remote.js +0 -201
  214. package/dist/src/generators/remote/schema.d.ts +0 -39
  215. package/dist/src/generators/remote/schema.json +0 -173
  216. package/dist/src/generators/setup-ssr/files/server.ts__tmpl__ +0 -28
  217. package/dist/src/generators/setup-ssr/files/src/main.server.tsx__tmpl__ +0 -47
  218. package/dist/src/generators/setup-ssr/files/tsconfig.server.json__tmpl__ +0 -17
  219. package/dist/src/generators/setup-ssr/schema.d.ts +0 -8
  220. package/dist/src/generators/setup-ssr/schema.json +0 -54
  221. package/dist/src/generators/setup-ssr/setup-ssr.d.ts +0 -4
  222. package/dist/src/generators/setup-ssr/setup-ssr.js +0 -198
  223. package/dist/src/module-federation/ast-utils.d.ts +0 -8
  224. package/dist/src/module-federation/ast-utils.js +0 -101
  225. package/dist/src/rules/update-module-federation-project.d.ts +0 -11
  226. package/dist/src/rules/update-module-federation-project.js +0 -72
  227. package/dist/src/utils/add-mf-env-to-inputs.d.ts +0 -2
  228. package/dist/src/utils/add-mf-env-to-inputs.js +0 -29
  229. package/dist/src/utils/module-federation-deprecation.d.ts +0 -12
  230. package/dist/src/utils/module-federation-deprecation.js +0 -46
  231. package/dist/src/utils/normalize-remote.d.ts +0 -8
  232. package/dist/src/utils/normalize-remote.js +0 -31
@@ -1,174 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hostGenerator = hostGenerator;
4
- const tslib_1 = require("tslib");
5
- const internal_1 = require("@nx/devkit/internal");
6
- const assert_supported_react_version_1 = require("../../utils/assert-supported-react-version");
7
- const internal_2 = require("@nx/eslint/internal");
8
- const devkit_1 = require("@nx/devkit");
9
- const update_module_federation_project_1 = require("../../rules/update-module-federation-project");
10
- const application_1 = tslib_1.__importDefault(require("../application/application"));
11
- const normalize_options_1 = require("../application/lib/normalize-options");
12
- const remote_1 = tslib_1.__importDefault(require("../remote/remote"));
13
- const setup_ssr_1 = tslib_1.__importDefault(require("../setup-ssr/setup-ssr"));
14
- const add_module_federation_files_1 = require("./lib/add-module-federation-files");
15
- const normalize_remote_1 = require("../../utils/normalize-remote");
16
- const setup_ssr_for_host_1 = require("./lib/setup-ssr-for-host");
17
- const update_module_federation_e2e_project_1 = require("./lib/update-module-federation-e2e-project");
18
- const add_mf_env_to_inputs_1 = require("../../utils/add-mf-env-to-inputs");
19
- const js_1 = require("@nx/js");
20
- const internal_3 = require("@nx/js/internal");
21
- const versions_1 = require("../../utils/versions");
22
- const update_module_federation_tsconfig_1 = require("./lib/update-module-federation-tsconfig");
23
- const normalize_host_name_1 = require("./lib/normalize-host-name");
24
- const module_federation_deprecation_1 = require("../../utils/module-federation-deprecation");
25
- async function hostGenerator(host, schema) {
26
- (0, assert_supported_react_version_1.assertSupportedReactVersion)(host);
27
- (0, module_federation_deprecation_1.warnReactHostGeneratorDeprecation)();
28
- const tasks = [];
29
- const name = await (0, normalize_host_name_1.normalizeHostName)(host, schema.directory, schema.name);
30
- const options = {
31
- ...(await (0, normalize_options_1.normalizeOptions)(host, {
32
- ...schema,
33
- name,
34
- })),
35
- js: schema.js ?? false,
36
- typescriptConfiguration: schema.js
37
- ? false
38
- : (schema.typescriptConfiguration ?? true),
39
- dynamic: schema.dynamic ?? false,
40
- // TODO(colum): remove when Webpack MF works with Crystal
41
- addPlugin: !schema.bundler || schema.bundler === 'rspack' ? true : false,
42
- bundler: schema.bundler ?? 'rspack',
43
- // The schema carries no default, so supply one here: remotes are numbered up
44
- // from the host's port (`options.port + 1` below), which needs a concrete value.
45
- port: schema.port ?? schema.devServerPort ?? 4200,
46
- };
47
- // Check to see if remotes are provided and also check if --dynamic is provided
48
- // if both are check that the remotes are valid names else throw an error.
49
- if (options.dynamic && options.remotes?.length > 0) {
50
- options.remotes.forEach((remote) => {
51
- const isValidRemote = (0, js_1.isValidVariable)(remote);
52
- if (!isValidRemote.isValid) {
53
- throw new Error(`Invalid remote name provided: ${remote}. ${isValidRemote.message}`);
54
- }
55
- });
56
- }
57
- await (0, internal_1.ensureRootProjectName)(options, 'application');
58
- const initTask = await (0, application_1.default)(host, {
59
- ...options,
60
- directory: options.appProjectRoot,
61
- name: options.name,
62
- // The target use-case is loading remotes as child routes, thus always enable routing.
63
- routing: true,
64
- skipFormat: true,
65
- });
66
- tasks.push(initTask);
67
- // In TS solution setup, update package.json to use simple name instead of scoped name
68
- if ((0, internal_3.isUsingTsSolutionSetup)(host)) {
69
- const hostPackageJsonPath = (0, devkit_1.joinPathFragments)(options.appProjectRoot, 'package.json');
70
- if (host.exists(hostPackageJsonPath)) {
71
- (0, devkit_1.updateJson)(host, hostPackageJsonPath, (json) => {
72
- json.name = options.projectName;
73
- return json;
74
- });
75
- }
76
- }
77
- const remotesWithPorts = [];
78
- if (schema.remotes) {
79
- let remotePort = options.port + 1;
80
- for (const remote of schema.remotes) {
81
- const remoteName = await (0, normalize_remote_1.normalizeRemoteName)(host, remote, options);
82
- remotesWithPorts.push({ name: remoteName, port: remotePort });
83
- const remoteTask = await (0, remote_1.default)(host, {
84
- name: remote,
85
- directory: (0, normalize_remote_1.normalizeRemoteDirectory)(remote, options),
86
- style: options.style,
87
- unitTestRunner: options.unitTestRunner,
88
- e2eTestRunner: options.e2eTestRunner,
89
- linter: options.linter,
90
- port: remotePort,
91
- ssr: options.ssr,
92
- skipFormat: true,
93
- typescriptConfiguration: options.typescriptConfiguration,
94
- js: options.js,
95
- dynamic: options.dynamic,
96
- host: options.projectName,
97
- skipPackageJson: options.skipPackageJson,
98
- bundler: options.bundler,
99
- });
100
- tasks.push(remoteTask);
101
- remotePort++;
102
- }
103
- }
104
- (0, add_module_federation_files_1.addModuleFederationFiles)(host, options, remotesWithPorts);
105
- (0, update_module_federation_project_1.updateModuleFederationProject)(host, options, true);
106
- (0, update_module_federation_e2e_project_1.updateModuleFederationE2eProject)(host, options);
107
- (0, update_module_federation_tsconfig_1.updateModuleFederationTsconfig)(host, options);
108
- // Add remotes as devDependencies in TS solution setup
109
- if ((0, internal_3.isUsingTsSolutionSetup)(host) && remotesWithPorts.length > 0) {
110
- addRemotesAsHostDependencies(host, options.projectName, remotesWithPorts);
111
- }
112
- if (options.ssr) {
113
- if (options.bundler !== 'rspack') {
114
- const setupSsrTask = await (0, setup_ssr_1.default)(host, {
115
- project: options.projectName,
116
- serverPort: options.port,
117
- skipFormat: true,
118
- });
119
- tasks.push(setupSsrTask);
120
- }
121
- const setupSsrForHostTask = await (0, setup_ssr_for_host_1.setupSsrForHost)(host, options, options.projectName, remotesWithPorts);
122
- tasks.push(setupSsrForHostTask);
123
- const projectConfig = (0, devkit_1.readProjectConfiguration)(host, options.projectName);
124
- if (options.bundler !== 'rspack') {
125
- projectConfig.targets.server.options.webpackConfig = (0, devkit_1.joinPathFragments)(projectConfig.root, `webpack.server.config.${options.typescriptConfiguration ? 'ts' : 'js'}`);
126
- }
127
- (0, devkit_1.updateProjectConfiguration)(host, options.projectName, projectConfig);
128
- }
129
- if (!(0, internal_2.isTypedLintingEnabled)(options)) {
130
- host.delete((0, devkit_1.joinPathFragments)(options.appProjectRoot, 'tsconfig.lint.json'));
131
- }
132
- (0, add_mf_env_to_inputs_1.addMfEnvToTargetDefaultInputs)(host, options.bundler);
133
- const installTask = (0, devkit_1.addDependenciesToPackageJson)(host, { '@module-federation/enhanced': versions_1.moduleFederationEnhancedVersion }, {
134
- '@nx/web': versions_1.nxVersion,
135
- '@nx/module-federation': versions_1.nxVersion,
136
- // The webpack path also generates a `serve-static` target running the
137
- // `module-federation-static-server` executor, which proxies via express.
138
- ...(options.bundler !== 'rspack'
139
- ? {
140
- express: versions_1.expressVersion,
141
- 'http-proxy-middleware': versions_1.httpProxyMiddlewareVersion,
142
- }
143
- : {}),
144
- }, undefined, true);
145
- tasks.push(installTask);
146
- // The TS config templates use extensionless relative imports and
147
- // `__dirname`, which Node's native type stripping cannot load.
148
- if (options.typescriptConfiguration) {
149
- tasks.push((0, internal_3.addSwcRegisterDependencies)(host));
150
- }
151
- if (!options.skipFormat) {
152
- await (0, devkit_1.formatFiles)(host);
153
- }
154
- return (0, devkit_1.runTasksInSerial)(...tasks);
155
- }
156
- function addRemotesAsHostDependencies(tree, hostName, remotes) {
157
- const hostConfig = (0, devkit_1.readProjectConfiguration)(tree, hostName);
158
- const hostPackageJsonPath = (0, devkit_1.joinPathFragments)(hostConfig.root, 'package.json');
159
- if (!tree.exists(hostPackageJsonPath)) {
160
- throw new Error(`Host package.json not found at ${hostPackageJsonPath}. ` +
161
- `TypeScript solution setup requires package.json for all projects.`);
162
- }
163
- const packageManager = (0, devkit_1.detectPackageManager)(tree.root);
164
- const versionSpec = packageManager === 'npm' ? '*' : 'workspace:*';
165
- (0, devkit_1.updateJson)(tree, hostPackageJsonPath, (json) => {
166
- json.devDependencies ??= {};
167
- for (const remote of remotes) {
168
- // Use simple remote name directly to match module-federation.config.ts
169
- json.devDependencies[remote.name] = versionSpec;
170
- }
171
- return json;
172
- });
173
- }
174
- exports.default = hostGenerator;
@@ -1,6 +0,0 @@
1
- import { Tree } from '@nx/devkit';
2
- import { NormalizedSchema } from '../schema';
3
- export declare function addModuleFederationFiles(host: Tree, options: NormalizedSchema, defaultRemoteManifest: {
4
- name: string;
5
- port: number;
6
- }[]): void;
@@ -1,92 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addModuleFederationFiles = addModuleFederationFiles;
4
- const devkit_1 = require("@nx/devkit");
5
- const internal_1 = require("@nx/js/internal");
6
- const maybe_js_1 = require("../../../utils/maybe-js");
7
- const create_application_files_1 = require("../../application/lib/create-application-files");
8
- const path_1 = require("path");
9
- function addModuleFederationFiles(host, options, defaultRemoteManifest) {
10
- const templateVariables = options.bundler === 'rspack'
11
- ? {
12
- ...(0, create_application_files_1.getDefaultTemplateVariables)(host, options),
13
- rspackPluginOptions: {
14
- ...(0, create_application_files_1.createNxRspackPluginOptions)(options, (0, devkit_1.offsetFromRoot)(options.appProjectRoot), false),
15
- mainServer: `./server.ts`,
16
- },
17
- static: !options?.dynamic,
18
- remotes: defaultRemoteManifest.map(({ name, port }) => {
19
- return {
20
- ...(0, devkit_1.names)(name),
21
- port,
22
- };
23
- }),
24
- }
25
- : {
26
- ...(0, devkit_1.names)(options.projectName),
27
- ...options,
28
- static: !options?.dynamic,
29
- tmpl: '',
30
- remotes: defaultRemoteManifest.map(({ name, port }) => {
31
- return {
32
- ...(0, devkit_1.names)(name),
33
- port,
34
- };
35
- }),
36
- };
37
- const projectConfig = (0, devkit_1.readProjectConfiguration)(host, options.projectName);
38
- const pathToMFManifest = (0, devkit_1.joinPathFragments)((0, internal_1.getProjectSourceRoot)(projectConfig, host), 'assets/module-federation.manifest.json');
39
- // Module federation requires bootstrap code to be dynamically imported.
40
- // Renaming original entry file so we can use `import(./bootstrap)` in
41
- // new entry file.
42
- host.rename((0, devkit_1.joinPathFragments)(options.appProjectRoot, (0, maybe_js_1.maybeJs)({ js: options.js, useJsx: options.bundler === 'rspack' }, 'src/main.tsx')), (0, devkit_1.joinPathFragments)(options.appProjectRoot, (0, maybe_js_1.maybeJs)({ js: options.js, useJsx: options.bundler === 'rspack' }, 'src/bootstrap.tsx')));
43
- (0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, `../files/${options.js
44
- ? options.bundler === 'rspack'
45
- ? 'rspack-common'
46
- : 'common'
47
- : 'common-ts'}`), options.appProjectRoot, templateVariables);
48
- const pathToModuleFederationFiles = options.typescriptConfiguration
49
- ? `${options.bundler === 'rspack' ? 'rspack-' : 'webpack-'}module-federation-ts`
50
- : `${options.bundler === 'rspack' ? 'rspack-' : 'webpack-'}module-federation`;
51
- // New entry file is created here.
52
- (0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, `../files/${pathToModuleFederationFiles}`), options.appProjectRoot, templateVariables);
53
- function deleteFileIfExists(host, filePath) {
54
- if (host.exists(filePath)) {
55
- host.delete(filePath);
56
- }
57
- }
58
- function processBundlerConfigFile(options, host, fileName) {
59
- const pathToBundlerConfig = (0, devkit_1.joinPathFragments)(options.appProjectRoot, fileName);
60
- deleteFileIfExists(host, pathToBundlerConfig);
61
- }
62
- if (options.typescriptConfiguration) {
63
- if (options.bundler === 'rspack') {
64
- processBundlerConfigFile(options, host, 'rspack.config.js');
65
- processBundlerConfigFile(options, host, 'rspack.config.prod.js');
66
- }
67
- else {
68
- processBundlerConfigFile(options, host, 'webpack.config.js');
69
- processBundlerConfigFile(options, host, 'webpack.config.prod.js');
70
- }
71
- // Delete TypeScript prod config in TS solution setup - not needed in Crystal
72
- if ((0, internal_1.isUsingTsSolutionSetup)(host)) {
73
- const prodConfigFileName = options.bundler === 'rspack'
74
- ? 'rspack.config.prod.ts'
75
- : 'webpack.config.prod.ts';
76
- processBundlerConfigFile(options, host, prodConfigFileName);
77
- }
78
- }
79
- if (options.dynamic) {
80
- processBundlerConfigFile(options, host, 'webpack.config.prod.js');
81
- processBundlerConfigFile(options, host, 'webpack.config.prod.ts');
82
- processBundlerConfigFile(options, host, 'rspack.config.prod.js');
83
- processBundlerConfigFile(options, host, 'rspack.config.prod.ts');
84
- if (!host.exists(pathToMFManifest)) {
85
- host.write(pathToMFManifest, `{
86
- ${defaultRemoteManifest
87
- .map(({ name, port }) => `"${name}": "http://localhost:${port}/mf-manifest.json"`)
88
- .join(',\n')}
89
- }`);
90
- }
91
- }
92
- }
@@ -1,2 +0,0 @@
1
- import { Tree } from '@nx/devkit';
2
- export declare function normalizeHostName(tree: Tree, directory: string, name?: string): Promise<string>;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.normalizeHostName = normalizeHostName;
4
- const internal_1 = require("@nx/devkit/internal");
5
- async function normalizeHostName(tree, directory, name) {
6
- const { projectName } = await (0, internal_1.determineProjectNameAndRootOptions)(tree, {
7
- name,
8
- directory,
9
- projectType: 'application',
10
- });
11
- return projectName;
12
- }
@@ -1,6 +0,0 @@
1
- import { GeneratorCallback, Tree } from '@nx/devkit';
2
- import type { NormalizedSchema } from '../schema';
3
- export declare function setupSsrForHost(tree: Tree, options: NormalizedSchema, appName: string, defaultRemoteManifest: {
4
- name: string;
5
- port: number;
6
- }[]): Promise<GeneratorCallback>;
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setupSsrForHost = setupSsrForHost;
4
- const devkit_1 = require("@nx/devkit");
5
- const versions_1 = require("../../../utils/versions");
6
- const create_application_files_1 = require("../../application/lib/create-application-files");
7
- async function setupSsrForHost(tree, options, appName, defaultRemoteManifest) {
8
- const tasks = [];
9
- let project = (0, devkit_1.readProjectConfiguration)(tree, appName);
10
- if (options.bundler !== 'rspack') {
11
- project.targets.serve.executor =
12
- '@nx/react:module-federation-ssr-dev-server';
13
- (0, devkit_1.updateProjectConfiguration)(tree, appName, project);
14
- }
15
- const pathToModuleFederationSsrFiles = options.typescriptConfiguration
16
- ? `${options.bundler === 'rspack' ? 'rspack-' : 'webpack-'}module-federation-ssr-ts`
17
- : `${options.bundler === 'rspack' ? 'rspack-' : 'webpack-'}module-federation-ssr`;
18
- const templateVariables = options.bundler === 'rspack'
19
- ? {
20
- ...(0, create_application_files_1.getDefaultTemplateVariables)(tree, options),
21
- rspackPluginOptions: {
22
- ...(0, create_application_files_1.createNxRspackPluginOptions)(options, (0, devkit_1.offsetFromRoot)(options.appProjectRoot), false),
23
- mainServer: `./server.ts`,
24
- },
25
- port: Number(options?.port) || 4200,
26
- appName,
27
- static: !options?.dynamic,
28
- remotes: defaultRemoteManifest.map(({ name, port }) => {
29
- return {
30
- ...(0, devkit_1.names)(name),
31
- port,
32
- };
33
- }),
34
- }
35
- : {
36
- ...options,
37
- static: !options?.dynamic,
38
- port: Number(options?.port) || 4200,
39
- appName,
40
- tmpl: '',
41
- browserBuildOutputPath: project.targets.build?.options?.outputPath,
42
- remotes: defaultRemoteManifest.map(({ name, port }) => {
43
- return {
44
- ...(0, devkit_1.names)(name),
45
- port,
46
- };
47
- }),
48
- };
49
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, `../files/${pathToModuleFederationSsrFiles}`), project.root, templateVariables);
50
- const installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {
51
- '@module-federation/node': versions_1.moduleFederationNodeVersion,
52
- cors: versions_1.corsVersion,
53
- isbot: versions_1.isbotVersion,
54
- express: versions_1.expressVersion,
55
- '@types/express': versions_1.typesExpressVersion,
56
- }, {}, undefined, true);
57
- tasks.push(installTask);
58
- return (0, devkit_1.runTasksInSerial)(...tasks);
59
- }
@@ -1,3 +0,0 @@
1
- import { NormalizedSchema } from '../schema';
2
- import { Tree } from '@nx/devkit';
3
- export declare function updateModuleFederationE2eProject(host: Tree, options: NormalizedSchema): void;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateModuleFederationE2eProject = updateModuleFederationE2eProject;
4
- const devkit_1 = require("@nx/devkit");
5
- function updateModuleFederationE2eProject(host, options) {
6
- try {
7
- let projectConfig = (0, devkit_1.readProjectConfiguration)(host, options.e2eProjectName);
8
- if (projectConfig.targets.e2e.executor !== '@nx/playwright:playwright') {
9
- projectConfig.targets.e2e.options = {
10
- ...projectConfig.targets.e2e.options,
11
- baseUrl: `http://localhost:${options.port}`,
12
- };
13
- (0, devkit_1.updateProjectConfiguration)(host, options.e2eProjectName, projectConfig);
14
- }
15
- }
16
- catch {
17
- // nothing
18
- }
19
- }
@@ -1,3 +0,0 @@
1
- import { type Tree } from '@nx/devkit';
2
- import { NormalizedSchema } from '../schema';
3
- export declare function updateModuleFederationTsconfig(host: Tree, options: NormalizedSchema): void;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateModuleFederationTsconfig = updateModuleFederationTsconfig;
4
- const devkit_1 = require("@nx/devkit");
5
- const internal_1 = require("@nx/js/internal");
6
- function updateModuleFederationTsconfig(host, options) {
7
- const tsconfigPath = (0, devkit_1.joinPathFragments)(options.appProjectRoot, 'tsconfig.json');
8
- const tsconfigRuntimePath = (0, devkit_1.joinPathFragments)(options.appProjectRoot, 'tsconfig.app.json');
9
- if (!host.exists(tsconfigPath) || !host.exists(tsconfigRuntimePath))
10
- return;
11
- if ((0, internal_1.isUsingTsSolutionSetup)(host)) {
12
- // Update references to match what `nx sync` does.
13
- if (options.remotes?.length) {
14
- (0, devkit_1.updateJson)(host, tsconfigPath, (json) => {
15
- json.references ??= [];
16
- for (const remote of options.remotes) {
17
- const remotePath = `../${remote}`;
18
- if (!json.references.some((ref) => ref.path === remotePath))
19
- json.references.push({ path: remotePath });
20
- }
21
- return json;
22
- });
23
- (0, devkit_1.updateJson)(host, tsconfigRuntimePath, (json) => {
24
- json.references ??= [];
25
- for (const remote of options.remotes) {
26
- const remotePath = `../${remote}/tsconfig.app.json`;
27
- if (!json.references.some((ref) => ref.path === remotePath))
28
- json.references.push({ path: remotePath });
29
- }
30
- return json;
31
- });
32
- }
33
- }
34
- }
@@ -1,44 +0,0 @@
1
- import type { LinterType } from '@nx/js';
2
- import type { SupportedStyles } from '../../../typings/style';
3
-
4
- export interface Schema {
5
- classComponent?: boolean;
6
- compiler?: 'babel' | 'swc';
7
- port?: number;
8
- /** @deprecated Use {@link Schema.port} instead. This option will be removed in Nx v24. */
9
- devServerPort?: number;
10
- directory: string;
11
- e2eTestRunner: 'cypress' | 'playwright' | 'none';
12
- globalCss?: boolean;
13
- js?: boolean;
14
- linter?: LinterType;
15
- name?: string;
16
- remotes?: string[];
17
- enableTypedLinting?: boolean;
18
- /**
19
- * @deprecated Use `enableTypedLinting` instead. This option will be removed in Nx v24.
20
- */
21
- setParserOptionsProject?: boolean;
22
- skipFormat?: boolean;
23
- skipNxJson?: boolean;
24
- skipPackageJson?: boolean;
25
- ssr?: boolean;
26
- strict?: boolean;
27
- style: SupportedStyles;
28
- tags?: string;
29
- unitTestRunner: 'jest' | 'vitest' | 'none';
30
- minimal?: boolean;
31
- typescriptConfiguration?: boolean;
32
- dynamic?: boolean;
33
- addPlugin?: boolean;
34
- bundler?: 'rspack' | 'webpack';
35
- }
36
-
37
- export interface NormalizedSchema extends Schema {
38
- // `normalizeOptions` always resolves this, so it is no longer optional.
39
- linter: LinterType;
40
- appProjectRoot: string;
41
- e2eProjectName: string;
42
- projectName: string;
43
- addPlugin?: boolean;
44
- }
@@ -1,173 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/schema",
3
- "$id": "GeneratorReactHost",
4
- "cli": "nx",
5
- "title": "Generate Module Federation Setup for React Consumer (Host) App",
6
- "description": "Create Module Federation configuration files for given React Consumer (Host) Application.",
7
- "type": "object",
8
- "properties": {
9
- "directory": {
10
- "description": "The directory of the new application.",
11
- "type": "string",
12
- "alias": "dir",
13
- "$default": {
14
- "$source": "argv",
15
- "index": 0
16
- },
17
- "x-prompt": "Which directory do you want to create the application in?"
18
- },
19
- "name": {
20
- "type": "string",
21
- "description": "The name of the Consumer (host) application to generate the Module Federation configuration",
22
- "pattern": "^[a-zA-Z][^:]*$",
23
- "x-priority": "important"
24
- },
25
- "style": {
26
- "description": "The file extension to be used for style files.",
27
- "type": "string",
28
- "default": "css",
29
- "alias": "s",
30
- "enum": ["css", "scss", "none"],
31
- "x-prompt": {
32
- "message": "Which stylesheet format would you like to use?",
33
- "type": "list",
34
- "items": [
35
- {
36
- "value": "css",
37
- "label": "CSS"
38
- },
39
- {
40
- "value": "scss",
41
- "label": "SASS(.scss) [ https://sass-lang.com ]"
42
- },
43
- {
44
- "value": "none",
45
- "label": "None"
46
- }
47
- ]
48
- }
49
- },
50
- "linter": {
51
- "description": "The tool to use for running lint checks. Defaults to the linter the workspace already uses.",
52
- "type": "string",
53
- "enum": ["eslint", "oxlint", "none"]
54
- },
55
- "dynamic": {
56
- "type": "boolean",
57
- "description": "Should the Consumer (host) application use dynamic federation?",
58
- "default": false
59
- },
60
- "skipFormat": {
61
- "description": "Skip formatting files.",
62
- "type": "boolean",
63
- "default": false,
64
- "x-priority": "internal"
65
- },
66
- "skipNxJson": {
67
- "description": "Skip updating nx.json with default options based on values provided to this app (e.g. babel, style).",
68
- "type": "boolean",
69
- "default": false,
70
- "x-priority": "internal"
71
- },
72
- "unitTestRunner": {
73
- "type": "string",
74
- "enum": ["jest", "vitest", "none"],
75
- "description": "Test runner to use for unit tests.",
76
- "default": "jest"
77
- },
78
- "e2eTestRunner": {
79
- "type": "string",
80
- "enum": ["playwright", "cypress", "none"],
81
- "description": "Test runner to use for end to end (E2E) tests.",
82
- "x-prompt": "Which E2E test runner would you like to use?",
83
- "default": "playwright"
84
- },
85
- "tags": {
86
- "type": "string",
87
- "description": "Add tags to the application (used for linting).",
88
- "alias": "t"
89
- },
90
- "classComponent": {
91
- "type": "boolean",
92
- "description": "Use class components instead of functional component.",
93
- "alias": "C",
94
- "default": false
95
- },
96
- "js": {
97
- "type": "boolean",
98
- "description": "Generate JavaScript files rather than TypeScript files.",
99
- "default": false
100
- },
101
- "globalCss": {
102
- "type": "boolean",
103
- "description": "Default is false. When true, the component is generated with *.css/*.scss instead of *.module.css/*.module.scss",
104
- "default": false
105
- },
106
- "strict": {
107
- "type": "boolean",
108
- "description": "Creates an application with strict mode and strict type checking",
109
- "default": true
110
- },
111
- "enableTypedLinting": {
112
- "type": "boolean",
113
- "description": "Whether to enable typed linting. For flat configs, this configures the recommended `parserOptions.projectService` and `tsconfigRootDir`. For legacy `.eslintrc` configs, this configures `parserOptions.project`. We do not enable this by default for lint performance reasons.",
114
- "default": false
115
- },
116
- "setParserOptionsProject": {
117
- "type": "boolean",
118
- "description": "Deprecated alias for `enableTypedLinting`.",
119
- "default": false,
120
- "x-deprecated": "Use `enableTypedLinting` instead. This option will be removed in Nx v24."
121
- },
122
- "compiler": {
123
- "type": "string",
124
- "description": "The compiler to use",
125
- "enum": ["babel", "swc"],
126
- "default": "babel"
127
- },
128
- "remotes": {
129
- "type": "array",
130
- "description": "A list of Producer (remote) application names that the Consumer (host) application should consume.",
131
- "default": [],
132
- "x-priority": "important",
133
- "alias": "producers"
134
- },
135
- "port": {
136
- "type": "number",
137
- "description": "The port at which the Consumer (host) application should be served. Defaults to 4200.",
138
- "aliases": ["devServerPort"],
139
- "x-priority": "important"
140
- },
141
- "ssr": {
142
- "description": "Whether to configure SSR for the Consumer (host) application",
143
- "type": "boolean",
144
- "default": false
145
- },
146
- "minimal": {
147
- "description": "Generate a React app with a minimal setup. No nx starter template.",
148
- "type": "boolean",
149
- "default": false
150
- },
151
- "typescriptConfiguration": {
152
- "type": "boolean",
153
- "description": "Whether the module federation configuration and webpack configuration files should use TS. When --js is used, this flag is ignored.",
154
- "default": true
155
- },
156
- "skipPackageJson": {
157
- "description": "Do not add dependencies to `package.json`.",
158
- "type": "boolean",
159
- "default": false,
160
- "x-priority": "internal"
161
- },
162
- "bundler": {
163
- "description": "The bundler to use.",
164
- "type": "string",
165
- "enum": ["rspack", "webpack"],
166
- "x-prompt": "Which bundler do you want to use to build the application?",
167
- "default": "rspack",
168
- "x-priority": "important"
169
- }
170
- },
171
- "required": ["directory"],
172
- "additionalProperties": false
173
- }
@@ -1 +0,0 @@
1
- import('./bootstrap');
@@ -1 +0,0 @@
1
- export { default } from './app/app';
@@ -1 +0,0 @@
1
- import('./bootstrap');
@@ -1 +0,0 @@
1
- export { default } from './app/app';
@@ -1 +0,0 @@
1
- import('./bootstrap');
@@ -1 +0,0 @@
1
- export { default } from './app/app';