@hewliyang/headless-spreadjs
Advanced tools
| import type { FileCache } from "../file-cache.js"; | ||
| import { type WatchEventListener, type WatchFileProvider } from "../watch-server.js"; | ||
| export declare class DaemonProvider implements WatchFileProvider { | ||
| private fileCache; | ||
| private listeners; | ||
| private readonly handleOpened; | ||
| private readonly handleChanged; | ||
| constructor(fileCache: FileCache); | ||
| listFiles(): string[]; | ||
| getBuffer(absPath: string): Promise<Buffer | null>; | ||
| subscribe(listener: WatchEventListener): () => void; | ||
| stop(): void; | ||
| } | ||
| export interface WatchOptions { | ||
| port?: number; | ||
| open?: boolean; | ||
| signal?: AbortSignal | null; | ||
| } | ||
| /** | ||
| * Standalone watch (runs as its own process, reads from disk). | ||
| * Auto-discovers from daemon cache if no files specified. | ||
| */ | ||
| export declare function watch(filePaths: string[], options?: WatchOptions): Promise<void>; | ||
| //# sourceMappingURL=watch.d.ts.map |
| {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEvB,MAAM,oBAAoB,CAAC;AA8G5B,qBAAa,cAAe,YAAW,iBAAiB;IAa1C,OAAO,CAAC,SAAS;IAZ7B,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAI3B;IACF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAI5B;gBAEkB,SAAS,EAAE,SAAS;IAKxC,SAAS,IAAI,MAAM,EAAE;IAIf,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMxD,SAAS,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,IAAI;IAKnD,IAAI,IAAI,IAAI;CAKb;AA2BD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B;AAkBD;;;GAGG;AACH,wBAAsB,KAAK,CACzB,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAuEf"} |
| import { exec } from "node:child_process"; | ||
| import { existsSync, watch as fsWatch, statSync } from "node:fs"; | ||
| import { readFile } from "node:fs/promises"; | ||
| import { basename, extname, resolve } from "node:path"; | ||
| import { tryExistingDaemon } from "../client.js"; | ||
| import { ok, writeStderr } from "../output.js"; | ||
| import { WatchServer, } from "../watch-server.js"; | ||
| function errorMessage(err) { | ||
| return err instanceof Error ? err.message : String(err); | ||
| } | ||
| function getFileStat(absPath) { | ||
| try { | ||
| const s = statSync(absPath); | ||
| return { size: s.size, mtime: s.mtimeMs }; | ||
| } | ||
| catch { | ||
| return null; | ||
| } | ||
| } | ||
| class DiskProvider { | ||
| files = []; | ||
| buffers = new Map(); | ||
| listeners = new Set(); | ||
| watchers = []; | ||
| debounceTimers = new Map(); | ||
| async addFiles(absPaths) { | ||
| for (const absPath of absPaths) { | ||
| const s = getFileStat(absPath); | ||
| this.files.push({ | ||
| absPath, | ||
| lastSize: s?.size ?? 0, | ||
| lastMtime: s?.mtime ?? 0, | ||
| }); | ||
| try { | ||
| this.buffers.set(absPath, await readFile(absPath)); | ||
| } | ||
| catch (err) { | ||
| throw new Error(`Failed to read ${absPath}: ${errorMessage(err)}`); | ||
| } | ||
| this.startWatching(absPath); | ||
| } | ||
| } | ||
| startWatching(absPath) { | ||
| const f = this.files.find((x) => x.absPath === absPath); | ||
| if (!f) | ||
| return; | ||
| const watcher = fsWatch(f.absPath, { persistent: true }, () => { | ||
| const existing = this.debounceTimers.get(f.absPath); | ||
| if (existing) | ||
| clearTimeout(existing); | ||
| this.debounceTimers.set(f.absPath, setTimeout(async () => { | ||
| this.debounceTimers.delete(f.absPath); | ||
| const s = getFileStat(f.absPath); | ||
| if (!s) | ||
| return; | ||
| if (s.size === f.lastSize && s.mtime === f.lastMtime) | ||
| return; | ||
| f.lastSize = s.size; | ||
| f.lastMtime = s.mtime; | ||
| try { | ||
| this.buffers.set(f.absPath, await readFile(f.absPath)); | ||
| } | ||
| catch (err) { | ||
| writeStderr(`Warning: failed to reload ${f.absPath}: ${errorMessage(err)}\n`); | ||
| return; | ||
| } | ||
| for (const l of this.listeners) { | ||
| l({ type: "changed", absPath: f.absPath }); | ||
| } | ||
| }, 200)); | ||
| }); | ||
| this.watchers.push(watcher); | ||
| } | ||
| listFiles() { | ||
| return this.files.map((f) => f.absPath); | ||
| } | ||
| async getBuffer(absPath) { | ||
| return this.buffers.get(absPath) ?? null; | ||
| } | ||
| subscribe(listener) { | ||
| this.listeners.add(listener); | ||
| return () => this.listeners.delete(listener); | ||
| } | ||
| stop() { | ||
| for (const w of this.watchers) | ||
| w.close(); | ||
| for (const t of this.debounceTimers.values()) | ||
| clearTimeout(t); | ||
| this.watchers = []; | ||
| this.debounceTimers.clear(); | ||
| } | ||
| } | ||
| // --------------------------------------------------------------------------- | ||
| // Daemon-backed provider (in-process, used when watch runs inside daemon) | ||
| // --------------------------------------------------------------------------- | ||
| export class DaemonProvider { | ||
| fileCache; | ||
| listeners = new Set(); | ||
| handleOpened = (absPath) => { | ||
| for (const l of this.listeners) { | ||
| l({ type: "opened", absPath }); | ||
| } | ||
| }; | ||
| handleChanged = (absPath) => { | ||
| for (const l of this.listeners) { | ||
| l({ type: "changed", absPath }); | ||
| } | ||
| }; | ||
| constructor(fileCache) { | ||
| this.fileCache = fileCache; | ||
| fileCache.events.on("opened", this.handleOpened); | ||
| fileCache.events.on("changed", this.handleChanged); | ||
| } | ||
| listFiles() { | ||
| return this.fileCache.files().map((f) => f.absPath); | ||
| } | ||
| async getBuffer(absPath) { | ||
| const file = this.fileCache.getFile(absPath); | ||
| if (!file) | ||
| return null; | ||
| return file.saveToBuffer(); | ||
| } | ||
| subscribe(listener) { | ||
| this.listeners.add(listener); | ||
| return () => this.listeners.delete(listener); | ||
| } | ||
| stop() { | ||
| this.listeners.clear(); | ||
| this.fileCache.events.off("opened", this.handleOpened); | ||
| this.fileCache.events.off("changed", this.handleChanged); | ||
| } | ||
| } | ||
| // --------------------------------------------------------------------------- | ||
| // Daemon auto-discovery (when watch runs as separate process) | ||
| // --------------------------------------------------------------------------- | ||
| async function discoverFromDaemon() { | ||
| try { | ||
| const result = await tryExistingDaemon(["daemon", "files"], process.cwd()); | ||
| if (!result || result.exitCode !== 0) | ||
| return null; | ||
| const parsed = JSON.parse(result.stdout.trim()); | ||
| if (!parsed.files || parsed.files.length === 0) | ||
| return null; | ||
| return parsed.files.map((f) => f.absPath); | ||
| } | ||
| catch (err) { | ||
| writeStderr(`Warning: failed to discover files from daemon: ${errorMessage(err)}\n`); | ||
| return null; | ||
| } | ||
| } | ||
| function openUrl(url, onError) { | ||
| const cmd = process.platform === "darwin" | ||
| ? `open "${url}"` | ||
| : process.platform === "win32" | ||
| ? `start "" "${url}"` | ||
| : `xdg-open "${url}"`; | ||
| const child = exec(cmd, (err) => { | ||
| if (err) { | ||
| onError?.(err.message); | ||
| } | ||
| }); | ||
| child.on("error", (err) => onError?.(err.message)); | ||
| } | ||
| /** | ||
| * Standalone watch (runs as its own process, reads from disk). | ||
| * Auto-discovers from daemon cache if no files specified. | ||
| */ | ||
| export async function watch(filePaths, options = {}) { | ||
| const httpPort = options.port ?? 8080; | ||
| // Auto-discover from daemon when no files specified | ||
| if (filePaths.length === 0) { | ||
| const daemonFiles = await discoverFromDaemon(); | ||
| if (daemonFiles && daemonFiles.length > 0) { | ||
| filePaths = daemonFiles; | ||
| writeStderr(`Auto-discovered ${filePaths.length} file(s) from daemon cache\n`); | ||
| } | ||
| } | ||
| // Resolve and validate | ||
| const absPaths = []; | ||
| for (const fp of filePaths) { | ||
| const absPath = resolve(fp); | ||
| if (!existsSync(absPath)) { | ||
| throw new Error(`File not found: ${fp}`); | ||
| } | ||
| const ext = extname(absPath).toLowerCase(); | ||
| if (ext !== ".xlsx" && ext !== ".xlsm") { | ||
| throw new Error(`Expected .xlsx or .xlsm file, got: ${ext}`); | ||
| } | ||
| absPaths.push(absPath); | ||
| } | ||
| const provider = new DiskProvider(); | ||
| if (absPaths.length > 0) { | ||
| await provider.addFiles(absPaths); | ||
| } | ||
| const server = new WatchServer(provider); | ||
| const actualPort = await server.start(httpPort); | ||
| const fileList = absPaths.length > 0 | ||
| ? absPaths.map((p) => basename(p)).join(", ") | ||
| : "(waiting for files)"; | ||
| writeStderr(`Watching ${absPaths.length} file(s): ${fileList}\n` + | ||
| ` http://127.0.0.1:${actualPort}\n` + | ||
| `\nPress Ctrl+C to stop\n`); | ||
| ok({ | ||
| watching: absPaths.map((p) => basename(p)), | ||
| url: `http://127.0.0.1:${actualPort}`, | ||
| }); | ||
| if (options.open) { | ||
| const url = `http://127.0.0.1:${actualPort}`; | ||
| openUrl(url, (message) => writeStderr(`Warning: failed to open browser: ${message}\n`)); | ||
| } | ||
| return new Promise((res) => { | ||
| const cleanup = () => { | ||
| server.stop(); | ||
| res(); | ||
| }; | ||
| if (options.signal) { | ||
| options.signal.addEventListener("abort", cleanup, { once: true }); | ||
| } | ||
| process.on("SIGINT", cleanup); | ||
| process.on("SIGTERM", cleanup); | ||
| }); | ||
| } | ||
| //# sourceMappingURL=watch.js.map |
| {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"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"} |
| export interface WatchFileProvider { | ||
| /** List currently known file absolute paths */ | ||
| listFiles(): string[]; | ||
| /** Get the xlsx buffer for a file (from memory or disk) */ | ||
| getBuffer(absPath: string): Promise<Buffer | null>; | ||
| /** Subscribe to file events. Returns unsubscribe function. */ | ||
| subscribe(listener: WatchEventListener): () => void; | ||
| /** Release any provider-owned listeners/resources. */ | ||
| stop(): void; | ||
| } | ||
| export type WatchEvent = { | ||
| type: "opened"; | ||
| absPath: string; | ||
| } | { | ||
| type: "changed"; | ||
| absPath: string; | ||
| }; | ||
| export type WatchEventListener = (event: WatchEvent) => void; | ||
| export declare class WatchServer { | ||
| private server; | ||
| private sseClients; | ||
| private fileNames; | ||
| private fileMap; | ||
| private reverseMap; | ||
| private provider; | ||
| private unsub; | ||
| constructor(provider: WatchFileProvider); | ||
| private displayName; | ||
| private syncFiles; | ||
| start(port: number): Promise<number>; | ||
| stop(): void; | ||
| private handleHttp; | ||
| } | ||
| //# sourceMappingURL=watch-server.d.ts.map |
| {"version":3,"file":"watch-server.d.ts","sourceRoot":"","sources":["../../src/cli/watch-server.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,iBAAiB;IAChC,+CAA+C;IAC/C,SAAS,IAAI,MAAM,EAAE,CAAC;IAEtB,2DAA2D;IAC3D,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEnD,8DAA8D;IAC9D,SAAS,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,IAAI,CAAC;IAEpD,sDAAsD;IACtD,IAAI,IAAI,IAAI,CAAC;CACd;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AA6oB7D,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,KAAK,CAA6B;gBAE9B,QAAQ,EAAE,iBAAiB;IAMvC,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,SAAS;IA2BX,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgC1C,IAAI,IAAI,IAAI;IAeZ,OAAO,CAAC,UAAU;CAuEnB"} |
| import { createServer, } from "node:http"; | ||
| import { basename } from "node:path"; | ||
| import { getRegistry } from "../hooks.js"; | ||
| // --------------------------------------------------------------------------- | ||
| // SSE helpers | ||
| // --------------------------------------------------------------------------- | ||
| function sseConnect(res, clients) { | ||
| res.writeHead(200, { | ||
| "Content-Type": "text/event-stream", | ||
| "Cache-Control": "no-cache", | ||
| Connection: "keep-alive", | ||
| "Access-Control-Allow-Origin": "*", | ||
| }); | ||
| res.write(": connected\n\n"); | ||
| clients.add(res); | ||
| res.on("close", () => clients.delete(res)); | ||
| } | ||
| function sseBroadcast(clients, data) { | ||
| const frame = `data: ${data}\n\n`; | ||
| for (const c of clients) { | ||
| try { | ||
| c.write(frame); | ||
| } | ||
| catch { } | ||
| } | ||
| } | ||
| // --------------------------------------------------------------------------- | ||
| // Hooks summary helper | ||
| // --------------------------------------------------------------------------- | ||
| function getHookName(fn) { | ||
| if (typeof fn === "function" && fn.name) | ||
| return fn.name; | ||
| return "(anonymous)"; | ||
| } | ||
| async function getHooksSummary() { | ||
| const registry = await getRegistry(); | ||
| const hooks = []; | ||
| for (const event of [ | ||
| "preCommand", | ||
| "postCommand", | ||
| "onOpen", | ||
| "preSave", | ||
| "postSave", | ||
| ]) { | ||
| for (const entry of registry[event]) { | ||
| hooks.push({ event, name: getHookName(entry.fn) }); | ||
| } | ||
| } | ||
| return { hooks, total: hooks.length }; | ||
| } | ||
| // --------------------------------------------------------------------------- | ||
| // Viewer HTML | ||
| // --------------------------------------------------------------------------- | ||
| function buildViewerHTML(filenames) { | ||
| const fileListJSON = JSON.stringify(filenames); | ||
| return `<!DOCTYPE html> | ||
| <html> | ||
| <head> | ||
| <meta charset="utf-8"> | ||
| <title>hsx watch</title> | ||
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@grapecity/spread-sheets/styles/gc.spread.sheets.excel2016colorful.min.css"> | ||
| <style> | ||
| @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap'); | ||
| :root { | ||
| --bg-base: #ffffff; | ||
| --bg-surface: #f8f8f8; | ||
| --bg-raised: #f0f0f0; | ||
| --bg-overlay: #e8e8e8; | ||
| --border-subtle: rgba(0,0,0,0.08); | ||
| --border-medium: rgba(0,0,0,0.14); | ||
| --text-primary: #1a1a1a; | ||
| --text-secondary: #6b6b6b; | ||
| --text-tertiary: #999999; | ||
| --accent: #1a8a5c; | ||
| --accent-dim: rgba(26,138,92,0.08); | ||
| --accent-glow: rgba(26,138,92,0.2); | ||
| --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; | ||
| --font-mono: 'SF Mono', 'JetBrains Mono', Consolas, monospace; | ||
| --radius-sm: 4px; | ||
| --radius-md: 8px; | ||
| --radius-lg: 12px; | ||
| --shadow-popup: 0 8px 32px rgba(0,0,0,0.12), 0 0 0 1px var(--border-subtle); | ||
| --transition-fast: 0.12s cubic-bezier(0.4,0,0.2,1); | ||
| --transition-normal: 0.2s cubic-bezier(0.4,0,0.2,1); | ||
| } | ||
| * { box-sizing: border-box; margin: 0; padding: 0; } | ||
| html, body { height: 100%; } | ||
| body { font-family: var(--font-sans); background: var(--bg-base); -webkit-font-smoothing: antialiased; color: var(--text-primary); } | ||
| /* ---- Toolbar ---- */ | ||
| #toolbar { | ||
| display: flex; align-items: stretch; | ||
| background: var(--bg-surface); | ||
| color: var(--text-secondary); font-size: 13px; | ||
| height: 34px; | ||
| border-bottom: 1px solid var(--border-subtle); | ||
| overflow: hidden; | ||
| position: relative; | ||
| z-index: 10; | ||
| } | ||
| #file-tabs { | ||
| display: flex; align-items: stretch; | ||
| min-width: 0; gap: 1px; | ||
| padding-left: 2px; | ||
| overflow-x: auto; overflow-y: hidden; | ||
| scrollbar-width: none; | ||
| } | ||
| #file-tabs::-webkit-scrollbar { display: none; } | ||
| .file-tab { | ||
| display: flex; align-items: center; gap: 8px; | ||
| padding: 0 18px; cursor: pointer; color: var(--text-tertiary); | ||
| background: transparent; | ||
| white-space: nowrap; user-select: none; | ||
| font-family: var(--font-mono); | ||
| font-size: 12px; font-weight: 400; | ||
| letter-spacing: 0.01em; | ||
| transition: color var(--transition-fast), background var(--transition-fast); | ||
| position: relative; | ||
| outline: none; | ||
| border: none; | ||
| border-bottom: 2px solid transparent; | ||
| } | ||
| .file-tab::after { | ||
| content: ''; position: absolute; bottom: -1px; left: 18px; right: 18px; | ||
| height: 2px; background: var(--accent); border-radius: 2px 2px 0 0; | ||
| transform: scaleX(0); transition: transform var(--transition-normal); | ||
| } | ||
| .file-tab:hover { color: var(--text-primary); background: var(--bg-raised); } | ||
| .file-tab:focus-visible { color: var(--text-primary); background: var(--bg-raised); } | ||
| .file-tab:focus-visible::after { transform: scaleX(1); } | ||
| .file-tab.active { | ||
| color: var(--text-primary); background: var(--bg-base); | ||
| } | ||
| .file-tab.active::after { transform: scaleX(1); } | ||
| .file-tab .dot { | ||
| width: 7px; height: 7px; border-radius: 50%; | ||
| background: var(--accent); flex-shrink: 0; | ||
| box-shadow: 0 0 6px var(--accent-glow); | ||
| transition: opacity var(--transition-fast); | ||
| } | ||
| .file-tab:not(.active) .dot { opacity: 0; } | ||
| .file-tab .kbd { | ||
| font-family: var(--font-mono); | ||
| font-size: 9px; letter-spacing: 0.04em; | ||
| color: var(--text-tertiary); background: var(--bg-overlay); | ||
| padding: 2px 6px; border-radius: var(--radius-sm); | ||
| border: 1px solid var(--border-subtle); | ||
| transition: color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast); | ||
| } | ||
| .file-tab:hover .kbd { color: var(--text-secondary); background: rgba(255,255,255,0.06); } | ||
| .file-tab.active .kbd { color: var(--accent); background: var(--accent-dim); border-color: rgba(86,212,160,0.15); } | ||
| .spacer { flex: 1; } | ||
| /* ---- Hooks badge ---- */ | ||
| #hooks-badge { | ||
| display: flex; align-items: center; gap: 6px; | ||
| padding: 0 14px; | ||
| font-family: var(--font-mono); | ||
| font-size: 11px; color: var(--text-tertiary); cursor: pointer; | ||
| border-left: 1px solid var(--border-subtle); | ||
| flex-shrink: 0; | ||
| transition: color var(--transition-fast), background var(--transition-fast); | ||
| position: relative; z-index: 200; | ||
| } | ||
| #hooks-badge:hover { color: var(--text-secondary); background: var(--bg-raised); } | ||
| #hooks-badge .hooks-icon { display: flex; align-items: center; opacity: 0.5; } | ||
| #hooks-badge:hover .hooks-icon { opacity: 0.8; } | ||
| #hooks-badge .hooks-count { | ||
| font-family: var(--font-mono); | ||
| font-size: 10px; font-weight: 500; | ||
| background: var(--bg-overlay); color: var(--text-secondary); | ||
| padding: 2px 7px; border-radius: 10px; | ||
| border: 1px solid var(--border-subtle); | ||
| min-width: 20px; text-align: center; | ||
| } | ||
| /* ---- Hooks tooltip ---- */ | ||
| #hooks-tooltip { | ||
| display: none; | ||
| position: fixed; | ||
| top: 42px; right: 12px; | ||
| background: var(--bg-raised); | ||
| border: 1px solid var(--border-medium); | ||
| border-radius: var(--radius-lg); padding: 6px 0; | ||
| min-width: 260px; z-index: 99999; | ||
| box-shadow: var(--shadow-popup); | ||
| font-size: 12px; | ||
| backdrop-filter: blur(12px); | ||
| animation: tooltipIn 0.15s ease-out; | ||
| } | ||
| @keyframes tooltipIn { | ||
| from { opacity: 0; transform: translateY(-4px); } | ||
| to { opacity: 1; transform: translateY(0); } | ||
| } | ||
| #hooks-tooltip.visible { display: block; } | ||
| #hooks-tooltip .hook-row { | ||
| display: flex; align-items: center; | ||
| padding: 6px 14px; gap: 10px; | ||
| transition: background var(--transition-fast); | ||
| } | ||
| #hooks-tooltip .hook-row:hover { background: rgba(255,255,255,0.03); } | ||
| #hooks-tooltip .hook-event { | ||
| font-family: var(--font-mono); | ||
| font-size: 10px; font-weight: 500; | ||
| color: var(--accent); background: var(--accent-dim); | ||
| padding: 2px 7px; border-radius: var(--radius-sm); white-space: nowrap; | ||
| } | ||
| #hooks-tooltip .hook-name { | ||
| font-family: var(--font-mono); | ||
| color: var(--text-secondary); white-space: nowrap; font-size: 12px; | ||
| } | ||
| #hooks-tooltip .hook-none { | ||
| font-family: var(--font-sans); | ||
| padding: 8px 14px; color: var(--text-tertiary); font-style: italic; font-size: 12px; | ||
| } | ||
| /* ---- Status ---- */ | ||
| #status { | ||
| display: flex; align-items: center; gap: 7px; | ||
| padding: 0 16px; | ||
| font-family: var(--font-mono); | ||
| font-size: 11px; color: var(--accent); white-space: nowrap; | ||
| letter-spacing: 0.02em; | ||
| flex-shrink: 0; | ||
| } | ||
| #status .status-dot { | ||
| width: 6px; height: 6px; border-radius: 50%; | ||
| background: var(--accent); | ||
| box-shadow: 0 0 8px var(--accent-glow); | ||
| animation: pulse 2s ease-in-out infinite; | ||
| } | ||
| @keyframes pulse { | ||
| 0%, 100% { opacity: 1; transform: scale(1); } | ||
| 50% { opacity: 0.5; transform: scale(0.85); } | ||
| } | ||
| #status.error { color: #f47067; } | ||
| #status.error .status-dot { background: #f47067; box-shadow: 0 0 8px rgba(244,112,103,0.3); animation: none; } | ||
| #status.loading { color: var(--text-tertiary); } | ||
| #status.loading .status-dot { background: var(--text-tertiary); box-shadow: none; animation: pulse 1s ease-in-out infinite; } | ||
| /* ---- Formula bar ---- */ | ||
| #formula-bar { | ||
| display: flex; align-items: center; | ||
| background: var(--bg-surface); | ||
| border-bottom: 1px solid var(--border-subtle); | ||
| height: 26px; | ||
| } | ||
| #cell-ref { | ||
| width: 88px; padding: 4px 10px; | ||
| border-right: 1px solid var(--border-subtle); | ||
| font-size: 12px; font-family: var(--font-mono); | ||
| color: var(--accent); background: var(--bg-raised); text-align: center; | ||
| font-weight: 500; letter-spacing: 0.02em; | ||
| } | ||
| #fx-label { | ||
| padding: 0 10px; color: var(--text-tertiary); | ||
| font-style: italic; font-size: 12px; | ||
| font-family: var(--font-mono); | ||
| } | ||
| #formula-input { | ||
| flex: 1; height: 100%; border: none; outline: none; | ||
| padding: 0 10px; font-size: 12px; | ||
| font-family: var(--font-mono); | ||
| color: var(--text-primary); | ||
| background: var(--bg-base); | ||
| } | ||
| #ss { width: 100%; } | ||
| /* ---- Empty state ---- */ | ||
| #empty-state { | ||
| display: flex; flex-direction: column; align-items: center; | ||
| justify-content: center; height: calc(100vh - 34px); | ||
| color: var(--text-tertiary); font-size: 14px; gap: 6px; | ||
| animation: fadeIn 0.4s ease-out; | ||
| } | ||
| @keyframes fadeIn { | ||
| from { opacity: 0; transform: translateY(8px); } | ||
| to { opacity: 1; transform: translateY(0); } | ||
| } | ||
| #empty-state .empty-icon { | ||
| width: 64px; height: 64px; margin-bottom: 12px; | ||
| border-radius: 16px; | ||
| background: var(--bg-raised); | ||
| border: 1px solid var(--border-subtle); | ||
| display: flex; align-items: center; justify-content: center; | ||
| } | ||
| #empty-state .empty-icon svg { width: 28px; height: 28px; stroke: var(--text-tertiary); } | ||
| #empty-state .empty-title { | ||
| font-family: var(--font-mono); | ||
| font-size: 15px; font-weight: 500; | ||
| color: var(--text-secondary); | ||
| margin-top: 4px; | ||
| } | ||
| #empty-state .empty-desc { | ||
| font-family: var(--font-mono); | ||
| font-size: 13px; color: var(--text-tertiary); | ||
| margin-bottom: 4px; | ||
| } | ||
| #empty-state code { | ||
| font-family: var(--font-mono); | ||
| color: var(--accent); font-size: 12px; | ||
| background: var(--accent-dim); | ||
| padding: 6px 14px; border-radius: var(--radius-md); | ||
| border: 1px solid rgba(86,212,160,0.12); | ||
| letter-spacing: 0.02em; | ||
| } | ||
| </style> | ||
| </head> | ||
| <body> | ||
| <div id="toolbar"> | ||
| <div id="file-tabs"></div> | ||
| <div class="spacer"></div> | ||
| <div id="hooks-badge"> | ||
| <span class="hooks-icon"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></span> | ||
| <span>hooks</span> | ||
| <span class="hooks-count" id="hooks-count">\u2026</span> | ||
| </div> | ||
| <span id="status">loading\u2026</span> | ||
| </div> | ||
| <div id="formula-bar" style="display:none"> | ||
| <div id="cell-ref">A1</div> | ||
| <span id="fx-label">fx</span> | ||
| <input type="text" id="formula-input" readonly> | ||
| </div> | ||
| <div id="ss" style="display:none"></div> | ||
| <div id="hooks-tooltip"></div> | ||
| <div id="empty-state"> | ||
| <div class="empty-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M8 16V12"/><path d="M12 16V8"/><path d="M16 16v-2"/></svg></div> | ||
| <div>Waiting for files\u2026</div> | ||
| <div>Open a workbook in another terminal:</div> | ||
| <code>hsx get myfile.xlsx A1</code> | ||
| </div> | ||
| <script src="https://cdn.jsdelivr.net/npm/@grapecity/spread-sheets/dist/gc.spread.sheets.all.min.js"></script> | ||
| <script src="https://cdn.jsdelivr.net/npm/@grapecity/spread-excelio/dist/gc.spread.excelio.min.js"></script> | ||
| <script> | ||
| // --- Watermark suppression --- | ||
| (function(){ | ||
| var orig = CanvasRenderingContext2D.prototype.fillText; | ||
| CanvasRenderingContext2D.prototype.fillText = function(text){ | ||
| if (text && typeof text === 'string' && ( | ||
| text.includes('GrapeCity') || text.includes('MESCIUS') || | ||
| text.includes('EVALUATION') || text.includes('Powered') || | ||
| text.includes('deployment') || text.includes('grapecity.com') || | ||
| text.includes('mescius.com') || text.includes('Email us') || | ||
| text === 'Evaluation Version' | ||
| )) return; | ||
| return orig.apply(this, arguments); | ||
| }; | ||
| })(); | ||
| var FILES = ${fileListJSON}; | ||
| var activeFile = FILES[0] || null; | ||
| var spread = null; | ||
| var viewStates = {}; | ||
| var statusEl = document.getElementById('status'); | ||
| var cellRefEl = document.getElementById('cell-ref'); | ||
| var formulaInputEl = document.getElementById('formula-input'); | ||
| var tabsEl = document.getElementById('file-tabs'); | ||
| var formulaBarEl = document.getElementById('formula-bar'); | ||
| var ssEl = document.getElementById('ss'); | ||
| var emptyEl = document.getElementById('empty-state'); | ||
| function showSpread() { | ||
| emptyEl.style.display = 'none'; | ||
| formulaBarEl.style.display = 'flex'; | ||
| ssEl.style.display = 'block'; | ||
| if (!spread) initSpread(); | ||
| else { layoutSpread(); spread.refresh(); } | ||
| } | ||
| function showEmpty() { | ||
| emptyEl.style.display = 'flex'; | ||
| formulaBarEl.style.display = 'none'; | ||
| ssEl.style.display = 'none'; | ||
| } | ||
| function layoutSpread() { | ||
| ssEl.style.height = (window.innerHeight - 34 - 26) + 'px'; | ||
| } | ||
| // --- File tabs --- | ||
| function renderTabs() { | ||
| tabsEl.innerHTML = ''; | ||
| FILES.forEach(function(name, i) { | ||
| var tab = document.createElement('div'); | ||
| tab.className = 'file-tab' + (name === activeFile ? ' active' : ''); | ||
| tab.setAttribute('tabindex', name === activeFile ? '0' : '-1'); | ||
| tab.setAttribute('role', 'tab'); | ||
| tab.setAttribute('aria-selected', name === activeFile ? 'true' : 'false'); | ||
| tab.setAttribute('data-index', i); | ||
| tab.setAttribute('data-file', name); | ||
| var dot = document.createElement('span'); | ||
| dot.className = 'dot'; | ||
| tab.appendChild(dot); | ||
| tab.appendChild(document.createTextNode(name)); | ||
| // Keyboard shortcut badge | ||
| if (i < 9) { | ||
| var kbd = document.createElement('span'); | ||
| kbd.className = 'kbd'; | ||
| kbd.textContent = '\\u2303' + (i + 1); | ||
| tab.appendChild(kbd); | ||
| } | ||
| tab.onclick = function() { switchFile(name); }; | ||
| // Arrow key navigation within tablist | ||
| tab.onkeydown = function(e) { | ||
| var tabs = tabsEl.querySelectorAll('.file-tab'); | ||
| var idx = Number(tab.getAttribute('data-index')); | ||
| if (e.key === 'ArrowRight' || e.key === 'ArrowDown') { | ||
| e.preventDefault(); | ||
| var next = tabs[(idx + 1) % tabs.length]; | ||
| next.focus(); | ||
| } else if (e.key === 'ArrowLeft' || e.key === 'ArrowUp') { | ||
| e.preventDefault(); | ||
| var prev = tabs[(idx - 1 + tabs.length) % tabs.length]; | ||
| prev.focus(); | ||
| } else if (e.key === 'Enter' || e.key === ' ') { | ||
| e.preventDefault(); | ||
| switchFile(tab.getAttribute('data-file')); | ||
| } else if (e.key === 'Home') { | ||
| e.preventDefault(); | ||
| tabs[0].focus(); | ||
| } else if (e.key === 'End') { | ||
| e.preventDefault(); | ||
| tabs[tabs.length - 1].focus(); | ||
| } | ||
| }; | ||
| tabsEl.appendChild(tab); | ||
| }); | ||
| } | ||
| function switchFile(name) { | ||
| if (name === activeFile) return; | ||
| saveViewState(); | ||
| activeFile = name; | ||
| renderTabs(); | ||
| loadFile(name); | ||
| } | ||
| // --- Ctrl+N keyboard shortcuts --- | ||
| document.addEventListener('keydown', function(e) { | ||
| if ((e.ctrlKey || e.metaKey) && e.key >= '1' && e.key <= '9') { | ||
| var idx = parseInt(e.key, 10) - 1; | ||
| if (idx < FILES.length) { | ||
| e.preventDefault(); | ||
| switchFile(FILES[idx]); | ||
| var tabs = tabsEl.querySelectorAll('.file-tab'); | ||
| if (tabs[idx]) tabs[idx].focus(); | ||
| } | ||
| } | ||
| }); | ||
| // --- Col helper --- | ||
| function colLetter(col) { | ||
| var s = ''; | ||
| while (col >= 0) { s = String.fromCharCode((col % 26) + 65) + s; col = Math.floor(col / 26) - 1; } | ||
| return s; | ||
| } | ||
| // --- Formula bar --- | ||
| function updateFormulaBar() { | ||
| if (!spread) return; | ||
| var sheet = spread.getActiveSheet(); | ||
| var r = sheet.getActiveRowIndex(), c = sheet.getActiveColumnIndex(); | ||
| cellRefEl.textContent = colLetter(c) + (r + 1); | ||
| var f = sheet.getFormula(r, c); | ||
| formulaInputEl.value = f ? '=' + f : (sheet.getValue(r, c) ?? ''); | ||
| } | ||
| // --- View state --- | ||
| function saveViewState() { | ||
| if (!spread || !activeFile) return; | ||
| var sheet = spread.getActiveSheet(); | ||
| viewStates[activeFile] = { | ||
| sheetName: sheet.name(), | ||
| sheetIndex: spread.getActiveSheetIndex(), | ||
| row: sheet.getActiveRowIndex(), | ||
| col: sheet.getActiveColumnIndex(), | ||
| topRow: sheet.getViewportTopRow(1), | ||
| leftCol: sheet.getViewportLeftColumn(1), | ||
| sels: sheet.getSelections().map(function(s){ | ||
| return { row: s.row, col: s.col, rowCount: s.rowCount, colCount: s.colCount }; | ||
| }) | ||
| }; | ||
| } | ||
| function restoreViewState(state) { | ||
| if (!spread || !state) return; | ||
| var idx = spread.getSheetIndex(state.sheetName); | ||
| if (idx === -1) idx = Math.min(state.sheetIndex, spread.getSheetCount() - 1); | ||
| spread.setActiveSheetIndex(idx); | ||
| var sheet = spread.getActiveSheet(); | ||
| try { sheet.showRow(state.topRow, GC.Spread.Sheets.VerticalPosition.top); } catch(e){} | ||
| try { sheet.showColumn(state.leftCol, GC.Spread.Sheets.HorizontalPosition.left); } catch(e){} | ||
| if (state.sels && state.sels.length) { | ||
| sheet.clearSelection(); | ||
| state.sels.forEach(function(sel, i){ | ||
| if (i === 0) sheet.setSelection(sel.row, sel.col, sel.rowCount, sel.colCount); | ||
| else sheet.addSelection(sel.row, sel.col, sel.rowCount, sel.colCount); | ||
| }); | ||
| } | ||
| sheet.setActiveCell(state.row, state.col); | ||
| } | ||
| // --- SpreadJS init --- | ||
| function initSpread() { | ||
| layoutSpread(); | ||
| spread = new GC.Spread.Sheets.Workbook(ssEl); | ||
| spread.bind(GC.Spread.Sheets.Events.SelectionChanged, updateFormulaBar); | ||
| spread.bind(GC.Spread.Sheets.Events.ActiveSheetChanged, updateFormulaBar); | ||
| window.addEventListener('resize', function(){ | ||
| layoutSpread(); | ||
| spread.refresh(); | ||
| }); | ||
| } | ||
| // --- Load file --- | ||
| function loadFile(name) { | ||
| name = name || activeFile; | ||
| if (!name) return; | ||
| statusEl.textContent = 'loading\u2026'; | ||
| saveViewState(); | ||
| fetch('/file/' + encodeURIComponent(name) + '?t=' + Date.now()) | ||
| .then(function(r){ if (!r.ok) throw new Error(r.status); return r.blob(); }) | ||
| .then(function(blob){ | ||
| showSpread(); | ||
| var io = new GC.Spread.Excel.IO(); | ||
| io.open(blob, function(json){ | ||
| if (json.sheets) { | ||
| Object.values(json.sheets).forEach(function(s){ | ||
| s.rowCount = Math.max(s.rowCount || 0, 10000); | ||
| s.columnCount = Math.max(s.columnCount || 0, 500); | ||
| }); | ||
| } | ||
| spread.fromJSON(json); | ||
| restoreViewState(viewStates[name]); | ||
| spread.refresh(); | ||
| updateFormulaBar(); | ||
| statusEl.textContent = new Date().toLocaleTimeString(); | ||
| }, function(err){ | ||
| statusEl.textContent = 'error: ' + err; | ||
| }); | ||
| }) | ||
| .catch(function(e){ statusEl.textContent = 'error: ' + e.message; }); | ||
| } | ||
| // --- Hooks info --- | ||
| function loadHooksInfo() { | ||
| fetch('/hooks') | ||
| .then(function(r){ return r.json(); }) | ||
| .then(function(data){ | ||
| document.getElementById('hooks-count').textContent = data.total; | ||
| var tooltip = document.getElementById('hooks-tooltip'); | ||
| if (!data.hooks.length) { | ||
| tooltip.innerHTML = '<div class="hook-none">No hooks registered</div>'; | ||
| return; | ||
| } | ||
| tooltip.innerHTML = data.hooks.map(function(h){ | ||
| return '<div class="hook-row">' + | ||
| '<span class="hook-event">' + h.event + '</span>' + | ||
| '<span class="hook-name">' + h.name + '</span>' + | ||
| '</div>'; | ||
| }).join(''); | ||
| }) | ||
| .catch(function(){ }); | ||
| } | ||
| // --- Hooks tooltip toggle --- | ||
| (function(){ | ||
| var badge = document.getElementById('hooks-badge'); | ||
| var tooltip = document.getElementById('hooks-tooltip'); | ||
| badge.addEventListener('click', function(e){ | ||
| e.stopPropagation(); | ||
| tooltip.classList.toggle('visible'); | ||
| }); | ||
| document.addEventListener('click', function(){ | ||
| tooltip.classList.remove('visible'); | ||
| }); | ||
| tooltip.addEventListener('click', function(e){ e.stopPropagation(); }); | ||
| })(); | ||
| // --- SSE for live reload --- | ||
| function connectSSE() { | ||
| var es = new EventSource('/events'); | ||
| es.onopen = function() { statusEl.textContent = FILES.length ? 'watching' : 'waiting\u2026'; }; | ||
| es.onmessage = function(e) { | ||
| try { | ||
| var msg = JSON.parse(e.data); | ||
| if (msg.type === 'reload') { | ||
| if (!msg.file || msg.file === activeFile) loadFile(); | ||
| } | ||
| if (msg.type === 'files') { | ||
| FILES = msg.files; | ||
| renderTabs(); | ||
| // If we had no files and now we do, load the first | ||
| if (!activeFile && FILES.length) { | ||
| activeFile = FILES[0]; | ||
| renderTabs(); | ||
| loadFile(); | ||
| } | ||
| } | ||
| } catch(err) {} | ||
| }; | ||
| es.onerror = function() { | ||
| statusEl.textContent = 'reconnecting\u2026'; | ||
| }; | ||
| } | ||
| // --- Boot --- | ||
| requestAnimationFrame(function(){ | ||
| renderTabs(); | ||
| loadHooksInfo(); | ||
| if (FILES.length) { | ||
| loadFile(); | ||
| } else { | ||
| showEmpty(); | ||
| } | ||
| connectSSE(); | ||
| }); | ||
| </script> | ||
| </body> | ||
| </html>`; | ||
| } | ||
| // --------------------------------------------------------------------------- | ||
| // Watch server | ||
| // --------------------------------------------------------------------------- | ||
| export class WatchServer { | ||
| server; | ||
| sseClients = new Set(); | ||
| fileNames = []; // display names | ||
| fileMap = new Map(); // displayName → absPath | ||
| reverseMap = new Map(); // absPath → displayName | ||
| provider; | ||
| unsub = null; | ||
| constructor(provider) { | ||
| this.provider = provider; | ||
| this.syncFiles(provider.listFiles()); | ||
| this.server = createServer(this.handleHttp.bind(this)); | ||
| } | ||
| displayName(absPath) { | ||
| return basename(absPath); | ||
| } | ||
| syncFiles(absPaths) { | ||
| // Deduplicate display names | ||
| const counts = new Map(); | ||
| for (const p of absPaths) { | ||
| const n = this.displayName(p); | ||
| counts.set(n, (counts.get(n) ?? 0) + 1); | ||
| } | ||
| const newNames = []; | ||
| const newFileMap = new Map(); | ||
| const newReverseMap = new Map(); | ||
| for (const p of absPaths) { | ||
| let name = this.displayName(p); | ||
| if ((counts.get(name) ?? 0) > 1) | ||
| name = p; | ||
| newNames.push(name); | ||
| newFileMap.set(name, p); | ||
| newReverseMap.set(p, name); | ||
| } | ||
| const changed = JSON.stringify(newNames) !== JSON.stringify(this.fileNames); | ||
| this.fileNames = newNames; | ||
| this.fileMap = newFileMap; | ||
| this.reverseMap = newReverseMap; | ||
| return changed; | ||
| } | ||
| async start(port) { | ||
| // Subscribe to file events | ||
| this.unsub = this.provider.subscribe((event) => { | ||
| if (event.type === "opened") { | ||
| const files = this.provider.listFiles(); | ||
| if (this.syncFiles(files)) { | ||
| sseBroadcast(this.sseClients, JSON.stringify({ type: "files", files: this.fileNames })); | ||
| } | ||
| } | ||
| else if (event.type === "changed") { | ||
| const name = this.reverseMap.get(event.absPath); | ||
| if (name) { | ||
| sseBroadcast(this.sseClients, JSON.stringify({ type: "reload", file: name })); | ||
| } | ||
| } | ||
| }); | ||
| return new Promise((resolve, reject) => { | ||
| this.server.on("error", reject); | ||
| this.server.listen(port, () => { | ||
| const addr = this.server.address(); | ||
| const actualPort = typeof addr === "object" && addr ? addr.port : port; | ||
| resolve(actualPort); | ||
| }); | ||
| }); | ||
| } | ||
| stop() { | ||
| if (this.unsub) { | ||
| this.unsub(); | ||
| this.unsub = null; | ||
| } | ||
| for (const c of this.sseClients) { | ||
| try { | ||
| c.end(); | ||
| } | ||
| catch { } | ||
| } | ||
| this.sseClients.clear(); | ||
| this.provider.stop(); | ||
| this.server.close(); | ||
| } | ||
| handleHttp(req, res) { | ||
| const url = req.url ?? "/"; | ||
| if (url === "/events") { | ||
| sseConnect(res, this.sseClients); | ||
| return; | ||
| } | ||
| if (url === "/hooks") { | ||
| getHooksSummary() | ||
| .then((summary) => { | ||
| const body = Buffer.from(JSON.stringify(summary), "utf-8"); | ||
| res.writeHead(200, { | ||
| "Content-Type": "application/json", | ||
| "Content-Length": body.length, | ||
| "Cache-Control": "no-cache", | ||
| }); | ||
| res.end(body); | ||
| }) | ||
| .catch(() => { | ||
| res.writeHead(500); | ||
| res.end("Internal error"); | ||
| }); | ||
| return; | ||
| } | ||
| if (url === "/" || url === "/index.html") { | ||
| const html = buildViewerHTML(this.fileNames); | ||
| const body = Buffer.from(html, "utf-8"); | ||
| res.writeHead(200, { | ||
| "Content-Type": "text/html; charset=utf-8", | ||
| "Content-Length": body.length, | ||
| }); | ||
| res.end(body); | ||
| return; | ||
| } | ||
| if (url.startsWith("/file/")) { | ||
| const reqName = decodeURIComponent(url.slice(6).split("?")[0]); | ||
| const absPath = this.fileMap.get(reqName); | ||
| if (absPath) { | ||
| this.provider | ||
| .getBuffer(absPath) | ||
| .then((buf) => { | ||
| if (buf) { | ||
| res.writeHead(200, { | ||
| "Content-Type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", | ||
| "Content-Length": buf.length, | ||
| "Cache-Control": "no-cache", | ||
| }); | ||
| res.end(buf); | ||
| } | ||
| else { | ||
| res.writeHead(404); | ||
| res.end("Not found"); | ||
| } | ||
| }) | ||
| .catch(() => { | ||
| res.writeHead(500); | ||
| res.end("Internal error"); | ||
| }); | ||
| return; | ||
| } | ||
| res.writeHead(404); | ||
| res.end("Not found"); | ||
| return; | ||
| } | ||
| res.writeHead(404); | ||
| res.end("Not found"); | ||
| } | ||
| } | ||
| //# sourceMappingURL=watch-server.js.map |
| {"version":3,"file":"watch-server.js","sourceRoot":"","sources":["../../src/cli/watch-server.ts"],"names":[],"mappings":"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"} |
+159
| /** | ||
| * Extension hook system for headless-spreadjs. | ||
| * | ||
| * Hooks allow users to run custom code at specific points in the CLI workflow. | ||
| * Common use cases include: | ||
| * - Applying formatting conventions (e.g., financial modeling colors) | ||
| * - Setting workbook defaults (e.g., hiding gridlines) | ||
| * - Validation and linting before/after save | ||
| * - Logging and auditing tool invocations | ||
| * | ||
| * Discovery: | ||
| * Hooks are auto-discovered from these locations (TypeScript via jiti): | ||
| * 1. ./.headless-spreadjs/hooks/*.{ts,js,mjs} (project-local, takes precedence) | ||
| * 2. ~/.headless-spreadjs/hooks/*.{ts,js,mjs} (global fallback) | ||
| * | ||
| * Discovery can be disabled with HSX_NO_HOOKS=1. | ||
| * | ||
| * Hook Points: | ||
| * - onOpen: Called after a workbook is opened/created, before the command runs | ||
| * - preSave: Called before each save() operation | ||
| * - postSave: Called after each save() operation | ||
| * - preCommand: Called before each CLI command (no workbook context) | ||
| * - postCommand: Called after each CLI command (no workbook context) | ||
| * | ||
| * Every workbook hook receives a HookContext with both command info and workbook access: | ||
| * ctx.command — "get", "set", "eval", etc. | ||
| * ctx.args — remaining CLI args after the command | ||
| * ctx.filePath — resolved path to the workbook file | ||
| * ctx.file — ExcelFile instance | ||
| * ctx.workbook — SpreadJS Workbook instance | ||
| * ctx.GC — GC.Spread.Sheets namespace | ||
| * | ||
| * Hook files export a default function that receives a HookAPI instance: | ||
| * | ||
| * // .headless-spreadjs/hooks/defaults.ts | ||
| * import type { HookAPI, HookContext } from "@hewliyang/headless-spreadjs/hooks"; | ||
| * | ||
| * export default function (hsx: HookAPI) { | ||
| * hsx.on("onOpen", (ctx: HookContext) => { | ||
| * for (let i = 0; i < ctx.workbook.getSheetCount(); i++) { | ||
| * const sheet = ctx.workbook.getSheet(i); | ||
| * sheet.options.gridline = { | ||
| * showVerticalGridline: false, | ||
| * showHorizontalGridline: false, | ||
| * }; | ||
| * } | ||
| * }); | ||
| * | ||
| * hsx.on("preSave", (ctx: HookContext) => { | ||
| * const sheet = ctx.workbook.getActiveSheet(); | ||
| * const rowCount = sheet.getUsedRange().rowCount; | ||
| * for (let r = 0; r < rowCount; r++) { | ||
| * const val = sheet.getValue(r, 0); | ||
| * if (typeof val === "number" && val < 0) { | ||
| * sheet.getCell(r, 0).foreColor("red"); | ||
| * } | ||
| * } | ||
| * console.log(`Formatted ${ctx.filePath} (command: ${ctx.command})`); | ||
| * }); | ||
| * } | ||
| * | ||
| * Output Configuration: | ||
| * Hook output is captured and prefixed. By default, output goes to stderr. | ||
| * | ||
| * hsx.on("preSave", { output: "stdout" }, (ctx) => { ... }); | ||
| * hsx.on("preSave", { output: "none" }, (ctx) => { ... }); | ||
| */ | ||
| import type { ExcelFile } from "./excel-file.js"; | ||
| import type { GCNamespace, SpreadWorkbook } from "./types.js"; | ||
| export interface MutatedRange { | ||
| /** Sheet name (undefined = active sheet at time of mutation) */ | ||
| sheet?: string; | ||
| startRow: number; | ||
| startCol: number; | ||
| endRow: number; | ||
| endCol: number; | ||
| } | ||
| export interface HookContext { | ||
| /** CLI command name (e.g. "get", "set", "eval", "create") */ | ||
| command: string; | ||
| /** CLI args after the command */ | ||
| args: string[]; | ||
| /** Resolved file path */ | ||
| filePath: string; | ||
| /** ExcelFile wrapper */ | ||
| file: ExcelFile; | ||
| /** SpreadJS Workbook instance — full API for reading/writing cells, styles, etc. */ | ||
| workbook: SpreadWorkbook; | ||
| /** GC.Spread.Sheets namespace */ | ||
| GC: GCNamespace; | ||
| /** Ranges mutated by the current command (empty for read-only commands or eval) */ | ||
| mutatedRanges: MutatedRange[]; | ||
| } | ||
| export type HookOutput = "stderr" | "stdout" | "none"; | ||
| export interface PreCommandContext { | ||
| /** CLI command name (e.g. "get", "set", "eval", "create") */ | ||
| command: string; | ||
| /** CLI args after the command */ | ||
| args: string[]; | ||
| } | ||
| export interface PostCommandContext extends PreCommandContext { | ||
| /** Error thrown during command execution, if any */ | ||
| error?: Error; | ||
| } | ||
| export type PreCommandFn = (ctx: PreCommandContext) => void | Promise<void>; | ||
| export type PostCommandFn = (ctx: PostCommandContext) => void | Promise<void>; | ||
| export type OnOpenFn = (ctx: HookContext) => void | Promise<void>; | ||
| export type PreSaveFn = (ctx: HookContext) => void | Promise<void>; | ||
| export type PostSaveFn = (ctx: HookContext) => void | Promise<void>; | ||
| export interface HookEntry<T> { | ||
| fn: T; | ||
| output: HookOutput; | ||
| } | ||
| interface HookOptions { | ||
| output?: HookOutput; | ||
| } | ||
| interface HookEventMap { | ||
| preCommand: PreCommandFn; | ||
| postCommand: PostCommandFn; | ||
| onOpen: OnOpenFn; | ||
| preSave: PreSaveFn; | ||
| postSave: PostSaveFn; | ||
| } | ||
| type HookEvent = keyof HookEventMap; | ||
| export interface HookRegistry { | ||
| preCommand: HookEntry<PreCommandFn>[]; | ||
| postCommand: HookEntry<PostCommandFn>[]; | ||
| onOpen: HookEntry<OnOpenFn>[]; | ||
| preSave: HookEntry<PreSaveFn>[]; | ||
| postSave: HookEntry<PostSaveFn>[]; | ||
| _discovered: boolean; | ||
| _discoveryErrors: string[]; | ||
| } | ||
| export interface HookAPI { | ||
| on<E extends HookEvent>(event: E, fn: HookEventMap[E]): void; | ||
| on<E extends HookEvent>(event: E, opts: HookOptions, fn: HookEventMap[E]): void; | ||
| } | ||
| /** Create a HookAPI instance for programmatic hook registration. */ | ||
| export declare function createHookAPI(): HookAPI; | ||
| type WriteFn = (data: string) => void; | ||
| export declare function setHookWriters(stdout: WriteFn, stderr: WriteFn): void; | ||
| export declare function runWithHooksDisabled<T>(disabled: boolean, fn: () => T | Promise<T>): T | Promise<T>; | ||
| interface CommandInfo { | ||
| command: string; | ||
| args: string[]; | ||
| } | ||
| export declare function setCurrentCommand(info: CommandInfo | null): void; | ||
| export declare function getCurrentCommand(): CommandInfo; | ||
| export declare function discoverHooks(): Promise<void>; | ||
| export declare function getRegistry(): Promise<HookRegistry>; | ||
| export declare function runPreCommandHooks(ctx: PreCommandContext): Promise<void>; | ||
| export declare function runPostCommandHooks(ctx: PostCommandContext): Promise<void>; | ||
| export declare function runOnOpenHooks(ctx: HookContext): Promise<boolean>; | ||
| export declare function runPreSaveHooks(ctx: HookContext): Promise<void>; | ||
| export declare function runPostSaveHooks(ctx: HookContext): Promise<void>; | ||
| export declare function clearHooks(): void; | ||
| export declare function getDiscoveryErrors(): string[]; | ||
| export {}; | ||
| //# sourceMappingURL=hooks.d.ts.map |
| {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"} |
+300
| /** | ||
| * Extension hook system for headless-spreadjs. | ||
| * | ||
| * Hooks allow users to run custom code at specific points in the CLI workflow. | ||
| * Common use cases include: | ||
| * - Applying formatting conventions (e.g., financial modeling colors) | ||
| * - Setting workbook defaults (e.g., hiding gridlines) | ||
| * - Validation and linting before/after save | ||
| * - Logging and auditing tool invocations | ||
| * | ||
| * Discovery: | ||
| * Hooks are auto-discovered from these locations (TypeScript via jiti): | ||
| * 1. ./.headless-spreadjs/hooks/*.{ts,js,mjs} (project-local, takes precedence) | ||
| * 2. ~/.headless-spreadjs/hooks/*.{ts,js,mjs} (global fallback) | ||
| * | ||
| * Discovery can be disabled with HSX_NO_HOOKS=1. | ||
| * | ||
| * Hook Points: | ||
| * - onOpen: Called after a workbook is opened/created, before the command runs | ||
| * - preSave: Called before each save() operation | ||
| * - postSave: Called after each save() operation | ||
| * - preCommand: Called before each CLI command (no workbook context) | ||
| * - postCommand: Called after each CLI command (no workbook context) | ||
| * | ||
| * Every workbook hook receives a HookContext with both command info and workbook access: | ||
| * ctx.command — "get", "set", "eval", etc. | ||
| * ctx.args — remaining CLI args after the command | ||
| * ctx.filePath — resolved path to the workbook file | ||
| * ctx.file — ExcelFile instance | ||
| * ctx.workbook — SpreadJS Workbook instance | ||
| * ctx.GC — GC.Spread.Sheets namespace | ||
| * | ||
| * Hook files export a default function that receives a HookAPI instance: | ||
| * | ||
| * // .headless-spreadjs/hooks/defaults.ts | ||
| * import type { HookAPI, HookContext } from "@hewliyang/headless-spreadjs/hooks"; | ||
| * | ||
| * export default function (hsx: HookAPI) { | ||
| * hsx.on("onOpen", (ctx: HookContext) => { | ||
| * for (let i = 0; i < ctx.workbook.getSheetCount(); i++) { | ||
| * const sheet = ctx.workbook.getSheet(i); | ||
| * sheet.options.gridline = { | ||
| * showVerticalGridline: false, | ||
| * showHorizontalGridline: false, | ||
| * }; | ||
| * } | ||
| * }); | ||
| * | ||
| * hsx.on("preSave", (ctx: HookContext) => { | ||
| * const sheet = ctx.workbook.getActiveSheet(); | ||
| * const rowCount = sheet.getUsedRange().rowCount; | ||
| * for (let r = 0; r < rowCount; r++) { | ||
| * const val = sheet.getValue(r, 0); | ||
| * if (typeof val === "number" && val < 0) { | ||
| * sheet.getCell(r, 0).foreColor("red"); | ||
| * } | ||
| * } | ||
| * console.log(`Formatted ${ctx.filePath} (command: ${ctx.command})`); | ||
| * }); | ||
| * } | ||
| * | ||
| * Output Configuration: | ||
| * Hook output is captured and prefixed. By default, output goes to stderr. | ||
| * | ||
| * hsx.on("preSave", { output: "stdout" }, (ctx) => { ... }); | ||
| * hsx.on("preSave", { output: "none" }, (ctx) => { ... }); | ||
| */ | ||
| import { AsyncLocalStorage } from "node:async_hooks"; | ||
| import { existsSync, readdirSync } from "node:fs"; | ||
| import { homedir } from "node:os"; | ||
| import { dirname, join, resolve } from "node:path"; | ||
| import { fileURLToPath } from "node:url"; | ||
| import { createJiti } from "jiti"; | ||
| const _registry = { | ||
| preCommand: [], | ||
| postCommand: [], | ||
| onOpen: [], | ||
| preSave: [], | ||
| postSave: [], | ||
| _discovered: false, | ||
| _discoveryErrors: [], | ||
| }; | ||
| const EMPTY_REGISTRY = { | ||
| preCommand: [], | ||
| postCommand: [], | ||
| onOpen: [], | ||
| preSave: [], | ||
| postSave: [], | ||
| _discovered: true, | ||
| _discoveryErrors: [], | ||
| }; | ||
| function _createHookAPI(registry) { | ||
| return { | ||
| on(event, fnOrOpts, maybeFn) { | ||
| const list = registry[event]; | ||
| if (typeof fnOrOpts === "function") { | ||
| list.push({ fn: fnOrOpts, output: "stderr" }); | ||
| } | ||
| else { | ||
| const opts = fnOrOpts; | ||
| if (!maybeFn || typeof maybeFn !== "function") { | ||
| throw new Error("hooks.on() requires a function argument."); | ||
| } | ||
| list.push({ fn: maybeFn, output: opts.output ?? "stderr" }); | ||
| } | ||
| }, | ||
| }; | ||
| } | ||
| /** Create a HookAPI instance for programmatic hook registration. */ | ||
| export function createHookAPI() { | ||
| return _createHookAPI(_registry); | ||
| } | ||
| let _writeStdout = (data) => process.stdout.write(data); | ||
| let _writeStderr = (data) => process.stderr.write(data); | ||
| export function setHookWriters(stdout, stderr) { | ||
| _writeStdout = stdout; | ||
| _writeStderr = stderr; | ||
| } | ||
| const hookStateStore = new AsyncLocalStorage(); | ||
| function hooksDisabled() { | ||
| return hookStateStore.getStore()?.disabled === true; | ||
| } | ||
| function hookDiscoveryDisabled() { | ||
| return process.env.HSX_NO_HOOKS === "1" || hooksDisabled(); | ||
| } | ||
| export function runWithHooksDisabled(disabled, fn) { | ||
| return hookStateStore.run({ disabled }, fn); | ||
| } | ||
| let _currentCommand = null; | ||
| export function setCurrentCommand(info) { | ||
| _currentCommand = info; | ||
| } | ||
| export function getCurrentCommand() { | ||
| return _currentCommand ?? { command: "", args: [] }; | ||
| } | ||
| // ============================================================================ | ||
| // Discovery | ||
| // ============================================================================ | ||
| const HOOK_EXTENSIONS = new Set([".ts", ".js", ".mjs"]); | ||
| function isHookFile(name) { | ||
| if (name.startsWith("_")) | ||
| return false; | ||
| for (const ext of HOOK_EXTENSIONS) { | ||
| if (name.endsWith(ext)) | ||
| return true; | ||
| } | ||
| return false; | ||
| } | ||
| function getAliases() { | ||
| const __dirname = dirname(fileURLToPath(import.meta.url)); | ||
| const distDir = __dirname; | ||
| return { | ||
| "@hewliyang/headless-spreadjs/hooks": join(distDir, "hooks.js"), | ||
| "@hewliyang/headless-spreadjs": join(distDir, "index.js"), | ||
| }; | ||
| } | ||
| async function loadHookFile(filePath) { | ||
| try { | ||
| const jiti = createJiti(import.meta.url, { | ||
| moduleCache: false, | ||
| alias: getAliases(), | ||
| }); | ||
| const mod = await jiti.import(filePath, { default: true }); | ||
| // Hook files export a default function that receives a HookAPI instance | ||
| const factory = typeof mod === "function" | ||
| ? mod | ||
| : mod && typeof mod.default === "function" | ||
| ? mod.default | ||
| : null; | ||
| if (factory) { | ||
| const api = _createHookAPI(_registry); | ||
| factory(api); | ||
| } | ||
| } | ||
| catch (err) { | ||
| const msg = `${filePath}: ${err instanceof Error ? err.message : String(err)}`; | ||
| _registry._discoveryErrors.push(msg); | ||
| } | ||
| } | ||
| async function loadHooksFromDir(dir) { | ||
| if (!existsSync(dir)) | ||
| return; | ||
| let entries; | ||
| try { | ||
| entries = readdirSync(dir).sort(); | ||
| } | ||
| catch { | ||
| return; | ||
| } | ||
| for (const entry of entries) { | ||
| if (isHookFile(entry)) { | ||
| await loadHookFile(join(dir, entry)); | ||
| } | ||
| } | ||
| } | ||
| export async function discoverHooks() { | ||
| if (_registry._discovered) | ||
| return; | ||
| _registry._discovered = true; | ||
| if (hookDiscoveryDisabled()) { | ||
| return; | ||
| } | ||
| const localDir = resolve(".headless-spreadjs/hooks"); | ||
| if (existsSync(localDir)) { | ||
| await loadHooksFromDir(localDir); | ||
| return; | ||
| } | ||
| const globalDir = join(homedir(), ".headless-spreadjs", "hooks"); | ||
| if (existsSync(globalDir)) { | ||
| await loadHooksFromDir(globalDir); | ||
| } | ||
| } | ||
| // ============================================================================ | ||
| // Hook Runners | ||
| // ============================================================================ | ||
| function getHookName(fn) { | ||
| if (typeof fn === "function" && fn.name) | ||
| return fn.name; | ||
| return "(anonymous)"; | ||
| } | ||
| async function runHookWithPrefix(fn, runFn, hookType, output) { | ||
| const hookName = getHookName(fn); | ||
| const prefix = `[${hookType}:${hookName}]`; | ||
| const origLog = console.log; | ||
| const origWarn = console.warn; | ||
| const origError = console.error; | ||
| const captured = []; | ||
| console.log = (...args) => captured.push(args.map(String).join(" ")); | ||
| console.warn = (...args) => captured.push(`[warn] ${args.map(String).join(" ")}`); | ||
| console.error = (...args) => captured.push(`[error] ${args.map(String).join(" ")}`); | ||
| try { | ||
| await runFn(); | ||
| } | ||
| finally { | ||
| console.log = origLog; | ||
| console.warn = origWarn; | ||
| console.error = origError; | ||
| } | ||
| if (output === "none" || captured.length === 0) | ||
| return; | ||
| const write = output === "stdout" ? _writeStdout : _writeStderr; | ||
| for (const line of captured) { | ||
| write(`${prefix} ${line}\n`); | ||
| } | ||
| } | ||
| export async function getRegistry() { | ||
| if (hooksDisabled()) { | ||
| return EMPTY_REGISTRY; | ||
| } | ||
| await discoverHooks(); | ||
| return _registry; | ||
| } | ||
| export async function runPreCommandHooks(ctx) { | ||
| const registry = await getRegistry(); | ||
| for (const entry of registry.preCommand) { | ||
| await runHookWithPrefix(entry.fn, () => entry.fn(ctx), "pre-command", entry.output); | ||
| } | ||
| } | ||
| export async function runPostCommandHooks(ctx) { | ||
| const registry = await getRegistry(); | ||
| for (const entry of registry.postCommand) { | ||
| await runHookWithPrefix(entry.fn, () => entry.fn(ctx), "post-command", entry.output); | ||
| } | ||
| } | ||
| export async function runOnOpenHooks(ctx) { | ||
| const registry = await getRegistry(); | ||
| for (const entry of registry.onOpen) { | ||
| await runHookWithPrefix(entry.fn, () => entry.fn(ctx), "on-open", entry.output); | ||
| } | ||
| return registry.onOpen.length > 0; | ||
| } | ||
| export async function runPreSaveHooks(ctx) { | ||
| const registry = await getRegistry(); | ||
| for (const entry of registry.preSave) { | ||
| await runHookWithPrefix(entry.fn, () => entry.fn(ctx), "pre-save", entry.output); | ||
| } | ||
| } | ||
| export async function runPostSaveHooks(ctx) { | ||
| const registry = await getRegistry(); | ||
| for (const entry of registry.postSave) { | ||
| await runHookWithPrefix(entry.fn, () => entry.fn(ctx), "post-save", entry.output); | ||
| } | ||
| } | ||
| // ============================================================================ | ||
| // Utilities | ||
| // ============================================================================ | ||
| export function clearHooks() { | ||
| _registry.preCommand.length = 0; | ||
| _registry.postCommand.length = 0; | ||
| _registry.onOpen.length = 0; | ||
| _registry.preSave.length = 0; | ||
| _registry.postSave.length = 0; | ||
| _registry._discovered = false; | ||
| _registry._discoveryErrors.length = 0; | ||
| _currentCommand = null; | ||
| } | ||
| export function getDiscoveryErrors() { | ||
| return [..._registry._discoveryErrors]; | ||
| } | ||
| //# sourceMappingURL=hooks.js.map |
| {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"} |
@@ -7,4 +7,4 @@ export type DaemonCommandResult = { | ||
| export declare function spawnDaemon(timeoutMs?: number): Promise<void>; | ||
| export declare function tryExistingDaemon(argv: string[], cwd: string, stdin?: string, timeoutMs?: number): Promise<DaemonCommandResult | null>; | ||
| export declare function tryDaemon(argv: string[], cwd: string, stdin?: string, timeoutMs?: number): Promise<DaemonCommandResult | null>; | ||
| export declare function tryExistingDaemon(argv: string[], cwd: string, stdin?: string, timeoutMs?: number, noHooks?: boolean): Promise<DaemonCommandResult | null>; | ||
| export declare function tryDaemon(argv: string[], cwd: string, stdin?: string, timeoutMs?: number, noHooks?: boolean): Promise<DaemonCommandResult | null>; | ||
| //# sourceMappingURL=client.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/cli/client.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAkDF,wBAAsB,WAAW,CAAC,SAAS,SAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC7E;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,SAAoB,GAC5B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAUrC;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,SAAoB,GAC5B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAsBrC"} | ||
| {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/cli/client.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAmDF,wBAAsB,WAAW,CAAC,SAAS,SAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC7E;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,SAAoB,EAC7B,OAAO,UAAQ,GACd,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAUrC;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,SAAoB,EAC7B,OAAO,UAAQ,GACd,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA4BrC"} |
@@ -15,6 +15,6 @@ import { spawn } from "node:child_process"; | ||
| } | ||
| async function sendCommand(socketPath, argv, cwd, stdin, timeoutMs = CLIENT_TIMEOUT_MS) { | ||
| async function sendCommand(socketPath, argv, cwd, stdin, timeoutMs = CLIENT_TIMEOUT_MS, noHooks = false) { | ||
| return new Promise((resolve, reject) => { | ||
| const socket = connect({ path: socketPath }, () => { | ||
| const request = JSON.stringify({ argv, cwd, stdin, timeoutMs }); | ||
| const request = JSON.stringify({ argv, cwd, stdin, timeoutMs, noHooks }); | ||
| socket.write(`${request}\n`); | ||
@@ -89,6 +89,6 @@ }); | ||
| } | ||
| export async function tryExistingDaemon(argv, cwd, stdin, timeoutMs = CLIENT_TIMEOUT_MS) { | ||
| export async function tryExistingDaemon(argv, cwd, stdin, timeoutMs = CLIENT_TIMEOUT_MS, noHooks = false) { | ||
| const socketPath = getSocketPath(); | ||
| try { | ||
| return await sendCommand(socketPath, argv, cwd, stdin, timeoutMs); | ||
| return await sendCommand(socketPath, argv, cwd, stdin, timeoutMs, noHooks); | ||
| } | ||
@@ -102,4 +102,4 @@ catch (err) { | ||
| } | ||
| export async function tryDaemon(argv, cwd, stdin, timeoutMs = CLIENT_TIMEOUT_MS) { | ||
| const existing = await tryExistingDaemon(argv, cwd, stdin, timeoutMs); | ||
| export async function tryDaemon(argv, cwd, stdin, timeoutMs = CLIENT_TIMEOUT_MS, noHooks = false) { | ||
| const existing = await tryExistingDaemon(argv, cwd, stdin, timeoutMs, noHooks); | ||
| if (existing) { | ||
@@ -116,3 +116,3 @@ return existing; | ||
| try { | ||
| return await sendCommand(socketPath, argv, cwd, stdin, timeoutMs); | ||
| return await sendCommand(socketPath, argv, cwd, stdin, timeoutMs, noHooks); | ||
| } | ||
@@ -119,0 +119,0 @@ catch (err) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/cli/client.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/cli/client.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"clear.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/clear.ts"],"names":[],"mappings":"AAIA,wBAAsB,KAAK,CACzB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,QAAQ,GAAG,QAAQ,GAAG,KAAgB,EACjD,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAiDf"} | ||
| {"version":3,"file":"clear.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/clear.ts"],"names":[],"mappings":"AAIA,wBAAsB,KAAK,CACzB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,QAAQ,GAAG,QAAQ,GAAG,KAAgB,EACjD,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAyDf"} |
@@ -6,3 +6,3 @@ import { parseRef, rangeDimensions } from "../a1.js"; | ||
| const parsed = parseRef(ref); | ||
| await withFile(filePath, ({ file, workbook, GC }) => { | ||
| await withFile(filePath, ({ file, workbook, GC, markMutated }) => { | ||
| const sheet = parsed.sheet | ||
@@ -24,2 +24,9 @@ ? workbook.getSheetFromName(parsed.sheet) | ||
| }); | ||
| markMutated({ | ||
| sheet: parsed.sheet ?? sheet.name(), | ||
| startRow: parsed.start.row, | ||
| startCol: parsed.start.col, | ||
| endRow: parsed.start.row + rows - 1, | ||
| endCol: parsed.start.col + cols - 1, | ||
| }); | ||
| ok({ cleared: ref, type: clearType }); | ||
@@ -26,0 +33,0 @@ }, { save: true, signal: options?.signal }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"clear.js","sourceRoot":"","sources":["../../../src/cli/commands/clear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,QAAgB,EAChB,GAAW,EACX,YAAyC,QAAQ,EACjD,OAAyC;IAEzC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE7B,MAAM,QAAQ,CACZ,QAAQ,EACR,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;YACxB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QAE9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,oBAAoB,MAAM,CAAC,KAAK,IAAI,UAAU,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CACtC,MAAM,CAAC,KAAK,CAAC,GAAG,EAChB,MAAM,CAAC,KAAK,CAAC,GAAG,EAChB,IAAI,EACJ,IAAI,CACL,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACd,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBAClD,KAAK,CAAC,KAAK,CACT,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,EACd,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAClC,CAAC;YACJ,CAAC;YACD,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBAClD,KAAK,CAAC,KAAK,CACT,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,EACd,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CACnC,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACxC,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACxC,CAAC;AACJ,CAAC"} | ||
| {"version":3,"file":"clear.js","sourceRoot":"","sources":["../../../src/cli/commands/clear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,QAAgB,EAChB,GAAW,EACX,YAAyC,QAAQ,EACjD,OAAyC;IAEzC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE7B,MAAM,QAAQ,CACZ,QAAQ,EACR,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;YACxB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QAE9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,oBAAoB,MAAM,CAAC,KAAK,IAAI,UAAU,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CACtC,MAAM,CAAC,KAAK,CAAC,GAAG,EAChB,MAAM,CAAC,KAAK,CAAC,GAAG,EAChB,IAAI,EACJ,IAAI,CACL,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACd,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBAClD,KAAK,CAAC,KAAK,CACT,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,EACd,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAClC,CAAC;YACJ,CAAC;YACD,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBAClD,KAAK,CAAC,KAAK,CACT,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,EACd,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CACnC,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC;YACV,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE;YACnC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG;YAC1B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG;YAC1B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC;YACnC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC;SACpC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACxC,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACxC,CAAC;AACJ,CAAC"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/copy.ts"],"names":[],"mappings":"AAKA,wBAAsB,IAAI,CACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAwDf"} | ||
| {"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/copy.ts"],"names":[],"mappings":"AAMA,wBAAsB,IAAI,CACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAsEf"} |
@@ -5,2 +5,3 @@ import { parseRef, rangeDimensions } from "../a1.js"; | ||
| import { fail, ok } from "../output.js"; | ||
| import { ensureSheetSize } from "../sheet-size.js"; | ||
| export async function copy(filePath, srcRef, dstRef, options) { | ||
@@ -10,3 +11,3 @@ const src = parseRef(srcRef); | ||
| const signal = options?.signal; | ||
| await withFile(filePath, ({ file, workbook }) => { | ||
| await withFile(filePath, ({ file, workbook, markMutated }) => { | ||
| const srcSheet = src.sheet | ||
@@ -24,2 +25,3 @@ ? workbook.getSheetFromName(src.sheet) | ||
| const { rows: dstRows, cols: dstCols } = rangeDimensions(dst); | ||
| ensureSheetSize(dstSheet, dst.start.row + dstRows, dst.start.col + dstCols); | ||
| file.batch(() => { | ||
@@ -50,2 +52,9 @@ for (let r = 0; r < dstRows; r++) { | ||
| }); | ||
| markMutated({ | ||
| sheet: dst.sheet ?? dstSheet.name(), | ||
| startRow: dst.start.row, | ||
| startCol: dst.start.col, | ||
| endRow: dst.start.row + dstRows - 1, | ||
| endCol: dst.start.col + dstCols - 1, | ||
| }); | ||
| ok({ | ||
@@ -52,0 +61,0 @@ source: srcRef, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../src/cli/commands/copy.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../src/cli/commands/copy.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/diff.ts"],"names":[],"mappings":"AA4IA,wBAAsB,IAAI,CACxB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACA,OAAO,CAAC,IAAI,CAAC,CA2Lf"} | ||
| {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/diff.ts"],"names":[],"mappings":"AAwKA,wBAAsB,IAAI,CACxB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACA,OAAO,CAAC,IAAI,CAAC,CA+Of"} |
@@ -55,2 +55,23 @@ import fs from "node:fs"; | ||
| } | ||
| function getUsedRange(sheet) { | ||
| try { | ||
| return sheet.getUsedRange(USED_RANGE_TYPE_DATA_FORMULA); | ||
| } | ||
| catch { | ||
| return null; | ||
| } | ||
| } | ||
| function hasContent(value, formula) { | ||
| return !!formula || (value !== null && value !== undefined && value !== ""); | ||
| } | ||
| function sameUsedRange(left, right) { | ||
| return !!(left && | ||
| right && | ||
| left.row === right.row && | ||
| left.col === right.col && | ||
| left.rowCount === right.rowCount && | ||
| left.colCount === right.colCount && | ||
| left.rowCount > 0 && | ||
| left.colCount > 0); | ||
| } | ||
| const DEFAULT_NUMERIC_EPSILON = 1e-8; | ||
@@ -161,2 +182,42 @@ function numbersNearlyEqual(a, b, epsilon) { | ||
| const rightSheet = rightWorkbook.getSheetFromName(sheetName); | ||
| const leftUsedRange = leftSheet ? getUsedRange(leftSheet) : null; | ||
| const rightUsedRange = rightSheet ? getUsedRange(rightSheet) : null; | ||
| if (leftSheet && | ||
| rightSheet && | ||
| sameUsedRange(leftUsedRange, rightUsedRange)) { | ||
| const rowEnd = leftUsedRange.row + leftUsedRange.rowCount; | ||
| const colEnd = leftUsedRange.col + leftUsedRange.colCount; | ||
| for (let row = leftUsedRange.row; row < rowEnd; row++) { | ||
| throwIfAborted(signal); | ||
| for (let col = leftUsedRange.col; col < colEnd; col++) { | ||
| const leftValue = leftSheet.getValue(row, col); | ||
| const leftFormula = leftSheet.getFormula(row, col); | ||
| const rightValue = rightSheet.getValue(row, col); | ||
| const rightFormula = rightSheet.getFormula(row, col); | ||
| if (!hasContent(leftValue, leftFormula) && | ||
| !hasContent(rightValue, rightFormula)) { | ||
| continue; | ||
| } | ||
| comparedCells++; | ||
| const sameFormula = (leftFormula || null) === (rightFormula || null); | ||
| const sameValue = valuesEqual(leftValue, rightValue, epsilon); | ||
| if (sameFormula && sameValue) { | ||
| continue; | ||
| } | ||
| recordDiff({ | ||
| sheet: sheetName, | ||
| cell: cellToA1(row, col), | ||
| left: { | ||
| value: leftValue ?? null, | ||
| formula: leftFormula || null, | ||
| }, | ||
| right: { | ||
| value: rightValue ?? null, | ||
| formula: rightFormula || null, | ||
| }, | ||
| }); | ||
| } | ||
| } | ||
| continue; | ||
| } | ||
| const leftCells = leftSheet | ||
@@ -163,0 +224,0 @@ ? collectUsedCells(leftSheet, signal) |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/cli/commands/diff.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/cli/commands/diff.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/eval.ts"],"names":[],"mappings":"AAKA,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAwFf"} | ||
| {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/eval.ts"],"names":[],"mappings":"AAoMA,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAuFf"} |
| import { parseRef } from "../a1.js"; | ||
| import { withFile } from "../context.js"; | ||
| import { fail, ok, readInput } from "../output.js"; | ||
| import { ensureSheetSize, expandAllSheets } from "../sheet-size.js"; | ||
| import { ensureSheetSize } from "../sheet-size.js"; | ||
| function toIndex(value) { | ||
| return typeof value === "number" && Number.isInteger(value) && value >= 0 | ||
| ? value | ||
| : null; | ||
| } | ||
| function markCell(markMutated, sheetName, row, col) { | ||
| markMutated({ | ||
| sheet: sheetName, | ||
| startRow: row, | ||
| startCol: col, | ||
| endRow: row, | ||
| endCol: col, | ||
| }); | ||
| } | ||
| function markRect(markMutated, sheetName, row, col, rowCount, colCount) { | ||
| markMutated({ | ||
| sheet: sheetName, | ||
| startRow: row, | ||
| startCol: col, | ||
| endRow: row + rowCount - 1, | ||
| endCol: col + colCount - 1, | ||
| }); | ||
| } | ||
| function wrapSheet(sheet, markMutated) { | ||
| const proxy = new Proxy(sheet, { | ||
| get(target, prop, receiver) { | ||
| const value = Reflect.get(target, prop, receiver); | ||
| if (typeof value !== "function") | ||
| return value; | ||
| return (...args) => { | ||
| const sheetName = target.name(); | ||
| switch (prop) { | ||
| case "setValue": | ||
| case "setFormula": | ||
| case "setStyle": | ||
| case "setText": | ||
| case "setTag": { | ||
| const row = toIndex(args[0]); | ||
| const col = toIndex(args[1]); | ||
| if (row !== null && col !== null) { | ||
| ensureSheetSize(target, row + 1, col + 1); | ||
| markCell(markMutated, sheetName, row, col); | ||
| } | ||
| break; | ||
| } | ||
| case "getValue": | ||
| case "getFormula": | ||
| case "getStyle": | ||
| case "getText": | ||
| case "getTag": | ||
| case "getCell": { | ||
| const row = toIndex(args[0]); | ||
| const col = toIndex(args[1]); | ||
| if (row !== null && col !== null) { | ||
| ensureSheetSize(target, row + 1, col + 1); | ||
| } | ||
| break; | ||
| } | ||
| case "getRange": | ||
| case "clear": { | ||
| const row = toIndex(args[0]); | ||
| const col = toIndex(args[1]); | ||
| const rowCount = toIndex(args[2]); | ||
| const colCount = toIndex(args[3]); | ||
| if (row !== null && | ||
| col !== null && | ||
| rowCount !== null && | ||
| colCount !== null && | ||
| rowCount > 0 && | ||
| colCount > 0) { | ||
| ensureSheetSize(target, row + rowCount, col + colCount); | ||
| if (prop === "clear") { | ||
| markRect(markMutated, sheetName, row, col, rowCount, colCount); | ||
| } | ||
| } | ||
| break; | ||
| } | ||
| case "copyTo": { | ||
| const dstRow = toIndex(args[2]); | ||
| const dstCol = toIndex(args[3]); | ||
| const rowCount = toIndex(args[4]); | ||
| const colCount = toIndex(args[5]); | ||
| if (dstRow !== null && | ||
| dstCol !== null && | ||
| rowCount !== null && | ||
| colCount !== null && | ||
| rowCount > 0 && | ||
| colCount > 0) { | ||
| ensureSheetSize(target, dstRow + rowCount, dstCol + colCount); | ||
| markRect(markMutated, sheetName, dstRow, dstCol, rowCount, colCount); | ||
| } | ||
| break; | ||
| } | ||
| case "setArray": { | ||
| const row = toIndex(args[0]); | ||
| const col = toIndex(args[1]); | ||
| const values = args[2]; | ||
| if (row !== null && col !== null && Array.isArray(values)) { | ||
| const rowCount = values.length; | ||
| const colCount = values.reduce((max, item) => Array.isArray(item) ? Math.max(max, item.length) : max, 0); | ||
| if (rowCount > 0 && colCount > 0) { | ||
| ensureSheetSize(target, row + rowCount, col + colCount); | ||
| markRect(markMutated, sheetName, row, col, rowCount, colCount); | ||
| } | ||
| } | ||
| break; | ||
| } | ||
| } | ||
| return value.apply(target, args); | ||
| }; | ||
| }, | ||
| }); | ||
| return proxy; | ||
| } | ||
| function wrapWorkbook(workbook, markMutated) { | ||
| const sheetCache = new WeakMap(); | ||
| const getWrappedSheet = (sheet) => { | ||
| if (!sheet || typeof sheet !== "object") | ||
| return sheet; | ||
| const cached = sheetCache.get(sheet); | ||
| if (cached) | ||
| return cached; | ||
| const wrapped = wrapSheet(sheet, markMutated); | ||
| sheetCache.set(sheet, wrapped); | ||
| return wrapped; | ||
| }; | ||
| return new Proxy(workbook, { | ||
| get(target, prop, receiver) { | ||
| const value = Reflect.get(target, prop, receiver); | ||
| if (typeof value !== "function") | ||
| return value; | ||
| if (prop === "getActiveSheet" || | ||
| prop === "getSheet" || | ||
| prop === "getSheetFromName") { | ||
| return (...args) => getWrappedSheet(value.apply(target, args)); | ||
| } | ||
| return (...args) => value.apply(target, args); | ||
| }, | ||
| }); | ||
| } | ||
| export async function evalCode(filePath, codeArg, options) { | ||
| const code = await readInput(codeArg); | ||
| await withFile(filePath, async ({ file, workbook, GC }) => { | ||
| expandAllSheets(workbook); | ||
| const sheet = workbook.getActiveSheet(); | ||
| await withFile(filePath, async ({ file, workbook, GC, markMutated }) => { | ||
| const wrappedWorkbook = wrapWorkbook(workbook, markMutated); | ||
| const sheet = wrappedWorkbook.getActiveSheet(); | ||
| const range = (ref) => { | ||
@@ -16,4 +156,4 @@ if (typeof ref !== "string" || ref.trim().length === 0) { | ||
| const targetSheet = parsed.sheet | ||
| ? workbook.getSheetFromName(parsed.sheet) | ||
| : workbook.getActiveSheet(); | ||
| ? wrappedWorkbook.getSheetFromName(parsed.sheet) | ||
| : wrappedWorkbook.getActiveSheet(); | ||
| if (!targetSheet) { | ||
@@ -30,3 +170,2 @@ throw new Error(`Sheet not found: ${parsed.sheet ?? "(active)"}`); | ||
| }; | ||
| // Capture console.log output | ||
| const logs = []; | ||
@@ -42,3 +181,3 @@ const origLog = console.log; | ||
| const fn = new AsyncFunction("workbook", "sheet", "GC", "file", "range", code); | ||
| const result = await fn(workbook, sheet, GC, file, range); | ||
| const result = await fn(wrappedWorkbook, sheet, GC, file, range); | ||
| const output = {}; | ||
@@ -45,0 +184,0 @@ if (result !== undefined) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../../src/cli/commands/eval.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../../src/cli/commands/eval.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/search.ts"],"names":[],"mappings":"AAYA,wBAAsB,MAAM,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B,GACA,OAAO,CAAC,IAAI,CAAC,CAgFf"} | ||
| {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/search.ts"],"names":[],"mappings":"AAYA,wBAAsB,MAAM,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B,GACA,OAAO,CAAC,IAAI,CAAC,CAoFf"} |
@@ -10,2 +10,3 @@ import { cellToA1 } from "../a1.js"; | ||
| const max = options.maxResults ?? 500; | ||
| const lowerTerm = options.matchCase ? term : term.toLowerCase(); | ||
| const pattern = options.regex | ||
@@ -41,4 +42,5 @@ ? new RegExp(term, options.matchCase ? "" : "i") | ||
| const value = ws.getValue(r, c); | ||
| const formula = ws.getFormula(r, c); | ||
| let formula = null; | ||
| if (value === null || value === undefined) { | ||
| formula = ws.getFormula(r, c); | ||
| if (!formula) | ||
@@ -56,6 +58,7 @@ continue; | ||
| else { | ||
| isMatch = text.toLowerCase().includes(term.toLowerCase()); | ||
| isMatch = text.toLowerCase().includes(lowerTerm); | ||
| } | ||
| if (!isMatch) | ||
| continue; | ||
| formula ??= ws.getFormula(r, c); | ||
| matches.push({ | ||
@@ -62,0 +65,0 @@ sheet: sheetName, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/cli/commands/search.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/cli/commands/search.ts"],"names":[],"mappings":"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"} |
| export declare function set(filePath: string, ref: string, jsonArg: string | undefined, options?: { | ||
| signal?: AbortSignal | null; | ||
| copyTo?: string; | ||
| }): Promise<void>; | ||
| //# sourceMappingURL=set.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/set.ts"],"names":[],"mappings":"AA0BA,wBAAsB,GAAG,CACvB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CA4Hf"} | ||
| {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/set.ts"],"names":[],"mappings":"AA0BA,wBAAsB,GAAG,CACvB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD,OAAO,CAAC,IAAI,CAAC,CAoSf"} |
+122
-14
@@ -20,2 +20,3 @@ import { cellToA1, parseRef, rangeDimensions } from "../a1.js"; | ||
| const signal = options?.signal; | ||
| const copyTo = options?.copyTo; | ||
| const input = await readInput(jsonArg); | ||
@@ -52,24 +53,20 @@ let cells; | ||
| const messages = []; | ||
| if (isSingleCellRef) { | ||
| target.end.row = target.start.row + dataRows - 1; | ||
| target.end.col = target.start.col + dataCols - 1; | ||
| target.end.row = target.start.row + dataRows - 1; | ||
| target.end.col = target.start.col + dataCols - 1; | ||
| if (!isSingleCellRef) { | ||
| const rowDiff = dataRows - originalRows; | ||
| const colDiff = dataCols - originalCols; | ||
| if (rowDiff !== 0 || colDiff !== 0) { | ||
| messages.push(`Adjusted range from ${formatRange(parsed)} to ${formatRange(target)} (row diff: ${rowDiff}, col diff: ${colDiff})`); | ||
| messages.push(`Warning: data dimensions (${dataRows}R×${dataCols}C) differ from range (${originalRows}R×${originalCols}C). Adjusted range from ${formatRange(parsed)} to ${formatRange(target)}.`); | ||
| } | ||
| } | ||
| else { | ||
| if (dataRows !== originalRows) { | ||
| throw new Error(`Row count mismatch: range has ${originalRows} rows but got ${dataRows} rows.`); | ||
| const rowDiff = dataRows - originalRows; | ||
| const colDiff = dataCols - originalCols; | ||
| if (rowDiff !== 0 || colDiff !== 0) { | ||
| messages.push(`Adjusted range from ${formatRange(parsed)} to ${formatRange(target)} (row diff: ${rowDiff}, col diff: ${colDiff})`); | ||
| } | ||
| for (let r = 0; r < dataRows; r++) { | ||
| throwIfAborted(signal); | ||
| if (cells[r].length !== originalCols) { | ||
| throw new Error(`Column count mismatch in row ${r}: range has ${originalCols} cols but got ${cells[r].length} cols.`); | ||
| } | ||
| } | ||
| } | ||
| const { rows, cols } = rangeDimensions(target); | ||
| await withFile(filePath, ({ file, workbook, GC }) => { | ||
| await withFile(filePath, ({ file, workbook, GC, markMutated }) => { | ||
| const sheet = target.sheet | ||
@@ -82,4 +79,5 @@ ? workbook.getSheetFromName(target.sheet) | ||
| let written = 0; | ||
| ensureSheetSize(sheet, target.end.row + 1, target.end.col + 1); | ||
| let copiedRange; | ||
| file.batch(() => { | ||
| ensureSheetSize(sheet, target.end.row + 1, target.end.col + 1); | ||
| for (let r = 0; r < rows; r++) { | ||
@@ -110,3 +108,112 @@ throwIfAborted(signal); | ||
| } | ||
| if (copyTo) { | ||
| const copyDst = parseRef(copyTo); | ||
| const dstSheet = copyDst.sheet | ||
| ? workbook.getSheetFromName(copyDst.sheet) | ||
| : sheet; | ||
| if (!dstSheet) { | ||
| throw new Error(`Copy-to sheet not found: ${copyDst.sheet ?? "(active)"}`); | ||
| } | ||
| const srcRows = rows; | ||
| const srcCols = cols; | ||
| const { rows: dstRows, cols: dstCols } = rangeDimensions(copyDst); | ||
| ensureSheetSize(dstSheet, copyDst.end.row + 1, copyDst.end.col + 1); | ||
| const CopyToOptions = GC.Spread.Sheets.CopyToOptions; | ||
| const SheetArea = GC.Spread.Sheets.SheetArea; | ||
| const StorageType = GC.Spread.Sheets.StorageType; | ||
| const needsCrossSheetCopy = sheet !== dstSheet; | ||
| const sameSheetOverlap = !needsCrossSheetCopy && | ||
| target.start.row <= copyDst.end.row && | ||
| copyDst.start.row <= target.end.row && | ||
| target.start.col <= copyDst.end.col && | ||
| copyDst.start.col <= target.end.col; | ||
| const needsHelper = needsCrossSheetCopy || sameSheetOverlap; | ||
| const helperIndex = workbook.getSheetCount(); | ||
| const helperSheet = needsHelper | ||
| ? new GC.Spread.Sheets.Worksheet(`__hsx_copy_to_${Date.now().toString(36)}`) | ||
| : null; | ||
| if (helperSheet) { | ||
| workbook.addSheet(helperIndex, helperSheet); | ||
| ensureSheetSize(helperSheet, Math.max(target.end.row, copyDst.end.row) + 1, Math.max(target.end.col, copyDst.end.col) + 1); | ||
| } | ||
| try { | ||
| for (let r = 0; r < dstRows; r++) { | ||
| throwIfAborted(signal); | ||
| for (let c = 0; c < dstCols; c++) { | ||
| const sr = target.start.row + (r % srcRows); | ||
| const sc = target.start.col + (c % srcCols); | ||
| const dr = copyDst.start.row + r; | ||
| const dc = copyDst.start.col + c; | ||
| if (dr === sr && dc === sc && sheet === dstSheet) | ||
| continue; | ||
| if (!helperSheet) { | ||
| sheet.copyTo(sr, sc, dr, dc, 1, 1, CopyToOptions.all); | ||
| continue; | ||
| } | ||
| helperSheet.clear(sr, sc, 1, 1, SheetArea.viewport, StorageType.data); | ||
| helperSheet.clear(sr, sc, 1, 1, SheetArea.viewport, StorageType.style); | ||
| helperSheet.clear(dr, dc, 1, 1, SheetArea.viewport, StorageType.data); | ||
| helperSheet.clear(dr, dc, 1, 1, SheetArea.viewport, StorageType.style); | ||
| const formula = sheet.getFormula(sr, sc); | ||
| if (formula) { | ||
| helperSheet.setFormula(sr, sc, formula); | ||
| } | ||
| else { | ||
| const value = sheet.getValue(sr, sc); | ||
| if (value !== null && value !== undefined) { | ||
| helperSheet.setValue(sr, sc, value); | ||
| } | ||
| } | ||
| const style = sheet.getStyle(sr, sc); | ||
| if (style) { | ||
| helperSheet.setStyle(sr, sc, style); | ||
| } | ||
| if (dr !== sr || dc !== sc) { | ||
| helperSheet.copyTo(sr, sc, dr, dc, 1, 1, CopyToOptions.all); | ||
| } | ||
| const adjustedFormula = helperSheet.getFormula(dr, dc); | ||
| if (adjustedFormula) { | ||
| dstSheet.setFormula(dr, dc, adjustedFormula); | ||
| } | ||
| else { | ||
| const adjustedValue = helperSheet.getValue(dr, dc); | ||
| if (adjustedValue !== null && adjustedValue !== undefined) { | ||
| dstSheet.setValue(dr, dc, adjustedValue); | ||
| } | ||
| else { | ||
| dstSheet.clear(dr, dc, 1, 1, SheetArea.viewport, StorageType.data); | ||
| } | ||
| } | ||
| const adjustedStyle = helperSheet.getStyle(dr, dc); | ||
| if (adjustedStyle) { | ||
| dstSheet.setStyle(dr, dc, adjustedStyle); | ||
| } | ||
| else { | ||
| dstSheet.clear(dr, dc, 1, 1, SheetArea.viewport, StorageType.style); | ||
| } | ||
| } | ||
| } | ||
| } | ||
| finally { | ||
| if (helperSheet) { | ||
| workbook.removeSheet(helperIndex); | ||
| } | ||
| } | ||
| copiedRange = formatRange(copyDst); | ||
| markMutated({ | ||
| sheet: copyDst.sheet ?? dstSheet.name(), | ||
| startRow: copyDst.start.row, | ||
| startCol: copyDst.start.col, | ||
| endRow: copyDst.end.row, | ||
| endCol: copyDst.end.col, | ||
| }); | ||
| } | ||
| }); | ||
| markMutated({ | ||
| sheet: target.sheet ?? sheet.name(), | ||
| startRow: target.start.row, | ||
| startCol: target.start.col, | ||
| endRow: target.end.row, | ||
| endCol: target.end.col, | ||
| }); | ||
| ok({ | ||
@@ -116,2 +223,3 @@ success: true, | ||
| range: formatRange(target), | ||
| ...(copiedRange && { copiedTo: copiedRange }), | ||
| messages, | ||
@@ -118,0 +226,0 @@ }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/cli/commands/set.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/cli/commands/set.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sheet.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9D,wBAAsB,KAAK,CACzB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAiEf"} | ||
| {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sheet.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9D,wBAAsB,KAAK,CACzB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAgEf"} |
| import { throwIfAborted } from "../abort.js"; | ||
| import { withFile } from "../context.js"; | ||
| import { fail, ok } from "../output.js"; | ||
| import { EXCEL_MAX_COLS, EXCEL_MAX_ROWS, ensureSheetSize, } from "../sheet-size.js"; | ||
| export async function sheet(filePath, op, args, options) { | ||
@@ -25,3 +24,2 @@ const needsSave = op !== "list"; | ||
| const ws = new GC.Spread.Sheets.Worksheet(name); | ||
| ensureSheetSize(ws, EXCEL_MAX_ROWS, EXCEL_MAX_COLS); | ||
| workbook.addSheet(workbook.getSheetCount(), ws); | ||
@@ -28,0 +26,0 @@ }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"sheet.js","sourceRoot":"","sources":["../../../src/cli/commands/sheet.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"sheet.js","sourceRoot":"","sources":["../../../src/cli/commands/sheet.ts"],"names":[],"mappings":"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"} |
@@ -0,1 +1,2 @@ | ||
| import { type MutatedRange } from "../hooks.js"; | ||
| import { type ExcelFile } from "../index.js"; | ||
@@ -8,2 +9,3 @@ import type { GCNamespace, SpreadWorkbook } from "../types.js"; | ||
| GC: GCNamespace; | ||
| markMutated(range: MutatedRange): void; | ||
| } | ||
@@ -10,0 +12,0 @@ interface DaemonRuntime { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/cli/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAQ,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,EAAE,EAAE,WAAW,CAAC;CACjB;AAED,UAAU,aAAa;IACrB,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,SAAS,EAAE,SAAS,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B;AAID,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEhB;AAED,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAEvD;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACxC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,CAAC,CAAC,CAuBZ;AA0DD,wBAAsB,WAAW,CAAC,CAAC,EACjC,QAAQ,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACzC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GACxC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAsBxB"} | ||
| {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/cli/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,YAAY,EAIlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,SAAS,EAAQ,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,EAAE,EAAE,WAAW,CAAC;IAChB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;CACxC;AAED,UAAU,aAAa;IACrB,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,SAAS,EAAE,SAAS,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B;AAID,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEhB;AAED,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAEvD;AAkBD,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACxC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,CAAC,CAAC,CAmCZ;AAuED,wBAAsB,WAAW,CAAC,CAAC,EACjC,QAAQ,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACzC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GACxC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAgCxB"} |
+72
-23
| import { AsyncLocalStorage } from "node:async_hooks"; | ||
| import { resolve } from "node:path"; | ||
| import { getCurrentCommand, runOnOpenHooks, runPostSaveHooks, runPreSaveHooks, } from "../hooks.js"; | ||
| import { init } from "../index.js"; | ||
@@ -12,2 +13,12 @@ import { throwIfAborted } from "./abort.js"; | ||
| } | ||
| function createHookContext(filePath, file, GC, mutatedRanges) { | ||
| return { | ||
| ...getCurrentCommand(), | ||
| filePath, | ||
| file, | ||
| workbook: file.workbook, | ||
| GC, | ||
| mutatedRanges, | ||
| }; | ||
| } | ||
| export async function withFile(filePath, fn, options) { | ||
@@ -25,6 +36,16 @@ const signal = options?.signal; | ||
| throwIfAborted(signal); | ||
| const result = await fn({ file, workbook: file.workbook, GC }); | ||
| const mutatedRanges = []; | ||
| const hookCtx = createHookContext(filePath, file, GC, mutatedRanges); | ||
| await runOnOpenHooks(hookCtx); | ||
| const result = await fn({ | ||
| file, | ||
| workbook: file.workbook, | ||
| GC, | ||
| markMutated: (r) => mutatedRanges.push(r), | ||
| }); | ||
| if (options?.save) { | ||
| throwIfAborted(signal); | ||
| await runPreSaveHooks(hookCtx); | ||
| await file.save(filePath); | ||
| await runPostSaveHooks(hookCtx); | ||
| } | ||
@@ -41,2 +62,3 @@ return result; | ||
| const absPath = resolve(rt.cwd, filePath); | ||
| const wasDirty = rt.fileCache.isDirty(filePath, rt.cwd); | ||
| let cached = await rt.fileCache.get(filePath, rt.cwd); | ||
@@ -50,36 +72,43 @@ if (!cached) { | ||
| } | ||
| const wasDirty = rt.fileCache.isDirty(filePath, rt.cwd); | ||
| let result; | ||
| const mutatedRanges = []; | ||
| let shouldInvalidate = !wasDirty; | ||
| try { | ||
| const hookCtx = createHookContext(cached.absPath, cached.file, rt.GC, mutatedRanges); | ||
| const hooksRan = await runOnOpenHooks(hookCtx); | ||
| throwIfAborted(signal); | ||
| result = await fn({ | ||
| const result = await fn({ | ||
| file: cached.file, | ||
| workbook: cached.file.workbook, | ||
| GC: rt.GC, | ||
| markMutated: (r) => mutatedRanges.push(r), | ||
| }); | ||
| } | ||
| catch (err) { | ||
| if (!wasDirty) { | ||
| rt.fileCache.invalidate(filePath, rt.cwd); | ||
| } | ||
| throw err; | ||
| } | ||
| if (options?.save) { | ||
| throwIfAborted(signal); | ||
| if (rt.writeThrough) { | ||
| try { | ||
| if (options?.save) { | ||
| throwIfAborted(signal); | ||
| await runPreSaveHooks(hookCtx); | ||
| if (rt.writeThrough) { | ||
| shouldInvalidate = true; | ||
| await cached.file.save(cached.absPath); | ||
| throwIfAborted(signal); | ||
| await rt.fileCache.updateMtime(filePath, rt.cwd); | ||
| shouldInvalidate = false; | ||
| await runPostSaveHooks(hookCtx); | ||
| } | ||
| catch (err) { | ||
| rt.fileCache.invalidate(filePath, rt.cwd); | ||
| throw err; | ||
| else { | ||
| rt.fileCache.markDirty(filePath, rt.cwd); | ||
| shouldInvalidate = false; | ||
| await runPostSaveHooks(hookCtx); | ||
| } | ||
| } | ||
| else { | ||
| rt.fileCache.markDirty(filePath, rt.cwd); | ||
| else if (hooksRan) { | ||
| rt.fileCache.invalidate(filePath, rt.cwd); | ||
| } | ||
| shouldInvalidate = false; | ||
| return result; | ||
| } | ||
| return result; | ||
| catch (err) { | ||
| if (shouldInvalidate) { | ||
| rt.fileCache.invalidate(filePath, rt.cwd); | ||
| } | ||
| throw err; | ||
| } | ||
| } | ||
@@ -97,7 +126,17 @@ export async function withNewFile(filePath, fn, options) { | ||
| const file = new EF(); | ||
| const mutatedRanges = []; | ||
| const hookCtx = createHookContext(filePath, file, GC, mutatedRanges); | ||
| await runOnOpenHooks(hookCtx); | ||
| const result = fn | ||
| ? await fn({ file, workbook: file.workbook, GC }) | ||
| ? await fn({ | ||
| file, | ||
| workbook: file.workbook, | ||
| GC, | ||
| markMutated: (r) => mutatedRanges.push(r), | ||
| }) | ||
| : undefined; | ||
| throwIfAborted(signal); | ||
| await runPreSaveHooks(hookCtx); | ||
| await file.save(filePath); | ||
| await runPostSaveHooks(hookCtx); | ||
| return result; | ||
@@ -114,6 +153,15 @@ } | ||
| const file = new rt.ExcelFile(); | ||
| const mutatedRanges = []; | ||
| const hookCtx = createHookContext(absPath, file, rt.GC, mutatedRanges); | ||
| await runOnOpenHooks(hookCtx); | ||
| const result = fn | ||
| ? await fn({ file, workbook: file.workbook, GC: rt.GC }) | ||
| ? await fn({ | ||
| file, | ||
| workbook: file.workbook, | ||
| GC: rt.GC, | ||
| markMutated: (r) => mutatedRanges.push(r), | ||
| }) | ||
| : undefined; | ||
| throwIfAborted(signal); | ||
| await runPreSaveHooks(hookCtx); | ||
| await file.save(absPath); | ||
@@ -123,4 +171,5 @@ throwIfAborted(signal); | ||
| await rt.fileCache.updateMtime(filePath, rt.cwd); | ||
| await runPostSaveHooks(hookCtx); | ||
| return result; | ||
| } | ||
| //# sourceMappingURL=context.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/cli/context.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/cli/context.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,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"} | ||
| {"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"} |
+232
-67
@@ -0,11 +1,17 @@ | ||
| import { spawn } from "node:child_process"; | ||
| import { existsSync, unlinkSync } from "node:fs"; | ||
| import { createRequire } from "node:module"; | ||
| import { connect, createServer } from "node:net"; | ||
| import { homedir } from "node:os"; | ||
| import { join } from "node:path"; | ||
| import { dirname, join } from "node:path"; | ||
| import { fileURLToPath } from "node:url"; | ||
| import { runWithHooksDisabled, setHookWriters } from "../hooks.js"; | ||
| import { dispose as disposeRuntime, init } from "../index.js"; | ||
| import { registerSignalTimeout, throwIfAborted } from "./abort.js"; | ||
| import { DaemonProvider } from "./commands/watch.js"; | ||
| import { runWithDaemonRuntime } from "./context.js"; | ||
| import { dispatch } from "./dispatch.js"; | ||
| import { FileCache } from "./file-cache.js"; | ||
| import { createIoContext, runWithIo } from "./output.js"; | ||
| import { createIoContext, runWithIo, writeStderr, writeStdout, } from "./output.js"; | ||
| import { WatchServer } from "./watch-server.js"; | ||
| function envEnabled(value) { | ||
@@ -22,3 +28,3 @@ if (!value) | ||
| } | ||
| const IDLE_TIMEOUT_MS = 5 * 60 * 1000; | ||
| const IDLE_TIMEOUT_MS = 60 * 60 * 1000; | ||
| const AUTO_FLUSH_INTERVAL_MS = envPositiveInt(process.env.HSX_AUTO_FLUSH_MS, 5_000); | ||
@@ -63,2 +69,87 @@ const DEFAULT_CACHE_SIZE = 10; | ||
| } | ||
| function getCliSpawnSpec() { | ||
| const thisFile = fileURLToPath(import.meta.url); | ||
| const dir = dirname(thisFile); | ||
| if (thisFile.endsWith(".ts")) { | ||
| const require = createRequire(import.meta.url); | ||
| const tsxCli = require.resolve("tsx/cli"); | ||
| return { | ||
| command: process.execPath, | ||
| args: [tsxCli, join(dir, "index.ts")], | ||
| }; | ||
| } | ||
| return { | ||
| command: process.execPath, | ||
| args: [join(dir, "index.js")], | ||
| }; | ||
| } | ||
| async function runIsolatedCli(request, signal) { | ||
| return new Promise((resolve, reject) => { | ||
| const spawnSpec = getCliSpawnSpec(); | ||
| const globalFlags = ["--no-daemon"]; | ||
| if (request.noHooks) | ||
| globalFlags.push("--no-hooks"); | ||
| const child = spawn(spawnSpec.command, [...spawnSpec.args, ...globalFlags, ...request.argv], { | ||
| cwd: request.cwd, | ||
| env: { ...process.env }, | ||
| stdio: ["pipe", "pipe", "pipe"], | ||
| }); | ||
| let stdout = ""; | ||
| let stderr = ""; | ||
| let settled = false; | ||
| let killTimer = null; | ||
| let aborted = false; | ||
| const cleanup = () => { | ||
| if (killTimer) | ||
| clearTimeout(killTimer); | ||
| signal.removeEventListener("abort", onAbort); | ||
| }; | ||
| const finish = (fn) => { | ||
| if (settled) | ||
| return; | ||
| settled = true; | ||
| cleanup(); | ||
| fn(); | ||
| }; | ||
| const onAbort = () => { | ||
| aborted = true; | ||
| child.kill("SIGTERM"); | ||
| killTimer = setTimeout(() => { | ||
| child.kill("SIGKILL"); | ||
| }, 250); | ||
| }; | ||
| if (signal.aborted) { | ||
| onAbort(); | ||
| } | ||
| else { | ||
| signal.addEventListener("abort", onAbort, { once: true }); | ||
| } | ||
| child.stdout.on("data", (chunk) => { | ||
| stdout += chunk.toString(); | ||
| }); | ||
| child.stderr.on("data", (chunk) => { | ||
| stderr += chunk.toString(); | ||
| }); | ||
| child.on("error", (err) => { | ||
| finish(() => reject(err)); | ||
| }); | ||
| child.on("exit", (code, sig) => { | ||
| finish(() => { | ||
| if (aborted) { | ||
| reject(signal.reason instanceof Error | ||
| ? signal.reason | ||
| : new Error(`Eval aborted${sig ? ` (${sig})` : code !== null ? ` (exit ${code})` : ""}`)); | ||
| return; | ||
| } | ||
| resolve({ stdout, stderr, exitCode: code ?? 1 }); | ||
| }); | ||
| }); | ||
| if (request.stdin !== undefined) { | ||
| child.stdin.end(request.stdin); | ||
| } | ||
| else { | ||
| child.stdin.end(); | ||
| } | ||
| }); | ||
| } | ||
| export async function startDaemon() { | ||
@@ -76,2 +167,3 @@ const socketPath = getSocketPath(); | ||
| } | ||
| setHookWriters((data) => writeStdout(data), (data) => writeStderr(data)); | ||
| const { GC, ExcelFile } = await init(); | ||
@@ -83,2 +175,4 @@ const cacheSize = envPositiveInt(process.env.HSX_CACHE_SIZE, DEFAULT_CACHE_SIZE); | ||
| let activeConnections = 0; | ||
| let watchServer = null; | ||
| let watchServerPort = 0; | ||
| const server = createServer(handleConnection); | ||
@@ -109,2 +203,6 @@ function daemonLog(msg) { | ||
| clearInterval(autoFlushTimer); | ||
| if (watchServer) { | ||
| watchServer.stop(); | ||
| watchServer = null; | ||
| } | ||
| if (!options?.skipFlush) { | ||
@@ -161,75 +259,142 @@ try { | ||
| async function handleRequest(request, signal) { | ||
| try { | ||
| throwIfAborted(signal); | ||
| if (request.argv[0] === "daemon" && request.argv[1] === "stop") { | ||
| const flushed = await fileCache.flushDirty(); | ||
| if (flushed > 0) { | ||
| daemonLog(`flushed ${flushed} dirty file(s) before stop`); | ||
| return runWithHooksDisabled(Boolean(request.noHooks), async () => { | ||
| try { | ||
| throwIfAborted(signal); | ||
| if (request.argv[0] === "daemon" && request.argv[1] === "stop") { | ||
| const flushed = await fileCache.flushDirty(); | ||
| if (flushed > 0) { | ||
| daemonLog(`flushed ${flushed} dirty file(s) before stop`); | ||
| } | ||
| return { | ||
| stdout: `${JSON.stringify({ stopped: true })}\n`, | ||
| stderr: "", | ||
| exitCode: 0, | ||
| shutdown: true, | ||
| }; | ||
| } | ||
| return { | ||
| stdout: `${JSON.stringify({ stopped: true })}\n`, | ||
| stderr: "", | ||
| exitCode: 0, | ||
| shutdown: true, | ||
| if (request.argv[0] === "daemon" && request.argv[1] === "flush") { | ||
| const flushed = await fileCache.flushDirty(); | ||
| if (flushed > 0) { | ||
| daemonLog(`flushed ${flushed} dirty file(s) via explicit request`); | ||
| } | ||
| return { | ||
| stdout: `${JSON.stringify({ | ||
| flushed, | ||
| dirtyFiles: fileCache.dirtyCount, | ||
| })}\n`, | ||
| stderr: "", | ||
| exitCode: 0, | ||
| }; | ||
| } | ||
| if (request.argv[0] === "daemon" && request.argv[1] === "files") { | ||
| return { | ||
| stdout: `${JSON.stringify({ files: fileCache.files() })}\n`, | ||
| stderr: "", | ||
| exitCode: 0, | ||
| }; | ||
| } | ||
| if (request.argv[0] === "daemon" && request.argv[1] === "watch") { | ||
| const portIdx = request.argv.indexOf("--port"); | ||
| const port = portIdx !== -1 | ||
| ? Number.parseInt(request.argv[portIdx + 1], 10) || 8080 | ||
| : 8080; | ||
| if (watchServer) { | ||
| return { | ||
| stdout: `${JSON.stringify({ watching: true, url: `http://127.0.0.1:${watchServerPort}`, alreadyRunning: true })}\n`, | ||
| stderr: "", | ||
| exitCode: 0, | ||
| }; | ||
| } | ||
| try { | ||
| const provider = new DaemonProvider(fileCache); | ||
| watchServer = new WatchServer(provider); | ||
| watchServerPort = await watchServer.start(port); | ||
| daemonLog(`watch server started on port ${watchServerPort}`); | ||
| return { | ||
| stdout: `${JSON.stringify({ watching: true, url: `http://127.0.0.1:${watchServerPort}` })}\n`, | ||
| stderr: "", | ||
| exitCode: 0, | ||
| }; | ||
| } | ||
| catch (err) { | ||
| watchServer?.stop(); | ||
| watchServer = null; | ||
| watchServerPort = 0; | ||
| return { | ||
| stdout: "", | ||
| stderr: `${JSON.stringify({ error: `Failed to start watch server: ${errorMessage(err)}` })}\n`, | ||
| exitCode: 1, | ||
| }; | ||
| } | ||
| } | ||
| if (request.argv[0] === "daemon" && request.argv[1] === "unwatch") { | ||
| if (watchServer) { | ||
| watchServer.stop(); | ||
| watchServer = null; | ||
| watchServerPort = 0; | ||
| daemonLog("watch server stopped"); | ||
| } | ||
| return { | ||
| stdout: `${JSON.stringify({ stopped: true })}\n`, | ||
| stderr: "", | ||
| exitCode: 0, | ||
| }; | ||
| } | ||
| if (request.argv[0] === "daemon" && request.argv[1] === "status") { | ||
| const mem = process.memoryUsage(); | ||
| return { | ||
| stdout: `${JSON.stringify({ | ||
| pid: process.pid, | ||
| cachedFiles: fileCache.size, | ||
| dirtyFiles: fileCache.dirtyCount, | ||
| maxCacheSize: fileCache.maxCacheSize, | ||
| writeThrough, | ||
| uptime: Math.floor(process.uptime()), | ||
| heapUsedMB: Math.round(mem.heapUsed / 1024 / 1024), | ||
| rssMB: Math.round(mem.rss / 1024 / 1024), | ||
| logFile: getLogPath(), | ||
| })}\n`, | ||
| stderr: "", | ||
| exitCode: 0, | ||
| }; | ||
| } | ||
| if (request.argv[0] === "eval") { | ||
| if (fileCache.dirtyCount > 0) { | ||
| await fileCache.flushDirty(); | ||
| } | ||
| const response = await runIsolatedCli(request, signal); | ||
| const evalFile = request.argv[1]; | ||
| if (evalFile) { | ||
| fileCache.invalidate(evalFile, request.cwd); | ||
| } | ||
| return response; | ||
| } | ||
| const runtime = { | ||
| GC, | ||
| ExcelFile, | ||
| fileCache, | ||
| cwd: request.cwd, | ||
| writeThrough, | ||
| }; | ||
| } | ||
| if (request.argv[0] === "daemon" && request.argv[1] === "flush") { | ||
| const flushed = await fileCache.flushDirty(); | ||
| if (flushed > 0) { | ||
| daemonLog(`flushed ${flushed} dirty file(s) via explicit request`); | ||
| const io = createIoContext(request.stdin); | ||
| try { | ||
| await runWithDaemonRuntime(runtime, () => runWithIo(io, () => dispatch(request.argv, { signal }))); | ||
| return { stdout: io.stdout, stderr: io.stderr, exitCode: 0 }; | ||
| } | ||
| return { | ||
| stdout: `${JSON.stringify({ | ||
| flushed, | ||
| dirtyFiles: fileCache.dirtyCount, | ||
| })}\n`, | ||
| stderr: "", | ||
| exitCode: 0, | ||
| }; | ||
| catch (err) { | ||
| return { | ||
| stdout: io.stdout, | ||
| stderr: `${io.stderr}${JSON.stringify({ error: errorMessage(err) })}\n`, | ||
| exitCode: 1, | ||
| }; | ||
| } | ||
| } | ||
| if (request.argv[0] === "daemon" && request.argv[1] === "status") { | ||
| const mem = process.memoryUsage(); | ||
| return { | ||
| stdout: `${JSON.stringify({ | ||
| pid: process.pid, | ||
| cachedFiles: fileCache.size, | ||
| dirtyFiles: fileCache.dirtyCount, | ||
| maxCacheSize: fileCache.maxCacheSize, | ||
| writeThrough, | ||
| uptime: Math.floor(process.uptime()), | ||
| heapUsedMB: Math.round(mem.heapUsed / 1024 / 1024), | ||
| rssMB: Math.round(mem.rss / 1024 / 1024), | ||
| logFile: getLogPath(), | ||
| })}\n`, | ||
| stderr: "", | ||
| exitCode: 0, | ||
| }; | ||
| } | ||
| const runtime = { | ||
| GC, | ||
| ExcelFile, | ||
| fileCache, | ||
| cwd: request.cwd, | ||
| writeThrough, | ||
| }; | ||
| const io = createIoContext(request.stdin); | ||
| try { | ||
| await runWithDaemonRuntime(runtime, () => runWithIo(io, () => dispatch(request.argv, { signal }))); | ||
| return { stdout: io.stdout, stderr: io.stderr, exitCode: 0 }; | ||
| } | ||
| catch (err) { | ||
| return { | ||
| stdout: io.stdout, | ||
| stderr: `${io.stderr}${JSON.stringify({ error: errorMessage(err) })}\n`, | ||
| stdout: "", | ||
| stderr: `${JSON.stringify({ error: errorMessage(err) })}\n`, | ||
| exitCode: 1, | ||
| }; | ||
| } | ||
| } | ||
| catch (err) { | ||
| return { | ||
| stdout: "", | ||
| stderr: `${JSON.stringify({ error: errorMessage(err) })}\n`, | ||
| exitCode: 1, | ||
| }; | ||
| } | ||
| }); | ||
| } | ||
@@ -236,0 +401,0 @@ function handleConnection(socket) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| export declare const USAGE = "Usage: hsx <command> [args]\n\nCommands:\n create <file> Create a new Excel file\n info <file> Show workbook metadata\n get <file> <ref> Read cells (Sheet1!A1:C10)\n csv <file> <ref> [--mode M] [--formulas] Read range as CSV\n set <file> <ref> [json] Write cells (JSON from arg or stdin)\n clear <file> <ref> [--type all|styles] Clear a range (default: values only)\n search <file> <term> [--sheet S] [--regex] Search for values across sheets\n copy <file> <src> <dst> Copy range (formulas + styles)\n diff <left-file> <right-file> Compare workbooks (value + formula)\n deps <file> <cell> [--depth N|--recursive] Trace precedents (what this cell reads)\n refs <file> <cell> [--depth N|--recursive] Trace dependents (what reads this cell)\n sheet <file> <op> [args] list | create | delete | rename\n rc <file> <op> <dim> [--ref R] [--count N] Insert/delete/hide/freeze rows or columns\n resize <file> [--columns A:D] [--width N] Resize column widths or row heights\n objects <file> [--sheet <name>] List charts, tables, pivots\n screenshot <file> [ref] [-o out.png] Screenshot workbook or range as PNG\n eval <file> [code] Execute arbitrary JS (code from arg or stdin)\n daemon start Start the background daemon\n daemon stop Stop the background daemon\n daemon status Show daemon status\n daemon flush Flush buffered workbook writes\n\nOptions:\n --no-daemon Skip daemon, run directly\n --timeout <seconds> Command timeout (default: 30s)\n\nDiff options:\n --inline-limit <n> Max inline diff rows before spooling to tmp file\n --preview-limit <n> Number of diff rows kept in stdout JSON\n --epsilon <n> Relative tolerance for numeric comparison (default: 1e-8)\n\nCSV options:\n --mode value|formula|both value: calculated values (default)\n formula: formula text for formula cells\n both: value and formula (e.g. \"5 | =B2+1\")\n --formulas shorthand for --mode formula\n\nDependency tracing options:\n --depth <n> Trace up to n hops (default: 1)\n --recursive Shorthand for --depth 50\n --max-formulas <n> refs: cap scanned formula cells (default: 250000)\n\nReference format:\n Sheet1!A1:C10 range on named sheet\n A1:C10 range on active sheet\n A1 single cell\n\nGlobals available in eval:\n workbook SpreadJS Workbook instance\n sheet Active worksheet\n GC GC.Spread.Sheets namespace\n file ExcelFile wrapper (batch, save, toJSON)\n range(ref) SpreadJS Range resolved from A1 ref (active sheet by default)"; | ||
| export declare const USAGE = "Usage: hsx <command> [args]\n\nCommands:\n create <file> Create a new Excel file\n info <file> Show workbook metadata\n get <file> <ref> Read cells (Sheet1!A1:C10)\n csv <file> <ref> [--mode M] [--formulas] Read range as CSV\n set <file> <ref> [json] [--copy-to R] Write cells, optionally expand pattern\n clear <file> <ref> [--type all|styles] Clear a range (default: values only)\n search <file> <term> [--sheet S] [--regex] Search for values across sheets\n copy <file> <src> <dst> Copy range (formulas + styles)\n diff <left-file> <right-file> Compare workbooks (value + formula)\n deps <file> <cell> [--depth N|--recursive] Trace precedents (what this cell reads)\n refs <file> <cell> [--depth N|--recursive] Trace dependents (what reads this cell)\n sheet <file> <op> [args] list | create | delete | rename\n rc <file> <op> <dim> [--ref R] [--count N] Insert/delete/hide/freeze rows or columns\n resize <file> [--columns A:D] [--width N] Resize column widths or row heights\n objects <file> [--sheet <name>] List charts, tables, pivots\n screenshot <file> [ref] [-o out.png] Screenshot workbook or range as PNG\n eval <file> [code] Execute arbitrary JS (code from arg or stdin)\n daemon start Start the background daemon\n daemon stop Stop the background daemon\n daemon status Show daemon status\n daemon files List cached files in daemon\n daemon flush Flush buffered workbook writes\n daemon watch [--port N] [--open] Start live-preview server (auto-starts daemon)\n daemon unwatch Stop the watch server (keeps daemon running)\n\nOptions:\n --no-daemon Skip daemon, run directly\n --timeout <seconds> Command timeout (default: 30s)\n\nDiff options:\n --inline-limit <n> Max inline diff rows before spooling to tmp file\n --preview-limit <n> Number of diff rows kept in stdout JSON\n --epsilon <n> Relative tolerance for numeric comparison (default: 1e-8)\n\nCSV options:\n --mode value|formula|both value: calculated values (default)\n formula: formula text for formula cells\n both: value and formula (e.g. \"5 | =B2+1\")\n --formulas shorthand for --mode formula\n\nDependency tracing options:\n --depth <n> Trace up to n hops (default: 1)\n --recursive Shorthand for --depth 50\n --max-formulas <n> refs: cap scanned formula cells (default: 250000)\n\nReference format:\n Sheet1!A1:C10 range on named sheet\n A1:C10 range on active sheet\n A1 single cell\n\nGlobals available in eval:\n workbook SpreadJS Workbook instance\n sheet Active worksheet\n GC GC.Spread.Sheets namespace\n file ExcelFile wrapper (batch, save, toJSON)\n range(ref) SpreadJS Range resolved from A1 ref (active sheet by default)"; | ||
| export declare function dispatch(args: string[], options?: { | ||
@@ -3,0 +3,0 @@ signal?: AbortSignal | null; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/cli/dispatch.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,KAAK,w/FAuDyD,CAAC;AAqJ5E,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAyMf"} | ||
| {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/cli/dispatch.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,KAAK,6vGA0DyD,CAAC;AAiW5E,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAsBf"} |
+32
-7
@@ -0,1 +1,2 @@ | ||
| import { runPostCommandHooks, runPreCommandHooks, setCurrentCommand, } from "../hooks.js"; | ||
| import { clear } from "./commands/clear.js"; | ||
@@ -25,3 +26,3 @@ import { copy } from "./commands/copy.js"; | ||
| csv <file> <ref> [--mode M] [--formulas] Read range as CSV | ||
| set <file> <ref> [json] Write cells (JSON from arg or stdin) | ||
| set <file> <ref> [json] [--copy-to R] Write cells, optionally expand pattern | ||
| clear <file> <ref> [--type all|styles] Clear a range (default: values only) | ||
@@ -42,3 +43,6 @@ search <file> <term> [--sheet S] [--regex] Search for values across sheets | ||
| daemon status Show daemon status | ||
| daemon files List cached files in daemon | ||
| daemon flush Flush buffered workbook writes | ||
| daemon watch [--port N] [--open] Start live-preview server (auto-starts daemon) | ||
| daemon unwatch Stop the watch server (keeps daemon running) | ||
@@ -185,6 +189,3 @@ Options: | ||
| } | ||
| export async function dispatch(args, options) { | ||
| const signal = options?.signal; | ||
| const command = args[0]; | ||
| const rest = args.slice(1); | ||
| async function dispatchCommand(command, rest, signal) { | ||
| switch (command) { | ||
@@ -217,4 +218,5 @@ case "create": { | ||
| const ref = requireArg(rest, 1, "set <file> <ref> [json]"); | ||
| const json = rest[2]; | ||
| await set(file, ref, json, { signal }); | ||
| const copyToVal = flag(rest, "--copy-to"); | ||
| const json = rest[2] && !rest[2].startsWith("--") ? rest[2] : undefined; | ||
| await set(file, ref, json, { signal, copyTo: copyToVal }); | ||
| break; | ||
@@ -357,2 +359,25 @@ } | ||
| } | ||
| export async function dispatch(args, options) { | ||
| const signal = options?.signal; | ||
| const command = args[0]; | ||
| const rest = args.slice(1); | ||
| setCurrentCommand({ command, args: rest }); | ||
| try { | ||
| await runPreCommandHooks({ command, args: rest }); | ||
| let error; | ||
| try { | ||
| await dispatchCommand(command, rest, signal); | ||
| } | ||
| catch (err) { | ||
| error = err instanceof Error ? err : new Error(String(err)); | ||
| throw error; | ||
| } | ||
| finally { | ||
| await runPostCommandHooks({ command, args: rest, error }); | ||
| } | ||
| } | ||
| finally { | ||
| setCurrentCommand(null); | ||
| } | ||
| } | ||
| //# sourceMappingURL=dispatch.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/cli/dispatch.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/cli/dispatch.ts"],"names":[],"mappings":"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"} |
@@ -0,5 +1,11 @@ | ||
| import { EventEmitter } from "node:events"; | ||
| import type { ExcelFile } from "../index.js"; | ||
| export interface FileCacheEvents { | ||
| opened: [absPath: string, file: ExcelFile]; | ||
| changed: [absPath: string, file: ExcelFile]; | ||
| } | ||
| export declare class FileCache { | ||
| private readonly maxSize; | ||
| private cache; | ||
| readonly events: EventEmitter<FileCacheEvents>; | ||
| constructor(maxSize?: number); | ||
@@ -22,3 +28,8 @@ get maxCacheSize(): number; | ||
| get size(): number; | ||
| files(): { | ||
| absPath: string; | ||
| dirty: boolean; | ||
| }[]; | ||
| getFile(absPath: string): ExcelFile | null; | ||
| } | ||
| //# sourceMappingURL=file-cache.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"file-cache.d.ts","sourceRoot":"","sources":["../../src/cli/file-cache.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C,qBAAa,SAAS;IAGR,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,KAAK,CAAiC;gBAEjB,OAAO,SAAK;IAEzC,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,OAAO,CAAC,GAAG;YAIG,QAAQ;IAQhB,GAAG,CACP,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAkBjD,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAMxC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/D,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAK/C,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAanC,IAAI,UAAU,IAAI,MAAM,CAMvB;IAED,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"} | ||
| {"version":3,"file":"file-cache.d.ts","sourceRoot":"","sources":["../../src/cli/file-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;CAC7C;AAED,qBAAa,SAAS;IAIR,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,KAAK,CAAiC;IAC9C,QAAQ,CAAC,MAAM,gCAAuC;gBAEzB,OAAO,SAAK;IAEzC,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,OAAO,CAAC,GAAG;YAIG,QAAQ;IAQhB,GAAG,CACP,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAkBjD,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBxE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IASxC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/D,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAK/C,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAanC,IAAI,UAAU,IAAI,MAAM,CAMvB;IAED,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE;IAO9C,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAG3C"} |
@@ -0,1 +1,2 @@ | ||
| import { EventEmitter } from "node:events"; | ||
| import { stat } from "node:fs/promises"; | ||
@@ -6,2 +7,3 @@ import { resolve } from "node:path"; | ||
| cache = new Map(); | ||
| events = new EventEmitter(); | ||
| constructor(maxSize = 10) { | ||
@@ -53,3 +55,7 @@ this.maxSize = maxSize; | ||
| } | ||
| const isNew = !this.cache.has(absPath); | ||
| this.cache.set(absPath, { file, absPath, mtime, dirty: false }); | ||
| if (isNew) { | ||
| this.events.emit("opened", absPath, file); | ||
| } | ||
| } | ||
@@ -59,4 +65,6 @@ markDirty(filePath, cwd) { | ||
| const entry = this.cache.get(absPath); | ||
| if (entry) | ||
| if (entry) { | ||
| entry.dirty = true; | ||
| this.events.emit("changed", absPath, entry.file); | ||
| } | ||
| } | ||
@@ -68,3 +76,7 @@ async updateMtime(filePath, cwd) { | ||
| entry.mtime = await this.getMtime(absPath); | ||
| const wasDirty = entry.dirty; | ||
| entry.dirty = false; | ||
| if (wasDirty) { | ||
| this.events.emit("changed", absPath, entry.file); | ||
| } | ||
| } | ||
@@ -105,3 +117,12 @@ } | ||
| } | ||
| files() { | ||
| return [...this.cache.values()].map((e) => ({ | ||
| absPath: e.absPath, | ||
| dirty: e.dirty, | ||
| })); | ||
| } | ||
| getFile(absPath) { | ||
| return this.cache.get(absPath)?.file ?? null; | ||
| } | ||
| } | ||
| //# sourceMappingURL=file-cache.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"file-cache.js","sourceRoot":"","sources":["../../src/cli/file-cache.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"file-cache.js","sourceRoot":"","sources":["../../src/cli/file-cache.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AA8IA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAoI1C"} | ||
| {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AA4KA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA2N1C"} |
+78
-8
@@ -0,7 +1,18 @@ | ||
| import { exec } from "node:child_process"; | ||
| import { createRequire } from "node:module"; | ||
| import { discoverHooks, runWithHooksDisabled, setHookWriters, } from "../hooks.js"; | ||
| import { registerSignalTimeout } from "./abort.js"; | ||
| import { spawnDaemon, tryDaemon, tryExistingDaemon } from "./client.js"; | ||
| import { dispatch, USAGE } from "./dispatch.js"; | ||
| import { createIoContext, runWithIo } from "./output.js"; | ||
| import { createIoContext, runWithIo, writeStderr, writeStdout, } from "./output.js"; | ||
| const DEFAULT_TIMEOUT_MS = 30_000; | ||
| function openUrl(url) { | ||
| const cmd = process.platform === "darwin" | ||
| ? `open "${url}"` | ||
| : process.platform === "win32" | ||
| ? `start "" "${url}"` | ||
| : `xdg-open "${url}"`; | ||
| const child = exec(cmd, () => { }); | ||
| child.on("error", () => { }); | ||
| } | ||
| function hasFlag(args, name) { | ||
@@ -24,2 +35,3 @@ return args.includes(name); | ||
| let timeoutMs = DEFAULT_TIMEOUT_MS; | ||
| let noHooks = false; | ||
| for (let i = 0; i < args.length; i++) { | ||
@@ -40,5 +52,9 @@ const arg = args[i]; | ||
| } | ||
| if (arg === "--no-hooks") { | ||
| noHooks = true; | ||
| continue; | ||
| } | ||
| out.push(arg); | ||
| } | ||
| return { args: out, timeoutMs }; | ||
| return { args: out, timeoutMs, noHooks }; | ||
| } | ||
@@ -113,2 +129,3 @@ async function runWithTimeout(fn, timeoutMs) { | ||
| let timeoutMs; | ||
| let noHooks; | ||
| try { | ||
@@ -118,2 +135,3 @@ const parsed = parseGlobalOptions(process.argv.slice(2)); | ||
| timeoutMs = parsed.timeoutMs; | ||
| noHooks = parsed.noHooks; | ||
| } | ||
@@ -133,3 +151,3 @@ catch (err) { | ||
| const noDaemon = hasFlag(args, "--no-daemon"); | ||
| const filteredArgs = args.filter((a) => a !== "--no-daemon"); | ||
| const filteredArgs = args.filter((a) => a !== "--no-daemon" && a !== "--no-hooks"); | ||
| if (filteredArgs[0] === "daemon") { | ||
@@ -151,3 +169,45 @@ const sub = filteredArgs[1]; | ||
| } | ||
| if (sub === "stop" || sub === "status" || sub === "flush") { | ||
| if (sub === "watch") { | ||
| const portIdx = filteredArgs.indexOf("--port"); | ||
| const port = portIdx !== -1 ? filteredArgs[portIdx + 1] : "8080"; | ||
| const hasOpen = filteredArgs.includes("--open"); | ||
| // Ensure daemon is running | ||
| let result = await tryExistingDaemon(["daemon", "watch", "--port", port], process.cwd(), undefined, timeoutMs); | ||
| let spawnError; | ||
| if (!result) { | ||
| try { | ||
| await spawnDaemon(timeoutMs); | ||
| result = await tryExistingDaemon(["daemon", "watch", "--port", port], process.cwd(), undefined, timeoutMs); | ||
| } | ||
| catch (err) { | ||
| spawnError = err; | ||
| } | ||
| } | ||
| if (result) { | ||
| if (result.exitCode === 0 && hasOpen) { | ||
| try { | ||
| const parsed = JSON.parse(result.stdout.trim()); | ||
| if (parsed.url) { | ||
| openUrl(parsed.url); | ||
| } | ||
| } | ||
| catch { } | ||
| } | ||
| return exitWith(result.exitCode, { | ||
| stdout: result.stdout, | ||
| stderr: result.stderr, | ||
| }); | ||
| } | ||
| const message = spawnError instanceof Error | ||
| ? spawnError.message | ||
| : "Failed to start watch server"; | ||
| return exitWith(1, { | ||
| stderr: `${JSON.stringify({ error: message })}\n`, | ||
| }); | ||
| } | ||
| if (sub === "stop" || | ||
| sub === "status" || | ||
| sub === "flush" || | ||
| sub === "files" || | ||
| sub === "unwatch") { | ||
| const result = await tryExistingDaemon(filteredArgs, process.cwd(), undefined, timeoutMs); | ||
@@ -165,2 +225,7 @@ if (result) { | ||
| } | ||
| if (sub === "files") { | ||
| return exitWith(0, { | ||
| stdout: `${JSON.stringify({ files: [] })}\n`, | ||
| }); | ||
| } | ||
| return exitWith(1, { | ||
@@ -171,5 +236,10 @@ stdout: `${JSON.stringify({ error: "No daemon running" })}\n`, | ||
| return exitWith(1, { | ||
| stderr: "Usage: hsx daemon start|stop|status|flush\n", | ||
| stderr: "Usage: hsx daemon start|stop|status|files|flush|watch|unwatch\n", | ||
| }); | ||
| } | ||
| // Wire hook output through CLI's IO layer, then discover | ||
| setHookWriters((data) => writeStdout(data), (data) => writeStderr(data)); | ||
| if (!noHooks) { | ||
| await discoverHooks(); | ||
| } | ||
| if (!noDaemon) { | ||
@@ -189,3 +259,3 @@ let stdin; | ||
| } | ||
| const result = await tryDaemon(filteredArgs, process.cwd(), stdin, timeoutMs); | ||
| const result = await tryDaemon(filteredArgs, process.cwd(), stdin, timeoutMs, noHooks); | ||
| if (result) { | ||
@@ -200,3 +270,3 @@ return exitWith(result.exitCode, { | ||
| try { | ||
| await runWithTimeout((signal) => Promise.resolve(runWithIo(io, () => dispatch(filteredArgs, { signal }))), timeoutMs); | ||
| await runWithTimeout((signal) => Promise.resolve(runWithHooksDisabled(noHooks, () => runWithIo(io, () => dispatch(filteredArgs, { signal })))), timeoutMs); | ||
| } | ||
@@ -212,3 +282,3 @@ catch (err) { | ||
| try { | ||
| await runWithTimeout((signal) => dispatch(filteredArgs, { signal }), timeoutMs); | ||
| await runWithTimeout((signal) => Promise.resolve(runWithHooksDisabled(noHooks, () => dispatch(filteredArgs, { signal }))), timeoutMs); | ||
| } | ||
@@ -215,0 +285,0 @@ catch (err) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| import type { SpreadWorkbook, SpreadWorksheet } from "../types.js"; | ||
| import type { SpreadWorksheet } from "../types.js"; | ||
| /** | ||
@@ -14,7 +14,2 @@ * SpreadJS defaults to 200 rows × 20 columns and silently drops writes | ||
| export declare function ensureSheetSize(sheet: SpreadWorksheet, neededRows: number, neededCols: number): void; | ||
| /** | ||
| * Expand every sheet in the workbook to Excel-max dimensions so eval code | ||
| * and writes to newly-created sheets do not hit SpreadJS' silent-drop limit. | ||
| */ | ||
| export declare function expandAllSheets(workbook: SpreadWorkbook): void; | ||
| //# sourceMappingURL=sheet-size.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"sheet-size.d.ts","sourceRoot":"","sources":["../../src/cli/sheet-size.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,cAAc,UAAY,CAAC;AACxC,eAAO,MAAM,cAAc,QAAS,CAAC;AAErC;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,IAAI,CAON;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAK9D"} | ||
| {"version":3,"file":"sheet-size.d.ts","sourceRoot":"","sources":["../../src/cli/sheet-size.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;GAIG;AACH,eAAO,MAAM,cAAc,UAAY,CAAC;AACxC,eAAO,MAAM,cAAc,QAAS,CAAC;AAErC;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,IAAI,CAON"} |
@@ -20,12 +20,2 @@ /** | ||
| } | ||
| /** | ||
| * Expand every sheet in the workbook to Excel-max dimensions so eval code | ||
| * and writes to newly-created sheets do not hit SpreadJS' silent-drop limit. | ||
| */ | ||
| export function expandAllSheets(workbook) { | ||
| const count = workbook.getSheetCount(); | ||
| for (let i = 0; i < count; i++) { | ||
| ensureSheetSize(workbook.getSheet(i), EXCEL_MAX_ROWS, EXCEL_MAX_COLS); | ||
| } | ||
| } | ||
| //# sourceMappingURL=sheet-size.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"sheet-size.js","sourceRoot":"","sources":["../../src/cli/sheet-size.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AAErC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAsB,EACtB,UAAkB,EAClB,UAAkB;IAElB,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,UAAU,EAAE,CAAC;QACrC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,EAAE,GAAG,UAAU,EAAE,CAAC;QACxC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,QAAwB;IACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACxE,CAAC;AACH,CAAC"} | ||
| {"version":3,"file":"sheet-size.js","sourceRoot":"","sources":["../../src/cli/sheet-size.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AAErC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAsB,EACtB,UAAkB,EAClB,UAAkB;IAElB,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,UAAU,EAAE,CAAC;QACrC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,EAAE,GAAG,UAAU,EAAE,CAAC;QACxC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"} |
+11
-0
@@ -11,2 +11,6 @@ /** | ||
| } | ||
| export interface LineBorderObject { | ||
| color?: string; | ||
| style?: string; | ||
| } | ||
| export interface CellStyle { | ||
@@ -19,3 +23,10 @@ fontStyle?: FontStyleObject; | ||
| hAlign?: Spread.Sheets.HorizontalAlign; | ||
| vAlign?: number; | ||
| formatter?: string; | ||
| wordWrap?: boolean; | ||
| textIndent?: number; | ||
| borderLeft?: LineBorderObject; | ||
| borderTop?: LineBorderObject; | ||
| borderRight?: LineBorderObject; | ||
| borderBottom?: LineBorderObject; | ||
| } | ||
@@ -22,0 +33,0 @@ export declare function serializeStyle(style: SpreadStyle): CellStyle | null; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/cli/styles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7E,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA8CD,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAoDnE;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,SAAS,EACjB,EAAE,EAAE,WAAW,GACd,IAAI,CAoDN"} | ||
| {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/cli/styles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7E,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC;AA+DD,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAkGnE;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,SAAS,EACjB,EAAE,EAAE,WAAW,GACd,IAAI,CAmFN"} |
+75
-0
@@ -5,2 +5,18 @@ /** | ||
| const H_ALIGN_GENERAL = 3; | ||
| const LINE_STYLE_NAMES = { | ||
| 0: "empty", | ||
| 1: "thin", | ||
| 2: "medium", | ||
| 3: "dashed", | ||
| 4: "dotted", | ||
| 5: "thick", | ||
| 6: "double", | ||
| 7: "hair", | ||
| 8: "mediumDashed", | ||
| 9: "dashDot", | ||
| 10: "mediumDashDot", | ||
| 11: "dashDotDot", | ||
| 12: "mediumDashDotDot", | ||
| 13: "slantedDashDot", | ||
| }; | ||
| // Default values to suppress from serialization | ||
@@ -88,2 +104,39 @@ const DEFAULT_FONT_SIZE = 14.6667; // SpreadJS default ~11pt | ||
| } | ||
| if (style.vAlign !== undefined && | ||
| style.vAlign !== null && | ||
| style.vAlign !== 0) { | ||
| result.vAlign = style.vAlign; | ||
| hasAny = true; | ||
| } | ||
| if (style.wordWrap === true) { | ||
| result.wordWrap = true; | ||
| hasAny = true; | ||
| } | ||
| if (style.textIndent !== undefined && style.textIndent > 0) { | ||
| result.textIndent = style.textIndent; | ||
| hasAny = true; | ||
| } | ||
| const borderProps = [ | ||
| "borderLeft", | ||
| "borderTop", | ||
| "borderRight", | ||
| "borderBottom", | ||
| ]; | ||
| for (const prop of borderProps) { | ||
| const border = style[prop]; | ||
| if (border && typeof border === "object") { | ||
| const borderStyle = typeof border.style === "number" | ||
| ? LINE_STYLE_NAMES[border.style] | ||
| : typeof border.style === "string" | ||
| ? border.style | ||
| : undefined; | ||
| result[prop] = { | ||
| color: border.color, | ||
| ...(borderStyle && borderStyle !== "empty" | ||
| ? { style: borderStyle } | ||
| : {}), | ||
| }; | ||
| hasAny = true; | ||
| } | ||
| } | ||
| return hasAny ? result : null; | ||
@@ -131,4 +184,26 @@ } | ||
| } | ||
| if (styles.vAlign !== undefined) { | ||
| style.vAlign = styles.vAlign; | ||
| } | ||
| if (styles.wordWrap !== undefined) { | ||
| style.wordWrap = styles.wordWrap; | ||
| } | ||
| if (styles.textIndent !== undefined) { | ||
| style.textIndent = styles.textIndent; | ||
| } | ||
| const borderProps = [ | ||
| "borderLeft", | ||
| "borderTop", | ||
| "borderRight", | ||
| "borderBottom", | ||
| ]; | ||
| for (const prop of borderProps) { | ||
| const border = styles[prop]; | ||
| if (border) { | ||
| style[prop] = | ||
| new GC.Spread.Sheets.LineBorder(border.color || "#000000", GC.Spread.Sheets.LineStyle[border.style] ?? GC.Spread.Sheets.LineStyle.thin); | ||
| } | ||
| } | ||
| sheet.setStyle(row, col, style); | ||
| } | ||
| //# sourceMappingURL=styles.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/cli/styles.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/cli/styles.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"excel-file.d.ts","sourceRoot":"","sources":["../src/excel-file.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA0K9D,wBAAgB,KAAK,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAElD;AAED,qBAAa,SAAS;IACpB,SAAgB,QAAQ,EAAE,cAAc,CAAC;IACzC,4DAA4D;IACrD,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE1B,QAAQ,CAAC,EAAE,cAAc;IAQrC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IACxB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAgCpC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB5C,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/B,MAAM,IAAI,MAAM;IAIhB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;WAIf,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;WAS1C,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CAKhE"} | ||
| {"version":3,"file":"excel-file.d.ts","sourceRoot":"","sources":["../src/excel-file.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAsJ9D,wBAAgB,KAAK,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAElD;AAED,qBAAa,SAAS;IACpB,SAAgB,QAAQ,EAAE,cAAc,CAAC;IACzC,4DAA4D;IACrD,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE1B,QAAQ,CAAC,EAAE,cAAc;IAMrC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IACxB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAgCpC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB5C,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/B,MAAM,IAAI,MAAM;IAIhB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;WAIf,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;WAS1C,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CAKhE"} |
+0
-21
@@ -113,22 +113,2 @@ import fs from "node:fs"; | ||
| } | ||
| /** | ||
| * SpreadJS defaults to 200 rows × 20 columns and **silently drops** | ||
| * any writes outside that range. Expand every sheet in the workbook | ||
| * to the Excel-maximum so callers never hit this. | ||
| * | ||
| * Cost: ~16 MB heap + ~180 ms per workbook (one-time). | ||
| * File size is unaffected — SpreadJS only serializes populated cells. | ||
| */ | ||
| const EXCEL_MAX_ROWS = 1_048_576; | ||
| const EXCEL_MAX_COLS = 16_384; | ||
| function expandSheetDefaults(spread) { | ||
| const n = spread.getSheetCount(); | ||
| for (let i = 0; i < n; i++) { | ||
| const s = spread.getSheet(i); | ||
| if (s.getRowCount() < EXCEL_MAX_ROWS) | ||
| s.setRowCount(EXCEL_MAX_ROWS); | ||
| if (s.getColumnCount() < EXCEL_MAX_COLS) | ||
| s.setColumnCount(EXCEL_MAX_COLS); | ||
| } | ||
| } | ||
| export function setGC(gc) { | ||
@@ -144,3 +124,2 @@ gcRef = gc; | ||
| this.workbook = workbook ?? new gc.Spread.Sheets.Workbook(); | ||
| expandSheetDefaults(this.workbook); | ||
| this.workbook.options.allowDynamicArray = true; | ||
@@ -147,0 +126,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"excel-file.js","sourceRoot":"","sources":["../src/excel-file.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"excel-file.js","sourceRoot":"","sources":["../src/excel-file.ts"],"names":[],"mappings":"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"} |
+9
-4
| { | ||
| "name": "@hewliyang/headless-spreadjs", | ||
| "version": "0.0.8", | ||
| "version": "0.0.9", | ||
| "description": "Headless Excel workbook engine for Node.js — powered by SpreadJS with DOM shims. No browser, no Excel, any platform.", | ||
@@ -12,2 +12,6 @@ "main": "dist/index.js", | ||
| "default": "./dist/index.js" | ||
| }, | ||
| "./hooks": { | ||
| "types": "./dist/hooks.d.ts", | ||
| "default": "./dist/hooks.js" | ||
| } | ||
@@ -27,4 +31,4 @@ }, | ||
| "fmt": "biome check --write", | ||
| "test": "vitest run --maxWorkers=1", | ||
| "test:watch": "vitest --maxWorkers=1", | ||
| "test": "tsc && HSX_NO_HOOKS=1 vitest run --maxWorkers=1", | ||
| "test:watch": "HSX_NO_HOOKS=1 vitest --maxWorkers=1", | ||
| "prepublishOnly": "pnpm build" | ||
@@ -64,3 +68,4 @@ }, | ||
| "fflate": "^0.8.2", | ||
| "happy-dom": "^16.0.0" | ||
| "happy-dom": "^16.0.0", | ||
| "jiti": "^2.6.1" | ||
| }, | ||
@@ -67,0 +72,0 @@ "devDependencies": { |
+118
-0
@@ -91,2 +91,120 @@ # headless-spreadjs | ||
| ## Hooks | ||
| `hsx` supports extension hooks — custom code that runs at specific points in the CLI workflow. Use them to enforce formatting conventions, set workbook defaults, validate before save, etc. | ||
| ### Discovery | ||
| Hook files are auto-discovered from: | ||
| 1. `.headless-spreadjs/hooks/*.ts` — project-local (takes precedence) | ||
| 2. `~/.headless-spreadjs/hooks/*.ts` — global fallback | ||
| TypeScript hooks are transpiled on the fly via [jiti](https://github.com/nicedoc/jiti). | ||
| ### Hook points | ||
| | Hook | When | Context | | ||
| | --- | --- | --- | | ||
| | `preCommand` | Before CLI command dispatch | `{ command, args }` | | ||
| | `onOpen` | After workbook opened, before command runs | Full `HookContext` | | ||
| | `preSave` | After mutations, before `save()` | Full `HookContext` with `mutatedRanges` | | ||
| | `postSave` | After `save()` completes | Full `HookContext` with `mutatedRanges` | | ||
| | `postCommand` | After CLI command completes | `{ command, args, error? }` | | ||
| `HookContext` includes `command`, `args`, `filePath`, `file` (ExcelFile), `workbook` (SpreadJS Workbook), `GC` (SpreadJS namespace), and `mutatedRanges`. | ||
| In daemon mode, `onOpen` fires on **every command** (not just the first open), since the workbook stays cached in memory. | ||
| ### Writing a hook | ||
| Hook files export a default function that receives a `HookAPI` instance: | ||
| ```ts | ||
| // no-gridlines.ts | ||
| import type { HookAPI, HookContext } from "@hewliyang/headless-spreadjs/hooks"; | ||
| function hideGridlines(ctx: HookContext) { | ||
| for (let i = 0; i < ctx.workbook.getSheetCount(); i++) { | ||
| const sheet = ctx.workbook.getSheet(i); | ||
| sheet.options.gridline = { | ||
| showVerticalGridline: false, | ||
| showHorizontalGridline: false, | ||
| }; | ||
| } | ||
| } | ||
| export default function (hsx: HookAPI) { | ||
| hsx.on("onOpen", hideGridlines); | ||
| } | ||
| ``` | ||
| ### Fine-grained mutations | ||
| Commands like `set`, `clear`, and `copy` report exactly which cells they changed via `ctx.mutatedRanges`. Hooks can use this to only process affected cells instead of scanning the entire workbook: | ||
| ```ts | ||
| // color-inputs.ts | ||
| import type { HookAPI, HookContext } from "@hewliyang/headless-spreadjs/hooks"; | ||
| function colorInputs(ctx: HookContext) { | ||
| for (const range of ctx.mutatedRanges) { | ||
| const ws = range.sheet | ||
| ? ctx.workbook.getSheetFromName(range.sheet) | ||
| : ctx.workbook.getActiveSheet(); | ||
| for (let r = range.startRow; r <= range.endRow; r++) { | ||
| for (let c = range.startCol; c <= range.endCol; c++) { | ||
| const formula = ws.getFormula(r, c); | ||
| if (!formula && typeof ws.getValue(r, c) === "number") { | ||
| ws.getCell(r, c).foreColor("Blue"); | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } | ||
| export default function (hsx: HookAPI) { | ||
| hsx.on("preSave", colorInputs); | ||
| } | ||
| ``` | ||
| For opaque commands like `eval`, `mutatedRanges` is empty — hooks can fall back to scanning all used cells. | ||
| ### Output | ||
| Hook `console.log` output is captured and prefixed with `[hook-type:fnName]`. By default output goes to stderr. Override per-hook: | ||
| ```ts | ||
| // custom-output.ts | ||
| import type { HookAPI, HookContext } from "@hewliyang/headless-spreadjs/hooks"; | ||
| function myHook(ctx: HookContext) { | ||
| console.log(`saving ${ctx.filePath}`); | ||
| } | ||
| function quietHook(ctx: HookContext) { | ||
| /* silent work */ | ||
| } | ||
| export default function (hsx: HookAPI) { | ||
| hsx.on("preSave", { output: "stdout" }, myHook); | ||
| hsx.on("preSave", { output: "none" }, quietHook); | ||
| } | ||
| ``` | ||
| ### Disabling hooks | ||
| ```bash | ||
| hsx --no-hooks set file.xlsx A1 '[[{"value":1}]]' | ||
| ``` | ||
| ### Examples | ||
| See [`examples/hooks/`](./examples/hooks/) for ready-to-use hooks: | ||
| - **`financial-colors.ts`** — auto-colors cells by type (Blue = hardcoded, Black = formula, Green = cross-sheet link) and lints violations after save | ||
| - **`hardcode-lint.ts`** — flags suspicious numeric literals embedded inside formulas while ignoring common low-noise cases like `ROUND(..., 2)` and `INDEX(..., 1, 2)` | ||
| - **`no-gridlines.ts`** — hides gridlines on all sheets when a workbook is opened | ||
| ## SDK API | ||
@@ -93,0 +211,0 @@ |
Network access
Supply chain riskThis module accesses the network.
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 2 instances
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 2 instances
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 2 instances
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
452023
46.28%146
8.96%6207
55.06%258
84.29%11
10%28
47.37%10
66.67%+ Added
+ Added