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

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 (217) hide show
  1. package/dist/cjs/backend-federation-build/codegen.js +267 -0
  2. package/dist/cjs/backend-federation-build/config.js +239 -0
  3. package/dist/cjs/backend-federation-build/emit.js +154 -0
  4. package/dist/cjs/backend-federation-build/index.js +53 -0
  5. package/dist/cjs/build-config/build-environment.js +129 -0
  6. package/dist/cjs/build-config/precompress/plugin.js +124 -0
  7. package/dist/cjs/build-config/precompress/types.js +18 -0
  8. package/dist/cjs/build-config/public.js +43 -0
  9. package/dist/cjs/build-config/remote-address.js +58 -0
  10. package/dist/cjs/cloudflare/artifacts.js +8 -19
  11. package/dist/cjs/cloudflare/constants.js +1 -1
  12. package/dist/cjs/cloudflare/delivery-unit.js +23 -42
  13. package/dist/cjs/cloudflare/index.js +10 -2
  14. package/dist/cjs/cloudflare/worker-manifest.js +13 -4
  15. package/dist/cjs/cloudflare/wrangler-config.js +35 -7
  16. package/dist/cjs/cloudflare-builder.js +252 -75
  17. package/dist/cjs/cloudflare-output-contract.js +69 -3
  18. package/dist/cjs/cloudflare-output-verifier/identity.js +29 -27
  19. package/dist/cjs/cloudflare-output-verifier/index.js +10 -0
  20. package/dist/cjs/cloudflare-output-verifier/manifest.js +46 -0
  21. package/dist/cjs/cloudflare-output-verifier/mutation-policy.js +7 -1
  22. package/dist/cjs/cloudflare-output-verifier/worker-bundles.js +14 -6
  23. package/dist/cjs/config.js +34 -1
  24. package/dist/cjs/deploy-output/npmAliases.js +251 -0
  25. package/dist/cjs/deploy-output/plugin.js +97 -0
  26. package/dist/cjs/deploy-output/public-assets.js +146 -0
  27. package/dist/cjs/deploy-output/target.js +104 -0
  28. package/dist/cjs/deploy-output/trace-files.js +90 -0
  29. package/dist/cjs/native-type-checker.js +193 -0
  30. package/dist/cjs/policy-defaults.js +101 -0
  31. package/dist/cjs/release-envelope/framework-output.js +153 -79
  32. package/dist/cjs/release-envelope/index.js +10 -4
  33. package/dist/cjs/release-envelope/plugin.js +18 -13
  34. package/dist/cjs/release-identity.js +5 -6
  35. package/dist/cjs/runtime-package-resolution.js +118 -0
  36. package/dist/cjs/templates/cloudflare-entry.001-bootstrap-security.mjs +0 -3
  37. package/dist/cjs/templates/cloudflare-entry.002-assets-routes.mjs +1 -1
  38. package/dist/cjs/templates/cloudflare-entry.004-rendering-css.mjs +5 -1
  39. package/dist/cjs/templates/cloudflare-entry.005-worker-dispatch.mjs +98 -10
  40. package/dist/cjs/templates/cloudflare-entry.006-fetch-handler.mjs +9 -2
  41. package/dist/cjs/templates/cloudflare-worker-route-data.mjs +1069 -0
  42. package/dist/esm/backend-federation-build/codegen.mjs +216 -0
  43. package/dist/esm/backend-federation-build/config.mjs +163 -0
  44. package/dist/esm/backend-federation-build/emit.mjs +103 -0
  45. package/dist/esm/backend-federation-build/index.mjs +1 -0
  46. package/dist/esm/build-config/build-environment.mjs +88 -0
  47. package/dist/esm/build-config/precompress/plugin.mjs +76 -0
  48. package/dist/esm/build-config/precompress/types.mjs +0 -0
  49. package/dist/esm/build-config/public.mjs +1 -0
  50. package/dist/esm/build-config/remote-address.mjs +20 -0
  51. package/dist/esm/cloudflare/artifacts.mjs +8 -19
  52. package/dist/esm/cloudflare/constants.mjs +1 -1
  53. package/dist/esm/cloudflare/delivery-unit.mjs +17 -36
  54. package/dist/esm/cloudflare/index.mjs +10 -2
  55. package/dist/esm/cloudflare/worker-manifest.mjs +13 -4
  56. package/dist/esm/cloudflare/wrangler-config.mjs +35 -7
  57. package/dist/esm/cloudflare-builder.mjs +246 -75
  58. package/dist/esm/cloudflare-output-contract.mjs +59 -2
  59. package/dist/esm/cloudflare-output-verifier/identity.mjs +27 -25
  60. package/dist/esm/cloudflare-output-verifier/index.mjs +10 -0
  61. package/dist/esm/cloudflare-output-verifier/manifest.mjs +46 -0
  62. package/dist/esm/cloudflare-output-verifier/mutation-policy.mjs +7 -1
  63. package/dist/esm/cloudflare-output-verifier/worker-bundles.mjs +15 -7
  64. package/dist/esm/config.mjs +3 -0
  65. package/dist/esm/deploy-output/npmAliases.mjs +199 -0
  66. package/dist/esm/deploy-output/plugin.mjs +46 -0
  67. package/dist/esm/deploy-output/public-assets.mjs +82 -0
  68. package/dist/esm/deploy-output/target.mjs +57 -0
  69. package/dist/esm/deploy-output/trace-files.mjs +38 -0
  70. package/dist/esm/native-type-checker.mjs +142 -0
  71. package/dist/esm/policy-defaults.mjs +45 -0
  72. package/dist/esm/release-envelope/framework-output.mjs +130 -56
  73. package/dist/esm/release-envelope/index.mjs +10 -4
  74. package/dist/esm/release-envelope/plugin.mjs +18 -13
  75. package/dist/esm/release-identity.mjs +5 -6
  76. package/dist/esm/runtime-package-resolution.mjs +60 -0
  77. package/dist/esm/templates/cloudflare-entry.001-bootstrap-security.mjs +0 -3
  78. package/dist/esm/templates/cloudflare-entry.002-assets-routes.mjs +1 -1
  79. package/dist/esm/templates/cloudflare-entry.004-rendering-css.mjs +5 -1
  80. package/dist/esm/templates/cloudflare-entry.005-worker-dispatch.mjs +98 -10
  81. package/dist/esm/templates/cloudflare-entry.006-fetch-handler.mjs +9 -2
  82. package/dist/esm/templates/cloudflare-worker-route-data.mjs +1069 -0
  83. package/dist/esm-node/backend-federation-build/codegen.mjs +217 -0
  84. package/dist/esm-node/backend-federation-build/config.mjs +164 -0
  85. package/dist/esm-node/backend-federation-build/emit.mjs +104 -0
  86. package/dist/esm-node/backend-federation-build/index.mjs +2 -0
  87. package/dist/esm-node/build-config/build-environment.mjs +89 -0
  88. package/dist/esm-node/build-config/precompress/plugin.mjs +77 -0
  89. package/dist/esm-node/build-config/precompress/types.mjs +1 -0
  90. package/dist/esm-node/build-config/public.mjs +2 -0
  91. package/dist/esm-node/build-config/remote-address.mjs +21 -0
  92. package/dist/esm-node/cloudflare/artifacts.mjs +8 -19
  93. package/dist/esm-node/cloudflare/constants.mjs +1 -1
  94. package/dist/esm-node/cloudflare/delivery-unit.mjs +17 -36
  95. package/dist/esm-node/cloudflare/index.mjs +10 -2
  96. package/dist/esm-node/cloudflare/worker-manifest.mjs +13 -4
  97. package/dist/esm-node/cloudflare/wrangler-config.mjs +35 -7
  98. package/dist/esm-node/cloudflare-builder.mjs +246 -75
  99. package/dist/esm-node/cloudflare-output-contract.mjs +59 -2
  100. package/dist/esm-node/cloudflare-output-verifier/identity.mjs +27 -25
  101. package/dist/esm-node/cloudflare-output-verifier/index.mjs +10 -0
  102. package/dist/esm-node/cloudflare-output-verifier/manifest.mjs +46 -0
  103. package/dist/esm-node/cloudflare-output-verifier/mutation-policy.mjs +7 -1
  104. package/dist/esm-node/cloudflare-output-verifier/worker-bundles.mjs +15 -7
  105. package/dist/esm-node/config.mjs +3 -0
  106. package/dist/esm-node/deploy-output/npmAliases.mjs +200 -0
  107. package/dist/esm-node/deploy-output/plugin.mjs +49 -0
  108. package/dist/esm-node/deploy-output/public-assets.mjs +83 -0
  109. package/dist/esm-node/deploy-output/target.mjs +58 -0
  110. package/dist/esm-node/deploy-output/trace-files.mjs +39 -0
  111. package/dist/esm-node/native-type-checker.mjs +143 -0
  112. package/dist/esm-node/policy-defaults.mjs +46 -0
  113. package/dist/esm-node/release-envelope/framework-output.mjs +130 -56
  114. package/dist/esm-node/release-envelope/index.mjs +10 -4
  115. package/dist/esm-node/release-envelope/plugin.mjs +18 -13
  116. package/dist/esm-node/release-identity.mjs +5 -6
  117. package/dist/esm-node/runtime-package-resolution.mjs +61 -0
  118. package/dist/esm-node/templates/cloudflare-entry.001-bootstrap-security.mjs +0 -3
  119. package/dist/esm-node/templates/cloudflare-entry.002-assets-routes.mjs +1 -1
  120. package/dist/esm-node/templates/cloudflare-entry.004-rendering-css.mjs +5 -1
  121. package/dist/esm-node/templates/cloudflare-entry.005-worker-dispatch.mjs +98 -10
  122. package/dist/esm-node/templates/cloudflare-entry.006-fetch-handler.mjs +9 -2
  123. package/dist/esm-node/templates/cloudflare-worker-route-data.mjs +1069 -0
  124. package/dist/types/backend-federation-build/codegen.d.ts +116 -0
  125. package/dist/types/backend-federation-build/config.d.ts +121 -0
  126. package/dist/types/backend-federation-build/emit.d.ts +21 -0
  127. package/dist/types/backend-federation-build/index.d.ts +2 -0
  128. package/dist/types/build-config/build-environment.d.ts +14 -0
  129. package/dist/types/build-config/precompress/plugin.d.ts +4 -0
  130. package/dist/types/build-config/precompress/types.d.ts +19 -0
  131. package/dist/types/build-config/public.d.ts +2 -0
  132. package/dist/types/build-config/remote-address.d.ts +3 -0
  133. package/dist/types/cloudflare/artifacts.d.ts +7 -6
  134. package/dist/types/cloudflare/constants.d.ts +1 -1
  135. package/dist/types/cloudflare/delivery-unit.d.ts +3 -3
  136. package/dist/types/cloudflare/worker-manifest.d.ts +2 -2
  137. package/dist/types/cloudflare/wrangler-config.d.ts +6 -0
  138. package/dist/types/cloudflare-builder.d.ts +49 -9
  139. package/dist/types/cloudflare-output-contract.d.ts +4 -1
  140. package/dist/types/cloudflare-output-verifier/identity.d.ts +1 -1
  141. package/dist/types/cloudflare-output-verifier/worker-bundles.d.ts +2 -2
  142. package/dist/types/config.d.ts +29 -1
  143. package/dist/types/deploy-output/npmAliases.d.ts +14 -0
  144. package/dist/types/deploy-output/plugin.d.ts +35 -0
  145. package/dist/types/deploy-output/public-assets.d.ts +51 -0
  146. package/dist/types/deploy-output/target.d.ts +29 -0
  147. package/dist/types/deploy-output/trace-files.d.ts +17 -0
  148. package/dist/types/native-type-checker.d.ts +15 -0
  149. package/dist/types/policy-defaults.d.ts +46 -0
  150. package/dist/types/precompress/LICENSE +20 -0
  151. package/dist/types/precompress/index.d.ts +76 -0
  152. package/dist/types/release-envelope/framework-output.d.ts +8 -3
  153. package/dist/types/release-envelope/plugin.d.ts +7 -7
  154. package/dist/types/runtime-package-resolution.d.ts +28 -0
  155. package/dist/types/templates/cloudflare-worker-route-data.d.mts +14 -0
  156. package/package.json +97 -15
  157. package/src/backend-federation-build/codegen.ts +254 -0
  158. package/src/backend-federation-build/config.ts +492 -0
  159. package/src/backend-federation-build/emit.ts +213 -0
  160. package/src/backend-federation-build/index.ts +2 -0
  161. package/src/build-config/build-environment.ts +160 -0
  162. package/src/build-config/precompress/plugin.ts +140 -0
  163. package/src/build-config/precompress/types.ts +26 -0
  164. package/src/build-config/public.ts +5 -0
  165. package/src/build-config/remote-address.ts +33 -0
  166. package/src/cloudflare/artifacts.ts +22 -43
  167. package/src/cloudflare/constants.ts +1 -1
  168. package/src/cloudflare/delivery-unit.ts +42 -53
  169. package/src/cloudflare/index.ts +24 -11
  170. package/src/cloudflare/worker-manifest.ts +20 -3
  171. package/src/cloudflare/wrangler-config.ts +86 -10
  172. package/src/cloudflare-builder.ts +475 -151
  173. package/src/cloudflare-output-contract.ts +70 -0
  174. package/src/cloudflare-output-verifier/identity.ts +5 -1
  175. package/src/cloudflare-output-verifier/index.ts +20 -0
  176. package/src/cloudflare-output-verifier/manifest.ts +77 -0
  177. package/src/cloudflare-output-verifier/mutation-policy.ts +11 -1
  178. package/src/cloudflare-output-verifier/worker-bundles.ts +32 -14
  179. package/src/config.ts +34 -6
  180. package/src/deploy-output/npmAliases.ts +382 -0
  181. package/src/deploy-output/plugin.ts +86 -0
  182. package/src/deploy-output/public-assets.ts +224 -0
  183. package/src/deploy-output/target.ts +106 -0
  184. package/src/deploy-output/trace-files.ts +67 -0
  185. package/src/native-type-checker.ts +183 -0
  186. package/src/policy-defaults.ts +127 -0
  187. package/src/release-envelope/framework-output.ts +346 -94
  188. package/src/release-envelope/index.ts +26 -5
  189. package/src/release-envelope/plugin.ts +43 -40
  190. package/src/release-identity.ts +13 -2
  191. package/src/runtime-package-resolution.ts +115 -0
  192. package/src/templates/cloudflare-entry.001-bootstrap-security.mjs +0 -3
  193. package/src/templates/cloudflare-entry.002-assets-routes.mjs +1 -1
  194. package/src/templates/cloudflare-entry.004-rendering-css.mjs +5 -1
  195. package/src/templates/cloudflare-entry.005-worker-dispatch.mjs +98 -10
  196. package/src/templates/cloudflare-entry.006-fetch-handler.mjs +9 -2
  197. package/src/templates/cloudflare-worker-route-data.mjs +1069 -0
  198. package/dist/cjs/templates/cloudflare-worker-fs-promises.mjs +0 -11
  199. package/dist/cjs/templates/cloudflare-worker-loadable-server.mjs +0 -281
  200. package/dist/cjs/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
  201. package/dist/cjs/templates/cloudflare-worker-path.mjs +0 -98
  202. package/dist/esm/templates/cloudflare-worker-fs-promises.mjs +0 -11
  203. package/dist/esm/templates/cloudflare-worker-loadable-server.mjs +0 -281
  204. package/dist/esm/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
  205. package/dist/esm/templates/cloudflare-worker-path.mjs +0 -98
  206. package/dist/esm-node/templates/cloudflare-worker-fs-promises.mjs +0 -11
  207. package/dist/esm-node/templates/cloudflare-worker-loadable-server.mjs +0 -281
  208. package/dist/esm-node/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
  209. package/dist/esm-node/templates/cloudflare-worker-path.mjs +0 -98
  210. package/dist/types/templates/cloudflare-worker-fs-promises.d.mts +0 -5
  211. package/dist/types/templates/cloudflare-worker-loadable-server.d.mts +0 -48
  212. package/dist/types/templates/cloudflare-worker-mf-ssr-runtime-plugin.d.mts +0 -13
  213. package/dist/types/templates/cloudflare-worker-path.d.mts +0 -21
  214. package/src/templates/cloudflare-worker-fs-promises.mjs +0 -11
  215. package/src/templates/cloudflare-worker-loadable-server.mjs +0 -281
  216. package/src/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +0 -14
  217. package/src/templates/cloudflare-worker-path.mjs +0 -98
@@ -0,0 +1,97 @@
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
+ createDeployOutputAliasesPlugin: ()=>createDeployOutputAliasesPlugin,
41
+ createDeployOutputPublicAssetsPlugin: ()=>createDeployOutputPublicAssetsPlugin
42
+ });
43
+ const external_node_module_namespaceObject = require("node:module");
44
+ const external_node_path_namespaceObject = require("node:path");
45
+ var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
46
+ const external_npmAliases_js_namespaceObject = require("./npmAliases.js");
47
+ const external_public_assets_js_namespaceObject = require("./public-assets.js");
48
+ const external_target_js_namespaceObject = require("./target.js");
49
+ const createDeployOutputAliasesPlugin = ()=>({
50
+ name: '@modern-js/deploy-output-aliases',
51
+ setup (api) {
52
+ api.onAfterDeploy(async ()=>{
53
+ const appContext = api.getAppContext();
54
+ if ('node' !== (0, external_target_js_namespaceObject.getDeployingTarget)(appContext)) return;
55
+ const { appDirectory } = appContext;
56
+ const entry = (0, external_node_module_namespaceObject.createRequire)(__filename).resolve('@modern-js/prod-server');
57
+ const identity = await (0, external_npmAliases_js_namespaceObject.readPackageIdentity)(entry);
58
+ await (0, external_npmAliases_js_namespaceObject.preserveNpmAliases)({
59
+ appDirectory,
60
+ outputDirectory: external_node_path_default().join(appDirectory, '.output'),
61
+ implicitAliases: [
62
+ {
63
+ aliasName: '@modern-js/prod-server',
64
+ targetName: identity.name,
65
+ targetVersion: identity.version
66
+ }
67
+ ]
68
+ });
69
+ });
70
+ }
71
+ });
72
+ const createDeployOutputPublicAssetsPlugin = ()=>({
73
+ name: '@modern-js/deploy-output-public-assets',
74
+ setup (api) {
75
+ api.onAfterDeploy(async ()=>{
76
+ const appContext = api.getAppContext();
77
+ if ('node' !== (0, external_target_js_namespaceObject.getDeployingTarget)(appContext)) return;
78
+ const { appDirectory } = appContext;
79
+ const config = api.getNormalizedConfig();
80
+ await (0, external_public_assets_js_namespaceObject.stageDeclaredPublicAssets)({
81
+ appDirectory,
82
+ outputDirectory: external_node_path_default().join(appDirectory, '.output'),
83
+ assets: (0, external_public_assets_js_namespaceObject.normalizeDeclaredPublicAssets)(config.deploy?.node?.publicAssets, external_public_assets_js_namespaceObject.NODE_PUBLIC_ASSET_SCOPE),
84
+ scope: external_public_assets_js_namespaceObject.NODE_PUBLIC_ASSET_SCOPE
85
+ });
86
+ });
87
+ }
88
+ });
89
+ exports.createDeployOutputAliasesPlugin = __webpack_exports__.createDeployOutputAliasesPlugin;
90
+ exports.createDeployOutputPublicAssetsPlugin = __webpack_exports__.createDeployOutputPublicAssetsPlugin;
91
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
92
+ "createDeployOutputAliasesPlugin",
93
+ "createDeployOutputPublicAssetsPlugin"
94
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
95
+ Object.defineProperty(exports, '__esModule', {
96
+ value: true
97
+ });
@@ -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
+ });
@@ -0,0 +1,104 @@
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
+ DEPLOY_TARGETS: ()=>DEPLOY_TARGETS,
32
+ DEPLOY_TARGET_FLAG: ()=>DEPLOY_TARGET_FLAG,
33
+ getDeployingTarget: ()=>getDeployingTarget,
34
+ resolveDeployTarget: ()=>resolveDeployTarget
35
+ });
36
+ const utils_namespaceObject = require("@modern-js/utils");
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';
46
+ const providerDeployTargets = {
47
+ vercel: 'vercel',
48
+ netlify: 'netlify',
49
+ cloudflare: 'cloudflare',
50
+ cloudflare_pages: 'cloudflare',
51
+ cloudflare_workers: 'cloudflare'
52
+ };
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;
95
+ exports.resolveDeployTarget = __webpack_exports__.resolveDeployTarget;
96
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
97
+ "DEPLOY_TARGETS",
98
+ "DEPLOY_TARGET_FLAG",
99
+ "getDeployingTarget",
100
+ "resolveDeployTarget"
101
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
102
+ Object.defineProperty(exports, '__esModule', {
103
+ value: true
104
+ });
@@ -0,0 +1,90 @@
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 nft_namespaceObject = require("@vercel/nft");
48
+ const SYSTEM_ROOTS = 'win32' === process.platform ? [] : [
49
+ '/dev',
50
+ '/etc',
51
+ '/proc',
52
+ '/run',
53
+ '/sys',
54
+ '/var/run'
55
+ ];
56
+ const GLOB_SEGMENT = /[*?[{]/;
57
+ const isInside = (parent, child)=>child === parent || child.startsWith(`${parent}${external_node_path_default().sep}`);
58
+ const globRoot = (absolutePattern)=>{
59
+ const { root } = external_node_path_default().parse(absolutePattern);
60
+ const segments = absolutePattern.slice(root.length).split(external_node_path_default().sep);
61
+ const index = segments.findIndex((segment)=>GLOB_SEGMENT.test(segment));
62
+ return -1 === index ? void 0 : external_node_path_default().join(root, ...segments.slice(0, index));
63
+ };
64
+ const createBuildHostIgnore = (base)=>{
65
+ const wholeDirectories = new Set([
66
+ external_node_path_default().parse(external_node_path_default().resolve(base)).root,
67
+ external_node_path_default().resolve(external_node_os_default().homedir()),
68
+ external_node_path_default().resolve(external_node_os_default().tmpdir())
69
+ ]);
70
+ return (relativePath)=>{
71
+ const absolutePath = external_node_path_default().resolve(base, relativePath);
72
+ if (SYSTEM_ROOTS.some((root)=>isInside(root, absolutePath))) return true;
73
+ const root = globRoot(absolutePath);
74
+ return void 0 !== root && wholeDirectories.has(root);
75
+ };
76
+ };
77
+ const traceDeployFiles = ({ entryFiles, sourceDir, base = '/' })=>(0, nft_namespaceObject.nodeFileTrace)(entryFiles, {
78
+ base,
79
+ processCwd: sourceDir,
80
+ ignore: createBuildHostIgnore(base)
81
+ });
82
+ exports.createBuildHostIgnore = __webpack_exports__.createBuildHostIgnore;
83
+ exports.traceDeployFiles = __webpack_exports__.traceDeployFiles;
84
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
85
+ "createBuildHostIgnore",
86
+ "traceDeployFiles"
87
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
88
+ Object.defineProperty(exports, '__esModule', {
89
+ value: true
90
+ });
@@ -0,0 +1,193 @@
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
+ UltramodernNativeTypeChecker: ()=>UltramodernNativeTypeChecker,
41
+ configureUltramodernTypeChecker: ()=>configureUltramodernTypeChecker
42
+ });
43
+ const external_node_child_process_namespaceObject = require("node:child_process");
44
+ const external_node_fs_namespaceObject = require("node:fs");
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_node_util_namespaceObject = require("node:util");
48
+ const builder_namespaceObject = require("@modern-js/builder");
49
+ const execute = (0, external_node_util_namespaceObject.promisify)(external_node_child_process_namespaceObject.execFile);
50
+ const native_type_checker_name = 'UltramodernNativeTypeChecker';
51
+ const watchDependencyPath = (file)=>{
52
+ if ('win32' !== process.platform) return file;
53
+ try {
54
+ return external_node_fs_namespaceObject.realpathSync.native(file);
55
+ } catch {
56
+ return file;
57
+ }
58
+ };
59
+ class UltramodernNativeTypeChecker {
60
+ async check() {
61
+ const { configFile, build } = this.options;
62
+ if (!build) {
63
+ const config = JSON.parse(await this.run([
64
+ '--showConfig',
65
+ '--project',
66
+ configFile
67
+ ]));
68
+ if (config.references?.length) await this.run([
69
+ '--build',
70
+ ...config.references.map((reference)=>external_node_path_default().resolve(external_node_path_default().dirname(configFile), reference.path)),
71
+ '--stopBuildOnErrors',
72
+ '--pretty',
73
+ 'false'
74
+ ]);
75
+ }
76
+ const args = build ? [
77
+ '--build',
78
+ configFile,
79
+ '--stopBuildOnErrors'
80
+ ] : [
81
+ '--project',
82
+ configFile,
83
+ '--noEmit'
84
+ ];
85
+ await this.run([
86
+ ...args,
87
+ '--pretty',
88
+ 'false'
89
+ ]);
90
+ }
91
+ async run(args) {
92
+ try {
93
+ const result = await execute(this.options.compiler(), args, {
94
+ cwd: external_node_path_default().dirname(this.options.configFile),
95
+ maxBuffer: 16777216
96
+ });
97
+ return result.stdout;
98
+ } catch (cause) {
99
+ const output = cause;
100
+ const diagnostics = `${output.stdout ?? ''}${output.stderr ?? ''}`;
101
+ throw new Error(`${native_type_checker_name} failed:\n${diagnostics || (cause instanceof Error ? cause.message : String(cause))}`, {
102
+ cause
103
+ });
104
+ }
105
+ }
106
+ async watchInputs() {
107
+ const inputs = new Set();
108
+ const missing = new Set();
109
+ const projects = [
110
+ this.options.configFile
111
+ ];
112
+ const visited = new Set();
113
+ for (const configFile of projects){
114
+ if (visited.has(configFile)) continue;
115
+ visited.add(configFile);
116
+ inputs.add(configFile);
117
+ if (!(0, external_node_fs_namespaceObject.existsSync)(configFile)) {
118
+ missing.add(configFile);
119
+ continue;
120
+ }
121
+ let config;
122
+ try {
123
+ config = JSON.parse(await this.run([
124
+ '--showConfig',
125
+ '--project',
126
+ configFile
127
+ ]));
128
+ } catch {
129
+ continue;
130
+ }
131
+ const directory = external_node_path_default().dirname(configFile);
132
+ for (const file of config.files ?? [])inputs.add(external_node_path_default().resolve(directory, file));
133
+ for (const reference of config.references ?? []){
134
+ const target = external_node_path_default().resolve(directory, reference.path);
135
+ projects.push('.json' === external_node_path_default().extname(target) ? target : external_node_path_default().join(target, 'tsconfig.json'));
136
+ }
137
+ }
138
+ return {
139
+ inputs,
140
+ missing
141
+ };
142
+ }
143
+ apply(compiler) {
144
+ compiler.hooks.thisCompilation.tap(native_type_checker_name, (compilation)=>{
145
+ compilation.hooks.processAssets.tapPromise(native_type_checker_name, async ()=>{
146
+ try {
147
+ compilation.fileDependencies.add(watchDependencyPath(this.options.configFile));
148
+ const projectConfigFile = (0, builder_namespaceObject.refreshTsgoCheckerConfig)(this.options.configFile);
149
+ if (projectConfigFile) {
150
+ const watched = watchDependencyPath(projectConfigFile);
151
+ compilation.fileDependencies.add(watched);
152
+ if (!(0, external_node_fs_namespaceObject.existsSync)(projectConfigFile)) compilation.missingDependencies.add(watched);
153
+ }
154
+ const { inputs, missing } = await this.watchInputs();
155
+ for (const file of inputs)compilation.fileDependencies.add(watchDependencyPath(file));
156
+ for (const file of missing)compilation.missingDependencies.add(watchDependencyPath(file));
157
+ await this.check();
158
+ } catch (cause) {
159
+ compilation.errors.push(new Error(cause instanceof Error ? cause.message : String(cause), {
160
+ cause
161
+ }));
162
+ }
163
+ });
164
+ });
165
+ }
166
+ constructor(options){
167
+ this.options = options;
168
+ }
169
+ }
170
+ function configureUltramodernTypeChecker(chain, pluginId, resolveCompiler) {
171
+ if (!chain.plugins.has(pluginId)) return;
172
+ const options = chain.plugin(pluginId).get('args')?.[0];
173
+ const typescript = options?.typescript;
174
+ if (typescript?.tsgo === false) return;
175
+ if (!typescript?.configFile) throw new Error(`${native_type_checker_name} requires the configured TypeScript project.`);
176
+ const configFile = external_node_path_default().resolve(typescript.configFile);
177
+ chain.plugin(pluginId).use(UltramodernNativeTypeChecker, [
178
+ {
179
+ build: true === typescript.build,
180
+ compiler: ()=>resolveCompiler(configFile),
181
+ configFile
182
+ }
183
+ ]);
184
+ }
185
+ exports.UltramodernNativeTypeChecker = __webpack_exports__.UltramodernNativeTypeChecker;
186
+ exports.configureUltramodernTypeChecker = __webpack_exports__.configureUltramodernTypeChecker;
187
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
188
+ "UltramodernNativeTypeChecker",
189
+ "configureUltramodernTypeChecker"
190
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
191
+ Object.defineProperty(exports, '__esModule', {
192
+ value: true
193
+ });