@renaiss-shipflow/cli 0.7.5 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/helpers.d.ts +13 -0
- package/dist/commands/helpers.d.ts.map +1 -1
- package/dist/commands/helpers.js +17 -1
- package/dist/commands/helpers.js.map +1 -1
- package/dist/commands/issue.d.ts.map +1 -1
- package/dist/commands/issue.js +4 -16
- package/dist/commands/issue.js.map +1 -1
- package/dist/commands/issues.d.ts.map +1 -1
- package/dist/commands/issues.js +60 -1
- package/dist/commands/issues.js.map +1 -1
- package/dist/commands/pr.d.ts.map +1 -1
- package/dist/commands/pr.js +5 -16
- package/dist/commands/pr.js.map +1 -1
- package/dist/commands/regression.d.ts.map +1 -1
- package/dist/commands/regression.js +5 -1
- package/dist/commands/regression.js.map +1 -1
- package/dist/escalation-format.d.ts +31 -0
- package/dist/escalation-format.d.ts.map +1 -0
- package/dist/escalation-format.js +67 -0
- package/dist/escalation-format.js.map +1 -0
- package/dist/gh.d.ts +25 -31
- package/dist/gh.d.ts.map +1 -1
- package/dist/gh.js +29 -167
- package/dist/gh.js.map +1 -1
- package/dist/git-local.d.ts +27 -0
- package/dist/git-local.d.ts.map +1 -0
- package/dist/git-local.js +87 -0
- package/dist/git-local.js.map +1 -0
- package/dist/sh.d.ts +11 -0
- package/dist/sh.d.ts.map +1 -0
- package/dist/sh.js +23 -0
- package/dist/sh.js.map +1 -0
- package/dist/xlsx.d.ts +8 -0
- package/dist/xlsx.d.ts.map +1 -0
- package/dist/xlsx.js +158 -0
- package/dist/xlsx.js.map +1 -0
- package/package.json +1 -1
package/dist/xlsx.js
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
// Minimal zero-dependency .xlsx writer: a stored (uncompressed) ZIP container
|
|
2
|
+
// around inline-string SpreadsheetML. Enough for tabular exports — no styles,
|
|
3
|
+
// formulas, or shared strings — and dependency-free so the bundled CLI stays
|
|
4
|
+
// self-contained (publish.sh bundles the CLI with no node_modules).
|
|
5
|
+
/** Build a single-sheet .xlsx workbook from headers + rows. */
|
|
6
|
+
export function buildXlsx(sheetName, headers, rows) {
|
|
7
|
+
const sheet = sheetXml([headers, ...rows]);
|
|
8
|
+
const entries = [
|
|
9
|
+
{ name: "[Content_Types].xml", data: Buffer.from(CONTENT_TYPES_XML) },
|
|
10
|
+
{ name: "_rels/.rels", data: Buffer.from(ROOT_RELS_XML) },
|
|
11
|
+
{ name: "xl/workbook.xml", data: Buffer.from(workbookXml(sheetName)) },
|
|
12
|
+
{ name: "xl/_rels/workbook.xml.rels", data: Buffer.from(WORKBOOK_RELS_XML) },
|
|
13
|
+
{ name: "xl/worksheets/sheet1.xml", data: Buffer.from(sheet) },
|
|
14
|
+
];
|
|
15
|
+
return zipStore(entries);
|
|
16
|
+
}
|
|
17
|
+
// ── SpreadsheetML ───────────────────────────────────────────────────────────
|
|
18
|
+
const CONTENT_TYPES_XML = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>` +
|
|
19
|
+
`<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">` +
|
|
20
|
+
`<Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/>` +
|
|
21
|
+
`<Default Extension="xml" ContentType="application/xml"/>` +
|
|
22
|
+
`<Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/>` +
|
|
23
|
+
`<Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/>` +
|
|
24
|
+
`</Types>`;
|
|
25
|
+
const ROOT_RELS_XML = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>` +
|
|
26
|
+
`<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">` +
|
|
27
|
+
`<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/>` +
|
|
28
|
+
`</Relationships>`;
|
|
29
|
+
const WORKBOOK_RELS_XML = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>` +
|
|
30
|
+
`<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">` +
|
|
31
|
+
`<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/>` +
|
|
32
|
+
`</Relationships>`;
|
|
33
|
+
function workbookXml(sheetName) {
|
|
34
|
+
return (`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>` +
|
|
35
|
+
`<workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">` +
|
|
36
|
+
`<sheets><sheet name="${xmlEscape(sanitizeSheetName(sheetName))}" sheetId="1" r:id="rId1"/></sheets>` +
|
|
37
|
+
`</workbook>`);
|
|
38
|
+
}
|
|
39
|
+
function sheetXml(rows) {
|
|
40
|
+
const body = rows
|
|
41
|
+
.map((row, r) => {
|
|
42
|
+
const cells = row
|
|
43
|
+
.map((v, c) => {
|
|
44
|
+
if (v === null || v === undefined || v === "")
|
|
45
|
+
return "";
|
|
46
|
+
const ref = `${colRef(c)}${r + 1}`;
|
|
47
|
+
if (typeof v === "number" && Number.isFinite(v)) {
|
|
48
|
+
return `<c r="${ref}"><v>${v}</v></c>`;
|
|
49
|
+
}
|
|
50
|
+
return `<c r="${ref}" t="inlineStr"><is><t xml:space="preserve">${xmlEscape(String(v))}</t></is></c>`;
|
|
51
|
+
})
|
|
52
|
+
.join("");
|
|
53
|
+
return `<row r="${r + 1}">${cells}</row>`;
|
|
54
|
+
})
|
|
55
|
+
.join("");
|
|
56
|
+
return (`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>` +
|
|
57
|
+
`<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">` +
|
|
58
|
+
`<sheetData>${body}</sheetData>` +
|
|
59
|
+
`</worksheet>`);
|
|
60
|
+
}
|
|
61
|
+
/** 0 → A, 25 → Z, 26 → AA, … */
|
|
62
|
+
export function colRef(index) {
|
|
63
|
+
let n = index + 1;
|
|
64
|
+
let ref = "";
|
|
65
|
+
while (n > 0) {
|
|
66
|
+
const rem = (n - 1) % 26;
|
|
67
|
+
ref = String.fromCharCode(65 + rem) + ref;
|
|
68
|
+
n = Math.floor((n - 1) / 26);
|
|
69
|
+
}
|
|
70
|
+
return ref;
|
|
71
|
+
}
|
|
72
|
+
// Excel hard limit per cell; longer content is truncated with an ellipsis.
|
|
73
|
+
const MAX_CELL_CHARS = 32767;
|
|
74
|
+
function xmlEscape(s) {
|
|
75
|
+
let v = s;
|
|
76
|
+
if (v.length > MAX_CELL_CHARS)
|
|
77
|
+
v = v.slice(0, MAX_CELL_CHARS - 1) + "…";
|
|
78
|
+
return v
|
|
79
|
+
.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g, "") // XML-invalid control chars (keep \t \n \r)
|
|
80
|
+
.replace(/&/g, "&")
|
|
81
|
+
.replace(/</g, "<")
|
|
82
|
+
.replace(/>/g, ">")
|
|
83
|
+
.replace(/"/g, """);
|
|
84
|
+
}
|
|
85
|
+
// Excel sheet names: max 31 chars, no [ ] : * ? / \
|
|
86
|
+
function sanitizeSheetName(name) {
|
|
87
|
+
const cleaned = name.replace(/[[\]:*?/\\]/g, " ").trim() || "Sheet1";
|
|
88
|
+
return cleaned.slice(0, 31);
|
|
89
|
+
}
|
|
90
|
+
// Fixed DOS timestamp (1980-01-01 00:00) keeps output byte-deterministic —
|
|
91
|
+
// same input, same file — which also keeps tests simple.
|
|
92
|
+
const DOS_TIME = 0;
|
|
93
|
+
const DOS_DATE = 0x21;
|
|
94
|
+
function zipStore(entries) {
|
|
95
|
+
const chunks = [];
|
|
96
|
+
const central = [];
|
|
97
|
+
let offset = 0;
|
|
98
|
+
for (const e of entries) {
|
|
99
|
+
const name = Buffer.from(e.name, "utf8");
|
|
100
|
+
const crc = crc32(e.data);
|
|
101
|
+
const local = Buffer.alloc(30);
|
|
102
|
+
local.writeUInt32LE(0x04034b50, 0); // local file header signature
|
|
103
|
+
local.writeUInt16LE(20, 4); // version needed
|
|
104
|
+
local.writeUInt16LE(0, 6); // flags
|
|
105
|
+
local.writeUInt16LE(0, 8); // method: store
|
|
106
|
+
local.writeUInt16LE(DOS_TIME, 10);
|
|
107
|
+
local.writeUInt16LE(DOS_DATE, 12);
|
|
108
|
+
local.writeUInt32LE(crc, 14);
|
|
109
|
+
local.writeUInt32LE(e.data.length, 18); // compressed size
|
|
110
|
+
local.writeUInt32LE(e.data.length, 22); // uncompressed size
|
|
111
|
+
local.writeUInt16LE(name.length, 26);
|
|
112
|
+
local.writeUInt16LE(0, 28); // extra length
|
|
113
|
+
chunks.push(local, name, e.data);
|
|
114
|
+
const dir = Buffer.alloc(46);
|
|
115
|
+
dir.writeUInt32LE(0x02014b50, 0); // central directory signature
|
|
116
|
+
dir.writeUInt16LE(20, 4); // version made by
|
|
117
|
+
dir.writeUInt16LE(20, 6); // version needed
|
|
118
|
+
dir.writeUInt16LE(0, 8); // flags
|
|
119
|
+
dir.writeUInt16LE(0, 10); // method: store
|
|
120
|
+
dir.writeUInt16LE(DOS_TIME, 12);
|
|
121
|
+
dir.writeUInt16LE(DOS_DATE, 14);
|
|
122
|
+
dir.writeUInt32LE(crc, 16);
|
|
123
|
+
dir.writeUInt32LE(e.data.length, 20);
|
|
124
|
+
dir.writeUInt32LE(e.data.length, 24);
|
|
125
|
+
dir.writeUInt16LE(name.length, 28);
|
|
126
|
+
// extra/comment/disk/attrs all zero (30..37)
|
|
127
|
+
dir.writeUInt32LE(0, 38); // external attrs
|
|
128
|
+
dir.writeUInt32LE(offset, 42); // local header offset
|
|
129
|
+
central.push(Buffer.concat([dir, name]));
|
|
130
|
+
offset += 30 + name.length + e.data.length;
|
|
131
|
+
}
|
|
132
|
+
const centralBuf = Buffer.concat(central);
|
|
133
|
+
const eocd = Buffer.alloc(22);
|
|
134
|
+
eocd.writeUInt32LE(0x06054b50, 0); // end of central directory signature
|
|
135
|
+
eocd.writeUInt16LE(entries.length, 8);
|
|
136
|
+
eocd.writeUInt16LE(entries.length, 10);
|
|
137
|
+
eocd.writeUInt32LE(centralBuf.length, 12);
|
|
138
|
+
eocd.writeUInt32LE(offset, 16);
|
|
139
|
+
return Buffer.concat([...chunks, centralBuf, eocd]);
|
|
140
|
+
}
|
|
141
|
+
const CRC_TABLE = (() => {
|
|
142
|
+
const table = new Uint32Array(256);
|
|
143
|
+
for (let i = 0; i < 256; i++) {
|
|
144
|
+
let c = i;
|
|
145
|
+
for (let k = 0; k < 8; k++)
|
|
146
|
+
c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;
|
|
147
|
+
table[i] = c >>> 0;
|
|
148
|
+
}
|
|
149
|
+
return table;
|
|
150
|
+
})();
|
|
151
|
+
/** Standard CRC-32 (exported for tests). */
|
|
152
|
+
export function crc32(buf) {
|
|
153
|
+
let c = 0xffffffff;
|
|
154
|
+
for (let i = 0; i < buf.length; i++)
|
|
155
|
+
c = CRC_TABLE[(c ^ buf[i]) & 0xff] ^ (c >>> 8);
|
|
156
|
+
return (c ^ 0xffffffff) >>> 0;
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=xlsx.js.map
|
package/dist/xlsx.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xlsx.js","sourceRoot":"","sources":["../src/xlsx.ts"],"names":[],"mappings":"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"}
|