devflare 1.0.0-next.5 → 1.0.0-next.51

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 (596) hide show
  1. package/LICENSE +21 -0
  2. package/LLM.md +17312 -2139
  3. package/README.md +397 -605
  4. package/bin/devflare.js +30 -14
  5. package/dist/_chunks/account-Csog80ie.js +462 -0
  6. package/dist/_chunks/account-resources-CsmVowJp.js +159 -0
  7. package/dist/_chunks/ai-CBEuLdoP.js +322 -0
  8. package/dist/_chunks/api-TzdliH-6.js +568 -0
  9. package/dist/_chunks/build-Ccza8VQz.js +24 -0
  10. package/dist/_chunks/build-artifacts-BNssqhxE.js +483 -0
  11. package/dist/_chunks/cli-CU7wSG1-.js +1163 -0
  12. package/dist/_chunks/cloudflare-BaloqI3H.js +157 -0
  13. package/dist/_chunks/colors-DiK6wPJ5.js +13 -0
  14. package/dist/_chunks/command-utils-_bGRraDR.js +45 -0
  15. package/dist/_chunks/compiler-BtLp9T9N.js +500 -0
  16. package/dist/_chunks/config-QU8UEWmA.js +78 -0
  17. package/dist/_chunks/config-path-1yI7BiDU.js +42 -0
  18. package/dist/_chunks/context-CX50Y2Kb.js +2250 -0
  19. package/dist/_chunks/decorators-QmV57ixr.js +19 -0
  20. package/dist/_chunks/dependencies-C2oxFjU_.js +57 -0
  21. package/dist/_chunks/deploy-aifBaMVv.js +1032 -0
  22. package/dist/_chunks/dev-DF_3baGr.js +3483 -0
  23. package/dist/_chunks/doctor-tR9kGT_Z.js +219 -0
  24. package/dist/_chunks/durable-object-DMtH0XYX.js +234 -0
  25. package/dist/_chunks/env-S0_nMVz1.js +125 -0
  26. package/dist/_chunks/family-DKPp4wqj.js +143 -0
  27. package/dist/_chunks/generated-artifacts-dMJY4KAt.js +32 -0
  28. package/dist/_chunks/glob-CmQOvunB.js +56 -0
  29. package/dist/_chunks/init-DnkJOmpW.js +165 -0
  30. package/dist/_chunks/loader-OQ2AWpqm.js +1308 -0
  31. package/dist/_chunks/local-dev-vars-CTSa-wvF.js +81 -0
  32. package/dist/_chunks/local-hyperdrive-CJ90j46O.js +119 -0
  33. package/dist/_chunks/local-media-bindings-DsAW4AMF.js +335 -0
  34. package/dist/_chunks/local-secrets-CYoHfvQ1.js +123 -0
  35. package/dist/_chunks/local-workflow-entrypoints-8d_mXh8T.js +90 -0
  36. package/dist/_chunks/login-rVWUZOKC.js +51 -0
  37. package/dist/_chunks/package-metadata-DjHBLB-z.js +39 -0
  38. package/dist/_chunks/preferences-BKp_7XJx.js +241 -0
  39. package/dist/_chunks/preview-C3Cdr8an.js +462 -0
  40. package/dist/_chunks/preview-registry-ClAbLTHH.js +1186 -0
  41. package/dist/_chunks/preview-resources-DRWR0gaB.js +359 -0
  42. package/dist/_chunks/previews-BxNq8Y_J.js +1134 -0
  43. package/dist/_chunks/productions-DK7xwbEs.js +411 -0
  44. package/dist/_chunks/ref-CYJNAAe_.js +178 -0
  45. package/dist/_chunks/remote-CZnP-HLJ.js +79 -0
  46. package/dist/_chunks/remote-config-D39BY9ji.js +132 -0
  47. package/dist/_chunks/resolve-package-qizBfCIm.js +152 -0
  48. package/dist/_chunks/rolldown-runtime-CvQ6eiug.js +14 -0
  49. package/dist/_chunks/routes-B6XiI8Sa.js +851 -0
  50. package/dist/_chunks/runtime-DL-Nz3k8.js +550 -0
  51. package/dist/_chunks/schema-normalization-GjhTATHL.js +666 -0
  52. package/dist/_chunks/secrets-qT1JaBGt.js +95 -0
  53. package/dist/_chunks/tail-CuWI04BL.js +239 -0
  54. package/dist/_chunks/token-Dmi0KXyX.js +333 -0
  55. package/dist/_chunks/tokens-iVcgNXi-.js +221 -0
  56. package/dist/_chunks/types-BquPXsFg.js +484 -0
  57. package/dist/_chunks/ui-BUoZApvE.js +103 -0
  58. package/dist/_chunks/usage-BBTGzjon.js +272 -0
  59. package/dist/_chunks/vite-D_wLDGBs.js +1267 -0
  60. package/dist/_chunks/vite-utils-OVLMV605.js +183 -0
  61. package/dist/_chunks/worker-DEF-e8LL.js +410 -0
  62. package/dist/_chunks/worker-bundler-dTTnYU3n.js +458 -0
  63. package/dist/_chunks/worker-entrypoint-CQW77lG8.js +247 -0
  64. package/dist/_chunks/workerName-CFJsLZA-.js +23 -0
  65. package/dist/bridge/client.d.ts +49 -7
  66. package/dist/bridge/client.d.ts.map +1 -1
  67. package/dist/bridge/gateway-runtime.d.ts +8 -0
  68. package/dist/bridge/gateway-runtime.d.ts.map +1 -0
  69. package/dist/bridge/index.d.ts +6 -6
  70. package/dist/bridge/index.d.ts.map +1 -1
  71. package/dist/bridge/log.d.ts +5 -0
  72. package/dist/bridge/log.d.ts.map +1 -0
  73. package/dist/bridge/miniflare.d.ts +85 -2
  74. package/dist/bridge/miniflare.d.ts.map +1 -1
  75. package/dist/bridge/proxy.d.ts +12 -11
  76. package/dist/bridge/proxy.d.ts.map +1 -1
  77. package/dist/bridge/server.d.ts +2 -1
  78. package/dist/bridge/server.d.ts.map +1 -1
  79. package/dist/bridge/v2/body-streams.d.ts +53 -0
  80. package/dist/bridge/v2/body-streams.d.ts.map +1 -0
  81. package/dist/bridge/v2/codec.d.ts +106 -0
  82. package/dist/bridge/v2/codec.d.ts.map +1 -0
  83. package/dist/bridge/v2/control-messages.d.ts +46 -0
  84. package/dist/bridge/v2/control-messages.d.ts.map +1 -0
  85. package/dist/bridge/v2/frames.d.ts +109 -0
  86. package/dist/bridge/v2/frames.d.ts.map +1 -0
  87. package/dist/bridge/v2/index.d.ts +11 -0
  88. package/dist/bridge/v2/index.d.ts.map +1 -0
  89. package/dist/bridge/v2/serialization.d.ts +48 -0
  90. package/dist/bridge/v2/serialization.d.ts.map +1 -0
  91. package/dist/bridge/v2/transport.d.ts +31 -0
  92. package/dist/bridge/v2/transport.d.ts.map +1 -0
  93. package/dist/bridge/v2/value-codec.d.ts +61 -0
  94. package/dist/bridge/v2/value-codec.d.ts.map +1 -0
  95. package/dist/bridge/{serialization.d.ts → v2/value-serialization.d.ts} +40 -18
  96. package/dist/bridge/v2/value-serialization.d.ts.map +1 -0
  97. package/dist/bridge/{protocol.d.ts → v2/wire.d.ts} +32 -8
  98. package/dist/bridge/v2/wire.d.ts.map +1 -0
  99. package/dist/bridge/v2/ws-relay.d.ts +53 -0
  100. package/dist/bridge/v2/ws-relay.d.ts.map +1 -0
  101. package/dist/browser-shim/handler.d.ts +2 -2
  102. package/dist/browser-shim/handler.d.ts.map +1 -1
  103. package/dist/browser-shim/index.d.ts +2 -2
  104. package/dist/browser-shim/server.d.ts +63 -0
  105. package/dist/browser-shim/server.d.ts.map +1 -1
  106. package/dist/browser.d.ts +5705 -0
  107. package/dist/browser.d.ts.map +1 -0
  108. package/dist/browser.js +80 -0
  109. package/dist/bundler/defaults.d.ts +23 -0
  110. package/dist/bundler/defaults.d.ts.map +1 -0
  111. package/dist/bundler/do-bundler.d.ts +7 -0
  112. package/dist/bundler/do-bundler.d.ts.map +1 -1
  113. package/dist/bundler/index.d.ts +3 -1
  114. package/dist/bundler/index.d.ts.map +1 -1
  115. package/dist/bundler/rolldown-shared.d.ts +53 -0
  116. package/dist/bundler/rolldown-shared.d.ts.map +1 -0
  117. package/dist/bundler/worker-bundler.d.ts +13 -0
  118. package/dist/bundler/worker-bundler.d.ts.map +1 -0
  119. package/dist/bundler/worker-compat.d.ts +4 -0
  120. package/dist/bundler/worker-compat.d.ts.map +1 -0
  121. package/dist/cli/build-manifest.d.ts +66 -0
  122. package/dist/cli/build-manifest.d.ts.map +1 -0
  123. package/dist/cli/command-utils.d.ts +18 -0
  124. package/dist/cli/command-utils.d.ts.map +1 -0
  125. package/dist/cli/commands/account.d.ts +2 -2
  126. package/dist/cli/commands/account.d.ts.map +1 -1
  127. package/dist/cli/commands/ai.d.ts +1 -1
  128. package/dist/cli/commands/ai.d.ts.map +1 -1
  129. package/dist/cli/commands/build-artifacts.d.ts +40 -0
  130. package/dist/cli/commands/build-artifacts.d.ts.map +1 -0
  131. package/dist/cli/commands/build.d.ts +2 -2
  132. package/dist/cli/commands/build.d.ts.map +1 -1
  133. package/dist/cli/commands/config.d.ts +4 -0
  134. package/dist/cli/commands/config.d.ts.map +1 -0
  135. package/dist/cli/commands/deploy/metadata.d.ts +18 -0
  136. package/dist/cli/commands/deploy/metadata.d.ts.map +1 -0
  137. package/dist/cli/commands/deploy/prepare.d.ts +23 -0
  138. package/dist/cli/commands/deploy/prepare.d.ts.map +1 -0
  139. package/dist/cli/commands/deploy/runtime.d.ts +4 -0
  140. package/dist/cli/commands/deploy/runtime.d.ts.map +1 -0
  141. package/dist/cli/commands/deploy/verification.d.ts +36 -0
  142. package/dist/cli/commands/deploy/verification.d.ts.map +1 -0
  143. package/dist/cli/commands/deploy.d.ts +2 -2
  144. package/dist/cli/commands/deploy.d.ts.map +1 -1
  145. package/dist/cli/commands/dev.d.ts +9 -1
  146. package/dist/cli/commands/dev.d.ts.map +1 -1
  147. package/dist/cli/commands/doctor.d.ts +2 -2
  148. package/dist/cli/commands/doctor.d.ts.map +1 -1
  149. package/dist/cli/commands/init.d.ts +2 -2
  150. package/dist/cli/commands/init.d.ts.map +1 -1
  151. package/dist/cli/commands/login.d.ts +4 -0
  152. package/dist/cli/commands/login.d.ts.map +1 -0
  153. package/dist/cli/commands/previews-support/cleanup.d.ts +9 -0
  154. package/dist/cli/commands/previews-support/cleanup.d.ts.map +1 -0
  155. package/dist/cli/commands/previews-support/family.d.ts +10 -0
  156. package/dist/cli/commands/previews-support/family.d.ts.map +1 -0
  157. package/dist/cli/commands/previews-support/render.d.ts +8 -0
  158. package/dist/cli/commands/previews-support/render.d.ts.map +1 -0
  159. package/dist/cli/commands/previews-support/theme.d.ts +10 -0
  160. package/dist/cli/commands/previews-support/theme.d.ts.map +1 -0
  161. package/dist/cli/commands/previews-support/types.d.ts +70 -0
  162. package/dist/cli/commands/previews-support/types.d.ts.map +1 -0
  163. package/dist/cli/commands/previews.d.ts +4 -0
  164. package/dist/cli/commands/previews.d.ts.map +1 -0
  165. package/dist/cli/commands/productions.d.ts +4 -0
  166. package/dist/cli/commands/productions.d.ts.map +1 -0
  167. package/dist/cli/commands/remote.d.ts +1 -1
  168. package/dist/cli/commands/remote.d.ts.map +1 -1
  169. package/dist/cli/commands/secrets.d.ts +4 -0
  170. package/dist/cli/commands/secrets.d.ts.map +1 -0
  171. package/dist/cli/commands/tail.d.ts +44 -0
  172. package/dist/cli/commands/tail.d.ts.map +1 -0
  173. package/dist/cli/commands/token.d.ts +4 -0
  174. package/dist/cli/commands/token.d.ts.map +1 -0
  175. package/dist/cli/commands/type-generation/discovery.d.ts +7 -0
  176. package/dist/cli/commands/type-generation/discovery.d.ts.map +1 -0
  177. package/dist/cli/commands/type-generation/generator.d.ts +121 -0
  178. package/dist/cli/commands/type-generation/generator.d.ts.map +1 -0
  179. package/dist/cli/commands/type-generation/models.d.ts +27 -0
  180. package/dist/cli/commands/type-generation/models.d.ts.map +1 -0
  181. package/dist/cli/commands/types.d.ts +2 -2
  182. package/dist/cli/commands/types.d.ts.map +1 -1
  183. package/dist/cli/commands/worker.d.ts +4 -0
  184. package/dist/cli/commands/worker.d.ts.map +1 -0
  185. package/dist/cli/config-path.d.ts +6 -0
  186. package/dist/cli/config-path.d.ts.map +1 -0
  187. package/dist/cli/dependencies.d.ts +2 -1
  188. package/dist/cli/dependencies.d.ts.map +1 -1
  189. package/dist/cli/deploy-strategy.d.ts +17 -0
  190. package/dist/cli/deploy-strategy.d.ts.map +1 -0
  191. package/dist/cli/deploy-target.d.ts +17 -0
  192. package/dist/cli/deploy-target.d.ts.map +1 -0
  193. package/dist/cli/generated-artifacts.d.ts +12 -0
  194. package/dist/cli/generated-artifacts.d.ts.map +1 -0
  195. package/dist/cli/gradual-deploy.d.ts +49 -0
  196. package/dist/cli/gradual-deploy.d.ts.map +1 -0
  197. package/dist/cli/help-pages/pages/account.d.ts +3 -0
  198. package/dist/cli/help-pages/pages/account.d.ts.map +1 -0
  199. package/dist/cli/help-pages/pages/core.d.ts +4 -0
  200. package/dist/cli/help-pages/pages/core.d.ts.map +1 -0
  201. package/dist/cli/help-pages/pages/index.d.ts +3 -0
  202. package/dist/cli/help-pages/pages/index.d.ts.map +1 -0
  203. package/dist/cli/help-pages/pages/misc.d.ts +3 -0
  204. package/dist/cli/help-pages/pages/misc.d.ts.map +1 -0
  205. package/dist/cli/help-pages/pages/previews.d.ts +3 -0
  206. package/dist/cli/help-pages/pages/previews.d.ts.map +1 -0
  207. package/dist/cli/help-pages/pages/productions.d.ts +3 -0
  208. package/dist/cli/help-pages/pages/productions.d.ts.map +1 -0
  209. package/dist/cli/help-pages/render.d.ts +12 -0
  210. package/dist/cli/help-pages/render.d.ts.map +1 -0
  211. package/dist/cli/help-pages/shared.d.ts +15 -0
  212. package/dist/cli/help-pages/shared.d.ts.map +1 -0
  213. package/dist/cli/help-pages/types.d.ts +23 -0
  214. package/dist/cli/help-pages/types.d.ts.map +1 -0
  215. package/dist/cli/help.d.ts +6 -0
  216. package/dist/cli/help.d.ts.map +1 -0
  217. package/dist/cli/index.d.ts +1 -0
  218. package/dist/cli/index.d.ts.map +1 -1
  219. package/dist/cli/index.js +2 -0
  220. package/dist/cli/package-metadata.d.ts +16 -0
  221. package/dist/cli/package-metadata.d.ts.map +1 -0
  222. package/dist/cli/preview-bindings.d.ts +49 -0
  223. package/dist/cli/preview-bindings.d.ts.map +1 -0
  224. package/dist/cli/preview.d.ts +10 -0
  225. package/dist/cli/preview.d.ts.map +1 -0
  226. package/dist/cli/ui.d.ts +37 -0
  227. package/dist/cli/ui.d.ts.map +1 -0
  228. package/dist/cli/workspace-build-guard.d.ts +14 -0
  229. package/dist/cli/workspace-build-guard.d.ts.map +1 -0
  230. package/dist/cli/wrangler-auth.d.ts +1 -1
  231. package/dist/cloudflare/account-core.d.ts +6 -0
  232. package/dist/cloudflare/account-core.d.ts.map +1 -0
  233. package/dist/cloudflare/account-resources.d.ts +40 -0
  234. package/dist/cloudflare/account-resources.d.ts.map +1 -0
  235. package/dist/cloudflare/account-status.d.ts +11 -0
  236. package/dist/cloudflare/account-status.d.ts.map +1 -0
  237. package/dist/cloudflare/account-workers.d.ts +14 -0
  238. package/dist/cloudflare/account-workers.d.ts.map +1 -0
  239. package/dist/cloudflare/account.d.ts +7 -64
  240. package/dist/cloudflare/account.d.ts.map +1 -1
  241. package/dist/cloudflare/api.d.ts +71 -3
  242. package/dist/cloudflare/api.d.ts.map +1 -1
  243. package/dist/cloudflare/auth.d.ts +1 -1
  244. package/dist/cloudflare/auth.d.ts.map +1 -1
  245. package/dist/cloudflare/index.d.ts +61 -6
  246. package/dist/cloudflare/index.d.ts.map +1 -1
  247. package/dist/cloudflare/index.js +4 -13
  248. package/dist/cloudflare/known-permission-group-ids.generated.d.ts +10 -0
  249. package/dist/cloudflare/known-permission-group-ids.generated.d.ts.map +1 -0
  250. package/dist/cloudflare/kv-namespace.d.ts +4 -0
  251. package/dist/cloudflare/kv-namespace.d.ts.map +1 -0
  252. package/dist/cloudflare/preferences.d.ts +7 -0
  253. package/dist/cloudflare/preferences.d.ts.map +1 -1
  254. package/dist/cloudflare/preview-registry-cache.d.ts +6 -0
  255. package/dist/cloudflare/preview-registry-cache.d.ts.map +1 -0
  256. package/dist/cloudflare/preview-registry-inference.d.ts +14 -0
  257. package/dist/cloudflare/preview-registry-inference.d.ts.map +1 -0
  258. package/dist/cloudflare/preview-registry-records.d.ts +4 -0
  259. package/dist/cloudflare/preview-registry-records.d.ts.map +1 -0
  260. package/dist/cloudflare/preview-registry-shape.d.ts +47 -0
  261. package/dist/cloudflare/preview-registry-shape.d.ts.map +1 -0
  262. package/dist/cloudflare/preview-registry-store.d.ts +14 -0
  263. package/dist/cloudflare/preview-registry-store.d.ts.map +1 -0
  264. package/dist/cloudflare/preview-registry-transport.d.ts +4 -0
  265. package/dist/cloudflare/preview-registry-transport.d.ts.map +1 -0
  266. package/dist/cloudflare/preview-registry-types.d.ts +103 -0
  267. package/dist/cloudflare/preview-registry-types.d.ts.map +1 -0
  268. package/dist/cloudflare/preview-registry.d.ts +42 -0
  269. package/dist/cloudflare/preview-registry.d.ts.map +1 -0
  270. package/dist/cloudflare/preview-urls.d.ts +3 -0
  271. package/dist/cloudflare/preview-urls.d.ts.map +1 -0
  272. package/dist/cloudflare/registry-schema.d.ts +253 -0
  273. package/dist/cloudflare/registry-schema.d.ts.map +1 -0
  274. package/dist/cloudflare/remote-config.d.ts.map +1 -1
  275. package/dist/cloudflare/tokens.d.ts +44 -0
  276. package/dist/cloudflare/tokens.d.ts.map +1 -0
  277. package/dist/cloudflare/types.d.ts +124 -7
  278. package/dist/cloudflare/types.d.ts.map +1 -1
  279. package/dist/cloudflare/usage.d.ts +31 -3
  280. package/dist/cloudflare/usage.d.ts.map +1 -1
  281. package/dist/config/binding-resolution-helpers.d.ts +41 -0
  282. package/dist/config/binding-resolution-helpers.d.ts.map +1 -0
  283. package/dist/config/compatibility.d.ts +3 -0
  284. package/dist/config/compatibility.d.ts.map +1 -0
  285. package/dist/config/compiler/bindings.d.ts +14 -0
  286. package/dist/config/compiler/bindings.d.ts.map +1 -0
  287. package/dist/config/compiler/core-helpers.d.ts +6 -0
  288. package/dist/config/compiler/core-helpers.d.ts.map +1 -0
  289. package/dist/config/compiler/do-workers.d.ts +34 -0
  290. package/dist/config/compiler/do-workers.d.ts.map +1 -0
  291. package/dist/config/compiler/paths.d.ts +18 -0
  292. package/dist/config/compiler/paths.d.ts.map +1 -0
  293. package/dist/config/compiler/types.d.ts +309 -0
  294. package/dist/config/compiler/types.d.ts.map +1 -0
  295. package/dist/config/compiler.d.ts +22 -134
  296. package/dist/config/compiler.d.ts.map +1 -1
  297. package/dist/config/cron.d.ts +19 -0
  298. package/dist/config/cron.d.ts.map +1 -0
  299. package/dist/config/define.d.ts +8 -5
  300. package/dist/config/define.d.ts.map +1 -1
  301. package/dist/config/deploy-resources.d.ts +58 -0
  302. package/dist/config/deploy-resources.d.ts.map +1 -0
  303. package/dist/config/env-vars.d.ts +309 -0
  304. package/dist/config/env-vars.d.ts.map +1 -0
  305. package/dist/config/framework-providers.d.ts +9 -0
  306. package/dist/config/framework-providers.d.ts.map +1 -0
  307. package/dist/config/index.d.ts +12 -5
  308. package/dist/config/index.d.ts.map +1 -1
  309. package/dist/config/loader.d.ts +2 -1
  310. package/dist/config/loader.d.ts.map +1 -1
  311. package/dist/config/local-dev-vars.d.ts +15 -0
  312. package/dist/config/local-dev-vars.d.ts.map +1 -0
  313. package/dist/config/preview-resources.d.ts +83 -0
  314. package/dist/config/preview-resources.d.ts.map +1 -0
  315. package/dist/config/preview.d.ts +29 -0
  316. package/dist/config/preview.d.ts.map +1 -0
  317. package/dist/config/ref.d.ts +16 -25
  318. package/dist/config/ref.d.ts.map +1 -1
  319. package/dist/config/resolve-phased.d.ts +72 -0
  320. package/dist/config/resolve-phased.d.ts.map +1 -0
  321. package/dist/config/resolve.d.ts +11 -0
  322. package/dist/config/resolve.d.ts.map +1 -0
  323. package/dist/config/resource-resolution.d.ts +80 -0
  324. package/dist/config/resource-resolution.d.ts.map +1 -0
  325. package/dist/config/schema-bindings.d.ts +2087 -0
  326. package/dist/config/schema-bindings.d.ts.map +1 -0
  327. package/dist/config/schema-build.d.ts +67 -0
  328. package/dist/config/schema-build.d.ts.map +1 -0
  329. package/dist/config/schema-env.d.ts +3771 -0
  330. package/dist/config/schema-env.d.ts.map +1 -0
  331. package/dist/config/schema-normalization.d.ts +267 -0
  332. package/dist/config/schema-normalization.d.ts.map +1 -0
  333. package/dist/config/schema-runtime.d.ts +557 -0
  334. package/dist/config/schema-runtime.d.ts.map +1 -0
  335. package/dist/config/schema-types-bindings-platform.d.ts +520 -0
  336. package/dist/config/schema-types-bindings-platform.d.ts.map +1 -0
  337. package/dist/config/schema-types-bindings-resources.d.ts +802 -0
  338. package/dist/config/schema-types-bindings-resources.d.ts.map +1 -0
  339. package/dist/config/schema-types-bindings.d.ts +293 -0
  340. package/dist/config/schema-types-bindings.d.ts.map +1 -0
  341. package/dist/config/schema-types-build.d.ts +86 -0
  342. package/dist/config/schema-types-build.d.ts.map +1 -0
  343. package/dist/config/schema-types-runtime-server.d.ts +122 -0
  344. package/dist/config/schema-types-runtime-server.d.ts.map +1 -0
  345. package/dist/config/schema-types-runtime.d.ts +913 -0
  346. package/dist/config/schema-types-runtime.d.ts.map +1 -0
  347. package/dist/config/schema-types.d.ts +458 -0
  348. package/dist/config/schema-types.d.ts.map +1 -0
  349. package/dist/config/schema.d.ts +5699 -2021
  350. package/dist/config/schema.d.ts.map +1 -1
  351. package/dist/config/service-bindings-validation.d.ts +36 -0
  352. package/dist/config/service-bindings-validation.d.ts.map +1 -0
  353. package/dist/config-entry.d.ts +7 -0
  354. package/dist/config-entry.d.ts.map +1 -0
  355. package/dist/config-entry.js +3 -0
  356. package/dist/decorators/durable-object.d.ts.map +1 -1
  357. package/dist/decorators/index.d.ts +2 -2
  358. package/dist/decorators/index.js +2 -9
  359. package/dist/dev-server/d1-migrations.d.ts +36 -0
  360. package/dist/dev-server/d1-migrations.d.ts.map +1 -0
  361. package/dist/dev-server/dev-server-state.d.ts +59 -0
  362. package/dist/dev-server/dev-server-state.d.ts.map +1 -0
  363. package/dist/dev-server/gateway-script.d.ts +21 -0
  364. package/dist/dev-server/gateway-script.d.ts.map +1 -0
  365. package/dist/dev-server/index.d.ts +1 -1
  366. package/dist/dev-server/miniflare-bindings.d.ts +90 -0
  367. package/dist/dev-server/miniflare-bindings.d.ts.map +1 -0
  368. package/dist/dev-server/miniflare-dev-config.d.ts +36 -0
  369. package/dist/dev-server/miniflare-dev-config.d.ts.map +1 -0
  370. package/dist/dev-server/miniflare-log.d.ts +20 -0
  371. package/dist/dev-server/miniflare-log.d.ts.map +1 -0
  372. package/dist/dev-server/miniflare-worker-config.d.ts +93 -0
  373. package/dist/dev-server/miniflare-worker-config.d.ts.map +1 -0
  374. package/dist/dev-server/reload-queue.d.ts +13 -0
  375. package/dist/dev-server/reload-queue.d.ts.map +1 -0
  376. package/dist/dev-server/runtime-stdio.d.ts +8 -0
  377. package/dist/dev-server/runtime-stdio.d.ts.map +1 -0
  378. package/dist/dev-server/server-startup-helpers.d.ts +84 -0
  379. package/dist/dev-server/server-startup-helpers.d.ts.map +1 -0
  380. package/dist/dev-server/server.d.ts +2 -0
  381. package/dist/dev-server/server.d.ts.map +1 -1
  382. package/dist/dev-server/vite-process.d.ts +15 -0
  383. package/dist/dev-server/vite-process.d.ts.map +1 -0
  384. package/dist/dev-server/vite-utils.d.ts +19 -1
  385. package/dist/dev-server/vite-utils.d.ts.map +1 -1
  386. package/dist/dev-server/worker-source-watcher.d.ts +17 -0
  387. package/dist/dev-server/worker-source-watcher.d.ts.map +1 -0
  388. package/dist/dev-server/worker-surface-paths.d.ts +6 -0
  389. package/dist/dev-server/worker-surface-paths.d.ts.map +1 -0
  390. package/dist/env.d.ts +10 -0
  391. package/dist/env.d.ts.map +1 -1
  392. package/dist/index.d.ts +8 -12
  393. package/dist/index.d.ts.map +1 -1
  394. package/dist/index.js +9 -298
  395. package/dist/runtime/context-events.d.ts +13 -0
  396. package/dist/runtime/context-events.d.ts.map +1 -0
  397. package/dist/runtime/context-types.d.ts +82 -0
  398. package/dist/runtime/context-types.d.ts.map +1 -0
  399. package/dist/runtime/context.d.ts +20 -44
  400. package/dist/runtime/context.d.ts.map +1 -1
  401. package/dist/runtime/exports.d.ts +70 -55
  402. package/dist/runtime/exports.d.ts.map +1 -1
  403. package/dist/runtime/index.d.ts +10 -3
  404. package/dist/runtime/index.d.ts.map +1 -1
  405. package/dist/runtime/index.js +5 -111
  406. package/dist/runtime/middleware.d.ts +119 -67
  407. package/dist/runtime/middleware.d.ts.map +1 -1
  408. package/dist/runtime/router/index.d.ts +7 -0
  409. package/dist/runtime/router/index.d.ts.map +1 -0
  410. package/dist/runtime/router/types.d.ts +24 -0
  411. package/dist/runtime/router/types.d.ts.map +1 -0
  412. package/dist/runtime/validation.d.ts +18 -4
  413. package/dist/runtime/validation.d.ts.map +1 -1
  414. package/dist/secrets/local-secrets.d.ts +46 -0
  415. package/dist/secrets/local-secrets.d.ts.map +1 -0
  416. package/dist/shims/local-hyperdrive.d.ts +12 -0
  417. package/dist/shims/local-hyperdrive.d.ts.map +1 -0
  418. package/dist/shims/local-media-bindings.d.ts +19 -0
  419. package/dist/shims/local-media-bindings.d.ts.map +1 -0
  420. package/dist/shims/local-worker-loader.d.ts +3 -0
  421. package/dist/shims/local-worker-loader.d.ts.map +1 -0
  422. package/dist/sveltekit/index.d.ts +1 -1
  423. package/dist/sveltekit/index.d.ts.map +1 -1
  424. package/dist/sveltekit/index.js +313 -167
  425. package/dist/sveltekit/local-bindings.d.ts +4 -0
  426. package/dist/sveltekit/local-bindings.d.ts.map +1 -0
  427. package/dist/sveltekit/platform.d.ts +20 -2
  428. package/dist/sveltekit/platform.d.ts.map +1 -1
  429. package/dist/test/ai-search.d.ts +39 -0
  430. package/dist/test/ai-search.d.ts.map +1 -0
  431. package/dist/test/alarm.d.ts +55 -0
  432. package/dist/test/alarm.d.ts.map +1 -0
  433. package/dist/test/binding-hints.d.ts +10 -0
  434. package/dist/test/binding-hints.d.ts.map +1 -0
  435. package/dist/test/cf.d.ts +71 -35
  436. package/dist/test/cf.d.ts.map +1 -1
  437. package/dist/test/containers.d.ts +87 -0
  438. package/dist/test/containers.d.ts.map +1 -0
  439. package/dist/test/email.d.ts +16 -7
  440. package/dist/test/email.d.ts.map +1 -1
  441. package/dist/test/index.d.ts +20 -21
  442. package/dist/test/index.d.ts.map +1 -1
  443. package/dist/test/index.js +4981 -70
  444. package/dist/test/offline-bindings.d.ts +115 -0
  445. package/dist/test/offline-bindings.d.ts.map +1 -0
  446. package/dist/test/queue.d.ts.map +1 -1
  447. package/dist/test/remote-ai.d.ts.map +1 -1
  448. package/dist/test/remote-cloudflare.d.ts +13 -0
  449. package/dist/test/remote-cloudflare.d.ts.map +1 -0
  450. package/dist/test/remote-vectorize.d.ts.map +1 -1
  451. package/dist/test/resolve-service-bindings.d.ts +64 -4
  452. package/dist/test/resolve-service-bindings.d.ts.map +1 -1
  453. package/dist/test/scheduled.d.ts.map +1 -1
  454. package/dist/test/should-skip.d.ts +14 -18
  455. package/dist/test/should-skip.d.ts.map +1 -1
  456. package/dist/test/simple-context-bindings.d.ts +13 -0
  457. package/dist/test/simple-context-bindings.d.ts.map +1 -0
  458. package/dist/test/simple-context-durable-objects.d.ts +6 -0
  459. package/dist/test/simple-context-durable-objects.d.ts.map +1 -0
  460. package/dist/test/simple-context-env.d.ts +35 -0
  461. package/dist/test/simple-context-env.d.ts.map +1 -0
  462. package/dist/test/simple-context-gateway-script.d.ts +2 -0
  463. package/dist/test/simple-context-gateway-script.d.ts.map +1 -0
  464. package/dist/test/simple-context-handlers.d.ts +12 -0
  465. package/dist/test/simple-context-handlers.d.ts.map +1 -0
  466. package/dist/test/simple-context-lifecycle.d.ts +32 -0
  467. package/dist/test/simple-context-lifecycle.d.ts.map +1 -0
  468. package/dist/test/simple-context-mfconfig.d.ts +10 -0
  469. package/dist/test/simple-context-mfconfig.d.ts.map +1 -0
  470. package/dist/test/simple-context-multi-worker.d.ts +16 -0
  471. package/dist/test/simple-context-multi-worker.d.ts.map +1 -0
  472. package/dist/test/simple-context-paths.d.ts +40 -0
  473. package/dist/test/simple-context-paths.d.ts.map +1 -0
  474. package/dist/test/simple-context-runtime.d.ts +19 -0
  475. package/dist/test/simple-context-runtime.d.ts.map +1 -0
  476. package/dist/test/simple-context-startup.d.ts +11 -0
  477. package/dist/test/simple-context-startup.d.ts.map +1 -0
  478. package/dist/test/simple-context-transport.d.ts +14 -0
  479. package/dist/test/simple-context-transport.d.ts.map +1 -0
  480. package/dist/test/simple-context.d.ts +8 -27
  481. package/dist/test/simple-context.d.ts.map +1 -1
  482. package/dist/test/tail.d.ts +3 -2
  483. package/dist/test/tail.d.ts.map +1 -1
  484. package/dist/test/utilities/analytics-engine.d.ts +22 -0
  485. package/dist/test/utilities/analytics-engine.d.ts.map +1 -0
  486. package/dist/test/utilities/artifacts.d.ts +11 -0
  487. package/dist/test/utilities/artifacts.d.ts.map +1 -0
  488. package/dist/test/utilities/context.d.ts +39 -0
  489. package/dist/test/utilities/context.d.ts.map +1 -0
  490. package/dist/test/utilities/d1.d.ts +21 -0
  491. package/dist/test/utilities/d1.d.ts.map +1 -0
  492. package/dist/test/utilities/env.d.ts +43 -0
  493. package/dist/test/utilities/env.d.ts.map +1 -0
  494. package/dist/test/utilities/kv.d.ts +11 -0
  495. package/dist/test/utilities/kv.d.ts.map +1 -0
  496. package/dist/test/utilities/media.d.ts +16 -0
  497. package/dist/test/utilities/media.d.ts.map +1 -0
  498. package/dist/test/utilities/platform.d.ts +41 -0
  499. package/dist/test/utilities/platform.d.ts.map +1 -0
  500. package/dist/test/utilities/queue.d.ts +5 -0
  501. package/dist/test/utilities/queue.d.ts.map +1 -0
  502. package/dist/test/utilities/r2.d.ts +2 -0
  503. package/dist/test/utilities/r2.d.ts.map +1 -0
  504. package/dist/test/utilities/stream-flagship.d.ts +27 -0
  505. package/dist/test/utilities/stream-flagship.d.ts.map +1 -0
  506. package/dist/test/utilities/vectorize.d.ts +38 -0
  507. package/dist/test/utilities/vectorize.d.ts.map +1 -0
  508. package/dist/test/utilities/workflows.d.ts +26 -0
  509. package/dist/test/utilities/workflows.d.ts.map +1 -0
  510. package/dist/test/utilities.d.ts +13 -98
  511. package/dist/test/utilities.d.ts.map +1 -1
  512. package/dist/test/worker.d.ts +6 -0
  513. package/dist/test/worker.d.ts.map +1 -1
  514. package/dist/transform/durable-object.d.ts.map +1 -1
  515. package/dist/transform/index.d.ts +2 -2
  516. package/dist/transform/worker-entrypoint.d.ts +5 -0
  517. package/dist/transform/worker-entrypoint.d.ts.map +1 -1
  518. package/dist/utils/entrypoint-discovery.d.ts +6 -3
  519. package/dist/utils/entrypoint-discovery.d.ts.map +1 -1
  520. package/dist/utils/glob.d.ts.map +1 -1
  521. package/dist/utils/resolve-package.d.ts.map +1 -1
  522. package/dist/utils/send-email.d.ts +15 -0
  523. package/dist/utils/send-email.d.ts.map +1 -0
  524. package/dist/utils/send-email.js +163 -0
  525. package/dist/vite/config-file.d.ts +25 -0
  526. package/dist/vite/config-file.d.ts.map +1 -0
  527. package/dist/vite/index.d.ts +3 -2
  528. package/dist/vite/index.d.ts.map +1 -1
  529. package/dist/vite/index.js +2 -339
  530. package/dist/vite/plugin-config-hook.d.ts +28 -0
  531. package/dist/vite/plugin-config-hook.d.ts.map +1 -0
  532. package/dist/vite/plugin-context.d.ts +27 -0
  533. package/dist/vite/plugin-context.d.ts.map +1 -0
  534. package/dist/vite/plugin-durable-objects.d.ts +18 -0
  535. package/dist/vite/plugin-durable-objects.d.ts.map +1 -0
  536. package/dist/vite/plugin-programmatic.d.ts +44 -0
  537. package/dist/vite/plugin-programmatic.d.ts.map +1 -0
  538. package/dist/vite/plugin-service-bindings.d.ts +13 -0
  539. package/dist/vite/plugin-service-bindings.d.ts.map +1 -0
  540. package/dist/vite/plugin-transform.d.ts +41 -0
  541. package/dist/vite/plugin-transform.d.ts.map +1 -0
  542. package/dist/vite/plugin.d.ts +10 -41
  543. package/dist/vite/plugin.d.ts.map +1 -1
  544. package/dist/worker-entry/composed-worker.d.ts +7 -0
  545. package/dist/worker-entry/composed-worker.d.ts.map +1 -0
  546. package/dist/worker-entry/durable-object-discovery.d.ts +20 -0
  547. package/dist/worker-entry/durable-object-discovery.d.ts.map +1 -0
  548. package/dist/worker-entry/extensions.d.ts +5 -0
  549. package/dist/worker-entry/extensions.d.ts.map +1 -0
  550. package/dist/worker-entry/routes.d.ts +22 -0
  551. package/dist/worker-entry/routes.d.ts.map +1 -0
  552. package/dist/worker-entry/surface-paths.d.ts +26 -0
  553. package/dist/worker-entry/surface-paths.d.ts.map +1 -0
  554. package/dist/worker-entry/validate-fetch-style.d.ts +12 -0
  555. package/dist/worker-entry/validate-fetch-style.d.ts.map +1 -0
  556. package/dist/workflows/local-workflow-entrypoints.d.ts +7 -0
  557. package/dist/workflows/local-workflow-entrypoints.d.ts.map +1 -0
  558. package/package.json +159 -116
  559. package/R2.md +0 -170
  560. package/dist/account-rvrj687w.js +0 -397
  561. package/dist/ai-dx4fr9jh.js +0 -107
  562. package/dist/bridge/protocol.d.ts.map +0 -1
  563. package/dist/bridge/serialization.d.ts.map +0 -1
  564. package/dist/browser-shim/worker.d.ts +0 -14
  565. package/dist/browser-shim/worker.d.ts.map +0 -1
  566. package/dist/build-mnf6v8gd.js +0 -53
  567. package/dist/deploy-nhceck39.js +0 -70
  568. package/dist/dev-b9dmrj7b.js +0 -2417
  569. package/dist/doctor-fmgb3d28.js +0 -190
  570. package/dist/durable-object-t4kbb0yt.js +0 -13
  571. package/dist/index-07q6yxyc.js +0 -168
  572. package/dist/index-18hvb6gb.js +0 -194
  573. package/dist/index-1xpj0m4r.js +0 -57
  574. package/dist/index-37x76zdn.js +0 -4
  575. package/dist/index-3t6rypgc.js +0 -13
  576. package/dist/index-67qcae0f.js +0 -183
  577. package/dist/index-a855bdsx.js +0 -18
  578. package/dist/index-d8bdkx2h.js +0 -109
  579. package/dist/index-ep3445yc.js +0 -2225
  580. package/dist/index-gz1gndna.js +0 -307
  581. package/dist/index-hcex3rgh.js +0 -266
  582. package/dist/index-m2q41jwa.js +0 -462
  583. package/dist/index-n7rs26ft.js +0 -77
  584. package/dist/index-pf5s73n9.js +0 -1413
  585. package/dist/index-rbht7m9r.js +0 -36
  586. package/dist/index-tfyxa77h.js +0 -850
  587. package/dist/index-tk6ej9dj.js +0 -94
  588. package/dist/index-z14anrqp.js +0 -226
  589. package/dist/init-f9mgmew3.js +0 -186
  590. package/dist/remote-q59qk463.js +0 -97
  591. package/dist/test/bridge-context.d.ts +0 -76
  592. package/dist/test/bridge-context.d.ts.map +0 -1
  593. package/dist/test/multi-worker-context.d.ts +0 -114
  594. package/dist/test/multi-worker-context.d.ts.map +0 -1
  595. package/dist/types-5nyrz1sz.js +0 -454
  596. package/dist/worker-entrypoint-m9th0rg0.js +0 -13
@@ -0,0 +1,458 @@
1
+ import { existsSync } from "node:fs";
2
+ import { dirname, resolve } from "pathe";
3
+ import { fileURLToPath } from "node:url";
4
+ import MagicString from "magic-string";
5
+ import ts from "typescript";
6
+ //#region src/bundler/defaults.ts
7
+ function createWorkerdBundlerDefaults() {
8
+ return {
9
+ platform: "browser",
10
+ defaultTsconfigMode: "if-present",
11
+ sourcemap: false,
12
+ minify: false
13
+ };
14
+ }
15
+ //#endregion
16
+ //#region src/bundler/worker-compat.ts
17
+ const WORKER_DYNAMIC_IMPORT_ERROR = "Devflare worker bundles cannot contain unresolved dynamic import() expressions because Miniflare/workerd reject dynamic module specifiers";
18
+ function getScriptKind(id) {
19
+ if (id.endsWith(".tsx")) return ts.ScriptKind.TSX;
20
+ if (id.endsWith(".ts") || id.endsWith(".mts") || id.endsWith(".cts")) return ts.ScriptKind.TS;
21
+ if (id.endsWith(".jsx")) return ts.ScriptKind.JSX;
22
+ return ts.ScriptKind.JS;
23
+ }
24
+ function createSourceFile(code, id) {
25
+ return ts.createSourceFile(id, code, ts.ScriptTarget.Latest, true, getScriptKind(id));
26
+ }
27
+ function hasExportModifier(node) {
28
+ if (!ts.canHaveModifiers(node)) return false;
29
+ return ts.getModifiers(node)?.some((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword) ?? false;
30
+ }
31
+ function isConstVariableStatement(statement) {
32
+ return ts.isVariableStatement(statement) && (statement.declarationList.flags & ts.NodeFlags.Const) !== 0;
33
+ }
34
+ function quoteString(value) {
35
+ return `'${value.replace(/\\/g, "\\\\").replace(/'/g, `\\'`)}'`;
36
+ }
37
+ function resolveLiteralImportSpecifier(expression, constStrings) {
38
+ if (ts.isStringLiteral(expression) || ts.isNoSubstitutionTemplateLiteral(expression)) return expression.text;
39
+ if (ts.isParenthesizedExpression(expression)) return resolveLiteralImportSpecifier(expression.expression, constStrings);
40
+ if (ts.isIdentifier(expression)) return constStrings.get(expression.text) ?? null;
41
+ return null;
42
+ }
43
+ function collectTopLevelConstStrings(sourceFile) {
44
+ const constStrings = /* @__PURE__ */ new Map();
45
+ for (const statement of sourceFile.statements) {
46
+ if (!isConstVariableStatement(statement)) continue;
47
+ for (const declaration of statement.declarationList.declarations) {
48
+ if (!ts.isIdentifier(declaration.name) || !declaration.initializer) continue;
49
+ const literal = resolveLiteralImportSpecifier(declaration.initializer, constStrings);
50
+ if (literal !== null) constStrings.set(declaration.name.text, literal);
51
+ }
52
+ }
53
+ return constStrings;
54
+ }
55
+ function unwrapDynamicImportExpression(expression) {
56
+ if (ts.isParenthesizedExpression(expression)) return unwrapDynamicImportExpression(expression.expression);
57
+ if (ts.isAwaitExpression(expression)) return unwrapDynamicImportExpression(expression.expression);
58
+ if (!ts.isCallExpression(expression) || expression.expression.kind !== ts.SyntaxKind.ImportKeyword) return null;
59
+ return expression;
60
+ }
61
+ function getWrapperBodyExpression(body) {
62
+ if (!body) return null;
63
+ if (!ts.isBlock(body)) return body;
64
+ if (body.statements.length !== 1) return null;
65
+ const [statement] = body.statements;
66
+ if (!ts.isReturnStatement(statement) || !statement.expression) return null;
67
+ return statement.expression;
68
+ }
69
+ function createImportWrapper(name, parameterName, body, sourceFile) {
70
+ const bodyExpression = getWrapperBodyExpression(body);
71
+ if (!bodyExpression) return null;
72
+ const importExpression = unwrapDynamicImportExpression(bodyExpression);
73
+ if (!importExpression || importExpression.arguments.length < 1) return null;
74
+ const [importArgument] = importExpression.arguments;
75
+ if (!ts.isIdentifier(importArgument) || importArgument.text !== parameterName || !body) return null;
76
+ return {
77
+ name,
78
+ parameterName,
79
+ bodyStart: body.getStart(sourceFile),
80
+ bodyEnd: body.getEnd(),
81
+ specifiers: /* @__PURE__ */ new Set(),
82
+ hasUnsupportedCalls: false
83
+ };
84
+ }
85
+ function collectImportWrappers(sourceFile) {
86
+ const wrappers = /* @__PURE__ */ new Map();
87
+ for (const statement of sourceFile.statements) {
88
+ if (ts.isFunctionDeclaration(statement) && statement.name && !hasExportModifier(statement) && statement.parameters.length === 1 && ts.isIdentifier(statement.parameters[0]?.name)) {
89
+ const wrapper = createImportWrapper(statement.name.text, statement.parameters[0].name.text, statement.body, sourceFile);
90
+ if (wrapper) wrappers.set(wrapper.name, wrapper);
91
+ }
92
+ if (!isConstVariableStatement(statement) || hasExportModifier(statement)) continue;
93
+ for (const declaration of statement.declarationList.declarations) {
94
+ if (!ts.isIdentifier(declaration.name) || !declaration.initializer) continue;
95
+ if (!ts.isArrowFunction(declaration.initializer) && !ts.isFunctionExpression(declaration.initializer)) continue;
96
+ if (declaration.initializer.parameters.length !== 1 || !ts.isIdentifier(declaration.initializer.parameters[0]?.name)) continue;
97
+ const wrapper = createImportWrapper(declaration.name.text, declaration.initializer.parameters[0].name.text, declaration.initializer.body, sourceFile);
98
+ if (wrapper) wrappers.set(wrapper.name, wrapper);
99
+ }
100
+ }
101
+ return wrappers;
102
+ }
103
+ function collectWrapperCallSpecifiers(sourceFile, wrappers, constStrings) {
104
+ function visit(node) {
105
+ if (ts.isCallExpression(node) && ts.isIdentifier(node.expression)) {
106
+ const wrapper = wrappers.get(node.expression.text);
107
+ if (wrapper) if (node.arguments.length !== 1) wrapper.hasUnsupportedCalls = true;
108
+ else {
109
+ const specifier = resolveLiteralImportSpecifier(node.arguments[0], constStrings);
110
+ if (specifier === null) wrapper.hasUnsupportedCalls = true;
111
+ else wrapper.specifiers.add(specifier);
112
+ }
113
+ }
114
+ ts.forEachChild(node, visit);
115
+ }
116
+ visit(sourceFile);
117
+ }
118
+ function createImportIdentifier(specifierToIdentifier, specifier) {
119
+ const existing = specifierToIdentifier.get(specifier);
120
+ if (existing) return existing;
121
+ const identifier = `__devflareDynamicImport${specifierToIdentifier.size}`;
122
+ specifierToIdentifier.set(specifier, identifier);
123
+ return identifier;
124
+ }
125
+ function buildWrapperBody(wrapper, specifierToIdentifier) {
126
+ const cases = Array.from(wrapper.specifiers).sort((left, right) => left.localeCompare(right)).map((specifier) => {
127
+ const identifier = createImportIdentifier(specifierToIdentifier, specifier);
128
+ return `\t\tcase ${quoteString(specifier)}:\n\t\t\treturn Promise.resolve(${identifier})`;
129
+ }).join("\n");
130
+ return `{
131
+ switch (${wrapper.parameterName}) {
132
+ ${cases}
133
+ default:
134
+ return Promise.reject(new Error(\`Unsupported dynamic import in Devflare worker bundle: \${${wrapper.parameterName}}\`))
135
+ }
136
+ }`;
137
+ }
138
+ function findContainingWrapper(callExpression, wrappers, sourceFile) {
139
+ const start = callExpression.getStart(sourceFile);
140
+ const end = callExpression.getEnd();
141
+ for (const wrapper of wrappers) if (start >= wrapper.bodyStart && end <= wrapper.bodyEnd) return wrapper;
142
+ return null;
143
+ }
144
+ function transformWorkerDynamicImports(code, id) {
145
+ const sourceFile = createSourceFile(code, id);
146
+ const constStrings = collectTopLevelConstStrings(sourceFile);
147
+ const wrappers = collectImportWrappers(sourceFile);
148
+ collectWrapperCallSpecifiers(sourceFile, wrappers, constStrings);
149
+ const transformableWrappers = Array.from(wrappers.values()).filter((wrapper) => {
150
+ return !wrapper.hasUnsupportedCalls && wrapper.specifiers.size > 0;
151
+ });
152
+ const replacements = [];
153
+ const specifierToIdentifier = /* @__PURE__ */ new Map();
154
+ function visit(node) {
155
+ if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword) {
156
+ const containingWrapper = findContainingWrapper(node, transformableWrappers, sourceFile);
157
+ if (containingWrapper && node.arguments.length === 1 && ts.isIdentifier(node.arguments[0]) && node.arguments[0].text === containingWrapper.parameterName) return;
158
+ const [argument] = node.arguments;
159
+ if (!argument) return;
160
+ const specifier = resolveLiteralImportSpecifier(argument, constStrings);
161
+ if (specifier !== null) replacements.push({
162
+ start: node.getStart(sourceFile),
163
+ end: node.getEnd(),
164
+ text: `Promise.resolve(${createImportIdentifier(specifierToIdentifier, specifier)})`
165
+ });
166
+ }
167
+ ts.forEachChild(node, visit);
168
+ }
169
+ visit(sourceFile);
170
+ if (replacements.length === 0 && transformableWrappers.length === 0) return null;
171
+ const s = new MagicString(code);
172
+ for (const replacement of replacements.sort((left, right) => right.start - left.start)) s.overwrite(replacement.start, replacement.end, replacement.text);
173
+ for (const wrapper of transformableWrappers.sort((left, right) => right.bodyStart - left.bodyStart)) s.overwrite(wrapper.bodyStart, wrapper.bodyEnd, buildWrapperBody(wrapper, specifierToIdentifier));
174
+ if (specifierToIdentifier.size > 0) {
175
+ const importBlock = Array.from(specifierToIdentifier.entries()).map(([specifier, identifier]) => `import * as ${identifier} from ${quoteString(specifier)}`).join("\n");
176
+ if (code.startsWith("#!")) {
177
+ const newlineIndex = code.indexOf("\n");
178
+ if (newlineIndex === -1) s.appendRight(code.length, `\n${importBlock}\n`);
179
+ else s.appendLeft(newlineIndex + 1, `${importBlock}\n`);
180
+ } else s.appendLeft(0, `${importBlock}\n`);
181
+ }
182
+ return {
183
+ code: s.toString(),
184
+ map: s.generateMap({
185
+ source: id,
186
+ file: `${id}.map`,
187
+ includeContent: true
188
+ })
189
+ };
190
+ }
191
+ function findDynamicImportCalls(sourceFile) {
192
+ const calls = [];
193
+ function visit(node) {
194
+ if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword) calls.push(node);
195
+ ts.forEachChild(node, visit);
196
+ }
197
+ visit(sourceFile);
198
+ return calls;
199
+ }
200
+ async function assertWorkerBundleHasNoDynamicImports(bundlePath) {
201
+ const code = await (await import("node:fs/promises")).readFile(bundlePath, "utf-8");
202
+ const sourceFile = createSourceFile(code, bundlePath);
203
+ const dynamicImports = findDynamicImportCalls(sourceFile);
204
+ if (dynamicImports.length === 0) return;
205
+ const examples = dynamicImports.slice(0, 3).map((callExpression) => {
206
+ const start = callExpression.getStart(sourceFile);
207
+ const { line, character } = sourceFile.getLineAndCharacterOfPosition(start);
208
+ const snippet = code.slice(start, callExpression.getEnd()).replace(/\s+/g, " ").trim();
209
+ return `- ${line + 1}:${character + 1} ${snippet}`;
210
+ }).join("\n");
211
+ throw new Error([
212
+ WORKER_DYNAMIC_IMPORT_ERROR,
213
+ `Bundle: ${bundlePath}`,
214
+ `Examples:\n${examples}`,
215
+ "Devflare can normalize literal import() calls and simple helper wrappers whose call sites are literal strings, but truly runtime-computed specifiers must be converted to static imports for worker bundles."
216
+ ].join("\n\n"));
217
+ }
218
+ function createWorkerDynamicImportPlugin() {
219
+ return {
220
+ name: "devflare-worker-dynamic-imports",
221
+ transform(code, id) {
222
+ return transformWorkerDynamicImports(code, id) ?? null;
223
+ }
224
+ };
225
+ }
226
+ //#endregion
227
+ //#region src/bundler/rolldown-shared.ts
228
+ const DEFAULT_EXTERNAL_MODULES = [
229
+ /^cloudflare:/,
230
+ /^node:/,
231
+ "buffer",
232
+ "crypto",
233
+ "events",
234
+ "http",
235
+ "https",
236
+ "net",
237
+ "os",
238
+ "path",
239
+ "stream",
240
+ "tls",
241
+ "url",
242
+ "util",
243
+ "zlib",
244
+ "fs",
245
+ "child_process",
246
+ "async_hooks",
247
+ "querystring",
248
+ "string_decoder",
249
+ "assert",
250
+ "dns"
251
+ ];
252
+ function toArray(value) {
253
+ return Array.isArray(value) ? value : [value];
254
+ }
255
+ function matchesExternalPattern(pattern, id) {
256
+ if (pattern instanceof RegExp) {
257
+ pattern.lastIndex = 0;
258
+ return pattern.test(id);
259
+ }
260
+ return pattern === id;
261
+ }
262
+ function matchesExternalOption(option, id, parentId, isResolved) {
263
+ if (!option) return false;
264
+ if (typeof option === "function") return option(id, parentId, isResolved) ?? false;
265
+ return toArray(option).some((pattern) => matchesExternalPattern(pattern, id));
266
+ }
267
+ function mergeExternalOptions(base, user) {
268
+ if (!base) return user;
269
+ if (!user) return base;
270
+ if (typeof base !== "function" && typeof user !== "function") return [...toArray(base), ...toArray(user)];
271
+ return (id, parentId, isResolved) => {
272
+ return matchesExternalOption(base, id, parentId, isResolved) || matchesExternalOption(user, id, parentId, isResolved) || false;
273
+ };
274
+ }
275
+ function mergePluginOptions(base, user) {
276
+ if (!base) return user;
277
+ if (!user) return base;
278
+ return [base, user];
279
+ }
280
+ function aliasKey(find) {
281
+ return find instanceof RegExp ? `re:${find.source}:${find.flags}` : `str:${find}`;
282
+ }
283
+ function normalizeAliasEntries(input) {
284
+ if (!input) return [];
285
+ if (Array.isArray(input)) return input.filter((entry) => {
286
+ return Boolean(entry) && typeof entry.replacement === "string";
287
+ });
288
+ return Object.entries(input).filter(([, replacement]) => typeof replacement === "string").map(([find, replacement]) => ({
289
+ find,
290
+ replacement
291
+ }));
292
+ }
293
+ /**
294
+ * Merge framework-default aliases with user-provided aliases.
295
+ *
296
+ * Contract:
297
+ * - Framework defaults are emitted first, then user entries, so on duplicate
298
+ * `find` keys the user entry wins (object-spread / last-wins semantics).
299
+ * - Entries are deduplicated by the normalized `find` key (string value or
300
+ * `RegExp.source` + flags).
301
+ * - Ordering of user entries is preserved so regex specificity remains
302
+ * predictable.
303
+ */
304
+ function mergeAliases(userAliases, frameworkDefaults) {
305
+ const userKeys = new Set(userAliases.map((entry) => aliasKey(entry.find)));
306
+ const frameworkFiltered = frameworkDefaults.filter((entry) => {
307
+ return !userKeys.has(aliasKey(entry.find));
308
+ });
309
+ const seenUserKeys = /* @__PURE__ */ new Set();
310
+ const dedupedUser = [];
311
+ for (let index = userAliases.length - 1; index >= 0; index--) {
312
+ const entry = userAliases[index];
313
+ const key = aliasKey(entry.find);
314
+ if (seenUserKeys.has(key)) continue;
315
+ seenUserKeys.add(key);
316
+ dedupedUser.unshift(entry);
317
+ }
318
+ return [...frameworkFiltered, ...dedupedUser];
319
+ }
320
+ function aliasEntriesToRolldownRecord(entries) {
321
+ const record = {};
322
+ for (const entry of entries) {
323
+ if (entry.find instanceof RegExp) continue;
324
+ record[entry.find] = entry.replacement;
325
+ }
326
+ return record;
327
+ }
328
+ function mergeResolveOptions(base, user) {
329
+ if (!base && !user) return;
330
+ const frameworkEntries = normalizeAliasEntries(base?.alias);
331
+ const mergedEntries = mergeAliases(normalizeAliasEntries(user?.alias), frameworkEntries);
332
+ const mergedAlias = aliasEntriesToRolldownRecord(mergedEntries);
333
+ return {
334
+ ...user ?? {},
335
+ ...base ?? {},
336
+ ...mergedEntries.length > 0 ? { alias: mergedAlias } : {}
337
+ };
338
+ }
339
+ function resolveTsconfigOption(options) {
340
+ if (options.userTsconfig) return { tsconfig: options.userTsconfig };
341
+ const defaultTsconfigPath = resolve(options.cwd, "tsconfig.json");
342
+ if (options.defaultMode === "always" || existsSync(defaultTsconfigPath)) return { tsconfig: defaultTsconfigPath };
343
+ return {};
344
+ }
345
+ async function ensureDebugShim(outDir) {
346
+ const fs = await import("node:fs/promises");
347
+ const debugShimCode = `
348
+ // Debug module shim for local development
349
+ const createDebug = (namespace) => {
350
+ const logger = (...args) => {
351
+ if (createDebug.enabled) console.debug(\`[\${namespace}]\`, ...args)
352
+ }
353
+ logger.enabled = false
354
+ logger.namespace = namespace
355
+ logger.extend = (sub) => createDebug(\`\${namespace}:\${sub}\`)
356
+ return logger
357
+ }
358
+ createDebug.enabled = false
359
+ createDebug.formatters = {}
360
+ export default createDebug
361
+ `;
362
+ const debugShimPath = resolve(outDir, "_debug_shim.js");
363
+ await fs.writeFile(debugShimPath, debugShimCode, "utf-8");
364
+ return debugShimPath;
365
+ }
366
+ function resolveWorkerCompatibleRolldownConfig(options) {
367
+ const { output: userOutputOptions, input: _ignoredInput, cwd: _ignoredCwd, platform: _ignoredPlatform, target: _ignoredTarget, watch: _ignoredWatch, external: userExternal, plugins: userPlugins, resolve: userResolve, tsconfig: userTsconfig, ...userInputOptions } = options.rolldownOptions ?? {};
368
+ const { codeSplitting: _ignoredCodeSplitting, dir: _ignoredDir, file: _ignoredFile, format: _ignoredFormat, inlineDynamicImports: _ignoredInlineDynamicImports, ...safeUserOutputOptions } = userOutputOptions ?? {};
369
+ return {
370
+ inputOptions: {
371
+ ...userInputOptions,
372
+ input: options.inputFile,
373
+ cwd: options.cwd,
374
+ platform: options.platform,
375
+ ...resolveTsconfigOption({
376
+ cwd: options.cwd,
377
+ userTsconfig,
378
+ defaultMode: options.defaultTsconfigMode
379
+ }),
380
+ external: mergeExternalOptions(DEFAULT_EXTERNAL_MODULES, userExternal),
381
+ plugins: mergePluginOptions(createWorkerDynamicImportPlugin(), userPlugins),
382
+ resolve: mergeResolveOptions(options.alias ? { alias: options.alias } : void 0, userResolve)
383
+ },
384
+ outputOptions: {
385
+ ...safeUserOutputOptions,
386
+ file: options.outFile,
387
+ format: "esm",
388
+ sourcemap: safeUserOutputOptions.sourcemap ?? options.sourcemap ?? false,
389
+ minify: safeUserOutputOptions.minify ?? options.minify,
390
+ codeSplitting: false,
391
+ ...options.inlineDynamicImports !== void 0 ? { inlineDynamicImports: options.inlineDynamicImports } : {}
392
+ }
393
+ };
394
+ }
395
+ async function writeWorkerCompatibleBundle(options) {
396
+ const { rolldown } = await import("rolldown");
397
+ const bundle = await rolldown(options.inputOptions);
398
+ try {
399
+ await bundle.write(options.outputOptions);
400
+ await assertWorkerBundleHasNoDynamicImports(options.outFile);
401
+ } finally {
402
+ await bundle.close();
403
+ }
404
+ }
405
+ //#endregion
406
+ //#region src/bundler/worker-bundler.ts
407
+ async function resolveInternalModuleEntry(relativeCandidates) {
408
+ const fs = await import("node:fs/promises");
409
+ const currentFileDir = dirname(fileURLToPath(import.meta.url));
410
+ for (const candidate of relativeCandidates) {
411
+ const absolutePath = resolve(currentFileDir, candidate);
412
+ try {
413
+ await fs.access(absolutePath);
414
+ return absolutePath;
415
+ } catch {}
416
+ }
417
+ return null;
418
+ }
419
+ async function resolveInternalAliasMap(outDir) {
420
+ const debugShimPath = await ensureDebugShim(outDir);
421
+ const runtimeEntry = await resolveInternalModuleEntry(["../runtime/index.ts", "../runtime/index.js"]);
422
+ const packageEntry = await resolveInternalModuleEntry(["../browser.ts", "../browser.js"]);
423
+ return {
424
+ debug: debugShimPath,
425
+ ...runtimeEntry ? { "devflare/runtime": runtimeEntry } : {},
426
+ ...packageEntry ? { devflare: packageEntry } : {}
427
+ };
428
+ }
429
+ async function bundleWorkerEntry(options) {
430
+ const fs = await import("node:fs/promises");
431
+ const outDir = dirname(options.outFile);
432
+ await fs.mkdir(outDir, { recursive: true });
433
+ await fs.rm(options.outFile, { force: true });
434
+ await fs.rm(`${options.outFile}.map`, { force: true });
435
+ const alias = await resolveInternalAliasMap(outDir);
436
+ const defaults = createWorkerdBundlerDefaults();
437
+ const { inputOptions, outputOptions } = resolveWorkerCompatibleRolldownConfig({
438
+ cwd: options.cwd,
439
+ inputFile: options.inputFile,
440
+ outFile: options.outFile,
441
+ alias,
442
+ ...defaults,
443
+ platform: "browser",
444
+ rolldownOptions: options.rolldownOptions,
445
+ sourcemap: options.sourcemap ?? defaults.sourcemap,
446
+ minify: options.minify ?? defaults.minify,
447
+ defaultTsconfigMode: "if-present"
448
+ });
449
+ options.logger?.debug(`Bundling main worker → ${options.outFile}`);
450
+ await writeWorkerCompatibleBundle({
451
+ inputOptions,
452
+ outputOptions,
453
+ outFile: options.outFile
454
+ });
455
+ return options.outFile;
456
+ }
457
+ //#endregion
458
+ export { createWorkerdBundlerDefaults as a, writeWorkerCompatibleBundle as i, ensureDebugShim as n, resolveWorkerCompatibleRolldownConfig as r, bundleWorkerEntry as t };