env-runner 0.1.6 → 0.1.8
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 +39 -9
- package/dist/_chunks/base-runner.d.mts +0 -3
- package/dist/_chunks/base-runner.mjs +0 -2
- package/dist/_chunks/libs/cjs-module-lexer.mjs +0 -2
- package/dist/_chunks/runner.d.mts +0 -3
- package/dist/_chunks/runner.mjs +17 -8
- package/dist/_chunks/runner2.d.mts +8 -3
- package/dist/_chunks/runner2.mjs +17 -42
- package/dist/_chunks/runner3.d.mts +16 -0
- package/dist/_chunks/runner3.mjs +60 -0
- package/dist/_chunks/runner4.d.mts +14 -0
- package/dist/_chunks/runner4.mjs +93 -0
- package/dist/_chunks/runner5.d.mts +14 -0
- package/dist/_chunks/runner5.mjs +45 -0
- package/dist/_chunks/server.mjs +3 -15
- package/dist/_chunks/types.d.mts +0 -3
- package/dist/_chunks/worker-utils.mjs +0 -6
- package/dist/cli.mjs +0 -2
- package/dist/index.d.mts +6 -11
- package/dist/index.mjs +3 -2
- package/dist/runners/bun-process/runner.d.mts +0 -3
- package/dist/runners/bun-process/runner.mjs +0 -2
- package/dist/runners/bun-process/worker.mjs +0 -2
- package/dist/runners/deno-process/runner.d.mts +1 -1
- package/dist/runners/deno-process/runner.mjs +0 -1
- package/dist/runners/deno-process/worker.mjs +31 -10
- package/dist/runners/miniflare/runner.d.mts +1 -1
- package/dist/runners/miniflare/runner.mjs +0 -2
- package/dist/runners/netlify/runner.d.mts +3 -0
- package/dist/runners/netlify/runner.mjs +2 -0
- package/dist/runners/netlify/worker.d.mts +1 -0
- package/dist/runners/netlify/worker.mjs +41 -0
- package/dist/runners/node-process/runner.d.mts +0 -3
- package/dist/runners/node-process/runner.mjs +0 -2
- package/dist/runners/node-process/worker.mjs +0 -2
- package/dist/runners/node-worker/runner.d.mts +2 -18
- package/dist/runners/node-worker/runner.mjs +1 -61
- package/dist/runners/node-worker/worker.mjs +0 -2
- package/dist/runners/self/runner.d.mts +2 -7
- package/dist/runners/self/runner.mjs +0 -2
- package/dist/runners/vercel/queue-dev.d.mts +44 -0
- package/dist/runners/vercel/queue-dev.mjs +36 -0
- package/dist/runners/vercel/runner.d.mts +3 -0
- package/dist/runners/vercel/runner.mjs +2 -0
- package/dist/runners/vercel/worker.d.mts +1 -0
- package/dist/runners/vercel/worker.mjs +51 -0
- package/dist/vite.d.mts +0 -3
- package/dist/vite.mjs +0 -14
- package/package.json +34 -18
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
process.env.VERCEL = process.env.VERCEL || "1";
|
|
2
|
+
process.env.VERCEL_ENV = process.env.VERCEL_ENV || "development";
|
|
3
|
+
process.env.NODE_ENV = process.env.NODE_ENV || "development";
|
|
4
|
+
const SYMBOL_FOR_REQ_CONTEXT = Symbol.for("@vercel/request-context");
|
|
5
|
+
const waitUntilPromises = /* @__PURE__ */ new Set();
|
|
6
|
+
const cacheStore = /* @__PURE__ */ new Map();
|
|
7
|
+
const cacheTags = /* @__PURE__ */ new Set();
|
|
8
|
+
globalThis[SYMBOL_FOR_REQ_CONTEXT] = { get: () => ({
|
|
9
|
+
waitUntil(promise) {
|
|
10
|
+
waitUntilPromises.add(promise);
|
|
11
|
+
promise.finally(() => waitUntilPromises.delete(promise));
|
|
12
|
+
},
|
|
13
|
+
cache: {
|
|
14
|
+
async get(key) {
|
|
15
|
+
const entry = cacheStore.get(key);
|
|
16
|
+
if (!entry) return null;
|
|
17
|
+
if (entry.ttl && entry.lastModified + entry.ttl * 1e3 < Date.now()) {
|
|
18
|
+
cacheStore.delete(key);
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return JSON.parse(entry.value);
|
|
22
|
+
},
|
|
23
|
+
async set(key, value, options) {
|
|
24
|
+
cacheStore.set(key, {
|
|
25
|
+
value: JSON.stringify(value ?? null),
|
|
26
|
+
lastModified: Date.now(),
|
|
27
|
+
ttl: options?.ttl,
|
|
28
|
+
tags: new Set(options?.tags || [])
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
async delete(key) {
|
|
32
|
+
cacheStore.delete(key);
|
|
33
|
+
},
|
|
34
|
+
async expireTag(tag) {
|
|
35
|
+
const tags = Array.isArray(tag) ? tag : [tag];
|
|
36
|
+
for (const [key, entry] of cacheStore) if (tags.some((t) => entry.tags.has(t))) cacheStore.delete(key);
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
purge: {
|
|
40
|
+
invalidateByTag: (_tag) => Promise.resolve(),
|
|
41
|
+
dangerouslyDeleteByTag: (_tag) => Promise.resolve(),
|
|
42
|
+
invalidateBySrcImage: (_src) => Promise.resolve(),
|
|
43
|
+
dangerouslyDeleteBySrcImage: (_src) => Promise.resolve()
|
|
44
|
+
},
|
|
45
|
+
addCacheTag(tag) {
|
|
46
|
+
for (const t of Array.isArray(tag) ? tag : [tag]) cacheTags.add(t);
|
|
47
|
+
return Promise.resolve();
|
|
48
|
+
}
|
|
49
|
+
}) };
|
|
50
|
+
await import("../node-worker/worker.mjs");
|
|
51
|
+
export {};
|
package/dist/vite.d.mts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { o as RunnerRPCHooks } from "./_chunks/types.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/vite.d.ts
|
|
4
2
|
/** Vite HotChannel-compatible interface (avoids hard dependency on vite types). */
|
|
5
3
|
interface ViteHotChannel {
|
|
6
4
|
send: (data: any) => void;
|
|
@@ -28,5 +26,4 @@ declare function createViteHotChannel(hooks: RunnerRPCHooks, envName: string): V
|
|
|
28
26
|
* Filters messages by `envName` so multiple Vite environments can share one IPC channel.
|
|
29
27
|
*/
|
|
30
28
|
declare function createViteTransport(sendMessage: (data: any) => void, onMessage: (listener: (value: any) => void) => void, envName: string): ViteTransport;
|
|
31
|
-
//#endregion
|
|
32
29
|
export { ViteHotChannel, ViteTransport, createViteHotChannel, createViteTransport };
|
package/dist/vite.mjs
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
//#region src/vite.ts
|
|
2
|
-
/**
|
|
3
|
-
* Create a Vite `HotChannel` from an env-runner's RPC hooks.
|
|
4
|
-
*
|
|
5
|
-
* Use on the **host side** to bridge env-runner IPC → Vite's DevEnvironment transport.
|
|
6
|
-
* Messages are namespaced by `envName` so multiple Vite environments can share one runner.
|
|
7
|
-
*/
|
|
8
1
|
function createViteHotChannel(hooks, envName) {
|
|
9
2
|
const listeners = /* @__PURE__ */ new WeakMap();
|
|
10
3
|
return {
|
|
@@ -33,12 +26,6 @@ function createViteHotChannel(hooks, envName) {
|
|
|
33
26
|
}
|
|
34
27
|
};
|
|
35
28
|
}
|
|
36
|
-
/**
|
|
37
|
-
* Create a Vite `ModuleRunner` transport from worker-side IPC primitives.
|
|
38
|
-
*
|
|
39
|
-
* Use on the **worker side** to bridge worker IPC → Vite's `ModuleRunner` transport.
|
|
40
|
-
* Filters messages by `envName` so multiple Vite environments can share one IPC channel.
|
|
41
|
-
*/
|
|
42
29
|
function createViteTransport(sendMessage, onMessage, envName) {
|
|
43
30
|
return {
|
|
44
31
|
connect({ onMessage: onRunnerMessage }) {
|
|
@@ -54,5 +41,4 @@ function createViteTransport(sendMessage, onMessage, envName) {
|
|
|
54
41
|
}
|
|
55
42
|
};
|
|
56
43
|
}
|
|
57
|
-
//#endregion
|
|
58
44
|
export { createViteHotChannel, createViteTransport };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "env-runner",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "Generic environment runner for JavaScript runtimes.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "unjs/env-runner",
|
|
@@ -24,6 +24,11 @@
|
|
|
24
24
|
"./runners/deno-process/worker": "./dist/runners/deno-process/worker.mjs",
|
|
25
25
|
"./runners/self": "./dist/runners/self/runner.mjs",
|
|
26
26
|
"./runners/miniflare": "./dist/runners/miniflare/runner.mjs",
|
|
27
|
+
"./runners/vercel": "./dist/runners/vercel/runner.mjs",
|
|
28
|
+
"./runners/vercel/worker": "./dist/runners/vercel/worker.mjs",
|
|
29
|
+
"./runners/vercel/queue-dev": "./dist/runners/vercel/queue-dev.mjs",
|
|
30
|
+
"./runners/netlify": "./dist/runners/netlify/runner.mjs",
|
|
31
|
+
"./runners/netlify/worker": "./dist/runners/netlify/worker.mjs",
|
|
27
32
|
"./vite": "./dist/vite.mjs"
|
|
28
33
|
},
|
|
29
34
|
"scripts": {
|
|
@@ -38,32 +43,43 @@
|
|
|
38
43
|
"typecheck": "tsgo --noEmit --skipLibCheck"
|
|
39
44
|
},
|
|
40
45
|
"dependencies": {
|
|
41
|
-
"crossws": "^0.4.
|
|
42
|
-
"
|
|
43
|
-
"
|
|
46
|
+
"crossws": "^0.4.5",
|
|
47
|
+
"exsolve": "^1.0.8",
|
|
48
|
+
"httpxy": "^0.5.3",
|
|
49
|
+
"srvx": "^0.11.15"
|
|
44
50
|
},
|
|
45
51
|
"devDependencies": {
|
|
46
|
-
"@
|
|
47
|
-
"@
|
|
48
|
-
"@
|
|
49
|
-
"
|
|
50
|
-
"
|
|
52
|
+
"@netlify/runtime": "^4.1.24",
|
|
53
|
+
"@types/node": "^25.9.1",
|
|
54
|
+
"@typescript/native-preview": "7.0.0-dev.20260521.1",
|
|
55
|
+
"@vercel/queue": "^0.2.0",
|
|
56
|
+
"@vitest/coverage-v8": "^4.1.7",
|
|
57
|
+
"automd": "^0.4.3",
|
|
58
|
+
"changelogen": "^0.6.2",
|
|
51
59
|
"cjs-module-lexer": "^2.2.0",
|
|
52
|
-
"env-runner-fixture": "link
|
|
53
|
-
"miniflare": "^4.
|
|
54
|
-
"obuild": "
|
|
55
|
-
"oxfmt": "
|
|
56
|
-
"oxlint": "
|
|
57
|
-
"typescript": "
|
|
58
|
-
"vitest": "
|
|
60
|
+
"env-runner-fixture": "link:",
|
|
61
|
+
"miniflare": "^4.20260520.0",
|
|
62
|
+
"obuild": "^0.4.35",
|
|
63
|
+
"oxfmt": "^0.51.0",
|
|
64
|
+
"oxlint": "^1.66.0",
|
|
65
|
+
"typescript": "^6.0.3",
|
|
66
|
+
"vitest": "^4.1.7"
|
|
59
67
|
},
|
|
60
68
|
"peerDependencies": {
|
|
61
|
-
"
|
|
69
|
+
"@netlify/runtime": "^4.1.23",
|
|
70
|
+
"@vercel/queue": "^0.2.0",
|
|
71
|
+
"miniflare": "^4.20260515.0"
|
|
62
72
|
},
|
|
63
73
|
"peerDependenciesMeta": {
|
|
64
74
|
"miniflare": {
|
|
65
75
|
"optional": true
|
|
76
|
+
},
|
|
77
|
+
"@netlify/runtime": {
|
|
78
|
+
"optional": true
|
|
79
|
+
},
|
|
80
|
+
"@vercel/queue": {
|
|
81
|
+
"optional": true
|
|
66
82
|
}
|
|
67
83
|
},
|
|
68
|
-
"packageManager": "pnpm@
|
|
84
|
+
"packageManager": "pnpm@11.2.2"
|
|
69
85
|
}
|