alchemy 2.0.0-beta.51 → 2.0.0-beta.52

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 (176) hide show
  1. package/bin/exec.js +16 -22
  2. package/bin/exec.js.map +1 -1
  3. package/lib/Apply.js +15 -3
  4. package/lib/Apply.js.map +1 -1
  5. package/lib/Auth/AuthProvider.js +1 -1
  6. package/lib/Auth/AuthProvider.js.map +1 -1
  7. package/lib/Binding.d.ts.map +1 -1
  8. package/lib/Binding.js +12 -8
  9. package/lib/Binding.js.map +1 -1
  10. package/lib/Build/DevServer.d.ts +113 -0
  11. package/lib/Build/DevServer.d.ts.map +1 -0
  12. package/lib/Build/DevServer.js +212 -0
  13. package/lib/Build/DevServer.js.map +1 -0
  14. package/lib/Build/Local.d.ts +2 -0
  15. package/lib/Build/Local.d.ts.map +1 -0
  16. package/lib/Build/Local.js +4 -0
  17. package/lib/Build/Local.js.map +1 -0
  18. package/lib/Bundle/Bundle.js +1 -1
  19. package/lib/Bundle/Bundle.js.map +1 -1
  20. package/lib/Cloudflare/Access.js +1 -1
  21. package/lib/Cloudflare/Access.js.map +1 -1
  22. package/lib/Cloudflare/AiGateway/AiGateway.d.ts +1 -1
  23. package/lib/Cloudflare/AiGateway/AiGateway.js +1 -1
  24. package/lib/Cloudflare/Browser/Browser.d.ts +84 -12
  25. package/lib/Cloudflare/Browser/Browser.d.ts.map +1 -1
  26. package/lib/Cloudflare/Browser/Browser.js +80 -9
  27. package/lib/Cloudflare/Browser/Browser.js.map +1 -1
  28. package/lib/Cloudflare/Browser/BrowserBinding.d.ts +90 -16
  29. package/lib/Cloudflare/Browser/BrowserBinding.d.ts.map +1 -1
  30. package/lib/Cloudflare/Browser/BrowserBinding.js +41 -6
  31. package/lib/Cloudflare/Browser/BrowserBinding.js.map +1 -1
  32. package/lib/Cloudflare/Browser/index.d.ts +1 -1
  33. package/lib/Cloudflare/Browser/index.d.ts.map +1 -1
  34. package/lib/Cloudflare/Browser/index.js.map +1 -1
  35. package/lib/Cloudflare/Container/ContainerBinding.d.ts.map +1 -1
  36. package/lib/Cloudflare/Container/ContainerBinding.js +2 -4
  37. package/lib/Cloudflare/Container/ContainerBinding.js.map +1 -1
  38. package/lib/Cloudflare/Images/Images.d.ts +4 -3
  39. package/lib/Cloudflare/Images/Images.d.ts.map +1 -1
  40. package/lib/Cloudflare/Images/Images.js.map +1 -1
  41. package/lib/Cloudflare/Providers.d.ts +1 -1
  42. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  43. package/lib/Cloudflare/Providers.js +4 -1
  44. package/lib/Cloudflare/Providers.js.map +1 -1
  45. package/lib/Cloudflare/RateLimit/RateLimit.d.ts +4 -3
  46. package/lib/Cloudflare/RateLimit/RateLimit.d.ts.map +1 -1
  47. package/lib/Cloudflare/RateLimit/RateLimit.js.map +1 -1
  48. package/lib/Cloudflare/Website/StaticSite.d.ts +64 -12
  49. package/lib/Cloudflare/Website/StaticSite.d.ts.map +1 -1
  50. package/lib/Cloudflare/Website/StaticSite.js +80 -30
  51. package/lib/Cloudflare/Website/StaticSite.js.map +1 -1
  52. package/lib/Cloudflare/Website/Vite.d.ts +36 -7
  53. package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
  54. package/lib/Cloudflare/Website/Vite.js +26 -8
  55. package/lib/Cloudflare/Website/Vite.js.map +1 -1
  56. package/lib/Cloudflare/Workers/Assets.d.ts +10 -4
  57. package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
  58. package/lib/Cloudflare/Workers/Assets.js +6 -6
  59. package/lib/Cloudflare/Workers/Assets.js.map +1 -1
  60. package/lib/Cloudflare/Workers/DynamicWorkerLoader.d.ts +4 -4
  61. package/lib/Cloudflare/Workers/InferEnv.d.ts +1 -1
  62. package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
  63. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  64. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +45 -11
  65. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  66. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.d.ts +5 -4
  67. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.d.ts.map +1 -1
  68. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.js +4 -2
  69. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.js.map +1 -1
  70. package/lib/Cloudflare/Workers/RpcWorker.d.ts +3 -2
  71. package/lib/Cloudflare/Workers/RpcWorker.d.ts.map +1 -1
  72. package/lib/Cloudflare/Workers/RpcWorker.js +5 -3
  73. package/lib/Cloudflare/Workers/RpcWorker.js.map +1 -1
  74. package/lib/Cloudflare/Workers/VersionMetadata.d.ts +99 -0
  75. package/lib/Cloudflare/Workers/VersionMetadata.d.ts.map +1 -0
  76. package/lib/Cloudflare/Workers/VersionMetadata.js +65 -0
  77. package/lib/Cloudflare/Workers/VersionMetadata.js.map +1 -0
  78. package/lib/Cloudflare/Workers/VersionMetadataBinding.d.ts +35 -0
  79. package/lib/Cloudflare/Workers/VersionMetadataBinding.d.ts.map +1 -0
  80. package/lib/Cloudflare/Workers/VersionMetadataBinding.js +31 -0
  81. package/lib/Cloudflare/Workers/VersionMetadataBinding.js.map +1 -0
  82. package/lib/Cloudflare/Workers/Worker.d.ts +18 -18
  83. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  84. package/lib/Cloudflare/Workers/Worker.js +23 -37
  85. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  86. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
  87. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +7 -0
  88. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
  89. package/lib/Cloudflare/Workers/WorkerBinding.d.ts +2 -1
  90. package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
  91. package/lib/Cloudflare/Workers/WorkerBinding.js.map +1 -1
  92. package/lib/Cloudflare/Workers/Workflow.d.ts +8 -1
  93. package/lib/Cloudflare/Workers/Workflow.d.ts.map +1 -1
  94. package/lib/Cloudflare/Workers/Workflow.js +1 -0
  95. package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
  96. package/lib/Cloudflare/Workers/WorkflowBridge.d.ts.map +1 -1
  97. package/lib/Cloudflare/Workers/WorkflowBridge.js +31 -2
  98. package/lib/Cloudflare/Workers/WorkflowBridge.js.map +1 -1
  99. package/lib/Cloudflare/Workers/index.d.ts +2 -0
  100. package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
  101. package/lib/Cloudflare/Workers/index.js +2 -0
  102. package/lib/Cloudflare/Workers/index.js.map +1 -1
  103. package/lib/Cloudflare/Zaraz/ZarazConfig.d.ts.map +1 -1
  104. package/lib/Diff.d.ts.map +1 -1
  105. package/lib/Diff.js +7 -0
  106. package/lib/Diff.js.map +1 -1
  107. package/lib/Drizzle/Postgres.d.ts +13 -12
  108. package/lib/Drizzle/Postgres.d.ts.map +1 -1
  109. package/lib/Drizzle/Postgres.js +13 -12
  110. package/lib/Drizzle/Postgres.js.map +1 -1
  111. package/lib/Drizzle/Schema.d.ts +1 -1
  112. package/lib/Drizzle/Schema.d.ts.map +1 -1
  113. package/lib/Drizzle/Schema.js +14 -6
  114. package/lib/Drizzle/Schema.js.map +1 -1
  115. package/lib/Local/RpcSerialization.js +5 -2
  116. package/lib/Local/RpcSerialization.js.map +1 -1
  117. package/lib/Platform.d.ts.map +1 -1
  118. package/lib/Platform.js +27 -25
  119. package/lib/Platform.js.map +1 -1
  120. package/lib/Resource.d.ts +1 -1
  121. package/lib/Resource.d.ts.map +1 -1
  122. package/lib/Resource.js +9 -12
  123. package/lib/Resource.js.map +1 -1
  124. package/lib/Runtime.d.ts +1 -1
  125. package/lib/Runtime.d.ts.map +1 -1
  126. package/lib/Runtime.js +3 -4
  127. package/lib/Runtime.js.map +1 -1
  128. package/lib/Util/effect.d.ts.map +1 -1
  129. package/lib/Util/effect.js +13 -15
  130. package/lib/Util/effect.js.map +1 -1
  131. package/lib/Util/poll.d.ts +0 -1
  132. package/lib/Util/poll.d.ts.map +1 -1
  133. package/lib/Util/poll.js +2 -2
  134. package/lib/Util/poll.js.map +1 -1
  135. package/lib/tsconfig.test.tsbuildinfo +1 -1
  136. package/package.json +20 -20
  137. package/src/Apply.ts +22 -3
  138. package/src/Auth/AuthProvider.ts +1 -1
  139. package/src/Binding.ts +45 -38
  140. package/src/Build/DevServer.ts +330 -0
  141. package/src/Build/Local.ts +4 -0
  142. package/src/Bundle/Bundle.ts +1 -1
  143. package/src/Cloudflare/Access.ts +1 -1
  144. package/src/Cloudflare/AiGateway/AiGateway.ts +1 -1
  145. package/src/Cloudflare/Browser/Browser.ts +84 -12
  146. package/src/Cloudflare/Browser/BrowserBinding.ts +205 -33
  147. package/src/Cloudflare/Browser/index.ts +15 -2
  148. package/src/Cloudflare/Container/ContainerBinding.ts +5 -10
  149. package/src/Cloudflare/Images/Images.ts +4 -3
  150. package/src/Cloudflare/Providers.ts +5 -0
  151. package/src/Cloudflare/RateLimit/RateLimit.ts +4 -3
  152. package/src/Cloudflare/Website/StaticSite.ts +154 -41
  153. package/src/Cloudflare/Website/Vite.ts +73 -25
  154. package/src/Cloudflare/Workers/Assets.ts +10 -8
  155. package/src/Cloudflare/Workers/DynamicWorkerLoader.ts +4 -4
  156. package/src/Cloudflare/Workers/InferEnv.ts +14 -12
  157. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +54 -13
  158. package/src/Cloudflare/Workers/RpcDurableObjectNamespace.ts +11 -8
  159. package/src/Cloudflare/Workers/RpcWorker.ts +8 -7
  160. package/src/Cloudflare/Workers/VersionMetadata.ts +129 -0
  161. package/src/Cloudflare/Workers/VersionMetadataBinding.ts +82 -0
  162. package/src/Cloudflare/Workers/Worker.ts +60 -81
  163. package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +6 -0
  164. package/src/Cloudflare/Workers/WorkerBinding.ts +2 -0
  165. package/src/Cloudflare/Workers/Workflow.ts +12 -1
  166. package/src/Cloudflare/Workers/WorkflowBridge.ts +47 -6
  167. package/src/Cloudflare/Workers/index.ts +2 -0
  168. package/src/Diff.ts +7 -0
  169. package/src/Drizzle/Postgres.ts +13 -12
  170. package/src/Drizzle/Schema.ts +16 -6
  171. package/src/Local/RpcSerialization.ts +5 -2
  172. package/src/Platform.ts +36 -32
  173. package/src/Resource.ts +12 -13
  174. package/src/Runtime.ts +3 -7
  175. package/src/Util/effect.ts +13 -17
  176. package/src/Util/poll.ts +3 -3
@@ -1,7 +1,11 @@
1
+ import * as Output from "alchemy/Output";
1
2
  import * as Effect from "effect/Effect";
2
3
  import * as Redacted from "effect/Redacted";
4
+ import { AlchemyContext } from "../../AlchemyContext.js";
3
5
  import { Command } from "../../Build/Command.js";
6
+ import { DevServer } from "../../Build/DevServer.js";
4
7
  import * as Namespace from "../../Namespace.js";
8
+ import { effectClass } from "../../Util/effect.js";
5
9
  import { Worker, } from "../Workers/Worker.js";
6
10
  /**
7
11
  * A Cloudflare Worker that serves static assets built by a shell command.
@@ -44,7 +48,7 @@ import { Worker, } from "../Workers/Worker.js";
44
48
  * ```
45
49
  *
46
50
  * @section Asset Configuration
47
- * Use `assetsConfig` to control how Cloudflare handles routing for
51
+ * Use `assets` to control how Cloudflare handles routing for
48
52
  * your static files — HTML handling, not-found behavior, etc.
49
53
  *
50
54
  * @example SPA-style routing
@@ -53,7 +57,7 @@ import { Worker, } from "../Workers/Worker.js";
53
57
  * command: "npm run build",
54
58
  * outdir: "dist",
55
59
  * main: "./src/worker.ts",
56
- * assetsConfig: {
60
+ * assets: {
57
61
  * htmlHandling: "auto-trailing-slash",
58
62
  * notFoundHandling: "single-page-application",
59
63
  * },
@@ -89,37 +93,83 @@ import { Worker, } from "../Workers/Worker.js";
89
93
  * },
90
94
  * });
91
95
  * ```
96
+ *
97
+ * @section Class Form
98
+ * Calling `StaticSite` with no arguments returns a constructor you can
99
+ * `extend` to declare the Worker as a named class. The class is both
100
+ * an `Effect` you can `yield*` to deploy and a type you can reference
101
+ * elsewhere — useful when other resources need to bind to this Worker.
102
+ *
103
+ * @example Declaring a Worker class
104
+ * ```typescript
105
+ * class Blog extends Cloudflare.StaticSite<Blog>()("Blog", {
106
+ * command: "hugo --minify",
107
+ * outdir: "public",
108
+ * main: "./src/worker.ts",
109
+ * }) {}
110
+ *
111
+ * const site = yield* Blog;
112
+ * ```
92
113
  */
93
- export const StaticSite = (id, propsEff) => Effect.gen(function* () {
114
+ export const StaticSite = ((id, propsEff) => id === undefined
115
+ ? (id, propsEff) => effectClass(makeStaticSite(id, propsEff))
116
+ : makeStaticSite(id, propsEff));
117
+ const makeStaticSite = (id, propsEff) => Effect.gen(function* () {
94
118
  const props = Effect.isEffect(propsEff)
95
119
  ? propsEff
96
120
  : Effect.succeed(propsEff);
97
- // TODO(sam): local dev/hmr support?
98
- const build = yield* Command("Build", Effect.map(props, (props) => ({
99
- command: props.command,
100
- cwd: props.cwd,
101
- memo: props.memo,
102
- outdir: props.outdir,
103
- env: props.env
104
- ? Object.fromEntries(Object.entries(props.env).flatMap(([k, v]) => {
105
- if (v === undefined)
106
- return [];
107
- if (typeof v === "string" || Redacted.isRedacted(v))
108
- return [[k, v]];
109
- return [[k, JSON.stringify(v)]];
110
- }))
111
- : undefined,
112
- })));
113
- return yield* Worker("Worker", Effect.map(props, (props) => ({
114
- ...props,
115
- assets: {
116
- path: build.outdir,
117
- hash: build.hash,
118
- config: props.assetsConfig,
119
- },
120
- // Omit the dev command from WorkerProps since it's different from WorkerProps["dev"].
121
- // TODO: we'll need to update this when we add local dev support for StaticSite.
122
- dev: undefined,
123
- })));
121
+ const { dev: isDevPhase } = yield* AlchemyContext;
122
+ return yield* Effect.gen(function* () {
123
+ const resolved = yield* props;
124
+ const useDevServer = isDevPhase && resolved.dev !== undefined;
125
+ // In dev mode with a dev.command, declare a DevCommand resource so
126
+ // the sidecar owns the process lifecycle (survives user-code HMR),
127
+ // skip the build, and tell Worker not to start a local instance.
128
+ let devUrl = yield* useDevServer
129
+ ? DevServer("Dev", {
130
+ command: resolved.dev.command,
131
+ cwd: resolved.dev.cwd ??
132
+ (typeof resolved.cwd === "string" ? resolved.cwd : undefined),
133
+ }).pipe(Effect.map((d) => Output.map(d.url, (url) => url ?? resolved.dev?.url ?? false)))
134
+ : Effect.succeed(false);
135
+ const build = useDevServer
136
+ ? undefined
137
+ : yield* Command("Build", {
138
+ command: resolved.command,
139
+ cwd: resolved.cwd,
140
+ memo: resolved.memo,
141
+ outdir: resolved.outdir,
142
+ env: resolved.env
143
+ ? Object.fromEntries(Object.entries(resolved.env).flatMap(([k, v]) => {
144
+ if (v === undefined)
145
+ return [];
146
+ if (typeof v === "string" || Redacted.isRedacted(v))
147
+ return [[k, v]];
148
+ return [[k, JSON.stringify(v)]];
149
+ }))
150
+ : undefined,
151
+ });
152
+ // Pure-static sites don't need a custom Worker entrypoint —
153
+ // delegate every request straight to the ASSETS binding. Only
154
+ // injected when the user provided neither `main` nor `script`.
155
+ const fallbackScript = resolved.main == null && resolved.script == null
156
+ ? `export default { fetch: (request, env) => env.ASSETS.fetch(request) };`
157
+ : undefined;
158
+ return yield* Worker("Worker", {
159
+ ...resolved,
160
+ assets: build
161
+ ? {
162
+ directory: build.outdir,
163
+ hash: build.hash,
164
+ ...resolved.assets,
165
+ }
166
+ : undefined,
167
+ // Opt out of the local Worker in dev when the external DevCommand
168
+ // is serving the content. The Worker resource still exists in
169
+ // state with a stub Attributes shape.
170
+ dev: useDevServer ? devUrl : undefined,
171
+ script: fallbackScript ?? resolved.script,
172
+ });
173
+ });
124
174
  }).pipe(Namespace.push(id));
125
175
  //# sourceMappingURL=StaticSite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StaticSite.js","sourceRoot":"","sources":["../../../src/Cloudflare/Website/StaticSite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAqB,MAAM,wBAAwB,CAAC;AAEpE,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EACL,MAAM,GAIP,MAAM,sBAAsB,CAAC;AAkB9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAIxB,EAAU,EACV,QAEoE,EACpE,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACrC,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE7B,oCAAoC;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,CAC1B,OAAO,EACP,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,EAAE,KAAK,CAAC,GAAG;YACZ,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC3C,IAAI,CAAC,KAAK,SAAS;oBAAE,OAAO,EAAE,CAAC;gBAC/B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;oBACjD,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClB,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC,CAAC,CACH;YACH,CAAC,CAAC,SAAS;KACd,CAAC,CAAC,CACJ,CAAC;IAEF,OAAO,KAAK,CAAC,CAAC,MAAM,CAClB,QAAQ,EACR,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,GAAG,KAAK;QACR,MAAM,EAAE;YACN,IAAI,EAAE,KAAK,CAAC,MAAM;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,YAAY;SAC3B;QACD,sFAAsF;QACtF,gFAAgF;QAChF,GAAG,EAAE,SAAS;KACf,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"StaticSite.js","sourceRoot":"","sources":["../../../src/Cloudflare/Website/StaticSite.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import type { MemoOptions } from "../../Build/Memo.ts";
3
3
  import type { InputProps } from "../../Input.ts";
4
- import { Worker, type WorkerBindingProps, type WorkerProps } from "../Workers/Worker.ts";
5
- export interface ViteProps<Bindings extends WorkerBindingProps = {}> extends Omit<WorkerProps<Bindings>, "vite" | "main"> {
4
+ import type { Providers } from "../Providers.ts";
5
+ import type { AssetsConfig } from "../Workers/Assets.ts";
6
+ import { Worker, type NormalizedBindings, type WorkerAssetsConfig, type WorkerBindingProps, type WorkerProps } from "../Workers/Worker.ts";
7
+ export interface ViteProps<Bindings extends WorkerBindingProps = {}> extends Omit<WorkerProps<Bindings>, "vite" | "main" | "assets"> {
6
8
  /**
7
9
  * Root directory passed to Vite's `root` option.
8
10
  * Defaults to the current working directory (`process.cwd()`).
@@ -16,6 +18,11 @@ export interface ViteProps<Bindings extends WorkerBindingProps = {}> extends Omi
16
18
  * @see {@link MemoOptions}
17
19
  */
18
20
  memo?: MemoOptions;
21
+ /**
22
+ * Optional configuration for static asset routing behavior.
23
+ * Supports `runWorkerFirst`, `htmlHandling`, `notFoundHandling`, etc.
24
+ */
25
+ assets?: AssetsConfig;
19
26
  }
20
27
  /**
21
28
  * A Cloudflare Worker deployed from a Vite project.
@@ -97,10 +104,32 @@ export interface ViteProps<Bindings extends WorkerBindingProps = {}> extends Omi
97
104
  * },
98
105
  * });
99
106
  * ```
107
+ *
108
+ * @section Class Form
109
+ * Calling `Vite` with no arguments returns a constructor you can
110
+ * `extend` to declare the Worker as a named class. The class is both
111
+ * an `Effect` you can `yield*` to deploy and a type you can reference
112
+ * elsewhere — useful when other resources need to bind to this Worker.
113
+ *
114
+ * @example Declaring a Worker class
115
+ * ```typescript
116
+ * class Website extends Cloudflare.Vite<Website>()("Website", {
117
+ * compatibility: { flags: ["nodejs_compat"] },
118
+ * }) {}
119
+ *
120
+ * const site = yield* Website;
121
+ * ```
100
122
  */
101
- export declare const Vite: <const Bindings extends WorkerBindingProps = {}, Req = never>(id: string, propsEff?: InputProps<ViteProps<Bindings>> | Effect.Effect<InputProps<ViteProps<Bindings>>, never, Req>) => Effect.Effect<Worker<{ [binding in keyof ({ [B in keyof Bindings]: Bindings[B] extends Effect.Effect<infer T extends import("../index.ts").WorkerBindingResource, any, any> ? T extends import("effect/Redacted").Redacted<infer T_1> | import("effect/Config").Config<infer T_1> ? T_1 : T : Extract<Bindings[B], import("../index.ts").WorkerBindingResource>; } & {
102
- ASSETS: import("../index.ts").Assets;
103
- })]: ({ [B in keyof Bindings]: Bindings[B] extends Effect.Effect<infer T extends import("../index.ts").WorkerBindingResource, any, any> ? T extends import("effect/Redacted").Redacted<infer T_1> | import("effect/Config").Config<infer T_1> ? T_1 : T : Extract<Bindings[B], import("../index.ts").WorkerBindingResource>; } & {
104
- ASSETS: import("../index.ts").Assets;
105
- })[binding]; }>, never, import("../Providers.ts").Providers | Req>;
123
+ export declare const Vite: {
124
+ <Self>(): {
125
+ <const Bindings extends WorkerBindingProps = {}, Req = never>(id: string, propsEff?: InputProps<ViteProps<Bindings>> | Effect.Effect<InputProps<ViteProps<Bindings>>, never, Req>): Effect.Effect<Self, never, Req | Providers> & {
126
+ new (): Worker<{
127
+ [binding in keyof NormalizedBindings<Bindings, WorkerAssetsConfig>]: NormalizedBindings<Bindings, WorkerAssetsConfig>[binding];
128
+ }>;
129
+ };
130
+ };
131
+ <const Bindings extends WorkerBindingProps = {}, Req = never>(id: string, propsEff?: InputProps<ViteProps<Bindings>> | Effect.Effect<InputProps<ViteProps<Bindings>>, never, Req>): Effect.Effect<Worker<{
132
+ [binding in keyof NormalizedBindings<Bindings, WorkerAssetsConfig>]: NormalizedBindings<Bindings, WorkerAssetsConfig>[binding];
133
+ }>, never, Req | Providers>;
134
+ };
106
135
  //# sourceMappingURL=Vite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Vite.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Website/Vite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EACL,MAAM,EAEN,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,SAAS,CACxB,QAAQ,SAAS,kBAAkB,GAAG,EAAE,CACxC,SAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpD;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AACH,eAAO,MAAM,IAAI,GACf,KAAK,CAAC,QAAQ,SAAS,kBAAkB,GAAG,EAAE,EAC9C,GAAG,GAAG,KAAK,EAEX,IAAI,MAAM,EACV,WACI,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAC/B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC;;;;kEAe7D,CAAC"}
1
+ {"version":3,"file":"Vite.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Website/Vite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,MAAM,EACN,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAC9B,MAAM,WAAW,SAAS,CACxB,QAAQ,SAAS,kBAAkB,GAAG,EAAE,CACxC,SAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC/D;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AACH,eAAO,MAAM,IAAI,EAAE;IACjB,CAAC,IAAI,KAAK;QACR,CAAC,KAAK,CAAC,QAAQ,SAAS,kBAAkB,GAAG,EAAE,EAAE,GAAG,GAAG,KAAK,EAC1D,EAAE,EAAE,MAAM,EACV,QAAQ,CAAC,EACL,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAC/B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,GAC7D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,CAAC,GAAG;YAC/C,QAAQ,MAAM,CAAC;iBACZ,OAAO,IAAI,MAAM,kBAAkB,CAClC,QAAQ,EACR,kBAAkB,CACnB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,OAAO,CAAC;aAC9D,CAAC,CAAC;SACJ,CAAC;KACH,CAAC;IACF,CAAC,KAAK,CAAC,QAAQ,SAAS,kBAAkB,GAAG,EAAE,EAAE,GAAG,GAAG,KAAK,EAC1D,EAAE,EAAE,MAAM,EACV,QAAQ,CAAC,EACL,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAC/B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,GAC7D,MAAM,CAAC,MAAM,CACd,MAAM,CAAC;SACJ,OAAO,IAAI,MAAM,kBAAkB,CAClC,QAAQ,EACR,kBAAkB,CACnB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,OAAO,CAAC;KAC9D,CAAC,EACF,KAAK,EACL,GAAG,GAAG,SAAS,CAChB,CAAC;CAiBW,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import * as Effect from "effect/Effect";
2
+ import { effectClass } from "../../Util/effect.js";
2
3
  import { Worker, } from "../Workers/Worker.js";
3
4
  /**
4
5
  * A Cloudflare Worker deployed from a Vite project.
@@ -80,13 +81,30 @@ import { Worker, } from "../Workers/Worker.js";
80
81
  * },
81
82
  * });
82
83
  * ```
84
+ *
85
+ * @section Class Form
86
+ * Calling `Vite` with no arguments returns a constructor you can
87
+ * `extend` to declare the Worker as a named class. The class is both
88
+ * an `Effect` you can `yield*` to deploy and a type you can reference
89
+ * elsewhere — useful when other resources need to bind to this Worker.
90
+ *
91
+ * @example Declaring a Worker class
92
+ * ```typescript
93
+ * class Website extends Cloudflare.Vite<Website>()("Website", {
94
+ * compatibility: { flags: ["nodejs_compat"] },
95
+ * }) {}
96
+ *
97
+ * const site = yield* Website;
98
+ * ```
83
99
  */
84
- export const Vite = (id, propsEff) => Worker(id, Effect.map(Effect.isEffect(propsEff) ? propsEff : Effect.succeed(propsEff), (props) => ({
85
- ...props,
86
- main: undefined,
87
- vite: {
88
- rootDir: props?.rootDir,
89
- memo: props?.memo,
90
- },
91
- })));
100
+ export const Vite = ((id, propsEff) => id === undefined
101
+ ? (id, propsEff) => effectClass(Vite(id, propsEff))
102
+ : Worker(id, Effect.map(Effect.isEffect(propsEff) ? propsEff : Effect.succeed(propsEff), (props) => ({
103
+ ...props,
104
+ main: undefined,
105
+ vite: {
106
+ rootDir: props?.rootDir,
107
+ memo: props?.memo,
108
+ },
109
+ }))));
92
110
  //# sourceMappingURL=Vite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Vite.js","sourceRoot":"","sources":["../../../src/Cloudflare/Website/Vite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EACL,MAAM,GAIP,MAAM,sBAAsB,CAAC;AAoB9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAIlB,EAAU,EACV,QAE8D,EAC9D,EAAE,CACF,MAAM,CACJ,EAAE,EACF,MAAM,CAAC,GAAG,CACR,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC/D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,GAAG,KAAK;IACR,IAAI,EAAE,SAAU;IAChB,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK,EAAE,OAAO;QACvB,IAAI,EAAE,KAAK,EAAE,IAAI;KAClB;CACF,CAAC,CACH,CACF,CAAC"}
1
+ {"version":3,"file":"Vite.js","sourceRoot":"","sources":["../../../src/Cloudflare/Website/Vite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EACL,MAAM,GAKP,MAAM,sBAAsB,CAAC;AAwB9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AACH,MAAM,CAAC,MAAM,IAAI,GA+Bb,CAAC,CAAC,EAAQ,EAAE,QAAc,EAAE,EAAE,CAChC,EAAE,KAAK,SAAS;IACd,CAAC,CAAC,CAAC,EAAU,EAAE,QAAa,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC,CAAC,MAAM,CACJ,EAAE,EACF,MAAM,CAAC,GAAG,CACR,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC/D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACV,GAAG,KAAK;QACR,IAAI,EAAE,SAAU;QAChB,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK,EAAE,OAAO;YACvB,IAAI,EAAE,KAAK,EAAE,IAAI;SAClB;KACF,CAAC,CACH,CACF,CAAQ,CAAC"}
@@ -21,9 +21,8 @@ export interface AssetReadResult {
21
21
  _redirects: string | undefined;
22
22
  hash: string;
23
23
  }
24
- export interface AssetsProps {
24
+ export interface AssetsProps extends AssetsConfig {
25
25
  directory: string;
26
- config?: AssetsConfig;
27
26
  }
28
27
  export type ValidationError = AssetTooLargeError | TooManyAssetsError | AssetNotFoundError | FailedToReadAssetError;
29
28
  declare const AssetTooLargeError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
@@ -61,9 +60,16 @@ export declare class FailedToReadAssetError extends FailedToReadAssetError_base<
61
60
  cause: PlatformError;
62
61
  }> {
63
62
  }
64
- export declare const readAssets: (props: AssetsProps) => Effect.Effect<{
63
+ export declare const readAssets: (args_0: AssetsProps) => Effect.Effect<{
65
64
  directory: string;
66
- config: AssetsConfig | undefined;
65
+ config: {
66
+ headers?: string;
67
+ redirects?: string;
68
+ htmlHandling?: "auto-trailing-slash" | "force-trailing-slash" | "drop-trailing-slash" | "none" | (string & {});
69
+ notFoundHandling?: "none" | "404-page" | "single-page-application" | (string & {});
70
+ runWorkerFirst?: string[] | boolean;
71
+ serveDirectly?: boolean;
72
+ };
67
73
  manifest: {
68
74
  [k: string]: {
69
75
  hash: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Assets.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/Assets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,qCAAqC,CAAC;AAE/D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAMhE,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,2BAA2B,CAAC;CACnC;AAED,eAAO,MAAM,QAAQ,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,MACF,CAAC;AAE9C,MAAM,WAAW,YAAa,SAAQ,OAAO,CAC3C,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,EAC5E,SAAS,CACV;CAAG;AAEJ,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,MAAM,eAAe,GACvB,kBAAkB,GAClB,kBAAkB,GAClB,kBAAkB,GAClB,sBAAsB,CAAC;;;;AAE3B,qBAAa,kBAAmB,SAAQ,wBAAuC;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;CAAG;;;;AAEL,qBAAa,kBAAmB,SAAQ,wBAAuC;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;CAAG;;;;AAEL,qBAAa,kBAAmB,SAAQ,wBAAuC;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;CAAG;;;;AAEL,qBAAa,sBAAuB,SAAQ,4BAE1C;IACA,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;CAAG;AAqCL,eAAO,MAAM,UAAU;;;;;kBAmBoB,MAAM;kBAAQ,MAAM;;;;;;8FAmE7D,CAAC;AAEH,eAAO,MAAM,YAAY;;ivBA6EvB,CAAC"}
1
+ {"version":3,"file":"Assets.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/Assets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,qCAAqC,CAAC;AAE/D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAMhE,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,2BAA2B,CAAC;CACnC;AAED,eAAO,MAAM,QAAQ,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,MACF,CAAC;AAE9C,MAAM,WAAW,YAAa,SAAQ,OAAO,CAC3C,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,EAC5E,SAAS,CACV;CAAG;AAEJ,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,eAAe,GACvB,kBAAkB,GAClB,kBAAkB,GAClB,kBAAkB,GAClB,sBAAsB,CAAC;;;;AAE3B,qBAAa,kBAAmB,SAAQ,wBAAuC;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;CAAG;;;;AAEL,qBAAa,kBAAmB,SAAQ,wBAAuC;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;CAAG;;;;AAEL,qBAAa,kBAAmB,SAAQ,wBAAuC;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;CAAG;;;;AAEL,qBAAa,sBAAuB,SAAQ,4BAE1C;IACA,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;CAAG;AAqCL,eAAO,MAAM,UAAU;;;;;;;;;;;;kBAsBoB,MAAM;kBAAQ,MAAM;;;;;;8FAmE7D,CAAC;AAEH,eAAO,MAAM,YAAY;;ivBA6EvB,CAAC"}
@@ -51,10 +51,10 @@ const createIgnoreMatcher = (patterns) => {
51
51
  const matcher = createIgnore().add(patterns);
52
52
  return (file) => matcher.ignores(file);
53
53
  };
54
- export const readAssets = Effect.fnUntraced(function* (props) {
54
+ export const readAssets = Effect.fnUntraced(function* ({ directory, ...config }) {
55
55
  const fs = yield* FileSystem.FileSystem;
56
56
  const path = yield* Path.Path;
57
- const resolvedDirectory = path.resolve(props.directory);
57
+ const resolvedDirectory = path.resolve(directory);
58
58
  const [files, ignore, _headers, _redirects] = yield* Effect.all([
59
59
  fs.readDirectory(resolvedDirectory, { recursive: true }),
60
60
  maybeReadString(path.join(resolvedDirectory, ".assetsignore")),
@@ -94,7 +94,7 @@ export const readAssets = Effect.fnUntraced(function* (props) {
94
94
  if (count > MAX_ASSET_COUNT) {
95
95
  return yield* new TooManyAssetsError({
96
96
  message: `Too many assets (the maximum count is ${MAX_ASSET_COUNT}; this directory has ${count} assets)`,
97
- directory: props.directory,
97
+ directory,
98
98
  count,
99
99
  });
100
100
  }
@@ -113,14 +113,14 @@ export const readAssets = Effect.fnUntraced(function* (props) {
113
113
  // causes both unnecessary re-uploads and `NotFound` failures when
114
114
  // the previously-recorded path is gone.
115
115
  const hash = yield* sha256Object({
116
- config: props.config,
116
+ config,
117
117
  manifest: sortedManifest,
118
118
  _headers,
119
119
  _redirects,
120
120
  });
121
121
  return {
122
- directory: props.directory,
123
- config: props.config,
122
+ directory,
123
+ config,
124
124
  manifest: sortedManifest,
125
125
  _headers,
126
126
  _redirects,
@@ -1 +1 @@
1
- {"version":3,"file":"Assets.js","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/Assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Assets.js","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/Assets.ts"],"names":[],"mappings":"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"}
@@ -90,10 +90,10 @@ type BindEffect = ReturnType<typeof bindLoader>;
90
90
  * surrounding Worker and returns a {@link DynamicWorkerLoaderHandle} with
91
91
  * `.load()` — no separate `.bind(...)` step required.
92
92
  *
93
- * The divergence is achieved via `[Symbol.iterator]`: the object is not an
94
- * `Effect` (so `InferEnv` resolves it to the native
95
- * {@link DynamicWorkerLoaderBinding} in the `env` position), but it is iterable
96
- * as one when `yield*`-ed.
93
+ * The divergence is achieved via `[Symbol.iterator]`: the object is
94
+ * deliberately not an `Effect` (so `InferEnv` and the Worker `env` resolver
95
+ * keep it as the native {@link DynamicWorkerLoaderBinding} rather than
96
+ * `yield*`-ing it), but it is iterable as one when `yield*`-ed.
97
97
  */
98
98
  export interface DynamicWorkerLoader {
99
99
  kind: DynamicWorkerTypeId;
@@ -8,7 +8,7 @@ import type { Worker } from "./Worker.ts";
8
8
  export type InferEnv<W> = W extends Effect.Effect<infer A, infer _E, infer _R> ? InferEnv<A> : W extends Worker<any> ? InferEnv<Exclude<W["Props"]["env"], undefined>> : {
9
9
  [k in keyof W]: GetBindingType<W[k]>;
10
10
  };
11
- export type GetBindingType<T> = T extends Effect.Effect<infer A, infer _E, infer _R> ? GetBindingType<A> : T extends Cloudflare.Assets ? Service : T extends Rpc<infer Shape extends object> ? RpcWireShape<Shape> & Service : T extends Cloudflare.D1Database ? D1Database : T extends Cloudflare.R2Bucket ? R2Bucket : T extends Cloudflare.KVNamespace ? KVNamespace : T extends Cloudflare.Queue ? Queue<unknown> : T extends Cloudflare.AiGateway ? Ai : T extends Cloudflare.SendEmail ? SendEmail : T extends Cloudflare.AnalyticsEngineDataset ? AnalyticsEngineDataset : T extends Cloudflare.Artifacts ? Artifacts : T extends Cloudflare.RateLimit ? RateLimit : T extends Cloudflare.Images ? ImagesBinding : T extends Cloudflare.Browser ? Fetcher : T extends Cloudflare.Hyperdrive ? Hyperdrive : T extends Cloudflare.DynamicWorkerLoader ? Cloudflare.DynamicWorkerLoaderBinding : T extends Cloudflare.DurableObjectNamespaceLike ? DurableObjectNamespace<Exclude<T["Shape"], undefined>> : T extends Redacted<any> ? string : T;
11
+ export type GetBindingType<T> = T extends Effect.Effect<infer A, infer _E, infer _R> ? GetBindingType<A> : T extends Cloudflare.Assets ? Service : T extends Rpc<infer Shape extends object> ? RpcWireShape<Shape> & Service : T extends Cloudflare.D1Database ? D1Database : T extends Cloudflare.R2Bucket ? R2Bucket : T extends Cloudflare.KVNamespace ? KVNamespace : T extends Cloudflare.Queue ? Queue<unknown> : T extends Cloudflare.AiGateway ? Ai : T extends Cloudflare.SendEmail ? SendEmail : T extends Cloudflare.AnalyticsEngineDataset ? AnalyticsEngineDataset : T extends Cloudflare.Artifacts ? Artifacts : T extends Cloudflare.RateLimit ? RateLimit : T extends Cloudflare.Images ? ImagesBinding : T extends Cloudflare.Browser ? BrowserRun : T extends Cloudflare.Hyperdrive ? Hyperdrive : T extends Cloudflare.VersionMetadata ? WorkerVersionMetadata : T extends Cloudflare.DynamicWorkerLoader ? Cloudflare.DynamicWorkerLoaderBinding : T extends Cloudflare.DurableObjectNamespaceLike ? DurableObjectNamespace<Exclude<T["Shape"], undefined>> : T extends Redacted<any> ? string : T;
12
12
  /**
13
13
  * Cloudflare service-binding wire shape for an Effect-native Worker.
14
14
  *
@@ -1 +1 @@
1
- {"version":3,"file":"InferEnv.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/InferEnv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InferEnv.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/InferEnv.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LocalWorkerProvider.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/LocalWorkerProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAQP,KAAK,eAAe,EACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAEL,eAAe,EAEf,MAAM,EAIN,iBAAiB,EAEjB,UAAU,EAOV,SAAS,EACT,SAAS,EAOT,SAAS,EACV,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,WAAW,MAAM,uDAAuD,CAAC;AACrF,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAMtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAGpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAKzD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAIpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;;;;;;AAMrC,qBAAa,qBAAsB,SAAQ,0BAO1C;CAAG;AAEJ,eAAO,MAAM,oBAAoB,o6BAe9B,CAAC;AAEJ,eAAO,MAAM,mBAAmB,8RAiZ7B,CAAC"}
1
+ {"version":3,"file":"LocalWorkerProvider.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/LocalWorkerProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAQP,KAAK,eAAe,EACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAEL,eAAe,EAEf,MAAM,EAIN,iBAAiB,EAEjB,UAAU,EAOV,SAAS,EACT,SAAS,EAOT,SAAS,EACV,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,WAAW,MAAM,uDAAuD,CAAC;AACrF,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAMtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAGpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAKzD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAIpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;;;;;;AAUrC,qBAAa,qBAAsB,SAAQ,0BAO1C;CAAG;AAEJ,eAAO,MAAM,oBAAoB,o6BAe9B,CAAC;AAEJ,eAAO,MAAM,mBAAmB,8RAmb7B,CAAC"}
@@ -156,6 +156,7 @@ import.meta.url.endsWith(".ts") ? "../Local.ts" : "../Local.js", import.meta.url
156
156
  ? Text.local(key, unredacted)
157
157
  : Json.local(key, unredacted);
158
158
  }),
159
+ ...(props.assets || props.vite ? [Assets.local("ASSETS")] : []),
159
160
  ];
160
161
  const durableObjectNamespaces = {};
161
162
  const hyperdrives = {};
@@ -167,11 +168,17 @@ import.meta.url.endsWith(".ts") ? "../Local.ts" : "../Local.js", import.meta.url
167
168
  (!binding.scriptName || binding.scriptName === name)) {
168
169
  // Reuse the existing namespace id if it was provided, otherwise generate a new one.
169
170
  // `workerd` uses this for the object's storage path, so it must be safe to use as a file name.
170
- durableObjectNamespaces[binding.className] =
171
- binding.namespaceId ??
172
- encodeURIComponent(`${id}-${binding.className}`);
171
+ const namespaceId = binding.namespaceId ??
172
+ encodeURIComponent(`${name}-${binding.className}`);
173
+ durableObjectNamespaces[binding.className] = namespaceId;
174
+ workerBindings.push(yield* toRuntimeBinding({
175
+ ...binding,
176
+ namespaceId,
177
+ }));
178
+ }
179
+ else {
180
+ workerBindings.push(yield* toRuntimeBinding(binding));
173
181
  }
174
- workerBindings.push(yield* toRuntimeBinding(binding));
175
182
  }
176
183
  if (data.hyperdrives) {
177
184
  for (const [id, origin] of Object.entries(data.hyperdrives)) {
@@ -306,6 +313,31 @@ import.meta.url.endsWith(".ts") ? "../Local.ts" : "../Local.js", import.meta.url
306
313
  };
307
314
  }),
308
315
  reconcile: Effect.fn(function* ({ id, news, bindings }) {
316
+ // `dev: false` opts out of running a local Worker entirely —
317
+ // typically because an external dev process (DevCommand) is
318
+ // serving requests. Tear down any prior instance and return a
319
+ // stub Attributes; the resource exists in state but has no
320
+ // running workerd / proxy behind it.
321
+ if (news.dev === false || typeof news.dev === "string") {
322
+ const existing = instances.get(id);
323
+ if (existing) {
324
+ yield* Fiber.interrupt(existing.fiber);
325
+ yield* Scope.close(existing.scope, Exit.void);
326
+ instances.delete(id);
327
+ }
328
+ const name = yield* createWorkerName(id, news.name);
329
+ return {
330
+ workerId: name,
331
+ workerName: name,
332
+ logpush: undefined,
333
+ url: news.dev || undefined,
334
+ tags: [],
335
+ durableObjectNamespaces: {},
336
+ accountId,
337
+ domains: [],
338
+ crons: news.crons ?? [],
339
+ };
340
+ }
309
341
  const options = { id, props: news, bindings };
310
342
  const hash = Hash.structure(options);
311
343
  const existing = instances.get(options.id);
@@ -368,6 +400,8 @@ const toRuntimeBinding = Effect.fnUntraced(function* (b) {
368
400
  binding: b.name,
369
401
  className: b.className,
370
402
  scriptName: b.scriptName,
403
+ uniqueKey: b.namespaceId ??
404
+ encodeURIComponent(`${b.scriptName}-${b.className}`),
371
405
  });
372
406
  case "hyperdrive":
373
407
  return Hyperdrive.local(b.name, b.id);
@@ -440,15 +474,15 @@ const toRuntimeAssets = (assets) => {
440
474
  };
441
475
  }
442
476
  return {
443
- directory: "directory" in assets ? assets.directory : assets.path,
444
- headers: assets.config?.headers,
445
- redirects: assets.config?.redirects,
477
+ directory: assets.directory,
478
+ headers: assets.headers,
479
+ redirects: assets.redirects,
446
480
  // Distilled widened generated string enums to open unions (`string & {}`);
447
481
  // the API only ever returns the known variants here.
448
- htmlHandling: assets.config?.htmlHandling,
449
- notFoundHandling: assets.config?.notFoundHandling,
450
- runWorkerFirst: assets.config?.runWorkerFirst,
451
- serveDirectly: assets.config?.serveDirectly,
482
+ htmlHandling: assets.htmlHandling,
483
+ notFoundHandling: assets.notFoundHandling,
484
+ runWorkerFirst: assets.runWorkerFirst,
485
+ serveDirectly: assets.serveDirectly,
452
486
  };
453
487
  };
454
488
  const toRuntimeDurableObjectNamespaces = (namespaces) => {