@bleedingdev/modern-js-create 3.5.0-ultramodern.36 → 3.5.0-ultramodern.37

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 (198) hide show
  1. package/README.md +11 -14
  2. package/dist/cjs/cli/flags.cjs +0 -31
  3. package/dist/cjs/cli/help.cjs +0 -1
  4. package/dist/cjs/cli/package-source.cjs +0 -3
  5. package/dist/cjs/cli/prompts.cjs +2 -20
  6. package/dist/cjs/index.cjs +0 -5
  7. package/dist/cjs/locale/en.cjs +2 -6
  8. package/dist/cjs/locale/zh.cjs +2 -6
  9. package/dist/cjs/ultramodern-package-source.cjs +0 -32
  10. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +1 -0
  11. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +1 -1
  12. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +1 -1
  13. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +5 -3
  14. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +3 -0
  15. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +2 -8
  16. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +8 -0
  17. package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +0 -12
  18. package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +2 -26
  19. package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +1 -1
  20. package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +6 -4
  21. package/dist/cjs/ultramodern-workspace/app-files.cjs +2 -23
  22. package/dist/cjs/ultramodern-workspace/contracts.cjs +25 -16
  23. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +1 -1
  24. package/dist/cjs/ultramodern-workspace/demo-components.cjs +0 -3
  25. package/dist/cjs/ultramodern-workspace/fs-io.cjs +0 -33
  26. package/dist/cjs/ultramodern-workspace/locales.cjs +1 -14
  27. package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +2 -10
  28. package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +2 -17
  29. package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +0 -6
  30. package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +2 -29
  31. package/dist/cjs/ultramodern-workspace/mf-validation/validate.cjs +1 -1
  32. package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +19 -8
  33. package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +3 -2
  34. package/dist/cjs/ultramodern-workspace/naming.cjs +0 -6
  35. package/dist/cjs/ultramodern-workspace/package-json.cjs +5 -14
  36. package/dist/cjs/ultramodern-workspace/policy.cjs +0 -21
  37. package/dist/cjs/ultramodern-workspace/public-surface.cjs +0 -21
  38. package/dist/cjs/ultramodern-workspace/routes.cjs +0 -15
  39. package/dist/cjs/ultramodern-workspace/shared-patches.cjs +4 -3
  40. package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +2 -8
  41. package/dist/cjs/ultramodern-workspace/versions.cjs +25 -37
  42. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +2 -20
  43. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +0 -21
  44. package/dist/cjs/ultramodern-workspace/write-app.cjs +3 -6
  45. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +3 -5
  46. package/dist/esm/cli/flags.js +1 -11
  47. package/dist/esm/cli/help.js +0 -1
  48. package/dist/esm/cli/package-source.js +1 -1
  49. package/dist/esm/cli/prompts.js +2 -14
  50. package/dist/esm/index.js +2 -7
  51. package/dist/esm/locale/en.js +2 -6
  52. package/dist/esm/locale/zh.js +2 -6
  53. package/dist/esm/ultramodern-package-source.js +1 -24
  54. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +2 -1
  55. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +1 -1
  56. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +1 -1
  57. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +6 -4
  58. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +4 -1
  59. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +1 -1
  60. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +3 -1
  61. package/dist/esm/ultramodern-workspace/add-vertical/plan.js +1 -1
  62. package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +1 -1
  63. package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +1 -1
  64. package/dist/esm/ultramodern-workspace/add-vertical/topology.js +6 -4
  65. package/dist/esm/ultramodern-workspace/app-files.js +1 -4
  66. package/dist/esm/ultramodern-workspace/contracts.js +25 -16
  67. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +1 -1
  68. package/dist/esm/ultramodern-workspace/demo-components.js +1 -1
  69. package/dist/esm/ultramodern-workspace/fs-io.js +1 -15
  70. package/dist/esm/ultramodern-workspace/locales.js +1 -1
  71. package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +3 -2
  72. package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +1 -1
  73. package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +1 -1
  74. package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +1 -1
  75. package/dist/esm/ultramodern-workspace/mf-validation/validate.js +1 -1
  76. package/dist/esm/ultramodern-workspace/module-federation/config.js +19 -8
  77. package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +4 -3
  78. package/dist/esm/ultramodern-workspace/naming.js +1 -1
  79. package/dist/esm/ultramodern-workspace/package-json.js +5 -8
  80. package/dist/esm/ultramodern-workspace/policy.js +1 -7
  81. package/dist/esm/ultramodern-workspace/public-surface.js +1 -1
  82. package/dist/esm/ultramodern-workspace/routes.js +1 -1
  83. package/dist/esm/ultramodern-workspace/shared-patches.js +4 -3
  84. package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +1 -1
  85. package/dist/esm/ultramodern-workspace/versions.js +20 -23
  86. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +1 -1
  87. package/dist/esm/ultramodern-workspace/workspace-scripts.js +6 -9
  88. package/dist/esm/ultramodern-workspace/write-app.js +4 -7
  89. package/dist/esm/ultramodern-workspace/write-workspace.js +3 -2
  90. package/dist/esm-node/cli/flags.js +1 -11
  91. package/dist/esm-node/cli/help.js +0 -1
  92. package/dist/esm-node/cli/package-source.js +1 -1
  93. package/dist/esm-node/cli/prompts.js +2 -14
  94. package/dist/esm-node/index.js +2 -7
  95. package/dist/esm-node/locale/en.js +2 -6
  96. package/dist/esm-node/locale/zh.js +2 -6
  97. package/dist/esm-node/ultramodern-package-source.js +1 -24
  98. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +2 -1
  99. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +1 -1
  100. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +1 -1
  101. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +6 -4
  102. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +4 -1
  103. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +1 -1
  104. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +3 -1
  105. package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +1 -1
  106. package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +1 -1
  107. package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +1 -1
  108. package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +6 -4
  109. package/dist/esm-node/ultramodern-workspace/app-files.js +1 -4
  110. package/dist/esm-node/ultramodern-workspace/contracts.js +25 -16
  111. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +1 -1
  112. package/dist/esm-node/ultramodern-workspace/demo-components.js +1 -1
  113. package/dist/esm-node/ultramodern-workspace/fs-io.js +1 -15
  114. package/dist/esm-node/ultramodern-workspace/locales.js +1 -1
  115. package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +3 -2
  116. package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +1 -1
  117. package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +1 -1
  118. package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +1 -1
  119. package/dist/esm-node/ultramodern-workspace/mf-validation/validate.js +1 -1
  120. package/dist/esm-node/ultramodern-workspace/module-federation/config.js +19 -8
  121. package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +4 -3
  122. package/dist/esm-node/ultramodern-workspace/naming.js +1 -1
  123. package/dist/esm-node/ultramodern-workspace/package-json.js +5 -8
  124. package/dist/esm-node/ultramodern-workspace/policy.js +1 -7
  125. package/dist/esm-node/ultramodern-workspace/public-surface.js +1 -1
  126. package/dist/esm-node/ultramodern-workspace/routes.js +1 -1
  127. package/dist/esm-node/ultramodern-workspace/shared-patches.js +4 -3
  128. package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +1 -1
  129. package/dist/esm-node/ultramodern-workspace/versions.js +20 -23
  130. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +1 -1
  131. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +6 -9
  132. package/dist/esm-node/ultramodern-workspace/write-app.js +4 -7
  133. package/dist/esm-node/ultramodern-workspace/write-workspace.js +3 -2
  134. package/dist/types/cli/flags.d.ts +4 -9
  135. package/dist/types/cli/package-source.d.ts +3 -3
  136. package/dist/types/cli/project-setup.d.ts +1 -1
  137. package/dist/types/cli/prompts.d.ts +0 -2
  138. package/dist/types/locale/en.d.ts +0 -4
  139. package/dist/types/locale/index.d.ts +0 -8
  140. package/dist/types/locale/zh.d.ts +0 -4
  141. package/dist/types/ultramodern-package-source.d.ts +0 -11
  142. package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +1 -1
  143. package/dist/types/ultramodern-tooling/commands/context.d.ts +3 -3
  144. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +1 -1
  145. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +0 -5
  146. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +8 -6
  147. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +1 -1
  148. package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +1 -1
  149. package/dist/types/ultramodern-tooling/commands/skills.d.ts +1 -1
  150. package/dist/types/ultramodern-tooling/commands/validate.d.ts +1 -1
  151. package/dist/types/ultramodern-tooling/commands.d.ts +1 -1
  152. package/dist/types/ultramodern-tooling/config/load.d.ts +1 -1
  153. package/dist/types/ultramodern-workspace/add-vertical/plan.d.ts +1 -6
  154. package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +1 -9
  155. package/dist/types/ultramodern-workspace/app-files.d.ts +1 -7
  156. package/dist/types/ultramodern-workspace/codesmith.d.ts +5 -5
  157. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +1 -1
  158. package/dist/types/ultramodern-workspace/demo-components.d.ts +0 -1
  159. package/dist/types/ultramodern-workspace/fs-io.d.ts +1 -7
  160. package/dist/types/ultramodern-workspace/generation-result.d.ts +2 -1
  161. package/dist/types/ultramodern-workspace/locales.d.ts +0 -181
  162. package/dist/types/ultramodern-workspace/mf-validation/inspect.d.ts +0 -3
  163. package/dist/types/ultramodern-workspace/mf-validation/object-literal.d.ts +0 -5
  164. package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +0 -2
  165. package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +0 -9
  166. package/dist/types/ultramodern-workspace/module-federation/config.d.ts +1 -1
  167. package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +1 -1
  168. package/dist/types/ultramodern-workspace/naming.d.ts +0 -2
  169. package/dist/types/ultramodern-workspace/package-json.d.ts +0 -2
  170. package/dist/types/ultramodern-workspace/policy.d.ts +0 -47
  171. package/dist/types/ultramodern-workspace/public-surface.d.ts +5 -15
  172. package/dist/types/ultramodern-workspace/routes.d.ts +0 -9
  173. package/dist/types/ultramodern-workspace/shared-patches.d.ts +1 -2
  174. package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +4 -4
  175. package/dist/types/ultramodern-workspace/types.d.ts +3 -2
  176. package/dist/types/ultramodern-workspace/versions.d.ts +20 -23
  177. package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +7 -21
  178. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +2 -9
  179. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +0 -1
  180. package/dist/types/ultramodern-workspace/write-workspace.d.ts +0 -1
  181. package/package.json +14 -12
  182. package/template-workspace/AGENTS.md.handlebars +2 -2
  183. package/template-workspace/README.md.handlebars +3 -4
  184. package/template-workspace/patches/{@module-federation__bridge-react@2.6.0.patch → @module-federation__bridge-react@2.7.0.patch} +22 -22
  185. package/template-workspace/patches/@module-federation__dts-plugin@2.7.0.patch +37 -0
  186. package/template-workspace/patches/{@module-federation__modern-js-v3@2.6.0.patch → @module-federation__modern-js-v3@2.7.0.patch} +22 -22
  187. package/template-workspace/patches/@tanstack__router-core@1.171.14.patch +123 -0
  188. package/template-workspace/pnpm-workspace.yaml.handlebars +24 -2
  189. package/templates/workspace/apps/modern.config.ts.handlebars +1 -1
  190. package/templates/workspace-scripts/assert-mf-types.mjs.handlebars +4 -4
  191. package/templates/workspace-scripts/ultramodern-typecheck.mjs +1 -1
  192. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +3 -5
  193. package/dist/cjs/ultramodern-workspace/pnpm-workspace-policy-plan.cjs +0 -166
  194. package/dist/esm/ultramodern-workspace/pnpm-workspace-policy-plan.js +0 -113
  195. package/dist/esm-node/ultramodern-workspace/pnpm-workspace-policy-plan.js +0 -114
  196. package/dist/types/ultramodern-workspace/pnpm-workspace-policy-plan.d.ts +0 -39
  197. package/template-workspace/patches/@tanstack__router-core@1.171.13.patch +0 -51
  198. package/templates/workspace/postcss.config.mjs.handlebars +0 -5
@@ -31,16 +31,10 @@ __webpack_require__.d(__webpack_exports__, {
31
31
  createAppEnvDts: ()=>createAppEnvDts,
32
32
  createAppRuntimeConfig: ()=>createAppRuntimeConfig,
33
33
  createAppStyles: ()=>createAppStyles,
34
- createBoundaryDebugMetadata: ()=>createBoundaryDebugMetadata,
35
- createCssTokenImport: ()=>createCssTokenImport,
36
- createPostcssConfig: ()=>createPostcssConfig,
37
- createRemoteStyles: ()=>createRemoteStyles,
38
34
  createRouteHeadModule: ()=>createRouteHeadModule,
39
35
  createSharedDesignTokensCss: ()=>createSharedDesignTokensCss,
40
36
  createShellFrameComponent: ()=>createShellFrameComponent,
41
- createShellStyles: ()=>createShellStyles,
42
- createTailwindConfig: ()=>createTailwindConfig,
43
- createTailwindImport: ()=>createTailwindImport
37
+ createTailwindConfig: ()=>createTailwindConfig
44
38
  });
45
39
  const external_descriptors_cjs_namespaceObject = require("./descriptors.cjs");
46
40
  const external_fs_io_cjs_namespaceObject = require("./fs-io.cjs");
@@ -155,9 +149,6 @@ function createRemoteStyles(enableTailwind, scope, app) {
155
149
  function createAppStyles(enableTailwind, scope, app) {
156
150
  return 'shell' === app.kind ? createShellStyles(enableTailwind, scope) : createRemoteStyles(enableTailwind, scope, app);
157
151
  }
158
- function createPostcssConfig() {
159
- return (0, external_fs_io_cjs_namespaceObject.renderFileTemplate)('workspace/postcss.config.mjs', {});
160
- }
161
152
  function createTailwindConfig() {
162
153
  return (0, external_fs_io_cjs_namespaceObject.renderFileTemplate)('workspace/tailwind.config.ts', {});
163
154
  }
@@ -175,30 +166,18 @@ function createShellFrameComponent() {
175
166
  exports.createAppEnvDts = __webpack_exports__.createAppEnvDts;
176
167
  exports.createAppRuntimeConfig = __webpack_exports__.createAppRuntimeConfig;
177
168
  exports.createAppStyles = __webpack_exports__.createAppStyles;
178
- exports.createBoundaryDebugMetadata = __webpack_exports__.createBoundaryDebugMetadata;
179
- exports.createCssTokenImport = __webpack_exports__.createCssTokenImport;
180
- exports.createPostcssConfig = __webpack_exports__.createPostcssConfig;
181
- exports.createRemoteStyles = __webpack_exports__.createRemoteStyles;
182
169
  exports.createRouteHeadModule = __webpack_exports__.createRouteHeadModule;
183
170
  exports.createSharedDesignTokensCss = __webpack_exports__.createSharedDesignTokensCss;
184
171
  exports.createShellFrameComponent = __webpack_exports__.createShellFrameComponent;
185
- exports.createShellStyles = __webpack_exports__.createShellStyles;
186
172
  exports.createTailwindConfig = __webpack_exports__.createTailwindConfig;
187
- exports.createTailwindImport = __webpack_exports__.createTailwindImport;
188
173
  for(var __rspack_i in __webpack_exports__)if (-1 === [
189
174
  "createAppEnvDts",
190
175
  "createAppRuntimeConfig",
191
176
  "createAppStyles",
192
- "createBoundaryDebugMetadata",
193
- "createCssTokenImport",
194
- "createPostcssConfig",
195
- "createRemoteStyles",
196
177
  "createRouteHeadModule",
197
178
  "createSharedDesignTokensCss",
198
179
  "createShellFrameComponent",
199
- "createShellStyles",
200
- "createTailwindConfig",
201
- "createTailwindImport"
180
+ "createTailwindConfig"
202
181
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
203
182
  Object.defineProperty(exports, '__esModule', {
204
183
  value: true
@@ -41,6 +41,20 @@ const external_naming_cjs_namespaceObject = require("./naming.cjs");
41
41
  const external_policy_cjs_namespaceObject = require("./policy.cjs");
42
42
  const external_tooling_command_catalog_cjs_namespaceObject = require("./tooling-command-catalog.cjs");
43
43
  const external_versions_cjs_namespaceObject = require("./versions.cjs");
44
+ function isJsonValue(value) {
45
+ return void 0 !== value;
46
+ }
47
+ function optionalJsonEntry(key, value) {
48
+ return void 0 === value ? {} : {
49
+ [key]: value
50
+ };
51
+ }
52
+ function jsonEntries(entries) {
53
+ return Object.fromEntries(entries.filter((entry)=>isJsonValue(entry[1])));
54
+ }
55
+ function presentJsonValues(values) {
56
+ return values.filter(isJsonValue);
57
+ }
44
58
  function createTopology(scope, remotes = []) {
45
59
  const shellHost = (0, external_descriptors_cjs_namespaceObject.createShellHost)(remotes);
46
60
  return {
@@ -52,7 +66,7 @@ function createTopology(scope, remotes = []) {
52
66
  id: external_descriptors_cjs_namespaceObject.shellApp.id,
53
67
  kind: 'shell',
54
68
  package: (0, external_naming_cjs_namespaceObject.packageName)(scope, external_descriptors_cjs_namespaceObject.shellApp.packageSuffix),
55
- verticalRefs: shellHost.verticalRefs,
69
+ verticalRefs: shellHost.verticalRefs ?? [],
56
70
  moduleFederation: {
57
71
  role: 'host',
58
72
  name: external_descriptors_cjs_namespaceObject.shellApp.mfName,
@@ -66,7 +80,9 @@ function createTopology(scope, remotes = []) {
66
80
  verticals: remotes.map((vertical)=>({
67
81
  id: vertical.id,
68
82
  kind: vertical.kind,
69
- domain: vertical.domain,
83
+ ...vertical.domain ? {
84
+ domain: vertical.domain
85
+ } : {},
70
86
  package: (0, external_naming_cjs_namespaceObject.packageName)(scope, vertical.packageSuffix),
71
87
  path: vertical.directory,
72
88
  moduleFederation: {
@@ -79,18 +95,13 @@ function createTopology(scope, remotes = []) {
79
95
  remotes: (0, external_descriptors_cjs_namespaceObject.createModuleFederationRemoteContracts)(vertical)
80
96
  } : {},
81
97
  ssr: true,
82
- fallbackTelemetryEvent: 'modernjs:mv-runtime-parity',
83
98
  sharedContractVersion: 'mf-ssr-contract-v1'
84
99
  },
85
- ...(0, external_backend_federation_cjs_namespaceObject.createBackendFederationContract)(scope, vertical) ? {
86
- backendFederation: (0, external_backend_federation_cjs_namespaceObject.createBackendFederationContract)(scope, vertical)
87
- } : {},
100
+ ...optionalJsonEntry('backendFederation', (0, external_backend_federation_cjs_namespaceObject.createBackendFederationContract)(scope, vertical)),
88
101
  ...vertical.api ? {
89
102
  deliveryUnit: (0, external_delivery_unit_cjs_namespaceObject.deliveryUnitContractBlock)((0, external_delivery_unit_cjs_namespaceObject.createDeliveryUnitRecord)(scope, vertical))
90
103
  } : {},
91
- ...(0, external_api_cjs_namespaceObject.apiTopologyMetadata)(vertical) ? {
92
- api: (0, external_api_cjs_namespaceObject.apiTopologyMetadata)(vertical)
93
- } : {},
104
+ ...optionalJsonEntry('api', (0, external_api_cjs_namespaceObject.apiTopologyMetadata)(vertical)),
94
105
  cloudflare: (0, external_policy_cjs_namespaceObject.createCloudflareDeployContract)(scope, vertical),
95
106
  ownership: vertical.ownership
96
107
  })),
@@ -159,7 +170,7 @@ function createDevelopmentOverlay(scope, remotes = []) {
159
170
  remote.id,
160
171
  `http://localhost:${remote.port}/mf-manifest.json`
161
172
  ])),
162
- serverExecution: Object.fromEntries((0, external_descriptors_cjs_namespaceObject.verticalApiApps)(remotes).map((app)=>[
173
+ serverExecution: jsonEntries((0, external_descriptors_cjs_namespaceObject.verticalApiApps)(remotes).map((app)=>[
163
174
  app.id,
164
175
  (0, external_backend_federation_cjs_namespaceObject.createServerExecutionOverlay)(scope, app)
165
176
  ])),
@@ -227,7 +238,7 @@ function createUltramodernConfig(scope, modernVersion, packageSource, apps = [
227
238
  name: app.mfName,
228
239
  exposes: Object.keys(app.exposes ?? {}),
229
240
  ...'shell' === app.kind ? {
230
- verticalRefs: shellHost.verticalRefs,
241
+ verticalRefs: shellHost.verticalRefs ?? [],
231
242
  remotes: (0, external_descriptors_cjs_namespaceObject.createModuleFederationRemoteContracts)(shellHost, remotes)
232
243
  } : app.verticalRefs?.length ? {
233
244
  verticalRefs: app.verticalRefs,
@@ -235,13 +246,11 @@ function createUltramodernConfig(scope, modernVersion, packageSource, apps = [
235
246
  } : {},
236
247
  ssr: true,
237
248
  dts: {
238
- compilerInstance: 'tsgo',
249
+ compilerInstance: 'effect-tsgo',
239
250
  tsConfigPath: './tsconfig.mf-types.json'
240
251
  }
241
252
  },
242
- ...(0, external_backend_federation_cjs_namespaceObject.createBackendFederationContract)(scope, app) ? {
243
- backendFederation: (0, external_backend_federation_cjs_namespaceObject.createBackendFederationContract)(scope, app)
244
- } : {},
253
+ ...optionalJsonEntry('backendFederation', (0, external_backend_federation_cjs_namespaceObject.createBackendFederationContract)(scope, app)),
245
254
  ...app.api ? {
246
255
  deliveryUnit: (0, external_delivery_unit_cjs_namespaceObject.deliveryUnitContractBlock)((0, external_delivery_unit_cjs_namespaceObject.createDeliveryUnitRecord)(scope, app))
247
256
  } : {},
@@ -289,7 +298,7 @@ function createUltramodernConfig(scope, modernVersion, packageSource, apps = [
289
298
  }))
290
299
  },
291
300
  backendFederation: {
292
- apps: (0, external_descriptors_cjs_namespaceObject.verticalApiApps)(remotes).map((app)=>(0, external_backend_federation_cjs_namespaceObject.createBackendFederationSummary)(scope, app))
301
+ apps: presentJsonValues((0, external_descriptors_cjs_namespaceObject.verticalApiApps)(remotes).map((app)=>(0, external_backend_federation_cjs_namespaceObject.createBackendFederationSummary)(scope, app)))
293
302
  },
294
303
  agentSkills: {
295
304
  target: 'codex',
@@ -139,7 +139,7 @@ nothing.
139
139
  for (const app of apiApps){
140
140
  const buildModulePath = external_node_path_default().join(app.directory, 'shared/ultramodern-build.ts');
141
141
  const buildArtifactPath = external_node_path_default().join(app.directory, 'shared/ultramodern-build.json');
142
- track(buildModulePath, writeTextIfChanged(external_node_path_default().join(workspaceRoot, buildModulePath), (0, external_module_federation_cjs_namespaceObject.createUltramodernBuildModule)()));
142
+ track(buildModulePath, writeTextIfChanged(external_node_path_default().join(workspaceRoot, buildModulePath), (0, external_module_federation_cjs_namespaceObject.createUltramodernBuildModule)(scope, app)));
143
143
  track(buildArtifactPath, writeTextIfChanged(external_node_path_default().join(workspaceRoot, buildArtifactPath), (0, external_module_federation_cjs_namespaceObject.createUltramodernBuildArtifactJson)(scope, app)));
144
144
  }
145
145
  if (0 === written.length) process.stdout.write('[ultramodern] sync-delivery-unit: already in sync; no files written.\n');
@@ -32,7 +32,6 @@ __webpack_require__.d(__webpack_exports__, {
32
32
  createRemoteEntry: ()=>createRemoteEntry,
33
33
  createRemoteExposeComponent: ()=>createRemoteExposeComponent,
34
34
  createRemotePage: ()=>createRemotePage,
35
- createRemoteWidget: ()=>createRemoteWidget,
36
35
  createShellPage: ()=>createShellPage,
37
36
  createShellRemoteComponents: ()=>createShellRemoteComponents,
38
37
  remoteComponentOutputPath: ()=>remoteComponentOutputPath
@@ -254,7 +253,6 @@ exports.createLayout = __webpack_exports__.createLayout;
254
253
  exports.createRemoteEntry = __webpack_exports__.createRemoteEntry;
255
254
  exports.createRemoteExposeComponent = __webpack_exports__.createRemoteExposeComponent;
256
255
  exports.createRemotePage = __webpack_exports__.createRemotePage;
257
- exports.createRemoteWidget = __webpack_exports__.createRemoteWidget;
258
256
  exports.createShellPage = __webpack_exports__.createShellPage;
259
257
  exports.createShellRemoteComponents = __webpack_exports__.createShellRemoteComponents;
260
258
  exports.remoteComponentOutputPath = __webpack_exports__.remoteComponentOutputPath;
@@ -263,7 +261,6 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
263
261
  "createRemoteEntry",
264
262
  "createRemoteExposeComponent",
265
263
  "createRemotePage",
266
- "createRemoteWidget",
267
264
  "createShellPage",
268
265
  "createShellRemoteComponents",
269
266
  "remoteComponentOutputPath"
@@ -40,15 +40,9 @@ var __webpack_require__ = {};
40
40
  var __webpack_exports__ = {};
41
41
  __webpack_require__.r(__webpack_exports__);
42
42
  __webpack_require__.d(__webpack_exports__, {
43
- assertSafeRelativePath: ()=>assertSafeRelativePath,
44
- collectTemplateFiles: ()=>collectTemplateFiles,
45
43
  copyRootTemplate: ()=>copyRootTemplate,
46
44
  createPackageRoot: ()=>createPackageRoot,
47
- ensureInsideRoot: ()=>ensureInsideRoot,
48
- fileTemplatesDir: ()=>fileTemplatesDir,
49
45
  formatGeneratedWorkspaceFiles: ()=>formatGeneratedWorkspaceFiles,
50
- hashFile: ()=>hashFile,
51
- hashTemplateTree: ()=>hashTemplateTree,
52
46
  readFileTemplate: ()=>readFileTemplate,
53
47
  readJsonFile: ()=>readJsonFile,
54
48
  renderFileTemplate: ()=>renderFileTemplate,
@@ -60,8 +54,6 @@ __webpack_require__.d(__webpack_exports__, {
60
54
  writeJsonFile: ()=>writeJsonFile
61
55
  });
62
56
  const external_node_child_process_namespaceObject = require("node:child_process");
63
- const external_node_crypto_namespaceObject = require("node:crypto");
64
- var external_node_crypto_default = /*#__PURE__*/ __webpack_require__.n(external_node_crypto_namespaceObject);
65
57
  const external_node_fs_namespaceObject = require("node:fs");
66
58
  var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
67
59
  const external_node_module_namespaceObject = require("node:module");
@@ -260,19 +252,6 @@ function collectTemplateFiles(dir) {
260
252
  collect(dir);
261
253
  return files;
262
254
  }
263
- function hashFile(filePath) {
264
- return external_node_crypto_default().createHash('sha256').update(external_node_fs_default().readFileSync(filePath)).digest('hex');
265
- }
266
- function hashTemplateTree(dir) {
267
- const hash = external_node_crypto_default().createHash('sha256');
268
- for (const relativePath of collectTemplateFiles(dir)){
269
- hash.update(relativePath);
270
- hash.update('\0');
271
- hash.update(hashFile(external_node_path_default().join(dir, relativePath)));
272
- hash.update('\0');
273
- }
274
- return hash.digest('hex');
275
- }
276
255
  function copyRootTemplate(targetDir, data) {
277
256
  for (const relativePath of collectTemplateFiles(workspaceTemplateDir)){
278
257
  const sourcePath = external_node_path_default().join(workspaceTemplateDir, relativePath);
@@ -287,15 +266,9 @@ function readJsonFile(filePath) {
287
266
  function writeJsonFile(filePath, value) {
288
267
  external_node_fs_default().writeFileSync(filePath, `${JSON.stringify(value, null, 2)}\n`, 'utf-8');
289
268
  }
290
- exports.assertSafeRelativePath = __webpack_exports__.assertSafeRelativePath;
291
- exports.collectTemplateFiles = __webpack_exports__.collectTemplateFiles;
292
269
  exports.copyRootTemplate = __webpack_exports__.copyRootTemplate;
293
270
  exports.createPackageRoot = __webpack_exports__.createPackageRoot;
294
- exports.ensureInsideRoot = __webpack_exports__.ensureInsideRoot;
295
- exports.fileTemplatesDir = __webpack_exports__.fileTemplatesDir;
296
271
  exports.formatGeneratedWorkspaceFiles = __webpack_exports__.formatGeneratedWorkspaceFiles;
297
- exports.hashFile = __webpack_exports__.hashFile;
298
- exports.hashTemplateTree = __webpack_exports__.hashTemplateTree;
299
272
  exports.readFileTemplate = __webpack_exports__.readFileTemplate;
300
273
  exports.readJsonFile = __webpack_exports__.readJsonFile;
301
274
  exports.renderFileTemplate = __webpack_exports__.renderFileTemplate;
@@ -306,15 +279,9 @@ exports.writeFileReplacing = __webpack_exports__.writeFileReplacing;
306
279
  exports.writeJson = __webpack_exports__.writeJson;
307
280
  exports.writeJsonFile = __webpack_exports__.writeJsonFile;
308
281
  for(var __rspack_i in __webpack_exports__)if (-1 === [
309
- "assertSafeRelativePath",
310
- "collectTemplateFiles",
311
282
  "copyRootTemplate",
312
283
  "createPackageRoot",
313
- "ensureInsideRoot",
314
- "fileTemplatesDir",
315
284
  "formatGeneratedWorkspaceFiles",
316
- "hashFile",
317
- "hashTemplateTree",
318
285
  "readFileTemplate",
319
286
  "readJsonFile",
320
287
  "renderFileTemplate",
@@ -149,24 +149,11 @@ function createAppPublicLocaleMessages(app, language, remotes = []) {
149
149
  return Object.assign({}, createAppLocaleMessages(app, language), ...remotes.map((remote)=>createAppLocaleMessages(remote, language)));
150
150
  }
151
151
  __webpack_require__.d(__webpack_exports__, {
152
- createAppLocaleMessages: ()=>createAppLocaleMessages,
153
152
  createAppPublicLocaleMessages: ()=>createAppPublicLocaleMessages
154
- }, {
155
- commonLocaleMessages: commonLocaleMessages,
156
- createFallbackLocaleMessages: createFallbackLocaleMessages,
157
- generatedLocaleResources: generatedLocaleResources
158
153
  });
159
- exports.commonLocaleMessages = __webpack_exports__.commonLocaleMessages;
160
- exports.createAppLocaleMessages = __webpack_exports__.createAppLocaleMessages;
161
154
  exports.createAppPublicLocaleMessages = __webpack_exports__.createAppPublicLocaleMessages;
162
- exports.createFallbackLocaleMessages = __webpack_exports__.createFallbackLocaleMessages;
163
- exports.generatedLocaleResources = __webpack_exports__.generatedLocaleResources;
164
155
  for(var __rspack_i in __webpack_exports__)if (-1 === [
165
- "commonLocaleMessages",
166
- "createAppLocaleMessages",
167
- "createAppPublicLocaleMessages",
168
- "createFallbackLocaleMessages",
169
- "generatedLocaleResources"
156
+ "createAppPublicLocaleMessages"
170
157
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
171
158
  Object.defineProperty(exports, '__esModule', {
172
159
  value: true
@@ -28,9 +28,6 @@ var __webpack_require__ = {};
28
28
  var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
- extractDtsSettings: ()=>extractDtsSettings,
32
- extractExposes: ()=>extractExposes,
33
- hasHostOnlyNoExposesDeclaration: ()=>hasHostOnlyNoExposesDeclaration,
34
31
  inspectModuleFederationConfigSource: ()=>inspectModuleFederationConfigSource
35
32
  });
36
33
  const external_object_literal_cjs_namespaceObject = require("./object-literal.cjs");
@@ -52,8 +49,9 @@ function extractDtsSettings(configPath, value) {
52
49
  if (!dts || dts.hasSpread) throw new Error(`Cannot statically extract Module Federation DTS settings from ${configPath}; use a literal dts object.`);
53
50
  const generateTypes = (0, external_object_literal_cjs_namespaceObject.parseObjectLiteral)(dts.properties.get('generateTypes'));
54
51
  if (generateTypes?.hasSpread) throw new Error(`Cannot statically extract Module Federation generateTypes settings from ${configPath}; use a literal generateTypes object.`);
52
+ const compilerInstanceSource = generateTypes?.properties.get('compilerInstance');
55
53
  return {
56
- compilerInstance: (0, external_object_literal_cjs_namespaceObject.parseLiteralString)(generateTypes?.properties.get('compilerInstance')),
54
+ compilerInstance: (0, external_object_literal_cjs_namespaceObject.parseLiteralString)(compilerInstanceSource) ?? ('tsgoCompilerInstance' === compilerInstanceSource ? 'effect-tsgo' : void 0),
57
55
  tsConfigPath: (0, external_object_literal_cjs_namespaceObject.parseLiteralString)(dts.properties.get('tsConfigPath'))
58
56
  };
59
57
  }
@@ -77,14 +75,8 @@ function inspectModuleFederationConfigSource(source, appDir, configPath) {
77
75
  hostOnlyNoExposes
78
76
  };
79
77
  }
80
- exports.extractDtsSettings = __webpack_exports__.extractDtsSettings;
81
- exports.extractExposes = __webpack_exports__.extractExposes;
82
- exports.hasHostOnlyNoExposesDeclaration = __webpack_exports__.hasHostOnlyNoExposesDeclaration;
83
78
  exports.inspectModuleFederationConfigSource = __webpack_exports__.inspectModuleFederationConfigSource;
84
79
  for(var __rspack_i in __webpack_exports__)if (-1 === [
85
- "extractDtsSettings",
86
- "extractExposes",
87
- "hasHostOnlyNoExposesDeclaration",
88
80
  "inspectModuleFederationConfigSource"
89
81
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
90
82
  Object.defineProperty(exports, '__esModule', {
@@ -28,14 +28,9 @@ var __webpack_require__ = {};
28
28
  var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
- findTopLevelColon: ()=>findTopLevelColon,
32
31
  parseArrayLiteral: ()=>parseArrayLiteral,
33
32
  parseLiteralString: ()=>parseLiteralString,
34
- parseObjectKey: ()=>parseObjectKey,
35
- parseObjectLiteral: ()=>parseObjectLiteral,
36
- splitTopLevelEntries: ()=>splitTopLevelEntries,
37
- stripConstAssertion: ()=>stripConstAssertion,
38
- unescapeSingleQuotedString: ()=>unescapeSingleQuotedString
33
+ parseObjectLiteral: ()=>parseObjectLiteral
39
34
  });
40
35
  const external_syntax_cjs_namespaceObject = require("./syntax.cjs");
41
36
  function splitTopLevelEntries(source) {
@@ -180,23 +175,13 @@ function parseArrayLiteral(source) {
180
175
  }
181
176
  return exposes;
182
177
  }
183
- exports.findTopLevelColon = __webpack_exports__.findTopLevelColon;
184
178
  exports.parseArrayLiteral = __webpack_exports__.parseArrayLiteral;
185
179
  exports.parseLiteralString = __webpack_exports__.parseLiteralString;
186
- exports.parseObjectKey = __webpack_exports__.parseObjectKey;
187
180
  exports.parseObjectLiteral = __webpack_exports__.parseObjectLiteral;
188
- exports.splitTopLevelEntries = __webpack_exports__.splitTopLevelEntries;
189
- exports.stripConstAssertion = __webpack_exports__.stripConstAssertion;
190
- exports.unescapeSingleQuotedString = __webpack_exports__.unescapeSingleQuotedString;
191
181
  for(var __rspack_i in __webpack_exports__)if (-1 === [
192
- "findTopLevelColon",
193
182
  "parseArrayLiteral",
194
183
  "parseLiteralString",
195
- "parseObjectKey",
196
- "parseObjectLiteral",
197
- "splitTopLevelEntries",
198
- "stripConstAssertion",
199
- "unescapeSingleQuotedString"
184
+ "parseObjectLiteral"
200
185
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
201
186
  Object.defineProperty(exports, '__esModule', {
202
187
  value: true
@@ -37,12 +37,10 @@ var __webpack_require__ = {};
37
37
  var __webpack_exports__ = {};
38
38
  __webpack_require__.r(__webpack_exports__);
39
39
  __webpack_require__.d(__webpack_exports__, {
40
- addMetadataAppDir: ()=>addMetadataAppDir,
41
40
  collectBridgeScanRoots: ()=>collectBridgeScanRoots,
42
41
  collectMetadataAppDirs: ()=>collectMetadataAppDirs,
43
42
  firstSegment: ()=>firstSegment,
44
43
  isRecord: ()=>isRecord,
45
- literalRootFromPattern: ()=>literalRootFromPattern,
46
44
  normalizeRelativePath: ()=>normalizeRelativePath,
47
45
  readGeneratedMetadata: ()=>readGeneratedMetadata,
48
46
  readJsonIfExists: ()=>readJsonIfExists,
@@ -140,12 +138,10 @@ function scanForModuleFederationConfigs(workspaceRoot, scanRoot, appDirs) {
140
138
  };
141
139
  visit(absoluteRoot);
142
140
  }
143
- exports.addMetadataAppDir = __webpack_exports__.addMetadataAppDir;
144
141
  exports.collectBridgeScanRoots = __webpack_exports__.collectBridgeScanRoots;
145
142
  exports.collectMetadataAppDirs = __webpack_exports__.collectMetadataAppDirs;
146
143
  exports.firstSegment = __webpack_exports__.firstSegment;
147
144
  exports.isRecord = __webpack_exports__.isRecord;
148
- exports.literalRootFromPattern = __webpack_exports__.literalRootFromPattern;
149
145
  exports.normalizeRelativePath = __webpack_exports__.normalizeRelativePath;
150
146
  exports.readGeneratedMetadata = __webpack_exports__.readGeneratedMetadata;
151
147
  exports.readJsonIfExists = __webpack_exports__.readJsonIfExists;
@@ -153,12 +149,10 @@ exports.relativePath = __webpack_exports__.relativePath;
153
149
  exports.scanForModuleFederationConfigs = __webpack_exports__.scanForModuleFederationConfigs;
154
150
  exports.toPosixPath = __webpack_exports__.toPosixPath;
155
151
  for(var __rspack_i in __webpack_exports__)if (-1 === [
156
- "addMetadataAppDir",
157
152
  "collectBridgeScanRoots",
158
153
  "collectMetadataAppDirs",
159
154
  "firstSegment",
160
155
  "isRecord",
161
- "literalRootFromPattern",
162
156
  "normalizeRelativePath",
163
157
  "readGeneratedMetadata",
164
158
  "readJsonIfExists",
@@ -181,47 +181,20 @@ function getOuterBlock(source, open, close) {
181
181
  };
182
182
  }
183
183
  __webpack_require__.d(__webpack_exports__, {
184
- findBalanced: ()=>findBalanced,
185
184
  findCreateModuleFederationConfigObject: ()=>findCreateModuleFederationConfigObject,
186
185
  findExportDefaultObject: ()=>findExportDefaultObject,
187
186
  getOuterBlock: ()=>getOuterBlock,
188
- hasIdentifierBoundary: ()=>hasIdentifierBoundary,
189
- isEscaped: ()=>isEscaped,
190
- skipBlockComment: ()=>skipBlockComment,
191
- skipLineComment: ()=>skipLineComment,
192
- skipQuoted: ()=>skipQuoted,
193
- skipSyntax: ()=>skipSyntax,
194
- skipTemplate: ()=>skipTemplate,
195
- skipTemplateExpression: ()=>skipTemplateExpression,
196
- skipWhitespaceAndComments: ()=>skipWhitespaceAndComments
187
+ skipSyntax: ()=>skipSyntax
197
188
  });
198
- exports.findBalanced = __webpack_exports__.findBalanced;
199
189
  exports.findCreateModuleFederationConfigObject = __webpack_exports__.findCreateModuleFederationConfigObject;
200
190
  exports.findExportDefaultObject = __webpack_exports__.findExportDefaultObject;
201
191
  exports.getOuterBlock = __webpack_exports__.getOuterBlock;
202
- exports.hasIdentifierBoundary = __webpack_exports__.hasIdentifierBoundary;
203
- exports.isEscaped = __webpack_exports__.isEscaped;
204
- exports.skipBlockComment = __webpack_exports__.skipBlockComment;
205
- exports.skipLineComment = __webpack_exports__.skipLineComment;
206
- exports.skipQuoted = __webpack_exports__.skipQuoted;
207
192
  exports.skipSyntax = __webpack_exports__.skipSyntax;
208
- exports.skipTemplate = __webpack_exports__.skipTemplate;
209
- exports.skipTemplateExpression = __webpack_exports__.skipTemplateExpression;
210
- exports.skipWhitespaceAndComments = __webpack_exports__.skipWhitespaceAndComments;
211
193
  for(var __rspack_i in __webpack_exports__)if (-1 === [
212
- "findBalanced",
213
194
  "findCreateModuleFederationConfigObject",
214
195
  "findExportDefaultObject",
215
196
  "getOuterBlock",
216
- "hasIdentifierBoundary",
217
- "isEscaped",
218
- "skipBlockComment",
219
- "skipLineComment",
220
- "skipQuoted",
221
- "skipSyntax",
222
- "skipTemplate",
223
- "skipTemplateExpression",
224
- "skipWhitespaceAndComments"
197
+ "skipSyntax"
225
198
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
226
199
  Object.defineProperty(exports, '__esModule', {
227
200
  value: true
@@ -50,7 +50,7 @@ const external_discovery_cjs_namespaceObject = require("./discovery.cjs");
50
50
  const external_inspect_cjs_namespaceObject = require("./inspect.cjs");
51
51
  const external_path_utils_cjs_namespaceObject = require("./path-utils.cjs");
52
52
  function assertExposedAppDtsSettings(app) {
53
- if ('tsgo' !== app.dts.compilerInstance) throw new Error(`Module Federation DTS compilerInstance must be "tsgo" for ${app.appDir}.`);
53
+ if ('effect-tsgo' !== app.dts.compilerInstance) throw new Error(`Module Federation DTS compilerInstance must resolve "@effect/tsgo" for ${app.appDir}.`);
54
54
  if ('./tsconfig.mf-types.json' !== app.dts.tsConfigPath) throw new Error(`Module Federation DTS tsConfigPath must be "./tsconfig.mf-types.json" for ${app.appDir}.`);
55
55
  }
56
56
  function assertTypesArchive(workspaceRoot, appDir) {
@@ -42,8 +42,9 @@ const external_types_cjs_namespaceObject = require("../types.cjs");
42
42
  const external_versions_cjs_namespaceObject = require("../versions.cjs");
43
43
  const external_remote_refs_cjs_namespaceObject = require("./remote-refs.cjs");
44
44
  const external_shared_config_cjs_namespaceObject = require("./shared-config.cjs");
45
- function createAppModernConfig(scope, app, remotes = []) {
45
+ function createAppModernConfig(scope, app, remotes = [], enableTailwind = true) {
46
46
  const bffImport = (0, external_descriptors_cjs_namespaceObject.appHasApi)(app) ? "import { bffPlugin } from '@modern-js/plugin-bff';\n" : '';
47
+ const tailwindImport = enableTailwind ? "import { pluginTailwindcss } from '@rsbuild/plugin-tailwindcss';\n" : '';
47
48
  const bffConfig = (0, external_descriptors_cjs_namespaceObject.appHasApi)(app) ? ` bff: {
48
49
  effect: {
49
50
  entry: './api/index',
@@ -56,6 +57,7 @@ function createAppModernConfig(scope, app, remotes = []) {
56
57
  runtimeFramework: 'effect',
57
58
  },
58
59
  ` : '';
60
+ const tailwindBuilderPluginsConfig = enableTailwind ? ' builderPlugins: [pluginTailwindcss()],\n' : '';
59
61
  const bffPluginEntry = (0, external_descriptors_cjs_namespaceObject.appHasApi)(app) ? ' bffPlugin(),\n' : '';
60
62
  const serviceBindings = 'shell' === app.kind ? remotes.filter(external_descriptors_cjs_namespaceObject.appHasApi) : [];
61
63
  const serviceBindingsConfig = serviceBindings.length > 0 ? ` services: [
@@ -82,13 +84,13 @@ const defaultAssetPrefix = defaultRemoteAssetPrefix;`;
82
84
  // shells load remoteEntry.js and exposed chunks from this dev server.
83
85
  assetPrefix,`;
84
86
  return (0, external_fs_io_cjs_namespaceObject.renderFileTemplate)('workspace/apps/modern.config.ts', {
85
- value0: bffImport,
87
+ value0: `${bffImport}${tailwindImport}`,
86
88
  value1: app.id,
87
89
  value2: (0, external_descriptors_cjs_namespaceObject.createCloudflareWorkerName)(scope, app),
88
90
  value3: app.portEnv,
89
- value4: app.port,
91
+ value4: String(app.port),
90
92
  value5: (0, external_descriptors_cjs_namespaceObject.createCloudflarePublicUrlEnv)(app),
91
- value6: external_descriptors_cjs_namespaceObject.shellApp.port,
93
+ value6: String(external_descriptors_cjs_namespaceObject.shellApp.port),
92
94
  value7: defaultAssetPrefixSource,
93
95
  value8: (0, external_descriptors_cjs_namespaceObject.createCloudflarePublicUrlEnv)(app),
94
96
  value9: bffConfig,
@@ -99,14 +101,15 @@ const defaultAssetPrefix = defaultRemoteAssetPrefix;`;
99
101
  value14: (0, external_descriptors_cjs_namespaceObject.resolveApiPrefix)(app),
100
102
  value15: bffPluginEntry,
101
103
  value16: (0, external_naming_cjs_namespaceObject.createRspackUniqueName)(app),
102
- value17: (0, external_naming_cjs_namespaceObject.createRspackChunkLoadingGlobal)(app)
104
+ value17: (0, external_naming_cjs_namespaceObject.createRspackChunkLoadingGlobal)(app),
105
+ value18: tailwindBuilderPluginsConfig
103
106
  });
104
107
  }
105
108
  function createModuleFederationDtsConfig(hasExposes) {
106
109
  return hasExposes ? ` dts: {
107
110
  displayErrorInTerminal: true,
108
111
  generateTypes: {
109
- compilerInstance: 'tsgo',
112
+ compilerInstance: tsgoCompilerInstance,
110
113
  },
111
114
  tsConfigPath: './tsconfig.mf-types.json',
112
115
  },` : ` dts: {
@@ -203,8 +206,16 @@ function createRemoteModuleFederationConfig(scope, app, remotes = []) {
203
206
  const exposes = (0, external_shared_config_cjs_namespaceObject.formatTsObjectLiteral)(app.exposes ?? {});
204
207
  const hasExposes = Object.keys(app.exposes ?? {}).length > 0;
205
208
  const hostOnlyMarker = hasExposes ? '' : '\n// ultramodern-mf: no-exposes';
209
+ const tsgoCompilerImport = hasExposes ? "import { execFileSync } from 'node:child_process';\n" : '';
210
+ const tsgoCompilerInstance = hasExposes ? `
211
+ const tsgoCompilerInstance =
212
+ process.env.EFFECT_TSGO_BIN?.trim() ||
213
+ execFileSync('npx', ['effect-tsgo', 'get-exe-path'], {
214
+ encoding: 'utf8',
215
+ }).trim();
216
+ ` : '';
206
217
  return `// @effect-diagnostics nodeBuiltinImport:off${hostOnlyMarker}
207
- import { createRequire } from 'node:module';
218
+ ${tsgoCompilerImport}import { createRequire } from 'node:module';
208
219
  import { createModuleFederationConfig } from '@module-federation/modern-js-v3';
209
220
  import { dependencies } from './package.json';
210
221
 
@@ -214,7 +225,7 @@ const pluginTanstackVersion = (require('@modern-js/plugin-tanstack/package.json'
214
225
  const runtimeVersion = (require('@modern-js/runtime/package.json') as { version: string }).version;
215
226
  const reactVersion = (require('react/package.json') as { version: string }).version;
216
227
  const reactDomVersion = (require('react-dom/package.json') as { version: string }).version;
217
-
228
+ ${tsgoCompilerInstance}
218
229
  ${(0, external_remote_refs_cjs_namespaceObject.createModuleFederationRemoteUrlHelpers)(app, remotes)}
219
230
  const moduleFederationConfig: Parameters<
220
231
  typeof createModuleFederationConfig
@@ -38,8 +38,9 @@ function createUltramodernBuildArtifactJson(scope, app) {
38
38
  const record = (0, external_delivery_unit_cjs_namespaceObject.createDeliveryUnitRecord)(scope, app);
39
39
  return `${JSON.stringify((0, universal_namespaceObject.createUltramodernBuildArtifact)(record), null, 2)}\n`;
40
40
  }
41
- function createUltramodernBuildModule() {
42
- return `import ultramodernBuildArtifact from './${universal_namespaceObject.ULTRAMODERN_BUILD_ARTIFACT_FILE}' with { type: 'json' };
41
+ function createUltramodernBuildModule(scope, app) {
42
+ const record = (0, external_delivery_unit_cjs_namespaceObject.createDeliveryUnitRecord)(scope, app);
43
+ return `const ultramodernBuildArtifact = ${JSON.stringify((0, universal_namespaceObject.createUltramodernBuildArtifact)(record), null, 2)} as const;
43
44
 
44
45
  export { ultramodernBuildArtifact };
45
46
 
@@ -37,11 +37,9 @@ var __webpack_require__ = {};
37
37
  var __webpack_exports__ = {};
38
38
  __webpack_require__.r(__webpack_exports__);
39
39
  __webpack_require__.d(__webpack_exports__, {
40
- TAILWIND_PREFIX_DIGIT_WORDS: ()=>TAILWIND_PREFIX_DIGIT_WORDS,
41
40
  assertUniqueTailwindPrefixes: ()=>assertUniqueTailwindPrefixes,
42
41
  createRspackChunkLoadingGlobal: ()=>createRspackChunkLoadingGlobal,
43
42
  createRspackUniqueName: ()=>createRspackUniqueName,
44
- createTailwindPrefix: ()=>createTailwindPrefix,
45
43
  createTw: ()=>createTw,
46
44
  normalizePath: ()=>normalizePath,
47
45
  packageName: ()=>naming_packageName,
@@ -124,11 +122,9 @@ function createTw(prefix) {
124
122
  function toPascalCase(value) {
125
123
  return value.split(/[-_]+/).filter(Boolean).map((part)=>`${part.charAt(0).toUpperCase()}${part.slice(1)}`).join('');
126
124
  }
127
- exports.TAILWIND_PREFIX_DIGIT_WORDS = __webpack_exports__.TAILWIND_PREFIX_DIGIT_WORDS;
128
125
  exports.assertUniqueTailwindPrefixes = __webpack_exports__.assertUniqueTailwindPrefixes;
129
126
  exports.createRspackChunkLoadingGlobal = __webpack_exports__.createRspackChunkLoadingGlobal;
130
127
  exports.createRspackUniqueName = __webpack_exports__.createRspackUniqueName;
131
- exports.createTailwindPrefix = __webpack_exports__.createTailwindPrefix;
132
128
  exports.createTw = __webpack_exports__.createTw;
133
129
  exports.normalizePath = __webpack_exports__.normalizePath;
134
130
  exports.packageName = __webpack_exports__.packageName;
@@ -140,11 +136,9 @@ exports.toKebabCase = __webpack_exports__.toKebabCase;
140
136
  exports.toPackageScope = __webpack_exports__.toPackageScope;
141
137
  exports.toPascalCase = __webpack_exports__.toPascalCase;
142
138
  for(var __rspack_i in __webpack_exports__)if (-1 === [
143
- "TAILWIND_PREFIX_DIGIT_WORDS",
144
139
  "assertUniqueTailwindPrefixes",
145
140
  "createRspackChunkLoadingGlobal",
146
141
  "createRspackUniqueName",
147
- "createTailwindPrefix",
148
142
  "createTw",
149
143
  "normalizePath",
150
144
  "packageName",