env-runner 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -365,10 +365,14 @@ await using runner = new MiniflareEnvRunner({
365
365
  });
366
366
 
367
367
  const response = await runner.fetch("http://localhost/api");
368
+ // Request inputs also preserve methods, headers, streaming bodies and cancellation.
369
+ // An optional RequestInit overrides the corresponding Request properties.
368
370
  ```
369
371
 
370
372
  Passing `miniflare` explicitly is preferred — the version you install is then the version that runs. A specifier works too (`miniflare: "miniflare"`). If you omit it, the runner imports `miniflare` itself and only fails (with an actionable error) when the package isn't installed either. The `miniflareOptions` object is passed directly to the [Miniflare constructor](https://developers.cloudflare.com/workers/testing/miniflare/) — you can configure bindings, KV, D1, Durable Objects, and any other Miniflare option.
371
373
 
374
+ The entry uses the same `AppEntry` format as the other runners. Requests are handled like srvx's Cloudflare adapter (`srvx/cloudflare`): the entry's `plugins`, `middleware` and `error` handler are applied, and the request carries `request.runtime` (`{ name: "cloudflare", cloudflare: { env, context } }`), `request.ip` (from `cf-connecting-ip`) and `request.waitUntil()`. For Workers-style entries, `fetch` still receives `(request, env, ctx)`. env-runner's internal bindings are never exposed on `env`. Listener-level srvx options (`maxRequestBodySize`, `trustProxy`, `node`/`bun`/`deno`, ...) do not apply to miniflare.
375
+
372
376
  When you don't set a `compatibilityDate` (via `miniflareOptions` or a wrangler config), it defaults to the date supported by the installed `workerd` binary rather than today's date — the binary always lags the calendar slightly, and pinning a future date makes `workerd` refuse to start.
373
377
 
374
378
  #### Wrangler Config
@@ -687,6 +691,14 @@ export default {
687
691
  },
688
692
  middleware: [], // Optional srvx middleware
689
693
  plugins: [], // Optional srvx plugins
694
+ // Any other srvx ServerOptions are forwarded to serve() as-is, e.g.:
695
+ error(error) {
696
+ return new Response(error.message, { status: 500 });
697
+ },
698
+ maxRequestBodySize: 1024 * 1024,
699
+ trustProxy: true,
700
+ node: { keepAliveTimeout: 5000 },
701
+ bun: { idleTimeout: 30 },
690
702
  ipc: {
691
703
  onOpen({ sendMessage }) {
692
704
  // IPC channel is ready — send messages back to the runner
@@ -710,6 +722,8 @@ The built-in worker automatically:
710
722
  3. Reports the address back to the runner via IPC
711
723
  4. Handles graceful shutdown
712
724
 
725
+ Every other [srvx `ServerOptions`](https://srvx.h3.dev/guide/options) key exported by the entry (`error`, `maxRequestBodySize`, `trustProxy`, `reusePort`, the runtime-specific `node` / `bun` / `deno` objects, ...) is forwarded to `serve()` unchanged, so one `server.ts` can carry the same options in dev and production. The listener options are owned by the worker, which sits behind the runner's proxy, and are ignored if set: `port`, `hostname`, `protocol`, `tls`, `silent`, `manual` and `gracefulShutdown` — as well as their equivalents nested in `node` (`port`, `host`, `path`, `cert`, `key`, `passphrase`, and `http2`, which srvx only supports with TLS), `bun` (`port`, `hostname`, `unix`, `tls`) and `deno` (`port`, `hostname`, `path`, `cert`, `key`). Custom workers can reuse the same logic via the exported `toServerOptions(entry)` helper.
726
+
713
727
  For advanced use cases, you can provide a custom worker entry:
714
728
 
715
729
  ```ts
@@ -10,10 +10,10 @@ import { Socket } from "node:net";
10
10
  * load hook can't await), so the worker always receives plain strings. See
11
11
  * {@link resolveVirtualModules}.
12
12
  */
13
- type VirtualModuleSource = string | (() => string | Promise<string>);
13
+ export type VirtualModuleSource = string | (() => string | Promise<string>);
14
14
  /** Virtual modules as a `specifier => source` map. */
15
- type VirtualModules = Record<string, VirtualModuleSource>;
16
- interface EnvRunnerData {
15
+ export type VirtualModules = Record<string, VirtualModuleSource>;
16
+ export interface EnvRunnerData {
17
17
  name?: string;
18
18
  /**
19
19
  * Virtual modules as a `specifier => source` map.
@@ -32,7 +32,7 @@ interface EnvRunnerData {
32
32
  virtual?: VirtualModules;
33
33
  [key: string]: unknown;
34
34
  }
35
- declare abstract class BaseEnvRunner implements EnvRunner, AsyncDisposable {
35
+ export declare abstract class BaseEnvRunner implements EnvRunner, AsyncDisposable {
36
36
  closed: boolean;
37
37
  protected _name: string;
38
38
  protected _workerEntry: string;
@@ -120,5 +120,4 @@ declare abstract class BaseEnvRunner implements EnvRunner, AsyncDisposable {
120
120
  protected abstract _hasRuntime(): boolean;
121
121
  protected abstract _closeRuntime(): Promise<void>;
122
122
  protected abstract _runtimeType(): string;
123
- }
124
- export { BaseEnvRunner, EnvRunnerData, VirtualModuleSource, VirtualModules };
123
+ }
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * Omitting the option falls back to an optional `import()` of the package.
16
16
  */
17
- type RuntimeDep<T> = T | string | URL | false;
17
+ export type RuntimeDep<T> = T | string | URL | false;
18
18
  interface ResolveRuntimeDepOptions<T> {
19
19
  /** Package name, used for the fallback import and in messages. */
20
20
  name: string;
@@ -47,5 +47,4 @@ interface ResolveRuntimeDepOptions<T> {
47
47
  * `import(name)`, which yields `undefined` when the package isn't installed
48
48
  * unless {@link ResolveRuntimeDepOptions.required} is set.
49
49
  */
50
- declare function resolveRuntimeDep<T>(opts: ResolveRuntimeDepOptions<T>): Promise<T | undefined>;
51
- export { RuntimeDep, resolveRuntimeDep };
50
+ export declare function resolveRuntimeDep<T>(opts: ResolveRuntimeDepOptions<T>): Promise<T | undefined>;
@@ -106,6 +106,55 @@ function _once(fn) {
106
106
  }
107
107
  };
108
108
  }
109
+ const RESERVED_SERVER_OPTIONS = [
110
+ "port",
111
+ "hostname",
112
+ "protocol",
113
+ "tls",
114
+ "silent",
115
+ "manual",
116
+ "gracefulShutdown"
117
+ ];
118
+ const RESERVED_RUNTIME_OPTIONS = {
119
+ node: [
120
+ "port",
121
+ "host",
122
+ "path",
123
+ "http2",
124
+ "cert",
125
+ "key",
126
+ "passphrase"
127
+ ],
128
+ bun: [
129
+ "port",
130
+ "hostname",
131
+ "unix",
132
+ "tls"
133
+ ],
134
+ deno: [
135
+ "port",
136
+ "hostname",
137
+ "path",
138
+ "cert",
139
+ "key"
140
+ ]
141
+ };
142
+ function toServerOptions(entry) {
143
+ const { fetch: _fetch, upgrade: _upgrade, websocket: _websocket, ipc: _ipc, ...options } = entry;
144
+ for (const key of RESERVED_SERVER_OPTIONS) delete options[key];
145
+ for (const runtime of Object.keys(RESERVED_RUNTIME_OPTIONS)) if (options[runtime]) {
146
+ const runtimeOptions = { ...options[runtime] };
147
+ for (const key of RESERVED_RUNTIME_OPTIONS[runtime]) delete runtimeOptions[key];
148
+ options[runtime] = runtimeOptions;
149
+ }
150
+ return {
151
+ ...options,
152
+ port: 0,
153
+ hostname: "127.0.0.1",
154
+ silent: true,
155
+ gracefulShutdown: false
156
+ };
157
+ }
109
158
  function isVirtualSpecifier(specifier, virtual) {
110
159
  return Boolean(specifier && virtual && Object.hasOwn(virtual, specifier));
111
160
  }
@@ -149,4 +198,4 @@ async function _importFresh(entryPath, virtual) {
149
198
  if (typeof entry.fetch !== "function") throw new Error(`[env-runner] Entry module "${entryPath}" must export a \`fetch\` handler (export default { fetch(req) { ... } }).`);
150
199
  return entry;
151
200
  }
152
- export { handleInvalidateModule, isVirtualSpecifier, parseServerAddress, registerVirtualModules, reloadEntryModule, resolveEntry };
201
+ export { RESERVED_RUNTIME_OPTIONS, RESERVED_SERVER_OPTIONS, handleInvalidateModule, isVirtualSpecifier, parseServerAddress, registerVirtualModules, reloadEntryModule, resolveEntry, toServerOptions };
@@ -1,6 +1,6 @@
1
1
  import { WorkerHooks } from "./types.mjs";
2
2
  import { BaseEnvRunner, EnvRunnerData } from "./common-base-runner.mjs";
3
- declare class DenoProcessEnvRunner extends BaseEnvRunner {
3
+ export declare class DenoProcessEnvRunner extends BaseEnvRunner {
4
4
  #private;
5
5
  constructor(opts: {
6
6
  name: string;
@@ -13,5 +13,4 @@ declare class DenoProcessEnvRunner extends BaseEnvRunner {
13
13
  protected _hasRuntime(): boolean;
14
14
  protected _runtimeType(): string;
15
15
  protected _closeRuntime(): Promise<void>;
16
- }
17
- export { DenoProcessEnvRunner };
16
+ }
@@ -1,83 +1,243 @@
1
- (function(A) {
2
- return A[A.Static = 1] = "Static", A[A.Dynamic = 2] = "Dynamic", A[A.ImportMeta = 3] = "ImportMeta", A[A.StaticSourcePhase = 4] = "StaticSourcePhase", A[A.DynamicSourcePhase = 5] = "DynamicSourcePhase", A[A.StaticDeferPhase = 6] = "StaticDeferPhase", A[A.DynamicDeferPhase = 7] = "DynamicDeferPhase", A;
3
- })({});
4
- const A = 1 === new Uint8Array(new Uint16Array([1]).buffer)[0];
5
- function parse(C, g = "@") {
6
- if (!E) return init.then(() => parse(C, g));
7
- const I = C.length + 1, w = (E.__heap_base.value || E.__heap_base) + 4 * I - E.memory.buffer.byteLength;
8
- w > 0 && E.memory.grow(Math.ceil(w / 65536));
9
- const D = E.sa(I - 1);
10
- if ("undefined" != typeof Buffer ? Buffer.from(E.memory.buffer, D, 2 * (I - 1)).write(C, "utf16le") : (A ? Q : B)(C, new Uint16Array(E.memory.buffer, D, I)), !E.parse()) throw Object.assign(/* @__PURE__ */ new Error(`Parse error ${g}:${C.slice(0, E.e()).split("\n").length}:${E.e() - C.lastIndexOf("\n", E.e() - 1)}`), { idx: E.e() });
11
- const o = [], G = [];
12
- for (; E.ri();) {
13
- const A = E.is(), B = E.ie(), Q = E.it(), g = E.ai(), I = E.id(), w = E.ss(), D = E.se();
14
- let G;
15
- E.ip() && (G = i(C.slice(-1 === I ? A - 1 : A, -1 === I ? B + 1 : B)));
16
- let J = null;
17
- for (J = [], E.rsa(); E.ra();) {
18
- const A = E.aks(), B = E.ake(), Q = E.avs(), g = E.ave();
19
- J.push([s(C.slice(A, B)), s(C.slice(Q, g))]);
20
- }
21
- 0 === J.length && (J = null), o.push({
22
- n: G,
23
- t: Q,
24
- s: A,
25
- e: B,
26
- ss: w,
27
- se: D,
28
- d: I,
29
- a: g,
30
- at: J
1
+ const Q = 1 === new Uint8Array(new Uint16Array([1]).buffer)[0];
2
+ const B = "undefined" != typeof Buffer;
3
+ const E = /\r\n?/g;
4
+ function C(A, Q, B) {
5
+ if (B < 1 || Q + B > A.length) throw new SyntaxError();
6
+ let E = 0;
7
+ const C = Q + B;
8
+ for (let B = Q; B < C; B++) {
9
+ const Q = A.charCodeAt(B), C = 32 | Q, g = Q >= 48 && Q <= 57 ? Q - 48 : C >= 97 && C <= 102 ? C - 87 : -1;
10
+ if (-1 === g) throw new SyntaxError();
11
+ E = 16 * E + g;
12
+ }
13
+ return E;
14
+ }
15
+ function parse(G, L = "@") {
16
+ w || N();
17
+ const M = G.length + 1, k = (w.__heap_base.value || w.__heap_base) + 4 * M + 16 - w.memory.buffer.byteLength;
18
+ k > 0 && w.memory.grow(Math.ceil(k / 65536));
19
+ const R = w.sa(M - 1);
20
+ if (G.length >= 64 && B) Buffer.from(w.memory.buffer, R, 2 * (M - 1)).write(G, "utf16le");
21
+ else {
22
+ const A = w.memory.buffer;
23
+ (null == D ? void 0 : D.buffer) !== A && (D = new Uint16Array(A, R)), (Q ? I : g)(G, D);
24
+ }
25
+ if (!w.parse()) throw Object.assign(/* @__PURE__ */ new Error(`Parse error ${L}:${G.slice(0, w.e()).split("\n").length}:${w.e() - G.lastIndexOf("\n", w.e() - 1)}`), { idx: w.e() });
26
+ const J = [], t = [];
27
+ for (; w.ri();) {
28
+ const A = w.is(), Q = w.ie(), B = w.it(), E = 15 & B, C = w.ai(), g = w.id(), I = w.ss(), D = w.se(), L = w.ip();
29
+ let N, M = !1;
30
+ if (1 & L ? N = i(-1 === g ? A : A + 1, -1 === g ? Q : Q - 1, A, !!(2 & L)) : -1 !== g && "`" === G[A] && (N = U(A, Q), M = void 0 !== N), 3 === E) J.push({
31
+ type: "import-meta",
32
+ specifier: null,
33
+ typeOnly: !1,
34
+ start: A,
35
+ end: Q,
36
+ importStart: I,
37
+ importEnd: D
31
38
  });
39
+ else if (-1 !== g) {
40
+ const w = 5 === E ? "source" : 7 === E ? "defer" : null;
41
+ J.push({
42
+ type: "dynamic",
43
+ specifier: N,
44
+ glob: M,
45
+ phase: w,
46
+ start: A,
47
+ end: Q,
48
+ importStart: I,
49
+ importEnd: D,
50
+ dynamicStart: g,
51
+ attributes: null,
52
+ attributesStart: C,
53
+ probablyTypeOnly: !!(16 & B)
54
+ });
55
+ } else {
56
+ let g = null;
57
+ if (-1 !== C) {
58
+ for (g = [], w.rsa(); w.ra();) {
59
+ const A = w.aks(), Q = w.ake(), B = w.avs(), E = w.ave();
60
+ g.push([c(A, Q), c(B, E)]);
61
+ }
62
+ 0 === g.length && (g = null);
63
+ }
64
+ const G = 4 === E ? "source" : 6 === E ? "defer" : null;
65
+ J.push({
66
+ type: 8 === E ? "reexport-star" : "static",
67
+ specifier: N,
68
+ phase: G,
69
+ start: A,
70
+ end: Q,
71
+ importStart: I,
72
+ importEnd: D,
73
+ attributes: g,
74
+ attributesStart: C,
75
+ typeOnly: !!(16 & B)
76
+ });
77
+ }
32
78
  }
33
- for (; E.re();) {
34
- const A = E.es(), B = E.ee(), Q = E.els(), g = E.ele(), I = Q < 0 ? void 0 : s(C.slice(Q, g)), w = s(C.slice(A, B));
35
- G.push({
36
- s: A,
37
- e: B,
38
- ls: Q,
39
- le: g,
40
- ss: E.ess(),
41
- n: w,
42
- ln: I
79
+ let o = w.re();
80
+ const s = 0 === o ? void 0 : new DataView(w.memory.buffer);
81
+ for (; 0 !== o;) {
82
+ const Q = s.getUint32(o, !0) - R >>> 1, B = s.getUint32(o + 4, !0) - R >>> 1, E = s.getUint32(o + 8, !0), C = 0 === E ? -1 : E - R >>> 1, g = s.getUint32(o + 12, !0), I = 0 === g ? -1 : g - R >>> 1, D = s.getUint32(o + 16, !0) - R >>> 1, G = s.getUint32(o + 20, !0), L = s.getUint8(o + 24), N = s.getUint8(o + 25), M = !!(4 & N);
83
+ if (3 === L) t.push({
84
+ type: "reexport-all",
85
+ from: J[G].specifier,
86
+ importIndex: G,
87
+ start: Q,
88
+ end: B,
89
+ exportStart: D,
90
+ typeOnly: M
43
91
  });
92
+ else {
93
+ const A = c(Q, B);
94
+ if (1 === L) {
95
+ const E = C < 0 ? void 0 : c(C, I);
96
+ t.push({
97
+ type: "direct",
98
+ name: A,
99
+ localName: E,
100
+ start: Q,
101
+ end: B,
102
+ localStart: C,
103
+ localEnd: I,
104
+ exportStart: D,
105
+ typeOnly: M
106
+ });
107
+ } else {
108
+ const E = 3 & N, g = 0 === E ? c(C, I) : 1 === E ? "default" : null;
109
+ t.push({
110
+ type: "reexport",
111
+ name: A,
112
+ importName: g,
113
+ importNameStart: 0 === E ? C : -1,
114
+ importNameEnd: 0 === E ? I : -1,
115
+ from: J[G].specifier,
116
+ importIndex: G,
117
+ start: Q,
118
+ end: B,
119
+ exportStart: D,
120
+ typeOnly: M
121
+ });
122
+ }
123
+ }
124
+ o = w.re();
44
125
  }
45
- function i(A) {
126
+ function i(A, Q, B, g = !1) {
46
127
  try {
47
- return (0, eval)(A);
48
- } catch (A) {}
128
+ return function(A, Q) {
129
+ let B = A.indexOf("\\");
130
+ if (-1 === B) return Q ? A.replace(E, "\n") : A;
131
+ let g = A.slice(0, B), I = Q ? g.replace(E, "\n") : g;
132
+ for (;;) {
133
+ let D = B + 1;
134
+ if (D >= A.length) throw new SyntaxError();
135
+ const w = A.charCodeAt(D++);
136
+ switch (w) {
137
+ case 13:
138
+ 10 === A.charCodeAt(D) && D++;
139
+ break;
140
+ case 10:
141
+ case 8232:
142
+ case 8233: break;
143
+ case 114:
144
+ I += "\r";
145
+ break;
146
+ case 110:
147
+ I += "\n";
148
+ break;
149
+ case 116:
150
+ I += " ";
151
+ break;
152
+ case 98:
153
+ I += "\b";
154
+ break;
155
+ case 102:
156
+ I += "\f";
157
+ break;
158
+ case 118:
159
+ I += "\v";
160
+ break;
161
+ case 120:
162
+ I += String.fromCharCode(C(A, D, 2)), D += 2;
163
+ break;
164
+ case 117: {
165
+ let Q;
166
+ if (123 === A.charCodeAt(D)) {
167
+ const B = A.indexOf("}", ++D);
168
+ if (-1 === B) throw new SyntaxError();
169
+ Q = C(A, D, B - D), D = B + 1;
170
+ } else Q = C(A, D, 4), D += 4;
171
+ if (Q > 1114111) throw new SyntaxError();
172
+ Q <= 65535 ? I += String.fromCharCode(Q) : (Q -= 65536, I += String.fromCharCode(55296 + (Q >> 10), 56320 + (1023 & Q)));
173
+ break;
174
+ }
175
+ case 48: {
176
+ const Q = A.charCodeAt(D);
177
+ if (Q >= 48 && Q <= 57) throw new SyntaxError();
178
+ I += "\0";
179
+ break;
180
+ }
181
+ default:
182
+ if (w >= 49 && w <= 57) throw new SyntaxError();
183
+ I += String.fromCharCode(w);
184
+ }
185
+ const G = A.indexOf("\\", D);
186
+ if (-1 === G) return g = A.slice(D), I + (Q ? g.replace(E, "\n") : g);
187
+ g = A.slice(D, G), I += Q ? g.replace(E, "\n") : g, B = G;
188
+ }
189
+ }(G.slice(A, Q), g);
190
+ } catch (A) {
191
+ throw Object.assign(/* @__PURE__ */ new Error(`Parse error ${L}:${G.slice(0, B).split("\n").length}:${B - G.lastIndexOf("\n", B - 1)}`), { idx: B });
192
+ }
49
193
  }
50
- function s(A) {
51
- if (!A) return A;
52
- const B = A[0];
53
- return ("\"" === B || "'" === B) && i(A) || A;
194
+ function c(A, Q) {
195
+ const B = G.charCodeAt(A);
196
+ return 34 === B || 39 === B ? i(A + 1, Q - 1, A) : G.slice(A, Q);
197
+ }
198
+ function U(A, Q) {
199
+ if (w.rts(), !w.rt()) return;
200
+ let B = "", E = A + 1, C = A + 1, g = w.te();
201
+ for (; C < Q;) {
202
+ const A = G.charCodeAt(C);
203
+ if (96 === A) break;
204
+ 92 !== A ? 42 !== A ? 36 === A && 123 === G.charCodeAt(C + 1) && C + 2 <= g ? (B += G.slice(E, C) + "*", C = E = g, g = w.rt() ? w.te() : -1) : C++ : (B += G.slice(E, C) + "\\*", E = ++C) : C += 2;
205
+ }
206
+ return B + G.slice(E, C);
54
207
  }
55
208
  return [
56
- o,
57
- G,
58
- !!E.f(),
59
- !!E.ms()
209
+ J,
210
+ t,
211
+ !!w.f(),
212
+ !!w.ms()
60
213
  ];
61
214
  }
62
- function B(A, B) {
63
- const Q = A.length;
215
+ function g(A, Q) {
216
+ const B = A.length;
64
217
  let E = 0;
65
- for (; E < Q;) {
66
- const Q = A.charCodeAt(E);
67
- B[E++] = (255 & Q) << 8 | Q >>> 8;
218
+ for (; E < B;) {
219
+ const B = A.charCodeAt(E);
220
+ Q[E++] = (255 & B) << 8 | B >>> 8;
68
221
  }
69
222
  }
70
- function Q(A, B) {
71
- const Q = A.length;
223
+ function I(A, Q) {
224
+ const B = A.length;
72
225
  let E = 0;
73
- for (; E < Q;) B[E] = A.charCodeAt(E++);
226
+ for (; E < B;) Q[E] = A.charCodeAt(E++);
74
227
  }
75
- let E;
76
- const C = () => {
77
- return A = "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DQECQAJAIABBAmoiAC8BACIHQdwAaw4FAAICAgUBCyACQQRqIQAMAQsgB0EkRw0AIAIvAQRB+wBHDQALC0GYCiABQQJrNgIADwsgABAmQZgKKAIAIQALQZgKIABBAmoiADYCAAJAAkACQEEBECVBKWsOBAECAgACC0GYCkGYCigCAEECajYCAEEBECUaIAMgADYCBEGYCigCACEAIANBAToAGCADIAA2AhAMCAtBggogBTsBACADIAA2AgRBmAooAgAhACADQQE6ABggAyAAQQJqNgIMQYAKIAQ7AQAPC0GYCkGYCigCAEECazYCAA8LIAdFIABB+wBHckUEQEGYCigCACEAQYIKLwEADQZBnAooAgAhAQNAAkACQCAAIAFJBEBBARAlIgBBIkYgAEEnRnINASAAQf0ARw0CQZgKQZgKKAIAQQJqNgIAC0EBECUhAUGYCigCACEAIAFB5gBGBEAgAEECakGcCEEGEB8NBwtBmAogAEEIajYCAEEBECUiAEEiRyAAQSdHcQ0GIAYgAEEAEDkPCyAAECYLQZgKQZgKKAIAQQJqIgA2AgAMAAsACwJAAkAgAEEnaw4EAwEBAwALIABBIkYNAgtBmAooAgAhBAsgBCAJRw0AQZgKIARBAms2AgAPCyAAQSpHIAVxDQJBggovAQANAkGYCigCACEAQZwKKAIAIQIDQCAAIAJPDQEgAC8BACIBQSdHIAFBIkdxBEBBmAogAEECaiIANgIADAEFIAYgASADEDkPCwALAAsQMgsPC0GYCkGYCigCAEECazYCAA8LQZgKIABBAms2AgALQwEDf0GYCigCACEAQZwKKAIAIQIDQAJAIABBAmohASAAIAJPDQAgASEAIAEvAQBBCmsOBAABAQABCwtBmAogATYCAAtwAQR/QZgKKAIAQQJqIQFBnAooAgAhBAJAA0AgASICQQJqIQEgAiAETw0BIAEvAQAhAwJAIABFBEAgA0EqRg0BIANBCmsOBAMCAgMCCyADQSpHDQELIAIvAQRBL0cNAAsgAkEEaiEBC0GYCiABNgIACwsAIABBn4CABBA8C30BBH9BnAooAgAhA0GYCigCACEBA0ACQAJAAkAgAS8BACICQS9GBEAgAS8BAiIBQSpHBEAgAUEvRg0CQS8PCyAAECMMAgsgAARAIAIQJA0CDAMLIAIQLg0BDAILECIL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", "undefined" != typeof Buffer ? Buffer.from(A, "base64") : Uint8Array.from(atob(A), (A) => A.charCodeAt(0));
228
+ let D;
229
+ let w;
230
+ const G = () => {
231
+ return A = "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", "undefined" != typeof Buffer ? Buffer.from(A, "base64") : Uint8Array.from(atob(A), (A) => A.charCodeAt(0));
78
232
  var A;
79
233
  };
80
- const init = WebAssembly.compile(C()).then(WebAssembly.instantiate).then(({ exports: A }) => {
81
- E = A;
82
- });
234
+ let L;
235
+ const init = () => L || (L = w ? Promise.resolve() : WebAssembly.compile(G()).then(WebAssembly.instantiate).then(({ exports: A }) => {
236
+ w || (w = A);
237
+ }));
238
+ const N = () => {
239
+ if (w) return;
240
+ const A = new WebAssembly.Module(G());
241
+ w = new WebAssembly.Instance(A).exports;
242
+ };
83
243
  export { init, parse };
@@ -11,19 +11,19 @@ import { Socket } from "node:net";
11
11
  * dependency stays owned by the application. It is only imported here as a
12
12
  * fallback when neither is passed.
13
13
  */
14
- interface WranglerModule {
14
+ export interface WranglerModule {
15
15
  unstable_readConfig?: (...args: any[]) => any;
16
16
  unstable_getMiniflareWorkerOptions?: (...args: any[]) => any;
17
17
  [key: string]: unknown;
18
18
  }
19
19
  /** Raw (snake_case) Wrangler config object, mirroring `wrangler.json` contents. */
20
- type WranglerInlineConfig = Record<string, unknown>;
20
+ export type WranglerInlineConfig = Record<string, unknown>;
21
21
  /** Result from a module transform (compatible with Vite's `TransformResult`). */
22
- interface TransformResult {
22
+ export interface TransformResult {
23
23
  code: string;
24
24
  }
25
25
  /** Detected or declared export for auto-wiring Durable Object / Entrypoint bindings. */
26
- interface MiniflareExportInfo {
26
+ export interface MiniflareExportInfo {
27
27
  type?: "DurableObject" | "WorkerEntrypoint" | "class";
28
28
  }
29
29
  /**
@@ -34,7 +34,7 @@ interface MiniflareExportInfo {
34
34
  * the application. The runner only falls back to importing it itself when this
35
35
  * is omitted.
36
36
  */
37
- interface MiniflareModule {
37
+ export interface MiniflareModule {
38
38
  Miniflare: new (options: any) => any;
39
39
  /**
40
40
  * Newest compatibility date supported by the installed `workerd` binary,
@@ -43,7 +43,7 @@ interface MiniflareModule {
43
43
  supportedCompatibilityDate?: string;
44
44
  [key: string]: unknown;
45
45
  }
46
- interface MiniflareEnvRunnerOptions {
46
+ export interface MiniflareEnvRunnerOptions {
47
47
  name: string;
48
48
  hooks?: WorkerHooks;
49
49
  data?: EnvRunnerData;
@@ -143,7 +143,7 @@ interface MiniflareEnvRunnerOptions {
143
143
  */
144
144
  wranglerModule?: RuntimeDep<WranglerModule>;
145
145
  }
146
- declare class MiniflareEnvRunner extends BaseEnvRunner {
146
+ export declare class MiniflareEnvRunner extends BaseEnvRunner {
147
147
  #private;
148
148
  constructor(opts: MiniflareEnvRunnerOptions);
149
149
  /** Dispose all persistent Miniflare instances from the cache. */
@@ -182,5 +182,4 @@ declare class MiniflareEnvRunner extends BaseEnvRunner {
182
182
  head: any;
183
183
  };
184
184
  }): Promise<void>;
185
- }
186
- export { MiniflareEnvRunner, MiniflareEnvRunnerOptions, MiniflareExportInfo, MiniflareModule, TransformResult, WranglerInlineConfig, WranglerModule };
185
+ }