@bleedingdev/modern-js-app-tools-extensions 3.9.0-ultramodern.9 → 3.9.3-ultramodern.2

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 (275) hide show
  1. package/README.md +23 -0
  2. package/dist/cjs/backend-federation-build/codegen.js +29 -18
  3. package/dist/cjs/backend-federation-build/config.js +84 -45
  4. package/dist/cjs/backend-federation-build/emit.js +63 -22
  5. package/dist/cjs/build-config/build-environment.js +25 -162
  6. package/dist/cjs/build-config/internal-effect-discovery.js +143 -0
  7. package/dist/cjs/build-config/public.js +2 -5
  8. package/dist/cjs/build-config/remote-address.js +58 -0
  9. package/dist/cjs/cloudflare/artifacts.js +8 -19
  10. package/dist/cjs/cloudflare/delivery-unit.js +125 -43
  11. package/dist/cjs/cloudflare/index.js +14 -4
  12. package/dist/cjs/cloudflare/native-renderer.js +100 -0
  13. package/dist/cjs/cloudflare/renderer-identity.js +106 -0
  14. package/dist/cjs/cloudflare/worker-manifest.js +54 -13
  15. package/dist/cjs/cloudflare/worker-options.js +48 -0
  16. package/dist/cjs/cloudflare/wrangler-config.js +210 -13
  17. package/dist/cjs/cloudflare-builder.js +307 -89
  18. package/dist/cjs/cloudflare-output-contract.js +36 -4
  19. package/dist/cjs/cloudflare-output-verifier/identity.js +112 -23
  20. package/dist/cjs/cloudflare-output-verifier/index.js +10 -0
  21. package/dist/cjs/cloudflare-output-verifier/manifest.js +46 -0
  22. package/dist/cjs/cloudflare-output-verifier/mutation-policy.js +7 -1
  23. package/dist/cjs/cloudflare-output-verifier/worker-bundles.js +10 -5
  24. package/dist/cjs/config.js +10 -5
  25. package/dist/cjs/deploy-output/npmAliases.js +92 -6
  26. package/dist/cjs/deploy-output/plugin.js +27 -6
  27. package/dist/cjs/deploy-output/public-assets.js +146 -0
  28. package/dist/cjs/deploy-output/target.js +57 -1
  29. package/dist/cjs/deploy-output/trace-files.js +99 -0
  30. package/dist/cjs/module-federation-config/exposes.js +70 -0
  31. package/dist/cjs/module-federation-config/index.js +73 -0
  32. package/dist/cjs/module-federation-config/inspect.js +103 -0
  33. package/dist/cjs/module-federation-config/object-literal.js +87 -0
  34. package/dist/cjs/module-federation-config/syntax.js +151 -0
  35. package/dist/cjs/module-federation-config/types.js +18 -0
  36. package/dist/cjs/native-type-checker.js +130 -13
  37. package/dist/cjs/policy-defaults.js +38 -29
  38. package/dist/cjs/release-envelope/canonical.js +2 -9
  39. package/dist/cjs/release-envelope/contract.js +68 -0
  40. package/dist/cjs/release-envelope/framework-output.js +296 -105
  41. package/dist/cjs/release-envelope/index.js +150 -36
  42. package/dist/cjs/release-envelope/plugin.js +24 -15
  43. package/dist/cjs/release-envelope/renderer-output-stamp.js +170 -0
  44. package/dist/cjs/release-envelope/types.js +10 -8
  45. package/dist/cjs/release-identity.js +8 -5
  46. package/dist/cjs/renderer-build-identity.js +134 -0
  47. package/dist/cjs/templates/cloudflare-entry.001-bootstrap-security.mjs +14 -6
  48. package/dist/cjs/templates/cloudflare-entry.002-assets-routes.mjs +10 -2
  49. package/dist/cjs/templates/cloudflare-entry.004-rendering-css.mjs +403 -96
  50. package/dist/cjs/templates/cloudflare-entry.005-worker-dispatch.mjs +530 -103
  51. package/dist/cjs/templates/cloudflare-entry.006-fetch-handler.mjs +26 -7
  52. package/dist/cjs/templates/cloudflare-worker-route-data.mjs +1069 -0
  53. package/dist/cjs/workspace-topology.js +84 -0
  54. package/dist/esm/backend-federation-build/codegen.mjs +29 -18
  55. package/dist/esm/backend-federation-build/config.mjs +74 -38
  56. package/dist/esm/backend-federation-build/emit.mjs +64 -23
  57. package/dist/esm/build-config/build-environment.mjs +26 -160
  58. package/dist/esm/build-config/internal-effect-discovery.mjs +102 -0
  59. package/dist/esm/build-config/public.mjs +1 -1
  60. package/dist/esm/build-config/remote-address.mjs +20 -0
  61. package/dist/esm/cloudflare/artifacts.mjs +8 -19
  62. package/dist/esm/cloudflare/delivery-unit.mjs +124 -45
  63. package/dist/esm/cloudflare/index.mjs +15 -5
  64. package/dist/esm/cloudflare/native-renderer.mjs +48 -0
  65. package/dist/esm/cloudflare/renderer-identity.mjs +57 -0
  66. package/dist/esm/cloudflare/worker-manifest.mjs +55 -14
  67. package/dist/esm/cloudflare/worker-options.mjs +10 -0
  68. package/dist/esm/cloudflare/wrangler-config.mjs +203 -12
  69. package/dist/esm/cloudflare-builder.mjs +301 -89
  70. package/dist/esm/cloudflare-output-contract.mjs +29 -3
  71. package/dist/esm/cloudflare-output-verifier/identity.mjs +113 -24
  72. package/dist/esm/cloudflare-output-verifier/index.mjs +10 -0
  73. package/dist/esm/cloudflare-output-verifier/manifest.mjs +46 -0
  74. package/dist/esm/cloudflare-output-verifier/mutation-policy.mjs +7 -1
  75. package/dist/esm/cloudflare-output-verifier/worker-bundles.mjs +11 -6
  76. package/dist/esm/config.mjs +3 -1
  77. package/dist/esm/deploy-output/npmAliases.mjs +92 -6
  78. package/dist/esm/deploy-output/plugin.mjs +24 -6
  79. package/dist/esm/deploy-output/public-assets.mjs +82 -0
  80. package/dist/esm/deploy-output/target.mjs +50 -3
  81. package/dist/esm/deploy-output/trace-files.mjs +47 -0
  82. package/dist/esm/module-federation-config/exposes.mjs +18 -0
  83. package/dist/esm/module-federation-config/index.mjs +4 -0
  84. package/dist/esm/module-federation-config/inspect.mjs +65 -0
  85. package/dist/esm/module-federation-config/object-literal.mjs +43 -0
  86. package/dist/esm/module-federation-config/syntax.mjs +101 -0
  87. package/dist/esm/module-federation-config/types.mjs +0 -0
  88. package/dist/esm/native-type-checker.mjs +124 -13
  89. package/dist/esm/policy-defaults.mjs +36 -30
  90. package/dist/esm/release-envelope/canonical.mjs +2 -9
  91. package/dist/esm/release-envelope/contract.mjs +21 -0
  92. package/dist/esm/release-envelope/framework-output.mjs +297 -106
  93. package/dist/esm/release-envelope/index.mjs +149 -38
  94. package/dist/esm/release-envelope/plugin.mjs +24 -15
  95. package/dist/esm/release-envelope/renderer-output-stamp.mjs +112 -0
  96. package/dist/esm/release-envelope/types.mjs +2 -3
  97. package/dist/esm/release-identity.mjs +8 -5
  98. package/dist/esm/renderer-build-identity.mjs +82 -0
  99. package/dist/esm/templates/cloudflare-entry.001-bootstrap-security.mjs +14 -6
  100. package/dist/esm/templates/cloudflare-entry.002-assets-routes.mjs +10 -2
  101. package/dist/esm/templates/cloudflare-entry.004-rendering-css.mjs +403 -96
  102. package/dist/esm/templates/cloudflare-entry.005-worker-dispatch.mjs +530 -103
  103. package/dist/esm/templates/cloudflare-entry.006-fetch-handler.mjs +26 -7
  104. package/dist/esm/templates/cloudflare-worker-route-data.mjs +1069 -0
  105. package/dist/esm/workspace-topology.mjs +21 -0
  106. package/dist/esm-node/backend-federation-build/codegen.mjs +29 -18
  107. package/dist/esm-node/backend-federation-build/config.mjs +74 -38
  108. package/dist/esm-node/backend-federation-build/emit.mjs +64 -23
  109. package/dist/esm-node/build-config/build-environment.mjs +26 -160
  110. package/dist/esm-node/build-config/internal-effect-discovery.mjs +103 -0
  111. package/dist/esm-node/build-config/public.mjs +1 -1
  112. package/dist/esm-node/build-config/remote-address.mjs +21 -0
  113. package/dist/esm-node/cloudflare/artifacts.mjs +8 -19
  114. package/dist/esm-node/cloudflare/delivery-unit.mjs +124 -45
  115. package/dist/esm-node/cloudflare/index.mjs +15 -5
  116. package/dist/esm-node/cloudflare/native-renderer.mjs +49 -0
  117. package/dist/esm-node/cloudflare/renderer-identity.mjs +58 -0
  118. package/dist/esm-node/cloudflare/worker-manifest.mjs +55 -14
  119. package/dist/esm-node/cloudflare/worker-options.mjs +11 -0
  120. package/dist/esm-node/cloudflare/wrangler-config.mjs +203 -12
  121. package/dist/esm-node/cloudflare-builder.mjs +301 -89
  122. package/dist/esm-node/cloudflare-output-contract.mjs +29 -3
  123. package/dist/esm-node/cloudflare-output-verifier/identity.mjs +113 -24
  124. package/dist/esm-node/cloudflare-output-verifier/index.mjs +10 -0
  125. package/dist/esm-node/cloudflare-output-verifier/manifest.mjs +46 -0
  126. package/dist/esm-node/cloudflare-output-verifier/mutation-policy.mjs +7 -1
  127. package/dist/esm-node/cloudflare-output-verifier/worker-bundles.mjs +11 -6
  128. package/dist/esm-node/config.mjs +3 -1
  129. package/dist/esm-node/deploy-output/npmAliases.mjs +92 -6
  130. package/dist/esm-node/deploy-output/plugin.mjs +24 -6
  131. package/dist/esm-node/deploy-output/public-assets.mjs +83 -0
  132. package/dist/esm-node/deploy-output/target.mjs +50 -3
  133. package/dist/esm-node/deploy-output/trace-files.mjs +48 -0
  134. package/dist/esm-node/module-federation-config/exposes.mjs +19 -0
  135. package/dist/esm-node/module-federation-config/index.mjs +5 -0
  136. package/dist/esm-node/module-federation-config/inspect.mjs +66 -0
  137. package/dist/esm-node/module-federation-config/object-literal.mjs +44 -0
  138. package/dist/esm-node/module-federation-config/syntax.mjs +102 -0
  139. package/dist/esm-node/module-federation-config/types.mjs +1 -0
  140. package/dist/esm-node/native-type-checker.mjs +124 -13
  141. package/dist/esm-node/policy-defaults.mjs +36 -30
  142. package/dist/esm-node/release-envelope/canonical.mjs +2 -9
  143. package/dist/esm-node/release-envelope/contract.mjs +22 -0
  144. package/dist/esm-node/release-envelope/framework-output.mjs +297 -106
  145. package/dist/esm-node/release-envelope/index.mjs +149 -38
  146. package/dist/esm-node/release-envelope/plugin.mjs +24 -15
  147. package/dist/esm-node/release-envelope/renderer-output-stamp.mjs +113 -0
  148. package/dist/esm-node/release-envelope/types.mjs +2 -3
  149. package/dist/esm-node/release-identity.mjs +8 -5
  150. package/dist/esm-node/renderer-build-identity.mjs +83 -0
  151. package/dist/esm-node/templates/cloudflare-entry.001-bootstrap-security.mjs +14 -6
  152. package/dist/esm-node/templates/cloudflare-entry.002-assets-routes.mjs +10 -2
  153. package/dist/esm-node/templates/cloudflare-entry.004-rendering-css.mjs +403 -96
  154. package/dist/esm-node/templates/cloudflare-entry.005-worker-dispatch.mjs +530 -103
  155. package/dist/esm-node/templates/cloudflare-entry.006-fetch-handler.mjs +26 -7
  156. package/dist/esm-node/templates/cloudflare-worker-route-data.mjs +1069 -0
  157. package/dist/esm-node/workspace-topology.mjs +22 -0
  158. package/dist/types/backend-federation-build/codegen.d.ts +30 -0
  159. package/dist/types/backend-federation-build/config.d.ts +10 -57
  160. package/dist/types/backend-federation-build/emit.d.ts +12 -2
  161. package/dist/types/backend-federation-build/index.d.ts +1 -1
  162. package/dist/types/build-config/build-environment.d.ts +1 -9
  163. package/dist/types/build-config/internal-effect-discovery.d.ts +4 -0
  164. package/dist/types/build-config/public.d.ts +1 -1
  165. package/dist/types/build-config/remote-address.d.ts +3 -0
  166. package/dist/types/cloudflare/artifacts.d.ts +7 -6
  167. package/dist/types/cloudflare/constants.d.ts +1 -1
  168. package/dist/types/cloudflare/delivery-unit.d.ts +38 -7
  169. package/dist/types/cloudflare/native-renderer.d.ts +30 -0
  170. package/dist/types/cloudflare/renderer-identity.d.ts +25 -0
  171. package/dist/types/cloudflare/worker-manifest.d.ts +17 -2
  172. package/dist/types/cloudflare/worker-options.d.ts +20 -0
  173. package/dist/types/cloudflare/wrangler-config.d.ts +55 -2
  174. package/dist/types/cloudflare-builder.d.ts +51 -8
  175. package/dist/types/cloudflare-output-contract.d.ts +5 -3
  176. package/dist/types/cloudflare-output-verifier/identity.d.ts +7 -3
  177. package/dist/types/cloudflare-output-verifier/worker-bundles.d.ts +2 -2
  178. package/dist/types/config.d.ts +98 -13
  179. package/dist/types/deploy-output/plugin.d.ts +29 -9
  180. package/dist/types/deploy-output/public-assets.d.ts +51 -0
  181. package/dist/types/deploy-output/target.d.ts +28 -5
  182. package/dist/types/deploy-output/trace-files.d.ts +17 -0
  183. package/dist/types/module-federation-config/exposes.d.ts +11 -0
  184. package/dist/types/module-federation-config/index.d.ts +5 -0
  185. package/dist/types/module-federation-config/inspect.d.ts +2 -0
  186. package/dist/types/module-federation-config/object-literal.d.ts +4 -0
  187. package/dist/types/module-federation-config/syntax.d.ts +7 -0
  188. package/dist/types/module-federation-config/types.d.ts +20 -0
  189. package/dist/types/native-type-checker.d.ts +26 -3
  190. package/dist/types/policy-defaults.d.ts +12 -2
  191. package/dist/types/release-envelope/canonical.d.ts +5 -5
  192. package/dist/types/release-envelope/contract.d.mts +8 -0
  193. package/dist/types/release-envelope/framework-output.d.ts +23 -13
  194. package/dist/types/release-envelope/index.d.ts +17 -5
  195. package/dist/types/release-envelope/plugin.d.ts +10 -6
  196. package/dist/types/release-envelope/renderer-output-stamp.d.ts +34 -0
  197. package/dist/types/release-envelope/types.d.ts +42 -4
  198. package/dist/types/release-identity.d.ts +3 -2
  199. package/dist/types/renderer-build-identity.d.ts +30 -0
  200. package/dist/types/templates/cloudflare-worker-route-data.d.mts +14 -0
  201. package/dist/types/workspace-topology.d.ts +91 -0
  202. package/package.json +87 -27
  203. package/src/backend-federation-build/codegen.ts +28 -19
  204. package/src/backend-federation-build/config.ts +189 -123
  205. package/src/backend-federation-build/emit.ts +119 -38
  206. package/src/backend-federation-build/index.ts +4 -1
  207. package/src/build-config/build-environment.ts +59 -285
  208. package/src/build-config/internal-effect-discovery.ts +239 -0
  209. package/src/build-config/public.ts +0 -1
  210. package/src/build-config/remote-address.ts +33 -0
  211. package/src/cloudflare/artifacts.ts +22 -43
  212. package/src/cloudflare/delivery-unit.ts +283 -60
  213. package/src/cloudflare/index.ts +35 -19
  214. package/src/cloudflare/native-renderer.ts +117 -0
  215. package/src/cloudflare/renderer-identity.ts +171 -0
  216. package/src/cloudflare/worker-manifest.ts +108 -10
  217. package/src/cloudflare/worker-options.ts +60 -0
  218. package/src/cloudflare/wrangler-config.ts +390 -14
  219. package/src/cloudflare-builder.ts +543 -170
  220. package/src/cloudflare-output-contract.ts +45 -2
  221. package/src/cloudflare-output-verifier/identity.ts +138 -7
  222. package/src/cloudflare-output-verifier/index.ts +20 -0
  223. package/src/cloudflare-output-verifier/manifest.ts +77 -0
  224. package/src/cloudflare-output-verifier/mutation-policy.ts +11 -1
  225. package/src/cloudflare-output-verifier/worker-bundles.ts +27 -11
  226. package/src/config.ts +101 -19
  227. package/src/deploy-output/npmAliases.ts +141 -4
  228. package/src/deploy-output/plugin.ts +55 -18
  229. package/src/deploy-output/public-assets.ts +224 -0
  230. package/src/deploy-output/target.ts +97 -14
  231. package/src/deploy-output/trace-files.ts +80 -0
  232. package/src/module-federation-config/exposes.ts +46 -0
  233. package/src/module-federation-config/index.ts +22 -0
  234. package/src/module-federation-config/inspect.ts +157 -0
  235. package/src/module-federation-config/object-literal.ts +76 -0
  236. package/src/module-federation-config/syntax.ts +212 -0
  237. package/src/module-federation-config/types.ts +22 -0
  238. package/src/native-type-checker.ts +233 -20
  239. package/src/policy-defaults.ts +47 -17
  240. package/src/release-envelope/canonical.ts +6 -18
  241. package/src/release-envelope/contract.mjs +28 -0
  242. package/src/release-envelope/framework-output.ts +681 -156
  243. package/src/release-envelope/index.ts +315 -60
  244. package/src/release-envelope/plugin.ts +54 -38
  245. package/src/release-envelope/renderer-output-stamp.ts +210 -0
  246. package/src/release-envelope/types.ts +75 -6
  247. package/src/release-identity.ts +19 -2
  248. package/src/renderer-build-identity.ts +168 -0
  249. package/src/templates/cloudflare-entry.001-bootstrap-security.mjs +14 -6
  250. package/src/templates/cloudflare-entry.002-assets-routes.mjs +10 -2
  251. package/src/templates/cloudflare-entry.004-rendering-css.mjs +403 -96
  252. package/src/templates/cloudflare-entry.005-worker-dispatch.mjs +530 -103
  253. package/src/templates/cloudflare-entry.006-fetch-handler.mjs +26 -7
  254. package/src/templates/cloudflare-worker-route-data.mjs +1069 -0
  255. package/src/workspace-topology.ts +125 -0
  256. package/dist/cjs/templates/cloudflare-worker-fs-promises.mjs +0 -11
  257. package/dist/cjs/templates/cloudflare-worker-loadable-server.mjs +0 -281
  258. package/dist/cjs/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
  259. package/dist/cjs/templates/cloudflare-worker-path.mjs +0 -98
  260. package/dist/esm/templates/cloudflare-worker-fs-promises.mjs +0 -11
  261. package/dist/esm/templates/cloudflare-worker-loadable-server.mjs +0 -281
  262. package/dist/esm/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
  263. package/dist/esm/templates/cloudflare-worker-path.mjs +0 -98
  264. package/dist/esm-node/templates/cloudflare-worker-fs-promises.mjs +0 -11
  265. package/dist/esm-node/templates/cloudflare-worker-loadable-server.mjs +0 -281
  266. package/dist/esm-node/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
  267. package/dist/esm-node/templates/cloudflare-worker-path.mjs +0 -98
  268. package/dist/types/templates/cloudflare-worker-fs-promises.d.mts +0 -5
  269. package/dist/types/templates/cloudflare-worker-loadable-server.d.mts +0 -48
  270. package/dist/types/templates/cloudflare-worker-mf-ssr-runtime-plugin.d.mts +0 -13
  271. package/dist/types/templates/cloudflare-worker-path.d.mts +0 -21
  272. package/src/templates/cloudflare-worker-fs-promises.mjs +0 -11
  273. package/src/templates/cloudflare-worker-loadable-server.mjs +0 -281
  274. package/src/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
  275. package/src/templates/cloudflare-worker-path.mjs +0 -98
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
22
+ };
23
+ })();
24
+ (()=>{
25
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
26
+ })();
27
+ (()=>{
28
+ __webpack_require__.r = (exports1)=>{
29
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
30
+ value: 'Module'
31
+ });
32
+ Object.defineProperty(exports1, '__esModule', {
33
+ value: true
34
+ });
35
+ };
36
+ })();
37
+ var __webpack_exports__ = {};
38
+ __webpack_require__.r(__webpack_exports__);
39
+ __webpack_require__.d(__webpack_exports__, {
40
+ CLOUDFLARE_PUBLIC_ASSET_SCOPE: ()=>CLOUDFLARE_PUBLIC_ASSET_SCOPE,
41
+ DECLARED_PUBLIC_ASSET_DIRECTORY: ()=>DECLARED_PUBLIC_ASSET_DIRECTORY,
42
+ NODE_PUBLIC_ASSET_SCOPE: ()=>NODE_PUBLIC_ASSET_SCOPE,
43
+ normalizeDeclaredPublicAssets: ()=>normalizeDeclaredPublicAssets,
44
+ resolveAddedDeclaredPublicAssetPaths: ()=>resolveAddedDeclaredPublicAssetPaths,
45
+ stageDeclaredPublicAssets: ()=>stageDeclaredPublicAssets
46
+ });
47
+ const promises_namespaceObject = require("node:fs/promises");
48
+ var promises_default = /*#__PURE__*/ __webpack_require__.n(promises_namespaceObject);
49
+ const external_node_path_namespaceObject = require("node:path");
50
+ var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
51
+ const utils_js_namespaceObject = require("../cloudflare/utils.js");
52
+ const DECLARED_PUBLIC_ASSET_DIRECTORY = 'public';
53
+ const CLOUDFLARE_PUBLIC_ASSET_SCOPE = {
54
+ label: 'deploy.worker.publicAssets',
55
+ output: 'Cloudflare public output'
56
+ };
57
+ const NODE_PUBLIC_ASSET_SCOPE = {
58
+ label: 'deploy.node.publicAssets',
59
+ output: 'Node public output'
60
+ };
61
+ const normalizeDeclaredPublicAssets = (assets, scope)=>(assets ?? []).map((asset, index)=>({
62
+ from: (0, utils_js_namespaceObject.normalizeRelativePath)(asset?.from, `${scope.label}[${index}].from`, 'app root'),
63
+ to: (0, utils_js_namespaceObject.normalizeRelativePath)(asset?.to, `${scope.label}[${index}].to`, scope.output, {
64
+ allowRoot: true
65
+ }),
66
+ index
67
+ }));
68
+ const isMissingPathError = (error)=>error instanceof Error && 'code' in error && 'ENOENT' === error.code;
69
+ const pathExists = async (filePath)=>{
70
+ try {
71
+ await promises_default().lstat(filePath);
72
+ return true;
73
+ } catch (error) {
74
+ if (isMissingPathError(error)) return false;
75
+ throw error;
76
+ }
77
+ };
78
+ const listDeclaredPublicAssetFiles = async (appDirectory, assets, scope)=>{
79
+ const files = [];
80
+ const owners = new Map();
81
+ const add = (index, logicalPath)=>{
82
+ const owner = owners.get(logicalPath);
83
+ if (void 0 !== owner) throw new Error(`${scope.label}[${index}] and ${scope.label}[${owner}] both stage ${JSON.stringify(logicalPath)}.`);
84
+ owners.set(logicalPath, index);
85
+ files.push({
86
+ index,
87
+ logicalPath
88
+ });
89
+ };
90
+ const visit = async (asset, sourcePath, destination)=>{
91
+ const stat = await promises_default().lstat(sourcePath);
92
+ if (stat.isSymbolicLink()) throw new Error(`${scope.label}[${asset.index}].from must not contain symbolic links: ${external_node_path_default().relative(appDirectory, sourcePath).replace(/\\/gu, '/')}`);
93
+ if (stat.isFile()) {
94
+ if (destination === DECLARED_PUBLIC_ASSET_DIRECTORY) throw new Error(`${scope.label}[${asset.index}].to must name a file when ${scope.label}[${asset.index}].from is a file.`);
95
+ add(asset.index, destination);
96
+ return;
97
+ }
98
+ if (!stat.isDirectory()) throw new Error(`${scope.label}[${asset.index}].from must contain only files and directories: ${external_node_path_default().relative(appDirectory, sourcePath).replace(/\\/gu, '/')}`);
99
+ const entries = (await promises_default().readdir(sourcePath)).sort();
100
+ for (const entry of entries)await visit(asset, external_node_path_default().join(sourcePath, entry), external_node_path_default().posix.join(destination, entry));
101
+ };
102
+ for (const asset of assets){
103
+ const sourcePath = external_node_path_default().join(appDirectory, asset.from);
104
+ if (!await pathExists(sourcePath)) throw new Error(`${scope.label}[${asset.index}].from does not exist: ${asset.from}`);
105
+ await visit(asset, sourcePath, external_node_path_default().posix.join(DECLARED_PUBLIC_ASSET_DIRECTORY, asset.to));
106
+ }
107
+ return files;
108
+ };
109
+ const resolveAddedDeclaredPublicAssetPaths = async ({ appDirectory, assets, generatedRoot, scope })=>{
110
+ const added = [];
111
+ for (const file of (await listDeclaredPublicAssetFiles(appDirectory, assets, scope)))if (!await pathExists(external_node_path_default().join(generatedRoot, file.logicalPath))) added.push(file.logicalPath);
112
+ return added.sort();
113
+ };
114
+ const stageDeclaredPublicAssets = async ({ appDirectory, outputDirectory, assets, scope })=>{
115
+ const files = await listDeclaredPublicAssetFiles(appDirectory, assets, scope);
116
+ const added = [];
117
+ for (const file of files){
118
+ const asset = assets.find((candidate)=>candidate.index === file.index);
119
+ const relativePath = external_node_path_default().posix.relative(external_node_path_default().posix.join(DECLARED_PUBLIC_ASSET_DIRECTORY, asset.to), file.logicalPath);
120
+ const destination = external_node_path_default().join(outputDirectory, file.logicalPath);
121
+ const replacesGeneratedFile = await pathExists(destination);
122
+ await promises_default().mkdir(external_node_path_default().dirname(destination), {
123
+ recursive: true
124
+ });
125
+ await promises_default().copyFile(external_node_path_default().join(appDirectory, asset.from, relativePath), destination);
126
+ if (!replacesGeneratedFile) added.push(file.logicalPath);
127
+ }
128
+ return added.sort();
129
+ };
130
+ exports.CLOUDFLARE_PUBLIC_ASSET_SCOPE = __webpack_exports__.CLOUDFLARE_PUBLIC_ASSET_SCOPE;
131
+ exports.DECLARED_PUBLIC_ASSET_DIRECTORY = __webpack_exports__.DECLARED_PUBLIC_ASSET_DIRECTORY;
132
+ exports.NODE_PUBLIC_ASSET_SCOPE = __webpack_exports__.NODE_PUBLIC_ASSET_SCOPE;
133
+ exports.normalizeDeclaredPublicAssets = __webpack_exports__.normalizeDeclaredPublicAssets;
134
+ exports.resolveAddedDeclaredPublicAssetPaths = __webpack_exports__.resolveAddedDeclaredPublicAssetPaths;
135
+ exports.stageDeclaredPublicAssets = __webpack_exports__.stageDeclaredPublicAssets;
136
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
137
+ "CLOUDFLARE_PUBLIC_ASSET_SCOPE",
138
+ "DECLARED_PUBLIC_ASSET_DIRECTORY",
139
+ "NODE_PUBLIC_ASSET_SCOPE",
140
+ "normalizeDeclaredPublicAssets",
141
+ "resolveAddedDeclaredPublicAssetPaths",
142
+ "stageDeclaredPublicAssets"
143
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
144
+ Object.defineProperty(exports, '__esModule', {
145
+ value: true
146
+ });
@@ -28,9 +28,21 @@ var __webpack_require__ = {};
28
28
  var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
+ DEPLOY_TARGETS: ()=>DEPLOY_TARGETS,
32
+ DEPLOY_TARGET_FLAG: ()=>DEPLOY_TARGET_FLAG,
33
+ getDeployingTarget: ()=>getDeployingTarget,
31
34
  resolveDeployTarget: ()=>resolveDeployTarget
32
35
  });
36
+ const utils_namespaceObject = require("@modern-js/utils");
33
37
  const external_std_env_namespaceObject = require("std-env");
38
+ const DEPLOY_TARGETS = [
39
+ 'node',
40
+ 'vercel',
41
+ 'netlify',
42
+ 'ghPages',
43
+ 'cloudflare'
44
+ ];
45
+ const DEPLOY_TARGET_FLAG = '--deploy-target';
34
46
  const providerDeployTargets = {
35
47
  vercel: 'vercel',
36
48
  netlify: 'netlify',
@@ -38,9 +50,53 @@ const providerDeployTargets = {
38
50
  cloudflare_pages: 'cloudflare',
39
51
  cloudflare_workers: 'cloudflare'
40
52
  };
41
- const resolveDeployTarget = (config, envDeployTarget = process.env.MODERNJS_DEPLOY, detectedProvider = external_std_env_namespaceObject.provider)=>config.deploy?.target || envDeployTarget || (detectedProvider ? providerDeployTargets[detectedProvider] : void 0) || 'node';
53
+ const readDeployTargetFlag = (argv)=>{
54
+ for (const [index, arg] of argv.entries()){
55
+ if (arg === DEPLOY_TARGET_FLAG) {
56
+ const value = argv[index + 1];
57
+ if (void 0 === value || value.startsWith('-')) throw new Error(`${DEPLOY_TARGET_FLAG} needs a value.`);
58
+ return value;
59
+ }
60
+ if (arg.startsWith(`${DEPLOY_TARGET_FLAG}=`)) return arg.slice(DEPLOY_TARGET_FLAG.length + 1);
61
+ }
62
+ };
63
+ const assertDeployTarget = (target, source)=>{
64
+ if (!DEPLOY_TARGETS.includes(target)) throw new Error(`Unknown deploy target '${target}' from ${source}. Use one of: ${DEPLOY_TARGETS.join(', ')}.`);
65
+ return target;
66
+ };
67
+ const resolveDeployTarget = ({ argv = (0, utils_namespaceObject.getArgv)(), configTarget, env = process.env.MODERNJS_DEPLOY, provider = external_std_env_namespaceObject.provider } = {})=>{
68
+ const explicit = [
69
+ [
70
+ readDeployTargetFlag(argv),
71
+ DEPLOY_TARGET_FLAG
72
+ ],
73
+ [
74
+ configTarget,
75
+ 'deploy.target'
76
+ ],
77
+ [
78
+ env,
79
+ 'MODERNJS_DEPLOY'
80
+ ]
81
+ ].find(([target])=>target);
82
+ if (explicit?.[0]) return {
83
+ target: assertDeployTarget(explicit[0], explicit[1]),
84
+ explicit: true
85
+ };
86
+ return {
87
+ target: provider && providerDeployTargets[provider] || 'node',
88
+ explicit: false
89
+ };
90
+ };
91
+ const getDeployingTarget = ({ deployTarget, metaName })=>deployTarget && ('modern-js' === metaName || deployTarget.explicit) ? deployTarget.target : void 0;
92
+ exports.DEPLOY_TARGETS = __webpack_exports__.DEPLOY_TARGETS;
93
+ exports.DEPLOY_TARGET_FLAG = __webpack_exports__.DEPLOY_TARGET_FLAG;
94
+ exports.getDeployingTarget = __webpack_exports__.getDeployingTarget;
42
95
  exports.resolveDeployTarget = __webpack_exports__.resolveDeployTarget;
43
96
  for(var __rspack_i in __webpack_exports__)if (-1 === [
97
+ "DEPLOY_TARGETS",
98
+ "DEPLOY_TARGET_FLAG",
99
+ "getDeployingTarget",
44
100
  "resolveDeployTarget"
45
101
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
46
102
  Object.defineProperty(exports, '__esModule', {
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
22
+ };
23
+ })();
24
+ (()=>{
25
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
26
+ })();
27
+ (()=>{
28
+ __webpack_require__.r = (exports1)=>{
29
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
30
+ value: 'Module'
31
+ });
32
+ Object.defineProperty(exports1, '__esModule', {
33
+ value: true
34
+ });
35
+ };
36
+ })();
37
+ var __webpack_exports__ = {};
38
+ __webpack_require__.r(__webpack_exports__);
39
+ __webpack_require__.d(__webpack_exports__, {
40
+ createBuildHostIgnore: ()=>createBuildHostIgnore,
41
+ traceDeployFiles: ()=>traceDeployFiles
42
+ });
43
+ const external_node_os_namespaceObject = require("node:os");
44
+ var external_node_os_default = /*#__PURE__*/ __webpack_require__.n(external_node_os_namespaceObject);
45
+ const external_node_path_namespaceObject = require("node:path");
46
+ var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
47
+ const SYSTEM_ROOTS = 'win32' === process.platform ? [] : [
48
+ '/dev',
49
+ '/etc',
50
+ '/proc',
51
+ '/run',
52
+ '/sys',
53
+ '/var/run'
54
+ ];
55
+ const GLOB_SEGMENT = /[*?[{]/;
56
+ const isInside = (parent, child)=>child === parent || child.startsWith(`${parent}${external_node_path_default().sep}`);
57
+ const globRoot = (absolutePattern)=>{
58
+ const { root } = external_node_path_default().parse(absolutePattern);
59
+ const segments = absolutePattern.slice(root.length).split(external_node_path_default().sep);
60
+ const index = segments.findIndex((segment)=>GLOB_SEGMENT.test(segment));
61
+ return -1 === index ? void 0 : external_node_path_default().join(root, ...segments.slice(0, index));
62
+ };
63
+ const createBuildHostIgnore = (base)=>{
64
+ const wholeDirectories = new Set([
65
+ external_node_path_default().parse(external_node_path_default().resolve(base)).root,
66
+ external_node_path_default().resolve(external_node_os_default().homedir()),
67
+ external_node_path_default().resolve(external_node_os_default().tmpdir())
68
+ ]);
69
+ return (relativePath)=>{
70
+ const absolutePath = external_node_path_default().resolve(base, relativePath);
71
+ if (SYSTEM_ROOTS.some((root)=>isInside(root, absolutePath))) return true;
72
+ const root = globRoot(absolutePath);
73
+ return void 0 !== root && wholeDirectories.has(root);
74
+ };
75
+ };
76
+ const traceDeployFiles = ({ entryFiles, sourceDir, base = '/' })=>{
77
+ const resolvedBase = external_node_path_default().resolve(base);
78
+ const ignore = createBuildHostIgnore(resolvedBase);
79
+ try {
80
+ const options = {
81
+ base: resolvedBase,
82
+ processCwd: external_node_path_default().resolve(sourceDir || resolvedBase),
83
+ ignore
84
+ };
85
+ const entries = entryFiles.map((file)=>external_node_path_default().resolve(file));
86
+ return import("@vercel/nft").then(({ nodeFileTrace })=>nodeFileTrace(entries, options));
87
+ } catch (error) {
88
+ return Promise.reject(error);
89
+ }
90
+ };
91
+ exports.createBuildHostIgnore = __webpack_exports__.createBuildHostIgnore;
92
+ exports.traceDeployFiles = __webpack_exports__.traceDeployFiles;
93
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
94
+ "createBuildHostIgnore",
95
+ "traceDeployFiles"
96
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
97
+ Object.defineProperty(exports, '__esModule', {
98
+ value: true
99
+ });
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
22
+ };
23
+ })();
24
+ (()=>{
25
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
26
+ })();
27
+ (()=>{
28
+ __webpack_require__.r = (exports1)=>{
29
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
30
+ value: 'Module'
31
+ });
32
+ Object.defineProperty(exports1, '__esModule', {
33
+ value: true
34
+ });
35
+ };
36
+ })();
37
+ var __webpack_exports__ = {};
38
+ __webpack_require__.r(__webpack_exports__);
39
+ __webpack_require__.d(__webpack_exports__, {
40
+ readModuleFederationConfigInspection: ()=>readModuleFederationConfigInspection,
41
+ readModuleFederationExposePaths: ()=>readModuleFederationExposePaths
42
+ });
43
+ const external_node_fs_namespaceObject = require("node:fs");
44
+ var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
45
+ const external_node_path_namespaceObject = require("node:path");
46
+ var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
47
+ const external_inspect_js_namespaceObject = require("./inspect.js");
48
+ const moduleFederationConfigFile = 'module-federation.config.ts';
49
+ function readModuleFederationConfigInspection(workspaceRoot, appDirectory) {
50
+ const configPath = external_node_path_default().join(workspaceRoot, appDirectory, moduleFederationConfigFile);
51
+ if (!external_node_fs_default().existsSync(configPath)) return;
52
+ try {
53
+ const source = external_node_fs_default().readFileSync(configPath, 'utf-8');
54
+ return (0, external_inspect_js_namespaceObject.inspectModuleFederationConfigSource)(source, appDirectory, external_node_path_default().join(appDirectory, moduleFederationConfigFile));
55
+ } catch {
56
+ return;
57
+ }
58
+ }
59
+ function readModuleFederationExposePaths(workspaceRoot, appDirectory) {
60
+ return readModuleFederationConfigInspection(workspaceRoot, appDirectory)?.exposePaths;
61
+ }
62
+ exports.readModuleFederationConfigInspection = __webpack_exports__.readModuleFederationConfigInspection;
63
+ exports.readModuleFederationExposePaths = __webpack_exports__.readModuleFederationExposePaths;
64
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
65
+ "readModuleFederationConfigInspection",
66
+ "readModuleFederationExposePaths"
67
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
68
+ Object.defineProperty(exports, '__esModule', {
69
+ value: true
70
+ });
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ findCreateModuleFederationConfigObject: ()=>external_syntax_js_namespaceObject.findCreateModuleFederationConfigObject,
32
+ findExportDefaultObject: ()=>external_syntax_js_namespaceObject.findExportDefaultObject,
33
+ inspectModuleFederationConfigSource: ()=>external_inspect_js_namespaceObject.inspectModuleFederationConfigSource,
34
+ locateCreateModuleFederationConfigObject: ()=>external_syntax_js_namespaceObject.locateCreateModuleFederationConfigObject,
35
+ parseArrayLiteral: ()=>external_object_literal_js_namespaceObject.parseArrayLiteral,
36
+ parseConfigModule: ()=>external_syntax_js_namespaceObject.parseConfigModule,
37
+ parseLiteralString: ()=>external_object_literal_js_namespaceObject.parseLiteralString,
38
+ parseObjectLiteral: ()=>external_object_literal_js_namespaceObject.parseObjectLiteral,
39
+ parseStaticExpression: ()=>external_syntax_js_namespaceObject.parseStaticExpression,
40
+ readModuleFederationConfigInspection: ()=>external_exposes_js_namespaceObject.readModuleFederationConfigInspection,
41
+ readModuleFederationExposePaths: ()=>external_exposes_js_namespaceObject.readModuleFederationExposePaths
42
+ });
43
+ const external_exposes_js_namespaceObject = require("./exposes.js");
44
+ const external_inspect_js_namespaceObject = require("./inspect.js");
45
+ const external_object_literal_js_namespaceObject = require("./object-literal.js");
46
+ const external_syntax_js_namespaceObject = require("./syntax.js");
47
+ exports.findCreateModuleFederationConfigObject = __webpack_exports__.findCreateModuleFederationConfigObject;
48
+ exports.findExportDefaultObject = __webpack_exports__.findExportDefaultObject;
49
+ exports.inspectModuleFederationConfigSource = __webpack_exports__.inspectModuleFederationConfigSource;
50
+ exports.locateCreateModuleFederationConfigObject = __webpack_exports__.locateCreateModuleFederationConfigObject;
51
+ exports.parseArrayLiteral = __webpack_exports__.parseArrayLiteral;
52
+ exports.parseConfigModule = __webpack_exports__.parseConfigModule;
53
+ exports.parseLiteralString = __webpack_exports__.parseLiteralString;
54
+ exports.parseObjectLiteral = __webpack_exports__.parseObjectLiteral;
55
+ exports.parseStaticExpression = __webpack_exports__.parseStaticExpression;
56
+ exports.readModuleFederationConfigInspection = __webpack_exports__.readModuleFederationConfigInspection;
57
+ exports.readModuleFederationExposePaths = __webpack_exports__.readModuleFederationExposePaths;
58
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
59
+ "findCreateModuleFederationConfigObject",
60
+ "findExportDefaultObject",
61
+ "inspectModuleFederationConfigSource",
62
+ "locateCreateModuleFederationConfigObject",
63
+ "parseArrayLiteral",
64
+ "parseConfigModule",
65
+ "parseLiteralString",
66
+ "parseObjectLiteral",
67
+ "parseStaticExpression",
68
+ "readModuleFederationConfigInspection",
69
+ "readModuleFederationExposePaths"
70
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
71
+ Object.defineProperty(exports, '__esModule', {
72
+ value: true
73
+ });
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ inspectModuleFederationConfigSource: ()=>inspectModuleFederationConfigSource
32
+ });
33
+ const external_object_literal_js_namespaceObject = require("./object-literal.js");
34
+ const external_syntax_js_namespaceObject = require("./syntax.js");
35
+ function extractExposes(configPath, value) {
36
+ if (void 0 === value) return {
37
+ exposePaths: {},
38
+ exposes: []
39
+ };
40
+ const object = (0, external_object_literal_js_namespaceObject.parseObjectLiteral)(value);
41
+ if (object) {
42
+ if (object.hasSpread) throw new Error(`Cannot statically extract Module Federation exposes from ${configPath}; use a literal exposes object without spreads.`);
43
+ const exposePaths = {};
44
+ for (const [expose, source] of object.properties){
45
+ const exposePath = (0, external_object_literal_js_namespaceObject.parseLiteralString)(source);
46
+ if (void 0 !== exposePath) exposePaths[expose] = exposePath;
47
+ }
48
+ return {
49
+ exposePaths,
50
+ exposes: Array.from(object.properties.keys()).sort()
51
+ };
52
+ }
53
+ const array = (0, external_object_literal_js_namespaceObject.parseArrayLiteral)(value);
54
+ if (array) return {
55
+ exposePaths: {},
56
+ exposes: array.sort()
57
+ };
58
+ throw new Error(`Cannot statically extract Module Federation exposes from ${configPath}; use a literal exposes object or string array.`);
59
+ }
60
+ function extractDtsSettings(configPath, value, exposes) {
61
+ if ('false' === value) {
62
+ if (exposes.length > 0) throw new Error(`Module Federation DTS cannot be disabled for exposed app ${configPath}.`);
63
+ return {};
64
+ }
65
+ if (void 0 === value) return {};
66
+ const dts = (0, external_object_literal_js_namespaceObject.parseObjectLiteral)(value);
67
+ if (!dts || dts.hasSpread) throw new Error(`Cannot statically extract Module Federation DTS settings from ${configPath}; use a literal dts object.`);
68
+ const generateTypes = (0, external_object_literal_js_namespaceObject.parseObjectLiteral)(dts.properties.get('generateTypes'));
69
+ if (generateTypes?.hasSpread) throw new Error(`Cannot statically extract Module Federation generateTypes settings from ${configPath}; use a literal generateTypes object.`);
70
+ const compilerInstanceSource = generateTypes?.properties.get('compilerInstance');
71
+ return {
72
+ compilerInstance: (0, external_object_literal_js_namespaceObject.parseLiteralString)(compilerInstanceSource) ?? ('tsgoCompilerInstance' === compilerInstanceSource ? 'effect-tsgo' : void 0),
73
+ tsConfigPath: (0, external_object_literal_js_namespaceObject.parseLiteralString)(dts.properties.get('tsConfigPath'))
74
+ };
75
+ }
76
+ function hasHostOnlyNoExposesDeclaration(source) {
77
+ return ((0, external_syntax_js_namespaceObject.parseConfigModule)(source).comments ?? []).some((comment)=>/@?ultramodern-mf\s*:?\s*(?:host-only|no-exposes)\b/iu.test(comment.value));
78
+ }
79
+ function inspectModuleFederationConfigSource(source, appDir, configPath) {
80
+ const configObject = (0, external_syntax_js_namespaceObject.findCreateModuleFederationConfigObject)(source) ?? (0, external_syntax_js_namespaceObject.findExportDefaultObject)(source);
81
+ if (!configObject) throw new Error(`Cannot statically inspect Module Federation config ${configPath}; export or pass a literal config object.`);
82
+ const properties = (0, external_object_literal_js_namespaceObject.parseObjectLiteral)(configObject);
83
+ if (!properties) throw new Error(`Cannot statically inspect Module Federation config ${configPath}; expected a literal config object.`);
84
+ if (properties.hasSpread) throw new Error(`Cannot statically inspect Module Federation config ${configPath}; top-level config spreads are not supported.`);
85
+ const { exposePaths, exposes } = extractExposes(configPath, properties.properties.get('exposes'));
86
+ const hostOnlyNoExposes = hasHostOnlyNoExposesDeclaration(source);
87
+ if (hostOnlyNoExposes && exposes.length > 0) throw new Error(`Module Federation host-only/no-exposes declaration conflicts with actual exposes in ${configPath}.`);
88
+ return {
89
+ appDir,
90
+ configPath,
91
+ dts: extractDtsSettings(configPath, properties.properties.get('dts'), exposes),
92
+ exposePaths,
93
+ exposes,
94
+ hostOnlyNoExposes
95
+ };
96
+ }
97
+ exports.inspectModuleFederationConfigSource = __webpack_exports__.inspectModuleFederationConfigSource;
98
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
99
+ "inspectModuleFederationConfigSource"
100
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
101
+ Object.defineProperty(exports, '__esModule', {
102
+ value: true
103
+ });
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ parseArrayLiteral: ()=>parseArrayLiteral,
32
+ parseLiteralString: ()=>parseLiteralString,
33
+ parseObjectLiteral: ()=>parseObjectLiteral
34
+ });
35
+ const external_syntax_js_namespaceObject = require("./syntax.js");
36
+ function parseLiteralString(source) {
37
+ const node = (0, external_syntax_js_namespaceObject.parseStaticExpression)(source);
38
+ if (node?.type === 'StringLiteral') return node.value;
39
+ if (node?.type === 'TemplateLiteral' && 0 === node.expressions.length) return node.quasis[0]?.value.cooked ?? void 0;
40
+ }
41
+ function parseObjectLiteral(source) {
42
+ const node = (0, external_syntax_js_namespaceObject.parseStaticExpression)(source);
43
+ if (void 0 === source || node?.type !== 'ObjectExpression') return;
44
+ const properties = new Map();
45
+ let hasSpread = false;
46
+ for (const property of node.properties){
47
+ if ('ObjectProperty' !== property.type || property.computed || property.shorthand) {
48
+ hasSpread = true;
49
+ continue;
50
+ }
51
+ const key = 'Identifier' === property.key.type ? property.key.name : 'StringLiteral' === property.key.type ? property.key.value : void 0;
52
+ const value = (0, external_syntax_js_namespaceObject.parseStaticExpression)(source.slice(property.value.start ?? 0, property.value.end ?? 0));
53
+ if (void 0 === key || properties.has(key) || !value || null == value.start || null == value.end) {
54
+ hasSpread = true;
55
+ continue;
56
+ }
57
+ const rawValue = source.slice(property.value.start ?? 0, property.value.end ?? 0);
58
+ properties.set(key, rawValue.slice(value.start, value.end));
59
+ }
60
+ return {
61
+ hasSpread,
62
+ properties
63
+ };
64
+ }
65
+ function parseArrayLiteral(source) {
66
+ const node = (0, external_syntax_js_namespaceObject.parseStaticExpression)(source);
67
+ if (void 0 === source || node?.type !== 'ArrayExpression') return;
68
+ const values = [];
69
+ for (const element of node.elements){
70
+ if (!element || 'SpreadElement' === element.type) return;
71
+ const value = parseLiteralString(source.slice(element.start ?? 0, element.end ?? 0));
72
+ if (void 0 === value) return;
73
+ values.push(value);
74
+ }
75
+ return values;
76
+ }
77
+ exports.parseArrayLiteral = __webpack_exports__.parseArrayLiteral;
78
+ exports.parseLiteralString = __webpack_exports__.parseLiteralString;
79
+ exports.parseObjectLiteral = __webpack_exports__.parseObjectLiteral;
80
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
81
+ "parseArrayLiteral",
82
+ "parseLiteralString",
83
+ "parseObjectLiteral"
84
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
85
+ Object.defineProperty(exports, '__esModule', {
86
+ value: true
87
+ });