@hewliyang/headless-spreadjs 0.0.7 → 0.0.9

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 (66) hide show
  1. package/README.md +118 -0
  2. package/dist/cli/client.d.ts +2 -2
  3. package/dist/cli/client.d.ts.map +1 -1
  4. package/dist/cli/client.js +7 -7
  5. package/dist/cli/client.js.map +1 -1
  6. package/dist/cli/commands/clear.d.ts.map +1 -1
  7. package/dist/cli/commands/clear.js +8 -1
  8. package/dist/cli/commands/clear.js.map +1 -1
  9. package/dist/cli/commands/copy.d.ts.map +1 -1
  10. package/dist/cli/commands/copy.js +10 -1
  11. package/dist/cli/commands/copy.js.map +1 -1
  12. package/dist/cli/commands/diff.d.ts.map +1 -1
  13. package/dist/cli/commands/diff.js +61 -0
  14. package/dist/cli/commands/diff.js.map +1 -1
  15. package/dist/cli/commands/eval.d.ts.map +1 -1
  16. package/dist/cli/commands/eval.js +148 -6
  17. package/dist/cli/commands/eval.js.map +1 -1
  18. package/dist/cli/commands/search.d.ts.map +1 -1
  19. package/dist/cli/commands/search.js +5 -2
  20. package/dist/cli/commands/search.js.map +1 -1
  21. package/dist/cli/commands/set.d.ts +1 -0
  22. package/dist/cli/commands/set.d.ts.map +1 -1
  23. package/dist/cli/commands/set.js +123 -13
  24. package/dist/cli/commands/set.js.map +1 -1
  25. package/dist/cli/commands/watch.d.ts +24 -0
  26. package/dist/cli/commands/watch.d.ts.map +1 -0
  27. package/dist/cli/commands/watch.js +223 -0
  28. package/dist/cli/commands/watch.js.map +1 -0
  29. package/dist/cli/context.d.ts +2 -0
  30. package/dist/cli/context.d.ts.map +1 -1
  31. package/dist/cli/context.js +72 -23
  32. package/dist/cli/context.js.map +1 -1
  33. package/dist/cli/daemon.d.ts.map +1 -1
  34. package/dist/cli/daemon.js +232 -67
  35. package/dist/cli/daemon.js.map +1 -1
  36. package/dist/cli/dispatch.d.ts +1 -1
  37. package/dist/cli/dispatch.d.ts.map +1 -1
  38. package/dist/cli/dispatch.js +32 -7
  39. package/dist/cli/dispatch.js.map +1 -1
  40. package/dist/cli/file-cache.d.ts +11 -0
  41. package/dist/cli/file-cache.d.ts.map +1 -1
  42. package/dist/cli/file-cache.js +22 -1
  43. package/dist/cli/file-cache.js.map +1 -1
  44. package/dist/cli/main.d.ts.map +1 -1
  45. package/dist/cli/main.js +78 -8
  46. package/dist/cli/main.js.map +1 -1
  47. package/dist/cli/sheet-size.d.ts +14 -0
  48. package/dist/cli/sheet-size.d.ts.map +1 -0
  49. package/dist/cli/sheet-size.js +20 -0
  50. package/dist/cli/sheet-size.js.map +1 -0
  51. package/dist/cli/styles.d.ts +11 -0
  52. package/dist/cli/styles.d.ts.map +1 -1
  53. package/dist/cli/styles.js +75 -0
  54. package/dist/cli/styles.js.map +1 -1
  55. package/dist/cli/watch-server.d.ts +34 -0
  56. package/dist/cli/watch-server.d.ts.map +1 -0
  57. package/dist/cli/watch-server.js +792 -0
  58. package/dist/cli/watch-server.js.map +1 -0
  59. package/dist/excel-file.d.ts.map +1 -1
  60. package/dist/excel-file.js +0 -21
  61. package/dist/excel-file.js.map +1 -1
  62. package/dist/hooks.d.ts +159 -0
  63. package/dist/hooks.d.ts.map +1 -0
  64. package/dist/hooks.js +300 -0
  65. package/dist/hooks.js.map +1 -0
  66. package/package.json +9 -4
@@ -1,5 +1,6 @@
1
1
  import { AsyncLocalStorage } from "node:async_hooks";
2
2
  import { resolve } from "node:path";
3
+ import { getCurrentCommand, runOnOpenHooks, runPostSaveHooks, runPreSaveHooks, } from "../hooks.js";
3
4
  import { init } from "../index.js";
4
5
  import { throwIfAborted } from "./abort.js";
5
6
  const runtimeStore = new AsyncLocalStorage();
@@ -9,6 +10,16 @@ export function runWithDaemonRuntime(runtime, fn) {
9
10
  export function getDaemonRuntime() {
10
11
  return runtimeStore.getStore() ?? null;
11
12
  }
13
+ function createHookContext(filePath, file, GC, mutatedRanges) {
14
+ return {
15
+ ...getCurrentCommand(),
16
+ filePath,
17
+ file,
18
+ workbook: file.workbook,
19
+ GC,
20
+ mutatedRanges,
21
+ };
22
+ }
12
23
  export async function withFile(filePath, fn, options) {
13
24
  const signal = options?.signal;
14
25
  throwIfAborted(signal);
@@ -21,10 +32,20 @@ export async function withFile(filePath, fn, options) {
21
32
  throwIfAborted(signal);
22
33
  const file = await EF.open(filePath);
23
34
  throwIfAborted(signal);
24
- const result = await fn({ file, workbook: file.workbook, GC });
35
+ const mutatedRanges = [];
36
+ const hookCtx = createHookContext(filePath, file, GC, mutatedRanges);
37
+ await runOnOpenHooks(hookCtx);
38
+ const result = await fn({
39
+ file,
40
+ workbook: file.workbook,
41
+ GC,
42
+ markMutated: (r) => mutatedRanges.push(r),
43
+ });
25
44
  if (options?.save) {
26
45
  throwIfAborted(signal);
46
+ await runPreSaveHooks(hookCtx);
27
47
  await file.save(filePath);
48
+ await runPostSaveHooks(hookCtx);
28
49
  }
29
50
  return result;
30
51
  }
@@ -36,6 +57,7 @@ async function withFileDaemon(rt, filePath, fn, options) {
36
57
  const signal = options?.signal;
37
58
  throwIfAborted(signal);
38
59
  const absPath = resolve(rt.cwd, filePath);
60
+ const wasDirty = rt.fileCache.isDirty(filePath, rt.cwd);
39
61
  let cached = await rt.fileCache.get(filePath, rt.cwd);
40
62
  if (!cached) {
41
63
  throwIfAborted(signal);
@@ -44,40 +66,47 @@ async function withFileDaemon(rt, filePath, fn, options) {
44
66
  await rt.fileCache.put(filePath, rt.cwd, file);
45
67
  cached = { file, absPath };
46
68
  }
47
- const wasDirty = rt.fileCache.isDirty(filePath, rt.cwd);
48
- let result;
69
+ const mutatedRanges = [];
70
+ let shouldInvalidate = !wasDirty;
49
71
  try {
72
+ const hookCtx = createHookContext(cached.absPath, cached.file, rt.GC, mutatedRanges);
73
+ const hooksRan = await runOnOpenHooks(hookCtx);
50
74
  throwIfAborted(signal);
51
- result = await fn({
75
+ const result = await fn({
52
76
  file: cached.file,
53
77
  workbook: cached.file.workbook,
54
78
  GC: rt.GC,
79
+ markMutated: (r) => mutatedRanges.push(r),
55
80
  });
56
- }
57
- catch (err) {
58
- if (!wasDirty) {
59
- rt.fileCache.invalidate(filePath, rt.cwd);
60
- }
61
- throw err;
62
- }
63
- if (options?.save) {
64
- throwIfAborted(signal);
65
- if (rt.writeThrough) {
66
- try {
81
+ if (options?.save) {
82
+ throwIfAborted(signal);
83
+ await runPreSaveHooks(hookCtx);
84
+ if (rt.writeThrough) {
85
+ shouldInvalidate = true;
67
86
  await cached.file.save(cached.absPath);
68
87
  throwIfAborted(signal);
69
88
  await rt.fileCache.updateMtime(filePath, rt.cwd);
89
+ shouldInvalidate = false;
90
+ await runPostSaveHooks(hookCtx);
70
91
  }
71
- catch (err) {
72
- rt.fileCache.invalidate(filePath, rt.cwd);
73
- throw err;
92
+ else {
93
+ rt.fileCache.markDirty(filePath, rt.cwd);
94
+ shouldInvalidate = false;
95
+ await runPostSaveHooks(hookCtx);
74
96
  }
75
97
  }
76
- else {
77
- rt.fileCache.markDirty(filePath, rt.cwd);
98
+ else if (hooksRan) {
99
+ rt.fileCache.invalidate(filePath, rt.cwd);
78
100
  }
101
+ shouldInvalidate = false;
102
+ return result;
103
+ }
104
+ catch (err) {
105
+ if (shouldInvalidate) {
106
+ rt.fileCache.invalidate(filePath, rt.cwd);
107
+ }
108
+ throw err;
79
109
  }
80
- return result;
81
110
  }
82
111
  export async function withNewFile(filePath, fn, options) {
83
112
  const signal = options?.signal;
@@ -90,11 +119,21 @@ export async function withNewFile(filePath, fn, options) {
90
119
  try {
91
120
  throwIfAborted(signal);
92
121
  const file = new EF();
122
+ const mutatedRanges = [];
123
+ const hookCtx = createHookContext(filePath, file, GC, mutatedRanges);
124
+ await runOnOpenHooks(hookCtx);
93
125
  const result = fn
94
- ? await fn({ file, workbook: file.workbook, GC })
126
+ ? await fn({
127
+ file,
128
+ workbook: file.workbook,
129
+ GC,
130
+ markMutated: (r) => mutatedRanges.push(r),
131
+ })
95
132
  : undefined;
96
133
  throwIfAborted(signal);
134
+ await runPreSaveHooks(hookCtx);
97
135
  await file.save(filePath);
136
+ await runPostSaveHooks(hookCtx);
98
137
  return result;
99
138
  }
100
139
  finally {
@@ -106,14 +145,24 @@ async function withNewFileDaemon(rt, filePath, fn, options) {
106
145
  throwIfAborted(signal);
107
146
  const absPath = resolve(rt.cwd, filePath);
108
147
  const file = new rt.ExcelFile();
148
+ const mutatedRanges = [];
149
+ const hookCtx = createHookContext(absPath, file, rt.GC, mutatedRanges);
150
+ await runOnOpenHooks(hookCtx);
109
151
  const result = fn
110
- ? await fn({ file, workbook: file.workbook, GC: rt.GC })
152
+ ? await fn({
153
+ file,
154
+ workbook: file.workbook,
155
+ GC: rt.GC,
156
+ markMutated: (r) => mutatedRanges.push(r),
157
+ })
111
158
  : undefined;
112
159
  throwIfAborted(signal);
160
+ await runPreSaveHooks(hookCtx);
113
161
  await file.save(absPath);
114
162
  throwIfAborted(signal);
115
163
  await rt.fileCache.put(filePath, rt.cwd, file);
116
164
  await rt.fileCache.updateMtime(filePath, rt.cwd);
165
+ await runPostSaveHooks(hookCtx);
117
166
  return result;
118
167
  }
119
168
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/cli/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/cli/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"AAmCA,wBAAgB,aAAa,IAAI,MAAM,CAKtC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAMnC;AA+BD,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAyTjD"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"AA8CA,wBAAgB,aAAa,IAAI,MAAM,CAKtC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAMnC;AAwID,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA4YjD"}
@@ -1,13 +1,19 @@
1
+ import { spawn } from "node:child_process";
1
2
  import { existsSync, unlinkSync } from "node:fs";
3
+ import { createRequire } from "node:module";
2
4
  import { connect, createServer } from "node:net";
3
5
  import { homedir } from "node:os";
4
- import { join } from "node:path";
6
+ import { dirname, join } from "node:path";
7
+ import { fileURLToPath } from "node:url";
8
+ import { runWithHooksDisabled, setHookWriters } from "../hooks.js";
5
9
  import { dispose as disposeRuntime, init } from "../index.js";
6
10
  import { registerSignalTimeout, throwIfAborted } from "./abort.js";
11
+ import { DaemonProvider } from "./commands/watch.js";
7
12
  import { runWithDaemonRuntime } from "./context.js";
8
13
  import { dispatch } from "./dispatch.js";
9
14
  import { FileCache } from "./file-cache.js";
10
- import { createIoContext, runWithIo } from "./output.js";
15
+ import { createIoContext, runWithIo, writeStderr, writeStdout, } from "./output.js";
16
+ import { WatchServer } from "./watch-server.js";
11
17
  function envEnabled(value) {
12
18
  if (!value)
13
19
  return false;
@@ -19,7 +25,7 @@ function envPositiveInt(value, fallback) {
19
25
  const parsed = Number.parseInt(value, 10);
20
26
  return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
21
27
  }
22
- const IDLE_TIMEOUT_MS = 5 * 60 * 1000;
28
+ const IDLE_TIMEOUT_MS = 60 * 60 * 1000;
23
29
  const AUTO_FLUSH_INTERVAL_MS = envPositiveInt(process.env.HSX_AUTO_FLUSH_MS, 5_000);
24
30
  const DEFAULT_CACHE_SIZE = 10;
25
31
  const DEFAULT_REQUEST_TIMEOUT_MS = 30_000;
@@ -59,6 +65,91 @@ function isDaemonListening(socketPath) {
59
65
  });
60
66
  });
61
67
  }
68
+ function getCliSpawnSpec() {
69
+ const thisFile = fileURLToPath(import.meta.url);
70
+ const dir = dirname(thisFile);
71
+ if (thisFile.endsWith(".ts")) {
72
+ const require = createRequire(import.meta.url);
73
+ const tsxCli = require.resolve("tsx/cli");
74
+ return {
75
+ command: process.execPath,
76
+ args: [tsxCli, join(dir, "index.ts")],
77
+ };
78
+ }
79
+ return {
80
+ command: process.execPath,
81
+ args: [join(dir, "index.js")],
82
+ };
83
+ }
84
+ async function runIsolatedCli(request, signal) {
85
+ return new Promise((resolve, reject) => {
86
+ const spawnSpec = getCliSpawnSpec();
87
+ const globalFlags = ["--no-daemon"];
88
+ if (request.noHooks)
89
+ globalFlags.push("--no-hooks");
90
+ const child = spawn(spawnSpec.command, [...spawnSpec.args, ...globalFlags, ...request.argv], {
91
+ cwd: request.cwd,
92
+ env: { ...process.env },
93
+ stdio: ["pipe", "pipe", "pipe"],
94
+ });
95
+ let stdout = "";
96
+ let stderr = "";
97
+ let settled = false;
98
+ let killTimer = null;
99
+ let aborted = false;
100
+ const cleanup = () => {
101
+ if (killTimer)
102
+ clearTimeout(killTimer);
103
+ signal.removeEventListener("abort", onAbort);
104
+ };
105
+ const finish = (fn) => {
106
+ if (settled)
107
+ return;
108
+ settled = true;
109
+ cleanup();
110
+ fn();
111
+ };
112
+ const onAbort = () => {
113
+ aborted = true;
114
+ child.kill("SIGTERM");
115
+ killTimer = setTimeout(() => {
116
+ child.kill("SIGKILL");
117
+ }, 250);
118
+ };
119
+ if (signal.aborted) {
120
+ onAbort();
121
+ }
122
+ else {
123
+ signal.addEventListener("abort", onAbort, { once: true });
124
+ }
125
+ child.stdout.on("data", (chunk) => {
126
+ stdout += chunk.toString();
127
+ });
128
+ child.stderr.on("data", (chunk) => {
129
+ stderr += chunk.toString();
130
+ });
131
+ child.on("error", (err) => {
132
+ finish(() => reject(err));
133
+ });
134
+ child.on("exit", (code, sig) => {
135
+ finish(() => {
136
+ if (aborted) {
137
+ reject(signal.reason instanceof Error
138
+ ? signal.reason
139
+ : new Error(`Eval aborted${sig ? ` (${sig})` : code !== null ? ` (exit ${code})` : ""}`));
140
+ return;
141
+ }
142
+ resolve({ stdout, stderr, exitCode: code ?? 1 });
143
+ });
144
+ });
145
+ if (request.stdin !== undefined) {
146
+ child.stdin.end(request.stdin);
147
+ }
148
+ else {
149
+ child.stdin.end();
150
+ }
151
+ });
152
+ }
62
153
  export async function startDaemon() {
63
154
  const socketPath = getSocketPath();
64
155
  if (process.platform !== "win32" && existsSync(socketPath)) {
@@ -71,12 +162,15 @@ export async function startDaemon() {
71
162
  }
72
163
  catch { }
73
164
  }
165
+ setHookWriters((data) => writeStdout(data), (data) => writeStderr(data));
74
166
  const { GC, ExcelFile } = await init();
75
167
  const cacheSize = envPositiveInt(process.env.HSX_CACHE_SIZE, DEFAULT_CACHE_SIZE);
76
168
  const writeThrough = envEnabled(process.env.HSX_WRITE_THROUGH);
77
169
  const fileCache = new FileCache(cacheSize);
78
170
  let idleTimer = null;
79
171
  let activeConnections = 0;
172
+ let watchServer = null;
173
+ let watchServerPort = 0;
80
174
  const server = createServer(handleConnection);
81
175
  function daemonLog(msg) {
82
176
  const ts = new Date().toISOString();
@@ -102,6 +196,10 @@ export async function startDaemon() {
102
196
  clearTimeout(idleTimer);
103
197
  if (autoFlushTimer)
104
198
  clearInterval(autoFlushTimer);
199
+ if (watchServer) {
200
+ watchServer.stop();
201
+ watchServer = null;
202
+ }
105
203
  if (!options?.skipFlush) {
106
204
  try {
107
205
  const flushed = await fileCache.flushDirty();
@@ -153,79 +251,146 @@ export async function startDaemon() {
153
251
  autoFlushTimer.unref();
154
252
  }
155
253
  async function handleRequest(request, signal) {
156
- try {
157
- throwIfAborted(signal);
158
- if (request.argv[0] === "daemon" && request.argv[1] === "stop") {
159
- const flushed = await fileCache.flushDirty();
160
- if (flushed > 0) {
161
- daemonLog(`flushed ${flushed} dirty file(s) before stop`);
254
+ return runWithHooksDisabled(Boolean(request.noHooks), async () => {
255
+ try {
256
+ throwIfAborted(signal);
257
+ if (request.argv[0] === "daemon" && request.argv[1] === "stop") {
258
+ const flushed = await fileCache.flushDirty();
259
+ if (flushed > 0) {
260
+ daemonLog(`flushed ${flushed} dirty file(s) before stop`);
261
+ }
262
+ return {
263
+ stdout: `${JSON.stringify({ stopped: true })}\n`,
264
+ stderr: "",
265
+ exitCode: 0,
266
+ shutdown: true,
267
+ };
162
268
  }
163
- return {
164
- stdout: `${JSON.stringify({ stopped: true })}\n`,
165
- stderr: "",
166
- exitCode: 0,
167
- shutdown: true,
168
- };
169
- }
170
- if (request.argv[0] === "daemon" && request.argv[1] === "flush") {
171
- const flushed = await fileCache.flushDirty();
172
- if (flushed > 0) {
173
- daemonLog(`flushed ${flushed} dirty file(s) via explicit request`);
269
+ if (request.argv[0] === "daemon" && request.argv[1] === "flush") {
270
+ const flushed = await fileCache.flushDirty();
271
+ if (flushed > 0) {
272
+ daemonLog(`flushed ${flushed} dirty file(s) via explicit request`);
273
+ }
274
+ return {
275
+ stdout: `${JSON.stringify({
276
+ flushed,
277
+ dirtyFiles: fileCache.dirtyCount,
278
+ })}\n`,
279
+ stderr: "",
280
+ exitCode: 0,
281
+ };
174
282
  }
175
- return {
176
- stdout: `${JSON.stringify({
177
- flushed,
178
- dirtyFiles: fileCache.dirtyCount,
179
- })}\n`,
180
- stderr: "",
181
- exitCode: 0,
182
- };
183
- }
184
- if (request.argv[0] === "daemon" && request.argv[1] === "status") {
185
- const mem = process.memoryUsage();
186
- return {
187
- stdout: `${JSON.stringify({
188
- pid: process.pid,
189
- cachedFiles: fileCache.size,
190
- dirtyFiles: fileCache.dirtyCount,
191
- maxCacheSize: fileCache.maxCacheSize,
192
- writeThrough,
193
- uptime: Math.floor(process.uptime()),
194
- heapUsedMB: Math.round(mem.heapUsed / 1024 / 1024),
195
- rssMB: Math.round(mem.rss / 1024 / 1024),
196
- logFile: getLogPath(),
197
- })}\n`,
198
- stderr: "",
199
- exitCode: 0,
283
+ if (request.argv[0] === "daemon" && request.argv[1] === "files") {
284
+ return {
285
+ stdout: `${JSON.stringify({ files: fileCache.files() })}\n`,
286
+ stderr: "",
287
+ exitCode: 0,
288
+ };
289
+ }
290
+ if (request.argv[0] === "daemon" && request.argv[1] === "watch") {
291
+ const portIdx = request.argv.indexOf("--port");
292
+ const port = portIdx !== -1
293
+ ? Number.parseInt(request.argv[portIdx + 1], 10) || 8080
294
+ : 8080;
295
+ if (watchServer) {
296
+ return {
297
+ stdout: `${JSON.stringify({ watching: true, url: `http://127.0.0.1:${watchServerPort}`, alreadyRunning: true })}\n`,
298
+ stderr: "",
299
+ exitCode: 0,
300
+ };
301
+ }
302
+ try {
303
+ const provider = new DaemonProvider(fileCache);
304
+ watchServer = new WatchServer(provider);
305
+ watchServerPort = await watchServer.start(port);
306
+ daemonLog(`watch server started on port ${watchServerPort}`);
307
+ return {
308
+ stdout: `${JSON.stringify({ watching: true, url: `http://127.0.0.1:${watchServerPort}` })}\n`,
309
+ stderr: "",
310
+ exitCode: 0,
311
+ };
312
+ }
313
+ catch (err) {
314
+ watchServer?.stop();
315
+ watchServer = null;
316
+ watchServerPort = 0;
317
+ return {
318
+ stdout: "",
319
+ stderr: `${JSON.stringify({ error: `Failed to start watch server: ${errorMessage(err)}` })}\n`,
320
+ exitCode: 1,
321
+ };
322
+ }
323
+ }
324
+ if (request.argv[0] === "daemon" && request.argv[1] === "unwatch") {
325
+ if (watchServer) {
326
+ watchServer.stop();
327
+ watchServer = null;
328
+ watchServerPort = 0;
329
+ daemonLog("watch server stopped");
330
+ }
331
+ return {
332
+ stdout: `${JSON.stringify({ stopped: true })}\n`,
333
+ stderr: "",
334
+ exitCode: 0,
335
+ };
336
+ }
337
+ if (request.argv[0] === "daemon" && request.argv[1] === "status") {
338
+ const mem = process.memoryUsage();
339
+ return {
340
+ stdout: `${JSON.stringify({
341
+ pid: process.pid,
342
+ cachedFiles: fileCache.size,
343
+ dirtyFiles: fileCache.dirtyCount,
344
+ maxCacheSize: fileCache.maxCacheSize,
345
+ writeThrough,
346
+ uptime: Math.floor(process.uptime()),
347
+ heapUsedMB: Math.round(mem.heapUsed / 1024 / 1024),
348
+ rssMB: Math.round(mem.rss / 1024 / 1024),
349
+ logFile: getLogPath(),
350
+ })}\n`,
351
+ stderr: "",
352
+ exitCode: 0,
353
+ };
354
+ }
355
+ if (request.argv[0] === "eval") {
356
+ if (fileCache.dirtyCount > 0) {
357
+ await fileCache.flushDirty();
358
+ }
359
+ const response = await runIsolatedCli(request, signal);
360
+ const evalFile = request.argv[1];
361
+ if (evalFile) {
362
+ fileCache.invalidate(evalFile, request.cwd);
363
+ }
364
+ return response;
365
+ }
366
+ const runtime = {
367
+ GC,
368
+ ExcelFile,
369
+ fileCache,
370
+ cwd: request.cwd,
371
+ writeThrough,
200
372
  };
201
- }
202
- const runtime = {
203
- GC,
204
- ExcelFile,
205
- fileCache,
206
- cwd: request.cwd,
207
- writeThrough,
208
- };
209
- const io = createIoContext(request.stdin);
210
- try {
211
- await runWithDaemonRuntime(runtime, () => runWithIo(io, () => dispatch(request.argv, { signal })));
212
- return { stdout: io.stdout, stderr: io.stderr, exitCode: 0 };
373
+ const io = createIoContext(request.stdin);
374
+ try {
375
+ await runWithDaemonRuntime(runtime, () => runWithIo(io, () => dispatch(request.argv, { signal })));
376
+ return { stdout: io.stdout, stderr: io.stderr, exitCode: 0 };
377
+ }
378
+ catch (err) {
379
+ return {
380
+ stdout: io.stdout,
381
+ stderr: `${io.stderr}${JSON.stringify({ error: errorMessage(err) })}\n`,
382
+ exitCode: 1,
383
+ };
384
+ }
213
385
  }
214
386
  catch (err) {
215
387
  return {
216
- stdout: io.stdout,
217
- stderr: `${io.stderr}${JSON.stringify({ error: errorMessage(err) })}\n`,
388
+ stdout: "",
389
+ stderr: `${JSON.stringify({ error: errorMessage(err) })}\n`,
218
390
  exitCode: 1,
219
391
  };
220
392
  }
221
- }
222
- catch (err) {
223
- return {
224
- stdout: "",
225
- stderr: `${JSON.stringify({ error: errorMessage(err) })}\n`,
226
- exitCode: 1,
227
- };
228
- }
393
+ });
229
394
  }
230
395
  function handleConnection(socket) {
231
396
  activeConnections++;
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"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"}