env-runner 0.1.9 → 0.1.10

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 (43) hide show
  1. package/README.md +112 -15
  2. package/dist/_chunks/base-runner.d.mts +46 -3
  3. package/dist/_chunks/base-runner.mjs +28 -1
  4. package/dist/_chunks/libs/cjs-module-lexer.mjs +1 -1
  5. package/dist/_chunks/runner.d.mts +3 -3
  6. package/dist/_chunks/runner.mjs +6 -3
  7. package/dist/_chunks/runner2.d.mts +3 -3
  8. package/dist/_chunks/runner2.mjs +66 -16
  9. package/dist/_chunks/runner3.d.mts +3 -3
  10. package/dist/_chunks/runner3.mjs +3 -3
  11. package/dist/_chunks/runner4.d.mts +4 -4
  12. package/dist/_chunks/runner4.mjs +2 -2
  13. package/dist/_chunks/runner5.d.mts +4 -4
  14. package/dist/_chunks/runner5.mjs +2 -2
  15. package/dist/_chunks/server.mjs +25 -9
  16. package/dist/_chunks/types.d.mts +4 -2
  17. package/dist/_chunks/virtual-loader.mjs +39 -0
  18. package/dist/_chunks/worker-utils.mjs +86 -9
  19. package/dist/cli.mjs +1 -1
  20. package/dist/index.d.mts +23 -11
  21. package/dist/index.mjs +6 -6
  22. package/dist/runners/bun-process/runner.d.mts +2 -2
  23. package/dist/runners/bun-process/runner.mjs +12 -2
  24. package/dist/runners/bun-process/worker.mjs +19 -3
  25. package/dist/runners/deno-process/runner.d.mts +2 -2
  26. package/dist/runners/deno-process/runner.mjs +1 -1
  27. package/dist/runners/deno-process/worker.mjs +18 -3
  28. package/dist/runners/miniflare/runner.d.mts +2 -2
  29. package/dist/runners/miniflare/runner.mjs +1 -1
  30. package/dist/runners/netlify/runner.d.mts +2 -2
  31. package/dist/runners/netlify/runner.mjs +1 -1
  32. package/dist/runners/node-process/runner.d.mts +2 -2
  33. package/dist/runners/node-process/runner.mjs +4 -2
  34. package/dist/runners/node-process/worker.mjs +19 -3
  35. package/dist/runners/node-worker/runner.d.mts +2 -2
  36. package/dist/runners/node-worker/runner.mjs +1 -1
  37. package/dist/runners/node-worker/worker.mjs +18 -3
  38. package/dist/runners/self/runner.d.mts +2 -2
  39. package/dist/runners/self/runner.mjs +2 -2
  40. package/dist/runners/vercel/runner.d.mts +2 -2
  41. package/dist/runners/vercel/runner.mjs +1 -1
  42. package/dist/vite.d.mts +1 -1
  43. package/package.json +11 -11
@@ -1,2 +1,2 @@
1
- import { t as NodeWorkerEnvRunner } from "../../_chunks/runner3.mjs";
1
+ import { NodeWorkerEnvRunner } from "../../_chunks/runner3.mjs";
2
2
  export { NodeWorkerEnvRunner };
@@ -1,10 +1,24 @@
1
- import { n as reloadEntryModule, r as resolveEntry, t as parseServerAddress } from "../../_chunks/worker-utils.mjs";
1
+ import { isVirtualSpecifier, parseServerAddress, registerVirtualModules, reloadEntryModule, resolveEntry } from "../../_chunks/worker-utils.mjs";
2
2
  import { parentPort, workerData } from "node:worker_threads";
3
3
  import { serve } from "srvx";
4
4
  import { plugin } from "crossws/server/node";
5
5
  const data = workerData || {};
6
- let entry = await resolveEntry(data.entry);
7
6
  const sendMessage = (message) => parentPort?.postMessage(message);
7
+ const virtualEntry = isVirtualSpecifier(data.entry, data.virtual);
8
+ let unregisterVirtualModules;
9
+ let entry;
10
+ try {
11
+ unregisterVirtualModules = await registerVirtualModules(data.virtual);
12
+ entry = await resolveEntry(data.entry, virtualEntry);
13
+ } catch (error) {
14
+ const message = error?.message || String(error);
15
+ sendMessage({
16
+ event: "init-error",
17
+ error: message
18
+ });
19
+ console.error(`[env-runner] worker init failed: ${message}`);
20
+ process.exit(1);
21
+ }
8
22
  const server = serve({
9
23
  port: 0,
10
24
  hostname: "127.0.0.1",
@@ -27,13 +41,14 @@ parentPort?.postMessage({ address: parseServerAddress(server) });
27
41
  parentPort?.on("message", async (message) => {
28
42
  if (message?.event === "shutdown") {
29
43
  Promise.resolve(entry.ipc?.onClose?.()).then(() => server.close()).then(() => {
44
+ unregisterVirtualModules();
30
45
  parentPort?.postMessage({ event: "exit" });
31
46
  });
32
47
  return;
33
48
  }
34
49
  if (message?.event === "reload-module") {
35
50
  try {
36
- entry = await reloadEntryModule(data.entry, entry, sendMessage);
51
+ entry = await reloadEntryModule(data.entry, entry, sendMessage, virtualEntry);
37
52
  parentPort?.postMessage({ event: "module-reloaded" });
38
53
  } catch (error) {
39
54
  parentPort?.postMessage({
@@ -1,5 +1,5 @@
1
- import { u as WorkerHooks } from "../../_chunks/types.mjs";
2
- import { n as EnvRunnerData, t as BaseEnvRunner } from "../../_chunks/base-runner.mjs";
1
+ import { WorkerHooks } from "../../_chunks/types.mjs";
2
+ import { BaseEnvRunner, EnvRunnerData } from "../../_chunks/base-runner.mjs";
3
3
  declare class SelfEnvRunner extends BaseEnvRunner {
4
4
  #private;
5
5
  constructor(opts: {
@@ -1,5 +1,5 @@
1
- import { t as BaseEnvRunner } from "../../_chunks/base-runner.mjs";
2
- import { n as reloadEntryModule, r as resolveEntry } from "../../_chunks/worker-utils.mjs";
1
+ import { BaseEnvRunner } from "../../_chunks/base-runner.mjs";
2
+ import { reloadEntryModule, resolveEntry } from "../../_chunks/worker-utils.mjs";
3
3
  var SelfEnvRunner = class extends BaseEnvRunner {
4
4
  #active = false;
5
5
  #entry;
@@ -1,3 +1,3 @@
1
- import { n as EnvRunnerData } from "../../_chunks/base-runner.mjs";
2
- import { t as VercelEnvRunner } from "../../_chunks/runner4.mjs";
1
+ import { EnvRunnerData } from "../../_chunks/base-runner.mjs";
2
+ import { VercelEnvRunner } from "../../_chunks/runner4.mjs";
3
3
  export { type EnvRunnerData, VercelEnvRunner };
@@ -1,2 +1,2 @@
1
- import { t as VercelEnvRunner } from "../../_chunks/runner4.mjs";
1
+ import { VercelEnvRunner } from "../../_chunks/runner4.mjs";
2
2
  export { VercelEnvRunner };
package/dist/vite.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { o as RunnerRPCHooks } from "./_chunks/types.mjs";
1
+ import { RunnerRPCHooks } from "./_chunks/types.mjs";
2
2
  /** Vite HotChannel-compatible interface (avoids hard dependency on vite types). */
3
3
  interface ViteHotChannel {
4
4
  send: (data: any) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "env-runner",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "Generic environment runner for JavaScript runtimes.",
5
5
  "license": "MIT",
6
6
  "repository": "unjs/env-runner",
@@ -46,24 +46,24 @@
46
46
  "crossws": "^0.4.5",
47
47
  "exsolve": "^1.0.8",
48
48
  "httpxy": "^0.5.3",
49
- "srvx": "^0.11.15"
49
+ "srvx": "^0.11.16"
50
50
  },
51
51
  "devDependencies": {
52
- "@netlify/runtime": "^4.1.24",
53
- "@types/node": "^25.9.1",
52
+ "@netlify/runtime": "^4.1.25",
53
+ "@types/node": "^25.9.2",
54
54
  "@typescript/native-preview": "7.0.0-dev.20260521.1",
55
- "@vercel/queue": "^0.2.0",
56
- "@vitest/coverage-v8": "^4.1.7",
55
+ "@vercel/queue": "^0.2.1",
56
+ "@vitest/coverage-v8": "^4.1.8",
57
57
  "automd": "^0.4.3",
58
58
  "changelogen": "^0.6.2",
59
59
  "cjs-module-lexer": "^2.2.0",
60
60
  "env-runner-fixture": "link:",
61
- "miniflare": "^4.20260520.0",
62
- "obuild": "^0.4.35",
61
+ "miniflare": "^4.20260603.0",
62
+ "obuild": "^0.4.36",
63
63
  "oxfmt": "^0.51.0",
64
- "oxlint": "^1.66.0",
64
+ "oxlint": "^1.69.0",
65
65
  "typescript": "^6.0.3",
66
- "vitest": "^4.1.7"
66
+ "vitest": "^4.1.8"
67
67
  },
68
68
  "peerDependencies": {
69
69
  "@netlify/runtime": "^4.1.23",
@@ -81,5 +81,5 @@
81
81
  "optional": true
82
82
  }
83
83
  },
84
- "packageManager": "pnpm@11.2.2"
84
+ "packageManager": "pnpm@11.5.2"
85
85
  }