@hewliyang/headless-spreadjs 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/README.md +78 -50
  2. package/dist/cli/abort.d.ts +7 -0
  3. package/dist/cli/abort.d.ts.map +1 -0
  4. package/dist/cli/abort.js +35 -0
  5. package/dist/cli/abort.js.map +1 -0
  6. package/dist/cli/client.d.ts +9 -0
  7. package/dist/cli/client.d.ts.map +1 -0
  8. package/dist/cli/client.js +122 -0
  9. package/dist/cli/client.js.map +1 -0
  10. package/dist/cli/commands/clear.d.ts +3 -1
  11. package/dist/cli/commands/clear.d.ts.map +1 -1
  12. package/dist/cli/commands/clear.js +11 -9
  13. package/dist/cli/commands/clear.js.map +1 -1
  14. package/dist/cli/commands/copy.d.ts +3 -1
  15. package/dist/cli/commands/copy.d.ts.map +1 -1
  16. package/dist/cli/commands/copy.js +5 -2
  17. package/dist/cli/commands/copy.js.map +1 -1
  18. package/dist/cli/commands/create.d.ts +3 -1
  19. package/dist/cli/commands/create.d.ts.map +1 -1
  20. package/dist/cli/commands/create.js +2 -2
  21. package/dist/cli/commands/create.js.map +1 -1
  22. package/dist/cli/commands/csv.d.ts +5 -1
  23. package/dist/cli/commands/csv.d.ts.map +1 -1
  24. package/dist/cli/commands/csv.js +38 -13
  25. package/dist/cli/commands/csv.js.map +1 -1
  26. package/dist/cli/commands/deps.d.ts +11 -0
  27. package/dist/cli/commands/deps.d.ts.map +1 -0
  28. package/dist/cli/commands/deps.js +329 -0
  29. package/dist/cli/commands/deps.js.map +1 -0
  30. package/dist/cli/commands/diff.d.ts +7 -0
  31. package/dist/cli/commands/diff.d.ts.map +1 -0
  32. package/dist/cli/commands/diff.js +235 -0
  33. package/dist/cli/commands/diff.js.map +1 -0
  34. package/dist/cli/commands/eval.d.ts +3 -1
  35. package/dist/cli/commands/eval.d.ts.map +1 -1
  36. package/dist/cli/commands/eval.js +23 -8
  37. package/dist/cli/commands/eval.js.map +1 -1
  38. package/dist/cli/commands/get.d.ts +1 -0
  39. package/dist/cli/commands/get.d.ts.map +1 -1
  40. package/dist/cli/commands/get.js +5 -2
  41. package/dist/cli/commands/get.js.map +1 -1
  42. package/dist/cli/commands/info.d.ts +3 -1
  43. package/dist/cli/commands/info.d.ts.map +1 -1
  44. package/dist/cli/commands/info.js +5 -2
  45. package/dist/cli/commands/info.js.map +1 -1
  46. package/dist/cli/commands/objects.d.ts +3 -1
  47. package/dist/cli/commands/objects.d.ts.map +1 -1
  48. package/dist/cli/commands/objects.js +5 -6
  49. package/dist/cli/commands/objects.js.map +1 -1
  50. package/dist/cli/commands/resize.d.ts +1 -0
  51. package/dist/cli/commands/resize.d.ts.map +1 -1
  52. package/dist/cli/commands/resize.js +67 -29
  53. package/dist/cli/commands/resize.js.map +1 -1
  54. package/dist/cli/commands/rows-cols.d.ts +1 -0
  55. package/dist/cli/commands/rows-cols.d.ts.map +1 -1
  56. package/dist/cli/commands/rows-cols.js +101 -45
  57. package/dist/cli/commands/rows-cols.js.map +1 -1
  58. package/dist/cli/commands/screenshot.d.ts +8 -0
  59. package/dist/cli/commands/screenshot.d.ts.map +1 -0
  60. package/dist/cli/commands/screenshot.js +260 -0
  61. package/dist/cli/commands/screenshot.js.map +1 -0
  62. package/dist/cli/commands/search.d.ts +1 -0
  63. package/dist/cli/commands/search.d.ts.map +1 -1
  64. package/dist/cli/commands/search.js +16 -8
  65. package/dist/cli/commands/search.js.map +1 -1
  66. package/dist/cli/commands/set.d.ts +3 -1
  67. package/dist/cli/commands/set.d.ts.map +1 -1
  68. package/dist/cli/commands/set.js +72 -25
  69. package/dist/cli/commands/set.js.map +1 -1
  70. package/dist/cli/commands/sheet.d.ts +3 -1
  71. package/dist/cli/commands/sheet.d.ts.map +1 -1
  72. package/dist/cli/commands/sheet.js +20 -10
  73. package/dist/cli/commands/sheet.js.map +1 -1
  74. package/dist/cli/context.d.ts +18 -6
  75. package/dist/cli/context.d.ts.map +1 -1
  76. package/dist/cli/context.js +93 -8
  77. package/dist/cli/context.js.map +1 -1
  78. package/dist/cli/daemon-entry.d.ts +3 -0
  79. package/dist/cli/daemon-entry.d.ts.map +1 -0
  80. package/dist/cli/daemon-entry.js +4 -0
  81. package/dist/cli/daemon-entry.js.map +1 -0
  82. package/dist/cli/daemon.d.ts +4 -0
  83. package/dist/cli/daemon.d.ts.map +1 -0
  84. package/dist/cli/daemon.js +330 -0
  85. package/dist/cli/daemon.js.map +1 -0
  86. package/dist/cli/dispatch.d.ts +5 -0
  87. package/dist/cli/dispatch.d.ts.map +1 -0
  88. package/dist/cli/dispatch.js +353 -0
  89. package/dist/cli/dispatch.js.map +1 -0
  90. package/dist/cli/file-cache.d.ts +23 -0
  91. package/dist/cli/file-cache.d.ts.map +1 -0
  92. package/dist/cli/file-cache.js +102 -0
  93. package/dist/cli/file-cache.js.map +1 -0
  94. package/dist/cli/index.js +11 -0
  95. package/dist/cli/index.js.map +1 -1
  96. package/dist/cli/main.d.ts.map +1 -1
  97. package/dist/cli/main.js +188 -159
  98. package/dist/cli/main.js.map +1 -1
  99. package/dist/cli/output.d.ts +9 -6
  100. package/dist/cli/output.d.ts.map +1 -1
  101. package/dist/cli/output.js +36 -8
  102. package/dist/cli/output.js.map +1 -1
  103. package/dist/cli/styles.d.ts +14 -19
  104. package/dist/cli/styles.d.ts.map +1 -1
  105. package/dist/cli/styles.js +65 -39
  106. package/dist/cli/styles.js.map +1 -1
  107. package/dist/excel-file.d.ts +3 -1
  108. package/dist/excel-file.d.ts.map +1 -1
  109. package/dist/excel-file.js +50 -6
  110. package/dist/excel-file.js.map +1 -1
  111. package/package.json +9 -1
@@ -1 +1 @@
1
- {"version":3,"file":"rows-cols.js","sourceRoot":"","sources":["../../../src/cli/commands/rows-cols.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rows-cols.js","sourceRoot":"","sources":["../../../src/cli/commands/rows-cols.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ interface ScreenshotOptions {
2
+ ref?: string;
3
+ out?: string;
4
+ signal?: AbortSignal | null;
5
+ }
6
+ export declare function screenshot(filePath: string, options: ScreenshotOptions): Promise<void>;
7
+ export {};
8
+ //# sourceMappingURL=screenshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/screenshot.ts"],"names":[],"mappings":"AAmBA,UAAU,iBAAiB;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B;AAiID,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAiJf"}
@@ -0,0 +1,260 @@
1
+ import http from "node:http";
2
+ import path from "node:path";
3
+ import { parseRef, rangeDimensions } from "../a1.js";
4
+ import { throwIfAborted } from "../abort.js";
5
+ import { withFile } from "../context.js";
6
+ import { fail, ok } from "../output.js";
7
+ /**
8
+ * CDN URLs for SpreadJS (trial/eval, browser-only rendering).
9
+ * Uses the older @grapecity packages which work in eval mode with fromJSON.
10
+ */
11
+ const CDN = {
12
+ css: "https://cdn.jsdelivr.net/npm/@grapecity/spread-sheets/styles/gc.spread.sheets.excel2013white.min.css",
13
+ sheets: "https://cdn.jsdelivr.net/npm/@grapecity/spread-sheets/dist/gc.spread.sheets.all.min.js",
14
+ excelio: "https://cdn.jsdelivr.net/npm/@grapecity/spread-excelio/dist/gc.spread.excelio.min.js",
15
+ };
16
+ function buildViewerHTML() {
17
+ return `<!DOCTYPE html>
18
+ <html><head>
19
+ <link rel="stylesheet" href="${CDN.css}">
20
+ <style>
21
+ body { margin: 0; padding: 0; background: white; }
22
+ #ss { width: 100%; height: 100vh; }
23
+ </style>
24
+ </head><body>
25
+ <div id="ss"></div>
26
+ <script src="${CDN.sheets}"></script>
27
+ <script src="${CDN.excelio}"></script>
28
+ <script>
29
+ (function(){
30
+ var orig = CanvasRenderingContext2D.prototype.fillText;
31
+ CanvasRenderingContext2D.prototype.fillText = function(text) {
32
+ if (text && typeof text === 'string' && (
33
+ text.includes('GrapeCity') || text.includes('MESCIUS') ||
34
+ text.includes('EVALUATION') || text.includes('Powered') ||
35
+ text.includes('deployment') || text.includes('grapecity.com') ||
36
+ text.includes('mescius.com') || text.includes('Email us') ||
37
+ text === 'Evaluation Version'
38
+ )) return;
39
+ return orig.apply(this, arguments);
40
+ };
41
+ })();
42
+
43
+ var spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'));
44
+
45
+ fetch('/file.xlsx?t=' + Date.now()).then(function(r){ return r.blob(); }).then(function(blob){
46
+ var io = new GC.Spread.Excel.IO();
47
+ io.open(blob, function(json){
48
+ if (json.sheets) {
49
+ Object.values(json.sheets).forEach(function(s) {
50
+ s.rowCount = Math.max(s.rowCount || 0, 500);
51
+ s.columnCount = Math.max(s.columnCount || 0, 100);
52
+ });
53
+ }
54
+ spread.fromJSON(json);
55
+ spread.refresh();
56
+ window.__spread = spread;
57
+ window.__ready = true;
58
+ }, function(err){
59
+ window.__error = String(err);
60
+ window.__ready = true;
61
+ });
62
+ });
63
+ </script>
64
+ </body></html>`;
65
+ }
66
+ function startServer(html, xlsxBuf) {
67
+ return new Promise((resolve, reject) => {
68
+ const server = http.createServer((req, res) => {
69
+ if (req.url === "/" || req.url === "/index.html") {
70
+ res.writeHead(200, { "Content-Type": "text/html" });
71
+ res.end(html);
72
+ }
73
+ else if (req.url?.startsWith("/file.xlsx")) {
74
+ res.writeHead(200, {
75
+ "Content-Type": "application/octet-stream",
76
+ "Cache-Control": "no-cache",
77
+ });
78
+ res.end(xlsxBuf);
79
+ }
80
+ else {
81
+ res.writeHead(404);
82
+ res.end();
83
+ }
84
+ });
85
+ server.on("error", reject);
86
+ server.listen(0, "127.0.0.1", () => {
87
+ const addr = server.address();
88
+ if (!addr || typeof addr === "string")
89
+ return reject(new Error("bind failed"));
90
+ resolve({ server, port: addr.port });
91
+ });
92
+ });
93
+ }
94
+ /**
95
+ * Browser-side script that navigates to a range and returns its pixel rect.
96
+ * Injected via page.evaluate() as a string to avoid DOM type issues.
97
+ */
98
+ const CLIP_RANGE_SCRIPT = `(opts) => {
99
+ const spread = window.__spread;
100
+ if (!spread) return null;
101
+
102
+ if (opts.sheetName) {
103
+ const idx = spread.getSheetIndex(opts.sheetName);
104
+ if (idx === -1) return { error: "Sheet not found: " + opts.sheetName };
105
+ spread.setActiveSheetIndex(idx);
106
+ }
107
+
108
+ const sheet = spread.getActiveSheet();
109
+ sheet.showRow(opts.startRow, GC.Spread.Sheets.VerticalPosition.top);
110
+ sheet.showColumn(opts.startCol, GC.Spread.Sheets.HorizontalPosition.left);
111
+ spread.refresh();
112
+
113
+ const hostRect = document.getElementById("ss").getBoundingClientRect();
114
+ const first = sheet.getCellRect(opts.startRow, opts.startCol);
115
+ const last = sheet.getCellRect(
116
+ opts.startRow + opts.rows - 1,
117
+ opts.startCol + opts.cols - 1,
118
+ );
119
+
120
+ if (!first || first.x == null || !last || last.x == null) return null;
121
+
122
+ var rhw = sheet.options.rowHeaderVisible !== false
123
+ ? sheet.getColumnWidth(0, GC.Spread.Sheets.SheetArea.rowHeader) : 0;
124
+ var chh = sheet.options.colHeaderVisible !== false
125
+ ? sheet.getRowHeight(0, GC.Spread.Sheets.SheetArea.colHeader) : 0;
126
+
127
+ const x = first.x + hostRect.left - rhw;
128
+ const y = first.y + hostRect.top - chh;
129
+ const right = last.x + last.width + hostRect.left;
130
+ const bottom = last.y + last.height + hostRect.top;
131
+
132
+ return {
133
+ x: Math.max(0, Math.floor(x)),
134
+ y: Math.max(0, Math.floor(y)),
135
+ width: Math.ceil(right - x),
136
+ height: Math.ceil(bottom - y),
137
+ };
138
+ }`;
139
+ export async function screenshot(filePath, options) {
140
+ const signal = options.signal;
141
+ // Resolve output path
142
+ const outPath = options.out
143
+ ? path.resolve(options.out)
144
+ : path.resolve(`${path.basename(filePath, path.extname(filePath))}.png`);
145
+ // Get xlsx buffer from the headless engine
146
+ const xlsxBuf = await withFile(filePath, async ({ file }) => {
147
+ throwIfAborted(signal);
148
+ return file.saveToBuffer();
149
+ }, { signal });
150
+ throwIfAborted(signal);
151
+ // Import playwright lazily (optional dependency)
152
+ let chromium;
153
+ try {
154
+ const pw = await import("playwright");
155
+ chromium = pw.chromium;
156
+ }
157
+ catch {
158
+ fail("playwright is required for screenshots. Install it:\n npm i -D playwright && npx playwright install chromium");
159
+ }
160
+ // Parse range ref (if given)
161
+ const rangeRef = options.ref ? parseRef(options.ref) : null;
162
+ // Start local HTTP server
163
+ const html = buildViewerHTML();
164
+ const { server, port } = await startServer(html, xlsxBuf);
165
+ try {
166
+ throwIfAborted(signal);
167
+ const browser = await chromium.launch();
168
+ try {
169
+ // Start with a default viewport; we may resize later for large ranges
170
+ const page = await browser.newPage({
171
+ viewport: { width: 1280, height: 800 },
172
+ });
173
+ await page.goto(`http://127.0.0.1:${port}`, {
174
+ waitUntil: "networkidle",
175
+ });
176
+ // Wait for SpreadJS to finish loading the xlsx
177
+ await page.waitForFunction("window.__ready", { timeout: 15_000 });
178
+ // Check for load errors
179
+ const loadError = await page.evaluate("window.__error");
180
+ if (loadError)
181
+ fail(`SpreadJS IO error: ${loadError}`);
182
+ if (rangeRef) {
183
+ const { rows, cols } = rangeDimensions(rangeRef);
184
+ // Compute the pixel size the range needs so we can resize the viewport
185
+ const CALC_SIZE_SCRIPT = `(opts) => {
186
+ const spread = window.__spread;
187
+ if (!spread) return null;
188
+ if (opts.sheetName) {
189
+ const idx = spread.getSheetIndex(opts.sheetName);
190
+ if (idx === -1) return null;
191
+ spread.setActiveSheetIndex(idx);
192
+ }
193
+ const sheet = spread.getActiveSheet();
194
+ let w = 0, h = 0;
195
+ for (let c = opts.startCol; c < opts.startCol + opts.cols; c++) {
196
+ w += sheet.getColumnWidth(c);
197
+ }
198
+ for (let r = opts.startRow; r < opts.startRow + opts.rows; r++) {
199
+ h += sheet.getRowHeight(r);
200
+ }
201
+ // Add space for row/column headers if visible
202
+ const rhw = sheet.options.rowHeaderVisible !== false ? sheet.getColumnWidth(0, GC.Spread.Sheets.SheetArea.rowHeader) : 0;
203
+ const chh = sheet.options.colHeaderVisible !== false ? sheet.getRowHeight(0, GC.Spread.Sheets.SheetArea.colHeader) : 0;
204
+ return { width: Math.ceil(w + rhw), height: Math.ceil(h + chh) };
205
+ }`;
206
+ const calcFn = new Function(`return (${CALC_SIZE_SCRIPT})`)();
207
+ const rangeSize = (await page.evaluate(calcFn, {
208
+ sheetName: rangeRef.sheet,
209
+ startRow: rangeRef.start.row,
210
+ startCol: rangeRef.start.col,
211
+ rows,
212
+ cols,
213
+ }));
214
+ // Resize viewport if the range needs more space (with some padding)
215
+ if (rangeSize) {
216
+ const needW = rangeSize.width + 50;
217
+ const needH = rangeSize.height + 50;
218
+ if (needW > 1280 || needH > 800) {
219
+ await page.setViewportSize({
220
+ width: Math.max(1280, needW),
221
+ height: Math.max(800, needH),
222
+ });
223
+ await page.waitForTimeout(200);
224
+ }
225
+ }
226
+ // Navigate to range and get clip rect
227
+ const clipFn = new Function(`return (${CLIP_RANGE_SCRIPT})`)();
228
+ const clipRect = (await page.evaluate(clipFn, {
229
+ sheetName: rangeRef.sheet,
230
+ startRow: rangeRef.start.row,
231
+ startCol: rangeRef.start.col,
232
+ rows,
233
+ cols,
234
+ }));
235
+ if (clipRect && "error" in clipRect && clipRect.error) {
236
+ fail(clipRect.error);
237
+ }
238
+ await page.waitForTimeout(300);
239
+ if (clipRect && clipRect.width > 0 && clipRect.height > 0) {
240
+ await page.screenshot({ path: outPath, clip: clipRect });
241
+ }
242
+ else {
243
+ await page.locator("#ss").screenshot({ path: outPath });
244
+ }
245
+ }
246
+ else {
247
+ await page.waitForTimeout(300);
248
+ await page.locator("#ss").screenshot({ path: outPath });
249
+ }
250
+ }
251
+ finally {
252
+ await browser.close();
253
+ }
254
+ }
255
+ finally {
256
+ server.close();
257
+ }
258
+ ok({ file: outPath });
259
+ }
260
+ //# sourceMappingURL=screenshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../src/cli/commands/screenshot.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,6 @@ export declare function search(filePath: string, term: string, options: {
3
3
  matchCase?: boolean;
4
4
  regex?: boolean;
5
5
  maxResults?: number;
6
+ signal?: AbortSignal | null;
6
7
  }): Promise<void>;
7
8
  //# sourceMappingURL=search.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/search.ts"],"names":[],"mappings":"AAWA,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;CACrB,GACA,OAAO,CAAC,IAAI,CAAC,CAoEf"}
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"}
@@ -1,7 +1,9 @@
1
1
  import { cellToA1 } from "../a1.js";
2
+ import { throwIfAborted } from "../abort.js";
2
3
  import { withFile } from "../context.js";
3
4
  import { ok } from "../output.js";
4
5
  export async function search(filePath, term, options) {
6
+ const signal = options.signal;
5
7
  await withFile(filePath, ({ workbook }) => {
6
8
  const matches = [];
7
9
  const max = options.maxResults ?? 500;
@@ -10,24 +12,30 @@ export async function search(filePath, term, options) {
10
12
  : null;
11
13
  const sheetCount = workbook.getSheetCount();
12
14
  for (let si = 0; si < sheetCount && matches.length < max; si++) {
15
+ throwIfAborted(signal);
13
16
  const ws = workbook.getSheet(si);
14
17
  const sheetName = ws.name();
15
18
  if (options.sheet && sheetName !== options.sheet)
16
19
  continue;
17
- let usedRows = 0;
18
- let usedCols = 0;
20
+ let startRow = 0;
21
+ let endRow = 0;
22
+ let startCol = 0;
23
+ let endCol = 0;
19
24
  try {
20
25
  const range = ws.getUsedRange(16 | 32); // data | formula
21
- if (range && range.rowCount > 0) {
22
- usedRows = range.row + range.rowCount;
23
- usedCols = range.col + range.colCount;
26
+ if (range && range.rowCount > 0 && range.colCount > 0) {
27
+ startRow = range.row;
28
+ endRow = range.row + range.rowCount;
29
+ startCol = range.col;
30
+ endCol = range.col + range.colCount;
24
31
  }
25
32
  }
26
33
  catch {
27
34
  continue;
28
35
  }
29
- for (let r = 0; r < usedRows && matches.length < max; r++) {
30
- for (let c = 0; c < usedCols && matches.length < max; c++) {
36
+ for (let r = startRow; r < endRow && matches.length < max; r++) {
37
+ throwIfAborted(signal);
38
+ for (let c = startCol; c < endCol && matches.length < max; c++) {
31
39
  const value = ws.getValue(r, c);
32
40
  const formula = ws.getFormula(r, c);
33
41
  if (value === null || value === undefined) {
@@ -62,6 +70,6 @@ export async function search(filePath, term, options) {
62
70
  hasMore: matches.length >= max,
63
71
  searchTerm: term,
64
72
  });
65
- });
73
+ }, { signal });
66
74
  }
67
75
  //# sourceMappingURL=search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/cli/commands/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/cli/commands/search.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
- export declare function set(filePath: string, ref: string, jsonArg: string | undefined): Promise<void>;
1
+ export declare function set(filePath: string, ref: string, jsonArg: string | undefined, options?: {
2
+ signal?: AbortSignal | null;
3
+ }): Promise<void>;
2
4
  //# sourceMappingURL=set.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/set.ts"],"names":[],"mappings":"AAWA,wBAAsB,GAAG,CACvB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,OAAO,CAAC,IAAI,CAAC,CA8Ef"}
1
+ {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/set.ts"],"names":[],"mappings":"AAyBA,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,CA0Hf"}
@@ -1,49 +1,90 @@
1
- import { parseRef, rangeDimensions } from "../a1.js";
1
+ import { cellToA1, parseRef, rangeDimensions } from "../a1.js";
2
+ import { throwIfAborted } from "../abort.js";
2
3
  import { withFile } from "../context.js";
3
- import { fail, ok, readInput } from "../output.js";
4
+ import { ok, readInput } from "../output.js";
4
5
  import { applyStyles } from "../styles.js";
5
- export async function set(filePath, ref, jsonArg) {
6
+ function formatRange(ref) {
7
+ const start = cellToA1(ref.start.row, ref.start.col);
8
+ const end = cellToA1(ref.end.row, ref.end.col);
9
+ const base = start === end ? start : `${start}:${end}`;
10
+ if (!ref.sheet)
11
+ return base;
12
+ const safeSheet = /^[A-Za-z0-9_]+$/.test(ref.sheet)
13
+ ? ref.sheet
14
+ : `'${ref.sheet.replace(/'/g, "''")}'`;
15
+ return `${safeSheet}!${base}`;
16
+ }
17
+ export async function set(filePath, ref, jsonArg, options) {
18
+ const signal = options?.signal;
6
19
  const input = await readInput(jsonArg);
7
20
  let cells;
8
21
  try {
9
22
  cells = JSON.parse(input);
10
23
  }
11
24
  catch {
12
- fail("Invalid JSON input for cells.");
13
- return;
25
+ throw new Error("Invalid JSON input for cells.");
14
26
  }
15
27
  if (!Array.isArray(cells) || !Array.isArray(cells[0])) {
16
- fail("Cells must be a 2D array: [[{value: ...}, ...], ...]");
17
- return;
28
+ throw new Error("Cells must be a 2D array: [[{value: ...}, ...], ...]");
18
29
  }
19
30
  const parsed = parseRef(ref);
20
- const { rows, cols } = rangeDimensions(parsed);
21
- if (cells.length !== rows) {
22
- fail(`Row count mismatch: range has ${rows} rows but got ${cells.length} rows.`);
23
- return;
31
+ const target = {
32
+ sheet: parsed.sheet,
33
+ start: { ...parsed.start },
34
+ end: { ...parsed.end },
35
+ };
36
+ const { rows: originalRows, cols: originalCols } = rangeDimensions(parsed);
37
+ const isSingleCellRef = originalRows === 1 && originalCols === 1;
38
+ const dataRows = cells.length;
39
+ const dataCols = cells[0].length;
40
+ for (let r = 0; r < dataRows; r++) {
41
+ throwIfAborted(signal);
42
+ if (!Array.isArray(cells[r])) {
43
+ throw new Error(`Row ${r} is not an array.`);
44
+ }
45
+ if (cells[r].length !== dataCols) {
46
+ throw new Error(`Column count mismatch in row ${r}: expected ${dataCols} cols but got ${cells[r].length} cols.`);
47
+ }
48
+ }
49
+ const messages = [];
50
+ if (isSingleCellRef) {
51
+ target.end.row = target.start.row + dataRows - 1;
52
+ target.end.col = target.start.col + dataCols - 1;
53
+ const rowDiff = dataRows - originalRows;
54
+ const colDiff = dataCols - originalCols;
55
+ if (rowDiff !== 0 || colDiff !== 0) {
56
+ messages.push(`Adjusted range from ${formatRange(parsed)} to ${formatRange(target)} (row diff: ${rowDiff}, col diff: ${colDiff})`);
57
+ }
24
58
  }
25
- for (let r = 0; r < cells.length; r++) {
26
- if (cells[r].length !== cols) {
27
- fail(`Column count mismatch in row ${r}: range has ${cols} cols but got ${cells[r].length} cols.`);
28
- return;
59
+ else {
60
+ if (dataRows !== originalRows) {
61
+ throw new Error(`Row count mismatch: range has ${originalRows} rows but got ${dataRows} rows.`);
62
+ }
63
+ for (let r = 0; r < dataRows; r++) {
64
+ throwIfAborted(signal);
65
+ if (cells[r].length !== originalCols) {
66
+ throw new Error(`Column count mismatch in row ${r}: range has ${originalCols} cols but got ${cells[r].length} cols.`);
67
+ }
29
68
  }
30
69
  }
70
+ const { rows, cols } = rangeDimensions(target);
31
71
  await withFile(filePath, ({ file, workbook, GC }) => {
32
- const sheet = parsed.sheet
33
- ? workbook.getSheetFromName(parsed.sheet)
72
+ const sheet = target.sheet
73
+ ? workbook.getSheetFromName(target.sheet)
34
74
  : workbook.getActiveSheet();
35
75
  if (!sheet) {
36
- fail(`Sheet not found: ${parsed.sheet ?? "(active)"}`);
76
+ throw new Error(`Sheet not found: ${target.sheet ?? "(active)"}`);
37
77
  }
38
78
  let written = 0;
39
79
  file.batch(() => {
40
80
  for (let r = 0; r < rows; r++) {
81
+ throwIfAborted(signal);
41
82
  for (let c = 0; c < cols; c++) {
42
- const cell = cells[r][c];
83
+ const cell = cells[r]?.[c];
43
84
  if (!cell)
44
85
  continue;
45
- const row = parsed.start.row + r;
46
- const col = parsed.start.col + c;
86
+ const row = target.start.row + r;
87
+ const col = target.start.col + c;
47
88
  if (cell.formula) {
48
89
  const f = cell.formula.startsWith("=")
49
90
  ? cell.formula.slice(1)
@@ -52,16 +93,22 @@ export async function set(filePath, ref, jsonArg) {
52
93
  written++;
53
94
  }
54
95
  else if (cell.value !== undefined) {
96
+ sheet.setFormula(row, col, "");
55
97
  sheet.setValue(row, col, cell.value);
56
98
  written++;
57
99
  }
58
- if (cell.cellStyles) {
59
- applyStyles(sheet, row, col, cell.cellStyles, GC);
100
+ if (cell.style) {
101
+ applyStyles(sheet, row, col, cell.style, GC);
60
102
  }
61
103
  }
62
104
  }
63
105
  });
64
- ok({ written, range: ref });
65
- }, { save: true });
106
+ ok({
107
+ success: true,
108
+ written,
109
+ range: formatRange(target),
110
+ messages,
111
+ });
112
+ }, { save: true, signal });
66
113
  }
67
114
  //# sourceMappingURL=set.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/cli/commands/set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/cli/commands/set.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  export type SheetOp = "list" | "create" | "delete" | "rename";
2
- export declare function sheet(filePath: string, op: SheetOp, args: string[]): Promise<void>;
2
+ export declare function sheet(filePath: string, op: SheetOp, args: string[], options?: {
3
+ signal?: AbortSignal | null;
4
+ }): Promise<void>;
3
5
  //# sourceMappingURL=sheet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sheet.ts"],"names":[],"mappings":"AAIA,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,GACb,OAAO,CAAC,IAAI,CAAC,CAwDf"}
1
+ {"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"}