@emailmaker/emailmaker 1.0.107-dev.3 → 1.0.107-dev.4

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 (325) hide show
  1. package/README.md +1 -1
  2. package/cli/dist/lib/cli/project.js +2 -16
  3. package/cli/dist/lib/config.js +20 -29
  4. package/cli/dist/lib/local-test.js +3 -19
  5. package/cli/dist/lib/paths.js +11 -0
  6. package/cli/dist/lib/resolveNpmSpawn.d.ts +20 -0
  7. package/cli/dist/lib/resolveNpmSpawn.js +71 -0
  8. package/cli/dist/lib/template-engine/context/pluginPackageJsonData.js +21 -19
  9. package/cli/dist/lib/template-engine/context/standVitePackageJsonData.js +7 -8
  10. package/cli/dist/lib/template-engine/resolveVariantDir.d.ts +5 -1
  11. package/cli/dist/lib/template-engine/resolveVariantDir.js +22 -0
  12. package/cli/dist/lib/templates/shared/i18n.js +2 -2
  13. package/cli/dist/lib/templates/shared/paths.js +3 -4
  14. package/cli/dist/lib/types/package-config.d.ts +1 -0
  15. package/cli/lib/cli/project.ts +2 -18
  16. package/cli/lib/config.ts +19 -30
  17. package/cli/lib/local-test.ts +3 -22
  18. package/cli/lib/paths.ts +15 -0
  19. package/cli/lib/resolveNpmSpawn.ts +72 -0
  20. package/cli/lib/template-engine/buildStandIndexHtml.test.ts +1 -0
  21. package/cli/lib/template-engine/context/pluginPackageJsonData.ts +23 -23
  22. package/cli/lib/template-engine/context/standVitePackageJsonData.ts +7 -12
  23. package/cli/lib/template-engine/pluginEtaParity.test.ts +1 -0
  24. package/cli/lib/template-engine/resolveVariantDir.ts +22 -0
  25. package/cli/lib/template-engine/standAdvancedViteDevHostEta.test.ts +4 -3
  26. package/cli/lib/template-engine/standWebpackDevHostEta.test.ts +7 -6
  27. package/cli/lib/templates/shared/i18n.ts +2 -2
  28. package/cli/lib/templates/shared/paths.ts +3 -4
  29. package/cli/lib/types/package-config.ts +1 -0
  30. package/cli/package.json +1 -1
  31. package/cli/project-templates/plugin/assets/vite/{plugin-build.config.mjs → plugin-build.config.ts} +7 -5
  32. package/cli/project-templates/plugin/assets/vite/{sandbox-build.config.mjs → sandbox-build.config.ts} +7 -5
  33. package/cli/project-templates/plugin/assets/webpack/{plugin-build.legacy.module.cjs → plugin-build.legacy.module.ts} +20 -7
  34. package/cli/project-templates/plugin/assets/webpack/{plugin-build.legacy.umd.cjs → plugin-build.legacy.umd.ts} +20 -7
  35. package/cli/project-templates/plugin/assets/webpack/{plugin-build.modern.module.cjs → plugin-build.modern.module.ts} +9 -4
  36. package/cli/project-templates/plugin/assets/webpack/{plugin-build.modern.umd.cjs → plugin-build.modern.umd.ts} +9 -4
  37. package/cli/project-templates/plugin/assets/webpack/{sandbox-build.config.cjs → sandbox-build.config.ts} +13 -3
  38. package/cli/project-templates/plugin/bundler-vite/release.html.eta +1 -0
  39. package/cli/project-templates/plugin/bundler-webpack/public/release.html.eta +1 -0
  40. package/cli/project-templates/plugin/shared-base/public/demo/product-1.svg +10 -0
  41. package/cli/project-templates/plugin/shared-base/public/demo/product-2.svg +10 -0
  42. package/cli/project-templates/plugin/shared-base/scripts/build-runner.ts +22 -0
  43. package/cli/project-templates/plugin/shared-base/scripts/build-types.ts +17 -0
  44. package/cli/project-templates/plugin/shared-base/scripts/clean.ts +16 -0
  45. package/cli/project-templates/plugin/shared-base/scripts/dev-runner.ts +52 -0
  46. package/cli/project-templates/plugin/shared-base/scripts/npmRun.ts +61 -0
  47. package/cli/project-templates/plugin/shared-base/scripts/release-runner.ts +18 -0
  48. package/cli/project-templates/plugin/shared-base/scripts/scriptRuntime.ts +10 -0
  49. package/cli/project-templates/plugin/shared-base/src/dev/hostApp.tsx.eta +1 -0
  50. package/cli/project-templates/plugin/shared-base/src/dev-release.tsx.eta +1 -0
  51. package/cli/project-templates/plugin/shared-base/src/dev.tsx.eta +1 -1
  52. package/cli/project-templates/shared/partials/plugin-dev-host-app-advanced.eta +93 -0
  53. package/cli/project-templates/shared/partials/plugin-dev-host-app-minimal.eta +54 -0
  54. package/cli/project-templates/shared/partials/plugin-dev-tsx-advanced.eta +3 -2
  55. package/cli/project-templates/shared/partials/plugin-dev-tsx-debug.eta +18 -0
  56. package/cli/project-templates/shared/partials/plugin-dev-tsx-release.eta +33 -0
  57. package/cli/project-templates/shared/partials/plugin-dev-tsx-runtime-helpers.eta +8 -8
  58. package/cli/project-templates/shared/partials/plugin-index-ts.eta +0 -1
  59. package/cli/project-templates/shared/partials/plugin-vite-dev-host.eta +9 -5
  60. package/cli/project-templates/shared/partials/plugin-vite-plugin-build.eta +7 -5
  61. package/cli/project-templates/shared/partials/plugin-vite-release-html.eta +12 -0
  62. package/cli/project-templates/shared/partials/plugin-vite-sandbox-build.eta +7 -5
  63. package/cli/project-templates/shared/partials/plugin-webpack-dev-host-legacy.eta +12 -5
  64. package/cli/project-templates/shared/partials/plugin-webpack-dev-host-modern.eta +13 -6
  65. package/cli/project-templates/shared/partials/plugin-webpack-release-html.eta +12 -0
  66. package/cli/project-templates/shared/partials/plugin-webpack-sandbox-build.eta +13 -3
  67. package/cli/project-templates/shared/partials/plugin-wp-legacy-module.eta +28 -10
  68. package/cli/project-templates/shared/partials/plugin-wp-legacy-umd.eta +28 -10
  69. package/cli/project-templates/shared/partials/plugin-wp-modern-module.eta +9 -4
  70. package/cli/project-templates/shared/partials/plugin-wp-modern-umd.eta +9 -4
  71. package/cli/project-templates/shared/partials/stand-dev-host-vite-memory.eta +3 -3
  72. package/cli/project-templates/shared/partials/stand-dev-host-vite-subpath.eta +8 -4
  73. package/cli/project-templates/shared/partials/stand-dev-host-vite-umd.eta +5 -5
  74. package/cli/project-templates/shared/partials/stand-dev-host-vite.eta +3 -3
  75. package/cli/project-templates/shared/partials/stand-dev-host-webpack-subpath.eta +8 -4
  76. package/cli/project-templates/shared/partials/stand-dev-host-webpack-umd.eta +9 -3
  77. package/cli/project-templates/shared/partials/stand-dev-host-webpack.eta +8 -4
  78. package/cli/project-templates/shared/partials/stand-dev-storage-middleware.eta +370 -0
  79. package/cli/project-templates/shared/stand-vite-base/config/lib/createViteStandConfig.ts +80 -0
  80. package/cli/project-templates/shared/stand-vite-base/scripts/devStorageMiddleware.ts.eta +1 -0
  81. package/cli/project-templates/shared/stand-webpack-base/config/lib/{createWebpackStandConfig.cjs → createWebpackStandConfig.ts} +31 -19
  82. package/cli/project-templates/{stand/advanced/umd/vite/config/lib/umdServeMiddleware.mjs → shared/stand-webpack-base/config/lib/umdServeMiddleware.ts} +19 -11
  83. package/cli/project-templates/shared/stand-webpack-base/scripts/devStorageMiddleware.ts.eta +1 -0
  84. package/cli/project-templates/stand/advanced/memory-usage/vite/config/lib/{createMemoryUsageStandConfig.mjs → createMemoryUsageStandConfig.ts} +25 -20
  85. package/cli/project-templates/stand/advanced/umd/vite/config/lib/umdServeMiddleware.ts +68 -0
  86. package/cli/project-templates/stand/react-adapter/webpack/README.md.eta +1 -0
  87. package/cli/project-templates/stand/react-adapter/webpack/config/dev-host.ts.eta +1 -0
  88. package/cli/project-templates/stand/react-adapter/webpack/package.json.eta +1 -0
  89. package/cli/project-templates/stand/react-adapter/webpack/public/index.html.eta +1 -0
  90. package/cli/project-templates/stand/react-adapter/webpack/src/dev/editorConfig.ts.eta +1 -0
  91. package/cli/project-templates/stand/react-adapter/webpack/src/dev/email.html.eta +1 -0
  92. package/cli/project-templates/stand/react-adapter/webpack/src/dev/getAuthToken.ts.eta +1 -0
  93. package/cli/project-templates/stand/react-adapter/webpack/src/dev/oauthCredentials.ts +9 -0
  94. package/cli/project-templates/stand/react-adapter/webpack/src/dev/storageProvider.ts.eta +1 -0
  95. package/cli/project-templates/stand/react-adapter/webpack/src/index.tsx.eta +1 -0
  96. package/cli/scripts/cli-matrix-smoke.ts +19 -10
  97. package/cli/scripts/verify-global-cli.ts +1 -1
  98. package/cli/scripts/vite-plugin-version-matrix.ts +299 -0
  99. package/cli/tsconfig.json +2 -2
  100. package/emailmaker-core.aa9efbce.js +1 -0
  101. package/emailmaker-esm.js +788 -153
  102. package/emailmaker.d.ts +32 -0
  103. package/emailmaker.js +4 -4
  104. package/iframe/js/amp.BGJMqoms.js +1 -1
  105. package/iframe/js/chunk.oX6nCJbK.js +1 -1
  106. package/iframe/js/iframe-eblock.js +1 -1
  107. package/iframe/js/iframe.js +1 -1
  108. package/iframe/js/rules.BSaCN7eK.js +1 -1
  109. package/iframe/js/sanitize-html.Dy7Uwo8P.js +1 -1
  110. package/images/integrations/activecampaign.svg +4 -0
  111. package/images/integrations/bento.svg +9 -0
  112. package/images/integrations/brevo.svg +7 -0
  113. package/images/integrations/campaign_monitor.svg +10 -0
  114. package/images/integrations/constant_contact.svg +24 -0
  115. package/images/integrations/dotdigital.svg +144 -0
  116. package/images/integrations/getresponse.svg +23 -0
  117. package/images/integrations/hubspot.svg +3 -0
  118. package/images/integrations/klaviyo.svg +10 -0
  119. package/images/integrations/mailchimp.svg +9 -0
  120. package/images/integrations/salesforce.svg +20 -0
  121. package/js/browser-image-compression.js +9 -0
  122. package/package.json +2 -5
  123. package/runtime/@ant-design/cssinjs/index.js +1 -1
  124. package/runtime/@ant-design/icons/index.js +1 -1
  125. package/runtime/@ant-design/pro-layout/index.js +1 -1
  126. package/runtime/README.md +13 -13
  127. package/runtime/antd/index.js +1 -1
  128. package/runtime/app-core/index.js +1 -2
  129. package/runtime/classnames/index.js +1 -1
  130. package/runtime/core/index.js +6 -6
  131. package/runtime/dayjs/index.js +1 -1
  132. package/runtime/di/index.js +1 -2
  133. package/runtime/disposable/index.js +1 -2
  134. package/runtime/errors-runtime/index.js +1 -2
  135. package/runtime/guid/index.js +1 -2
  136. package/runtime/index.js +2 -4
  137. package/runtime/package.json +2 -3
  138. package/runtime/prop-types/index.js +1 -1
  139. package/runtime/react/index.js +1 -1
  140. package/runtime/react/jsx-dev-runtime/index.js +1 -1
  141. package/runtime/react/jsx-runtime/index.js +1 -1
  142. package/runtime/react-dom/client/index.js +1 -1
  143. package/runtime/react-dom/index.js +1 -1
  144. package/runtime/react-router-dom/index.js +1 -1
  145. package/runtime/uuid/index.js +1 -1
  146. package/static/amd/{8fc2a596.js → 19aeb269.js} +88 -88
  147. package/static/core/192ec827.js +1 -0
  148. package/static/core/22c1de2e2.js +1 -0
  149. package/static/core/24faedf0.js +1 -0
  150. package/static/core/29231645.js +1 -0
  151. package/static/core/2a3177fc2.js +1 -0
  152. package/static/core/346aabd2.js +3 -0
  153. package/static/core/3b800ed6.js +1 -0
  154. package/static/core/3e840e90.js +1 -0
  155. package/static/core/40cc9fd7.js +1 -0
  156. package/static/core/421bdec22.js +1 -0
  157. package/static/core/4aaa358b2.js +903 -0
  158. package/static/core/50ff48bc.js +4 -0
  159. package/static/core/5282795d2.js +6 -0
  160. package/static/core/563a283d.js +1 -0
  161. package/static/core/5d47e095.js +47 -0
  162. package/static/core/5f574386.js +1 -0
  163. package/static/core/67a41193.js +1 -0
  164. package/static/core/698dace4.js +7 -0
  165. package/static/core/6b648e2d.js +1 -0
  166. package/static/core/7629adfd.js +1 -0
  167. package/static/core/7717f2932.js +3 -0
  168. package/static/core/776cb34a.js +1 -0
  169. package/static/core/78a1e31e.js +1 -0
  170. package/static/core/7d56d643.js +1 -0
  171. package/static/core/841752212.js +40 -0
  172. package/static/core/8477e97e.js +1 -0
  173. package/static/core/8756d562.js +1 -0
  174. package/static/core/91d328d8.js +1 -0
  175. package/static/core/9270dbb6.js +6 -0
  176. package/static/core/96371334.js +566 -0
  177. package/static/core/9b9ddaef2.js +168 -0
  178. package/static/core/af1da4b4.js +1 -0
  179. package/static/core/b5096b152.js +471 -0
  180. package/static/core/bde6775a.js +1 -0
  181. package/static/core/bf1b888c.js +4 -0
  182. package/static/core/cec8d739.js +11 -0
  183. package/static/core/cf45bf332.js +598 -0
  184. package/static/core/cfac3d32.js +1 -0
  185. package/static/core/d21c95cf2.js +1 -0
  186. package/static/core/dbd9ca52.js +1 -0
  187. package/static/core/dc590181.js +1 -0
  188. package/static/core/e0039d55.js +1 -0
  189. package/static/core/e4071c1a.js +4 -0
  190. package/static/core/ef87b75c.js +41 -0
  191. package/static/core/f47701f32.js +20 -0
  192. package/static/core/f83d7ac42.js +3 -0
  193. package/static/core/fcc67e6b.js +1 -0
  194. package/static/core/fd40d85c.js +1 -0
  195. package/static/core/fe638847.js +1 -0
  196. package/static/esm/{e8401d17.js → 203c9644.js} +3 -3
  197. package/static/esm/4b679053.js +27 -0
  198. package/static/esm/{b273a6c2.js → f31a26c6.js} +1 -1
  199. package/static/runtime/disposable-CD74igiJ.js +1 -0
  200. package/static/runtime/guid-C0wuVR8v.js +1 -0
  201. package/vite/index.d.ts +17 -6
  202. package/vite/index.js +315 -270
  203. package/vite/pluginDev/index.d.ts +10 -19
  204. package/vite/pluginDev/index.js +251 -204
  205. package/webpack/index.d.ts +24 -5
  206. package/webpack/index.js +168 -144
  207. package/webpack/pluginDev/index.d.ts +21 -22
  208. package/webpack/pluginDev/index.js +242 -177
  209. package/cli/dist/lib/template-engine/buildStandIndexHtml.test.d.ts +0 -2
  210. package/cli/dist/lib/template-engine/buildStandIndexHtml.test.js +0 -89
  211. package/cli/dist/lib/template-engine/emitEtaTree.test.d.ts +0 -2
  212. package/cli/dist/lib/template-engine/emitEtaTree.test.js +0 -34
  213. package/cli/dist/lib/template-engine/pluginEtaParity.test.d.ts +0 -2
  214. package/cli/dist/lib/template-engine/pluginEtaParity.test.js +0 -105
  215. package/cli/dist/lib/template-engine/resolveVariantDir.test.d.ts +0 -2
  216. package/cli/dist/lib/template-engine/resolveVariantDir.test.js +0 -52
  217. package/cli/dist/lib/template-engine/standAdvancedViteDevHostEta.test.d.ts +0 -2
  218. package/cli/dist/lib/template-engine/standAdvancedViteDevHostEta.test.js +0 -67
  219. package/cli/dist/lib/template-engine/standWebpackDevHostEta.test.d.ts +0 -2
  220. package/cli/dist/lib/template-engine/standWebpackDevHostEta.test.js +0 -83
  221. package/cli/dist/lib/template-engine/storageProviderEta.test.d.ts +0 -2
  222. package/cli/dist/lib/template-engine/storageProviderEta.test.js +0 -26
  223. package/cli/project-templates/plugin/shared-base/scripts/build-types.cjs +0 -8
  224. package/cli/project-templates/plugin/shared-base/scripts/clean.cjs +0 -6
  225. package/cli/project-templates/plugin/shared-base/scripts/dev-runner.cjs +0 -48
  226. package/cli/project-templates/plugin/shared-base/scripts/release-runner.cjs +0 -63
  227. package/cli/project-templates/shared/stand-vite-base/config/lib/createViteStandConfig.mjs +0 -80
  228. package/cli/project-templates/shared/stand-vite-base/scripts/devStorageMiddleware.cjs +0 -235
  229. package/cli/project-templates/shared/stand-webpack-base/config/lib/umdServeMiddleware.cjs +0 -38
  230. package/cli/project-templates/shared/stand-webpack-base/scripts/devStorageMiddleware.cjs +0 -235
  231. package/emailmaker-core.80d62b88.js +0 -569
  232. package/runtime/_core/app-core/index.js +0 -1
  233. package/runtime/_core/chunks/app-core-DphKKh8f.js +0 -1
  234. package/runtime/_core/chunks/chunk-oqAt0Dze.js +0 -1
  235. package/runtime/_core/chunks/di-BHUzE57z.js +0 -1
  236. package/runtime/_core/chunks/disposable-PhM3rJkj.js +0 -1
  237. package/runtime/_core/chunks/errors-runtime-VjCOXaQX.js +0 -1
  238. package/runtime/_core/chunks/guid-D2-FTZQG.js +0 -1
  239. package/runtime/_core/di/index.js +0 -1
  240. package/runtime/_core/disposable/index.js +0 -1
  241. package/runtime/_core/errors-runtime/index.js +0 -1
  242. package/runtime/_core/guid/index.js +0 -1
  243. package/runtime/_core/index.js +0 -1
  244. package/shared/hostBootstrap.js +0 -47
  245. package/shared/pluginDevOptions.js +0 -31
  246. package/shared/runtimeManifest.js +0 -72
  247. package/shared/stringCase.js +0 -16
  248. package/static/core/2360f32a.js +0 -3
  249. package/static/core/2687db56.js +0 -3
  250. package/static/core/2b250af6.js +0 -1261
  251. package/static/core/3469930c.js +0 -302
  252. package/static/core/34ce9042.js +0 -201
  253. package/static/core/4091ba5b.js +0 -25
  254. package/static/core/41ce3a6a.js +0 -173
  255. package/static/core/4ac4908c.js +0 -2213
  256. package/static/core/519096c1.js +0 -2597
  257. package/static/core/5fa1772b.js +0 -116550
  258. package/static/core/61312909.js +0 -3
  259. package/static/core/62a98c07.js +0 -75301
  260. package/static/core/6309c0f2.js +0 -3
  261. package/static/core/68d9f440.js +0 -3
  262. package/static/core/73b645ab.js +0 -2
  263. package/static/core/81019351.js +0 -280
  264. package/static/core/835b37ef.js +0 -591
  265. package/static/core/91242fb3.js +0 -3
  266. package/static/core/972b15b0.js +0 -92399
  267. package/static/core/974ef468.js +0 -493
  268. package/static/core/a17614422.js +0 -38078
  269. package/static/core/a2fa7b5b.js +0 -4232
  270. package/static/core/a513adfd.js +0 -89857
  271. package/static/core/a7c73a9b.js +0 -3813
  272. package/static/core/b64c7c90.js +0 -228
  273. package/static/core/cdc9ba92.js +0 -4711
  274. package/static/core/d1db685d.js +0 -2193
  275. package/static/core/d661febc.js +0 -3
  276. package/static/core/d6d2d2d0.js +0 -23
  277. package/static/core/df1a1225.js +0 -607
  278. package/static/core/e5bff179.js +0 -1302
  279. package/static/core/e5d602f5.js +0 -2
  280. package/static/core/eb029366.js +0 -1532
  281. package/static/core/f46c035a.js +0 -2
  282. package/static/core/f8b9d89a.js +0 -461
  283. package/static/core/fd897ad7.js +0 -3
  284. package/static/core/fdd890c7.js +0 -6168
  285. package/static/esm/29eb18ff.js +0 -164
  286. package/vite/mime-types.js +0 -179
  287. package/vite/utils.js +0 -44
  288. /package/cli/project-templates/plugin/bundler-vite/config/{dev-host.mjs.eta → dev-host.ts.eta} +0 -0
  289. /package/cli/project-templates/plugin/bundler-vite/config/{plugin-build.mjs.eta → plugin-build.ts.eta} +0 -0
  290. /package/cli/project-templates/plugin/bundler-vite/config/{sandbox-build.mjs.eta → sandbox-build.ts.eta} +0 -0
  291. /package/cli/project-templates/plugin/bundler-webpack/config/{dev-host.cjs.eta → dev-host.ts.eta} +0 -0
  292. /package/cli/project-templates/plugin/bundler-webpack/config/{plugin-build.cjs.eta → plugin-build.ts.eta} +0 -0
  293. /package/cli/project-templates/plugin/bundler-webpack/config/{sandbox-build.cjs.eta → sandbox-build.ts.eta} +0 -0
  294. /package/cli/project-templates/stand/advanced/memory-usage/vite/config/{dev-host.mjs.eta → dev-host.ts.eta} +0 -0
  295. /package/cli/project-templates/stand/advanced/shadow-dom/vite/config/{dev-host.mjs.eta → dev-host.ts.eta} +0 -0
  296. /package/cli/project-templates/stand/advanced/shadow-dom/webpack/config/{dev-host.cjs.eta → dev-host.ts.eta} +0 -0
  297. /package/cli/project-templates/stand/advanced/subpath/vite/config/{dev-host.mjs.eta → dev-host.ts.eta} +0 -0
  298. /package/cli/project-templates/stand/advanced/subpath/webpack/config/{dev-host.cjs.eta → dev-host.ts.eta} +0 -0
  299. /package/cli/project-templates/stand/advanced/umd/vite/config/{dev-host.mjs.eta → dev-host.ts.eta} +0 -0
  300. /package/cli/project-templates/stand/advanced/umd/webpack/config/{dev-host.cjs.eta → dev-host.ts.eta} +0 -0
  301. /package/cli/project-templates/stand/closed-loop/vite/config/{dev-host.mjs.eta → dev-host.ts.eta} +0 -0
  302. /package/cli/project-templates/stand/closed-loop/webpack/config/{dev-host.cjs.eta → dev-host.ts.eta} +0 -0
  303. /package/cli/project-templates/stand/oauth/vite/config/{dev-host.mjs.eta → dev-host.ts.eta} +0 -0
  304. /package/cli/project-templates/stand/oauth/webpack/config/{dev-host.cjs.eta → dev-host.ts.eta} +0 -0
  305. /package/cli/project-templates/stand/react-adapter/vite/config/{dev-host.mjs.eta → dev-host.ts.eta} +0 -0
  306. /package/iframe/{iframe-eblock.80d62b88.html → iframe-eblock.aa9efbce.html} +0 -0
  307. /package/iframe/{iframe.80d62b88.html → iframe.aa9efbce.html} +0 -0
  308. /package/{runtime/chunks → static/runtime}/DownloadOutlined-a2ZUz7zB.js +0 -0
  309. /package/{runtime/chunks → static/runtime}/chunk-D-iEO58U.js +0 -0
  310. /package/{runtime/chunks → static/runtime}/classnames-DBEldvch.js +0 -0
  311. /package/{runtime/chunks → static/runtime}/client-5XqXGmAI.js +0 -0
  312. /package/{runtime/chunks → static/runtime}/dayjs.min-CO3mzOeV.js +0 -0
  313. /package/{runtime/_core/chunks/defineProperty-BGJFuFMq.js → static/runtime/defineProperty-CGNmw-jw.js} +0 -0
  314. /package/{runtime/chunks → static/runtime}/dist-Cns8cA2n.js +0 -0
  315. /package/{runtime/chunks → static/runtime}/dist-Ct0xRt3Y.js +0 -0
  316. /package/{runtime/chunks → static/runtime}/es-0FFT3fCz.js +0 -0
  317. /package/{runtime/chunks → static/runtime}/es-BwJ3eGbx.js +0 -0
  318. /package/{runtime/chunks → static/runtime}/es-D8EsVtRL.js +0 -0
  319. /package/{runtime/chunks → static/runtime}/es-Da4O25Kw.js +0 -0
  320. /package/{runtime/chunks → static/runtime}/jsx-dev-runtime-V4_MuHNS.js +0 -0
  321. /package/{runtime/chunks → static/runtime}/jsx-runtime-DBeCoE0b.js +0 -0
  322. /package/{runtime/chunks → static/runtime}/objectWithoutProperties-Bk0EDksJ.js +0 -0
  323. /package/{runtime/chunks → static/runtime}/prop-types-DxD5wgQ0.js +0 -0
  324. /package/{runtime/chunks → static/runtime}/react-TEeeBWTl.js +0 -0
  325. /package/{runtime/chunks → static/runtime}/react-dom-BKKa1g6U.js +0 -0
@@ -1,235 +0,0 @@
1
- const fs = require('fs');
2
- const path = require('path');
3
- const { IncomingMessage, ServerResponse } = require('http');
4
- const formidable = require('formidable');
5
-
6
- const STORAGE_DIR = path.resolve(process.cwd(), 'storage');
7
- const BASE = '/dev-storage';
8
-
9
- function ensureDir(dir) {
10
- if (!fs.existsSync(dir)) {
11
- fs.mkdirSync(dir, { recursive: true });
12
- }
13
- }
14
-
15
- function sanitizePath(relativePath) {
16
- if (!relativePath || relativePath === '/' || relativePath === '.') return '';
17
- return path.normalize(relativePath).replace(/^(\.\.(\/|\\|$))+/, '').replace(/\\/g, '/').trim();
18
- }
19
-
20
- function resolvePath(relativePath) {
21
- const safe = sanitizePath(relativePath);
22
- const full = path.join(STORAGE_DIR, safe);
23
- const resolved = path.resolve(full);
24
- if (!resolved.startsWith(path.resolve(STORAGE_DIR))) {
25
- return null;
26
- }
27
- return resolved;
28
- }
29
-
30
- function toFileItem(fullPath, basePath) {
31
- const stat = fs.statSync(fullPath);
32
- const name = path.basename(fullPath);
33
- const rel = path.relative(STORAGE_DIR, fullPath).replace(/\\/g, '/');
34
- const folderId = path.dirname(rel) === '.' ? '' : path.dirname(rel).replace(/\\/g, '/');
35
- return {
36
- id: rel,
37
- name,
38
- folderId,
39
- isFolder: stat.isDirectory(),
40
- size: stat.isFile() ? stat.size : undefined,
41
- date: stat.mtime.toISOString(),
42
- type: stat.isFile() ? getMimeType(name) : undefined,
43
- };
44
- }
45
-
46
- function getMimeType(name) {
47
- const ext = path.extname(name).toLowerCase();
48
- const types = {
49
- '.jpg': 'image/jpeg', '.jpeg': 'image/jpeg', '.png': 'image/png',
50
- '.gif': 'image/gif', '.webp': 'image/webp', '.svg': 'image/svg+xml',
51
- '.pdf': 'application/pdf', '.zip': 'application/zip',
52
- };
53
- return types[ext] || 'application/octet-stream';
54
- }
55
-
56
- function parseJsonBody(req) {
57
- return new Promise((resolve) => {
58
- let body = '';
59
- req.on('data', (chunk) => { body += chunk; });
60
- req.on('end', () => {
61
- try { resolve(body ? JSON.parse(body) : {}); }
62
- catch { resolve({}); }
63
- });
64
- });
65
- }
66
-
67
- function sendJson(res, data, status = 200) {
68
- res.writeHead(status, { 'Content-Type': 'application/json' });
69
- res.end(JSON.stringify(data));
70
- }
71
-
72
- async function handleGetItems(req, res, url) {
73
- const folderId = (new URL(url, 'http://x').searchParams.get('folderId') || '').trim();
74
- const dir = folderId ? resolvePath(folderId) : path.resolve(STORAGE_DIR);
75
- if (!dir || !fs.existsSync(dir) || !fs.statSync(dir).isDirectory()) {
76
- return sendJson(res, { items: [], pagination: { page: 1, limit: 1000, total: 0, totalPages: 0 } });
77
- }
78
- const names = fs.readdirSync(dir);
79
- const items = names.map((n) => toFileItem(path.join(dir, n), folderId));
80
- sendJson(res, {
81
- items,
82
- pagination: { page: 1, limit: 1000, total: items.length, totalPages: 1 },
83
- });
84
- }
85
-
86
- async function handleCreateFolder(req, res) {
87
- const body = await parseJsonBody(req);
88
- const name = (body.name || '').trim();
89
- const parentId = (body.parentId ?? body.parentid ?? '').trim();
90
- if (!name || /[\\/:*?"<>|]/.test(name)) {
91
- return sendJson(res, { error: 'Invalid folder name' }, 400);
92
- }
93
- const parentDir = parentId ? resolvePath(parentId) : STORAGE_DIR;
94
- if (!parentDir || !fs.existsSync(parentDir)) {
95
- return sendJson(res, { error: 'Parent folder not found' }, 404);
96
- }
97
- const folderPath = path.join(parentDir, name);
98
- ensureDir(folderPath);
99
- const rel = path.relative(STORAGE_DIR, folderPath).replace(/\\/g, '/');
100
- const folderId = path.dirname(rel) === '.' ? '' : path.dirname(rel).replace(/\\/g, '/');
101
- sendJson(res, {
102
- id: rel,
103
- name,
104
- folderId,
105
- isFolder: true,
106
- date: fs.statSync(folderPath).mtime.toISOString(),
107
- });
108
- }
109
-
110
- async function handleUpload(req, res) {
111
- const form = new formidable.IncomingForm({ multiples: true });
112
- const [fields, files] = await new Promise((resolve, reject) => {
113
- form.parse(req, (err, f, fls) => {
114
- if (err) reject(err);
115
- else resolve([f, fls]);
116
- });
117
- });
118
- const folderId = ((fields.folderId && fields.folderId[0]) || '').trim();
119
- const targetDir = folderId ? resolvePath(folderId) : STORAGE_DIR;
120
- if (!targetDir || !fs.existsSync(targetDir)) {
121
- return sendJson(res, { error: 'Folder not found' }, 404);
122
- }
123
- const fileList = Array.isArray(files.file) ? files.file : (files.file ? [files.file] : []);
124
- const results = [];
125
- for (const f of fileList) {
126
- if (!f.filepath || !fs.existsSync(f.filepath)) continue;
127
- const name = (f.originalFilename || f.newFilename || path.basename(f.filepath)).replace(/[\\/:*?"<>|]/g, '_');
128
- const dest = path.join(targetDir, name);
129
- fs.copyFileSync(f.filepath, dest);
130
- const rel = path.relative(STORAGE_DIR, dest).replace(/\\/g, '/');
131
- const folderIdRes = path.dirname(rel) === '.' ? '' : path.dirname(rel).replace(/\\/g, '/');
132
- results.push({
133
- id: rel,
134
- name,
135
- folderId: folderIdRes,
136
- isFolder: false,
137
- size: fs.statSync(dest).size,
138
- date: fs.statSync(dest).mtime.toISOString(),
139
- type: getMimeType(name),
140
- });
141
- }
142
- sendJson(res, { items: results, success: true });
143
- }
144
-
145
- async function handleUploadByUrl(req, res) {
146
- const body = await parseJsonBody(req);
147
- const url = (body.url || '').trim();
148
- const folderId = (body.folderId ?? '').trim();
149
- if (!url) return sendJson(res, { error: 'Missing url' }, 400);
150
- const targetDir = folderId ? resolvePath(folderId) : STORAGE_DIR;
151
- if (!targetDir || !fs.existsSync(targetDir)) {
152
- return sendJson(res, { error: 'Folder not found' }, 404);
153
- }
154
- try {
155
- const resp = await fetch(url);
156
- if (!resp.ok) throw new Error('Fetch failed');
157
- const buf = Buffer.from(await resp.arrayBuffer());
158
- const name = (url.split('/').pop() || 'file').split('?')[0] || 'file';
159
- const dest = path.join(targetDir, name);
160
- fs.writeFileSync(dest, buf);
161
- const rel = path.relative(STORAGE_DIR, dest).replace(/\\/g, '/');
162
- const folderIdRes = path.dirname(rel) === '.' ? '' : path.dirname(rel).replace(/\\/g, '/');
163
- sendJson(res, {
164
- id: rel,
165
- name,
166
- folderId: folderIdRes,
167
- isFolder: false,
168
- size: buf.length,
169
- date: fs.statSync(dest).mtime.toISOString(),
170
- type: getMimeType(name),
171
- url: `/dev-storage/file/${encodeURIComponent(rel)}`,
172
- });
173
- } catch (e) {
174
- sendJson(res, { error: String(e.message || e) }, 500);
175
- }
176
- }
177
-
178
- async function handleDeleteItem(req, res, pathOverride) {
179
- let p = (pathOverride || '').trim();
180
- if (!p) {
181
- const pathParam = (new URL(req.url || '/', 'http://x').searchParams.get('path') || '').trim();
182
- const body = await parseJsonBody(req);
183
- p = pathParam || (body.path || body.id || '').trim();
184
- }
185
- if (!p) return sendJson(res, { error: 'Missing path' }, 400);
186
- const full = resolvePath(p);
187
- if (!full || !fs.existsSync(full)) return sendJson(res, { error: 'Not found' }, 404);
188
- fs.rmSync(full, { recursive: true });
189
- sendJson(res, { success: true });
190
- }
191
-
192
- function handleGetFile(req, res, pathPart) {
193
- const decoded = decodeURIComponent(pathPart);
194
- const full = resolvePath(decoded);
195
- if (!full || !fs.existsSync(full) || !fs.statSync(full).isFile()) {
196
- res.writeHead(404);
197
- res.end();
198
- return;
199
- }
200
- const stream = fs.createReadStream(full);
201
- const mime = getMimeType(path.basename(full));
202
- res.writeHead(200, { 'Content-Type': mime });
203
- stream.pipe(res);
204
- }
205
-
206
- module.exports = function devStorageMiddleware() {
207
- ensureDir(STORAGE_DIR);
208
- return (req, res, next) => {
209
- if (!req.url || !req.url.startsWith(BASE)) return next();
210
- const pathPart = req.url.slice(BASE.length).replace(/^\//, '');
211
- const method = req.method;
212
- if (method === 'GET' && (pathPart === 'items' || pathPart.startsWith('items?'))) {
213
- return handleGetItems(req, res, req.url);
214
- }
215
- if (method === 'GET' && pathPart.startsWith('file/')) {
216
- return handleGetFile(req, res, pathPart.slice(5));
217
- }
218
- if (method === 'POST' && pathPart === 'folder') {
219
- return handleCreateFolder(req, res);
220
- }
221
- if (method === 'POST' && pathPart === 'upload') {
222
- return handleUpload(req, res);
223
- }
224
- if (method === 'POST' && pathPart === 'upload-by-url') {
225
- return handleUploadByUrl(req, res);
226
- }
227
- if (method === 'DELETE' && pathPart === 'item') {
228
- return handleDeleteItem(req, res);
229
- }
230
- if (method === 'DELETE' && pathPart.startsWith('item/')) {
231
- return handleDeleteItem(req, res, decodeURIComponent(pathPart.slice(5)));
232
- }
233
- next();
234
- };
235
- };
@@ -1,38 +0,0 @@
1
- const path = require('path');
2
-
3
- /**
4
- * @param {{ packageRoot: string; publicPath: string }} opts
5
- * @returns {(req: import('http').IncomingMessage, res: import('express').Response, next: () => void) => void}
6
- */
7
- function createUmdServeMiddleware(opts) {
8
- const { packageRoot, publicPath } = opts;
9
-
10
- return function umdServeMiddleware(req, res, next) {
11
- if (!req.path || (req.method !== 'GET' && req.method !== 'HEAD')) {
12
- next();
13
- return;
14
- }
15
- if (!req.path.startsWith(publicPath)) {
16
- next();
17
- return;
18
- }
19
- const relativePath = decodeURIComponent(req.path.slice(publicPath.length));
20
- if (!relativePath || relativePath.endsWith('/')) {
21
- next();
22
- return;
23
- }
24
- const absolutePath = path.resolve(packageRoot, relativePath);
25
- const relativeFromRoot = path.relative(packageRoot, absolutePath);
26
- if (relativeFromRoot.startsWith('..') || path.isAbsolute(relativeFromRoot)) {
27
- res.status(403).end('Forbidden');
28
- return;
29
- }
30
- res.sendFile(absolutePath, (error) => {
31
- if (error) {
32
- next();
33
- }
34
- });
35
- };
36
- }
37
-
38
- module.exports = { createUmdServeMiddleware };
@@ -1,235 +0,0 @@
1
- const fs = require('fs');
2
- const path = require('path');
3
- const { IncomingMessage, ServerResponse } = require('http');
4
- const formidable = require('formidable');
5
-
6
- const STORAGE_DIR = path.resolve(process.cwd(), 'storage');
7
- const BASE = '/dev-storage';
8
-
9
- function ensureDir(dir) {
10
- if (!fs.existsSync(dir)) {
11
- fs.mkdirSync(dir, { recursive: true });
12
- }
13
- }
14
-
15
- function sanitizePath(relativePath) {
16
- if (!relativePath || relativePath === '/' || relativePath === '.') return '';
17
- return path.normalize(relativePath).replace(/^(\.\.(\/|\\|$))+/, '').replace(/\\/g, '/').trim();
18
- }
19
-
20
- function resolvePath(relativePath) {
21
- const safe = sanitizePath(relativePath);
22
- const full = path.join(STORAGE_DIR, safe);
23
- const resolved = path.resolve(full);
24
- if (!resolved.startsWith(path.resolve(STORAGE_DIR))) {
25
- return null;
26
- }
27
- return resolved;
28
- }
29
-
30
- function toFileItem(fullPath, basePath) {
31
- const stat = fs.statSync(fullPath);
32
- const name = path.basename(fullPath);
33
- const rel = path.relative(STORAGE_DIR, fullPath).replace(/\\/g, '/');
34
- const folderId = path.dirname(rel) === '.' ? '' : path.dirname(rel).replace(/\\/g, '/');
35
- return {
36
- id: rel,
37
- name,
38
- folderId,
39
- isFolder: stat.isDirectory(),
40
- size: stat.isFile() ? stat.size : undefined,
41
- date: stat.mtime.toISOString(),
42
- type: stat.isFile() ? getMimeType(name) : undefined,
43
- };
44
- }
45
-
46
- function getMimeType(name) {
47
- const ext = path.extname(name).toLowerCase();
48
- const types = {
49
- '.jpg': 'image/jpeg', '.jpeg': 'image/jpeg', '.png': 'image/png',
50
- '.gif': 'image/gif', '.webp': 'image/webp', '.svg': 'image/svg+xml',
51
- '.pdf': 'application/pdf', '.zip': 'application/zip',
52
- };
53
- return types[ext] || 'application/octet-stream';
54
- }
55
-
56
- function parseJsonBody(req) {
57
- return new Promise((resolve) => {
58
- let body = '';
59
- req.on('data', (chunk) => { body += chunk; });
60
- req.on('end', () => {
61
- try { resolve(body ? JSON.parse(body) : {}); }
62
- catch { resolve({}); }
63
- });
64
- });
65
- }
66
-
67
- function sendJson(res, data, status = 200) {
68
- res.writeHead(status, { 'Content-Type': 'application/json' });
69
- res.end(JSON.stringify(data));
70
- }
71
-
72
- async function handleGetItems(req, res, url) {
73
- const folderId = (new URL(url, 'http://x').searchParams.get('folderId') || '').trim();
74
- const dir = folderId ? resolvePath(folderId) : path.resolve(STORAGE_DIR);
75
- if (!dir || !fs.existsSync(dir) || !fs.statSync(dir).isDirectory()) {
76
- return sendJson(res, { items: [], pagination: { page: 1, limit: 1000, total: 0, totalPages: 0 } });
77
- }
78
- const names = fs.readdirSync(dir);
79
- const items = names.map((n) => toFileItem(path.join(dir, n), folderId));
80
- sendJson(res, {
81
- items,
82
- pagination: { page: 1, limit: 1000, total: items.length, totalPages: 1 },
83
- });
84
- }
85
-
86
- async function handleCreateFolder(req, res) {
87
- const body = await parseJsonBody(req);
88
- const name = (body.name || '').trim();
89
- const parentId = (body.parentId ?? body.parentid ?? '').trim();
90
- if (!name || /[\\/:*?"<>|]/.test(name)) {
91
- return sendJson(res, { error: 'Invalid folder name' }, 400);
92
- }
93
- const parentDir = parentId ? resolvePath(parentId) : STORAGE_DIR;
94
- if (!parentDir || !fs.existsSync(parentDir)) {
95
- return sendJson(res, { error: 'Parent folder not found' }, 404);
96
- }
97
- const folderPath = path.join(parentDir, name);
98
- ensureDir(folderPath);
99
- const rel = path.relative(STORAGE_DIR, folderPath).replace(/\\/g, '/');
100
- const folderId = path.dirname(rel) === '.' ? '' : path.dirname(rel).replace(/\\/g, '/');
101
- sendJson(res, {
102
- id: rel,
103
- name,
104
- folderId,
105
- isFolder: true,
106
- date: fs.statSync(folderPath).mtime.toISOString(),
107
- });
108
- }
109
-
110
- async function handleUpload(req, res) {
111
- const form = new formidable.IncomingForm({ multiples: true });
112
- const [fields, files] = await new Promise((resolve, reject) => {
113
- form.parse(req, (err, f, fls) => {
114
- if (err) reject(err);
115
- else resolve([f, fls]);
116
- });
117
- });
118
- const folderId = ((fields.folderId && fields.folderId[0]) || '').trim();
119
- const targetDir = folderId ? resolvePath(folderId) : STORAGE_DIR;
120
- if (!targetDir || !fs.existsSync(targetDir)) {
121
- return sendJson(res, { error: 'Folder not found' }, 404);
122
- }
123
- const fileList = Array.isArray(files.file) ? files.file : (files.file ? [files.file] : []);
124
- const results = [];
125
- for (const f of fileList) {
126
- if (!f.filepath || !fs.existsSync(f.filepath)) continue;
127
- const name = (f.originalFilename || f.newFilename || path.basename(f.filepath)).replace(/[\\/:*?"<>|]/g, '_');
128
- const dest = path.join(targetDir, name);
129
- fs.copyFileSync(f.filepath, dest);
130
- const rel = path.relative(STORAGE_DIR, dest).replace(/\\/g, '/');
131
- const folderIdRes = path.dirname(rel) === '.' ? '' : path.dirname(rel).replace(/\\/g, '/');
132
- results.push({
133
- id: rel,
134
- name,
135
- folderId: folderIdRes,
136
- isFolder: false,
137
- size: fs.statSync(dest).size,
138
- date: fs.statSync(dest).mtime.toISOString(),
139
- type: getMimeType(name),
140
- });
141
- }
142
- sendJson(res, { items: results, success: true });
143
- }
144
-
145
- async function handleUploadByUrl(req, res) {
146
- const body = await parseJsonBody(req);
147
- const url = (body.url || '').trim();
148
- const folderId = (body.folderId ?? '').trim();
149
- if (!url) return sendJson(res, { error: 'Missing url' }, 400);
150
- const targetDir = folderId ? resolvePath(folderId) : STORAGE_DIR;
151
- if (!targetDir || !fs.existsSync(targetDir)) {
152
- return sendJson(res, { error: 'Folder not found' }, 404);
153
- }
154
- try {
155
- const resp = await fetch(url);
156
- if (!resp.ok) throw new Error('Fetch failed');
157
- const buf = Buffer.from(await resp.arrayBuffer());
158
- const name = (url.split('/').pop() || 'file').split('?')[0] || 'file';
159
- const dest = path.join(targetDir, name);
160
- fs.writeFileSync(dest, buf);
161
- const rel = path.relative(STORAGE_DIR, dest).replace(/\\/g, '/');
162
- const folderIdRes = path.dirname(rel) === '.' ? '' : path.dirname(rel).replace(/\\/g, '/');
163
- sendJson(res, {
164
- id: rel,
165
- name,
166
- folderId: folderIdRes,
167
- isFolder: false,
168
- size: buf.length,
169
- date: fs.statSync(dest).mtime.toISOString(),
170
- type: getMimeType(name),
171
- url: `/dev-storage/file/${encodeURIComponent(rel)}`,
172
- });
173
- } catch (e) {
174
- sendJson(res, { error: String(e.message || e) }, 500);
175
- }
176
- }
177
-
178
- async function handleDeleteItem(req, res, pathOverride) {
179
- let p = (pathOverride || '').trim();
180
- if (!p) {
181
- const pathParam = (new URL(req.url || '/', 'http://x').searchParams.get('path') || '').trim();
182
- const body = await parseJsonBody(req);
183
- p = pathParam || (body.path || body.id || '').trim();
184
- }
185
- if (!p) return sendJson(res, { error: 'Missing path' }, 400);
186
- const full = resolvePath(p);
187
- if (!full || !fs.existsSync(full)) return sendJson(res, { error: 'Not found' }, 404);
188
- fs.rmSync(full, { recursive: true });
189
- sendJson(res, { success: true });
190
- }
191
-
192
- function handleGetFile(req, res, pathPart) {
193
- const decoded = decodeURIComponent(pathPart);
194
- const full = resolvePath(decoded);
195
- if (!full || !fs.existsSync(full) || !fs.statSync(full).isFile()) {
196
- res.writeHead(404);
197
- res.end();
198
- return;
199
- }
200
- const stream = fs.createReadStream(full);
201
- const mime = getMimeType(path.basename(full));
202
- res.writeHead(200, { 'Content-Type': mime });
203
- stream.pipe(res);
204
- }
205
-
206
- module.exports = function devStorageMiddleware() {
207
- ensureDir(STORAGE_DIR);
208
- return (req, res, next) => {
209
- if (!req.url || !req.url.startsWith(BASE)) return next();
210
- const pathPart = req.url.slice(BASE.length).replace(/^\//, '');
211
- const method = req.method;
212
- if (method === 'GET' && (pathPart === 'items' || pathPart.startsWith('items?'))) {
213
- return handleGetItems(req, res, req.url);
214
- }
215
- if (method === 'GET' && pathPart.startsWith('file/')) {
216
- return handleGetFile(req, res, pathPart.slice(5));
217
- }
218
- if (method === 'POST' && pathPart === 'folder') {
219
- return handleCreateFolder(req, res);
220
- }
221
- if (method === 'POST' && pathPart === 'upload') {
222
- return handleUpload(req, res);
223
- }
224
- if (method === 'POST' && pathPart === 'upload-by-url') {
225
- return handleUploadByUrl(req, res);
226
- }
227
- if (method === 'DELETE' && pathPart === 'item') {
228
- return handleDeleteItem(req, res);
229
- }
230
- if (method === 'DELETE' && pathPart.startsWith('item/')) {
231
- return handleDeleteItem(req, res, decodeURIComponent(pathPart.slice(5)));
232
- }
233
- next();
234
- };
235
- };