node-liblzma 2.0.3 → 2.2.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/README.md +263 -67
- package/index.d.ts +60 -3
- package/lib/cli/nxz.d.ts +7 -0
- package/lib/cli/nxz.d.ts.map +1 -0
- package/lib/cli/nxz.js +486 -0
- package/lib/cli/nxz.js.map +1 -0
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +26 -15
- package/lib/errors.js.map +1 -1
- package/lib/lzma.d.ts +319 -2
- package/lib/lzma.d.ts.map +1 -1
- package/lib/lzma.js +303 -39
- package/lib/lzma.js.map +1 -1
- package/lib/pool.d.ts.map +1 -1
- package/lib/pool.js +9 -3
- package/lib/pool.js.map +1 -1
- package/lib/types.d.ts +68 -1
- package/lib/types.d.ts.map +1 -1
- package/package.json +32 -12
- package/scripts/build_xz_with_cmake.py +23 -26
- package/src/bindings/module.cpp +196 -0
- package/src/bindings/node-liblzma.cpp +40 -4
- package/src/bindings/node-liblzma.hpp +2 -1
- package/xz-version.json +3 -3
- package/.gitattributes +0 -3
- package/.release-it.json +0 -7
- package/.release-it.manual.json +0 -7
- package/.release-it.retry.json +0 -3
- package/CHANGELOG.md +0 -271
- package/History.md +0 -79
- package/RELEASING.md +0 -131
- package/biome.json +0 -81
- package/pnpm-workspace.yaml +0 -3
- package/prebuilds/darwin-x64/node-liblzma.node +0 -0
- package/prebuilds/linux-x64/node-liblzma.node +0 -0
- package/prebuilds/win32-x64/node-liblzma.node +0 -0
- package/scripts/analyze-coverage.js +0 -132
- package/scripts/compare-coverage-tools.js +0 -93
- package/src/errors.ts +0 -167
- package/src/lzma.ts +0 -839
- package/src/pool.ts +0 -228
- package/src/types.ts +0 -30
- package/tsconfig.json +0 -50
- package/vitest.config.istanbul.ts +0 -29
- package/vitest.config.monocart.ts +0 -44
- package/vitest.config.ts +0 -52
package/lib/cli/nxz.js
ADDED
|
@@ -0,0 +1,486 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* nxz - Node.js XZ compression CLI
|
|
4
|
+
* A portable xz-like command line tool using node-liblzma
|
|
5
|
+
*/
|
|
6
|
+
import { createReadStream, createWriteStream, existsSync, readFileSync, statSync, unlinkSync, writeFileSync, } from 'node:fs';
|
|
7
|
+
import { pipeline } from 'node:stream/promises';
|
|
8
|
+
import { parseArgs } from 'node:util';
|
|
9
|
+
import { check, createUnxz, createXz, hasThreads, isXZ, parseFileIndex, preset, unxzSync, versionString, xzSync, } from '../lzma.js';
|
|
10
|
+
/** Size threshold for using streams vs sync (1 MB) */
|
|
11
|
+
const STREAM_THRESHOLD_BYTES = 1024 * 1024;
|
|
12
|
+
/** Exit codes matching xz conventions */
|
|
13
|
+
const EXIT_SUCCESS = 0;
|
|
14
|
+
const EXIT_ERROR = 1;
|
|
15
|
+
const EXIT_SIGNAL = 128;
|
|
16
|
+
/** Track current output file for SIGINT cleanup */
|
|
17
|
+
let currentOutputFile = null;
|
|
18
|
+
/** Global quiet flag for warn() function */
|
|
19
|
+
let quietMode = false;
|
|
20
|
+
/**
|
|
21
|
+
* Print warning message (respects -q flag)
|
|
22
|
+
*/
|
|
23
|
+
function warn(message) {
|
|
24
|
+
if (!quietMode) {
|
|
25
|
+
console.error(message);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Setup SIGINT handler for graceful cleanup
|
|
30
|
+
*/
|
|
31
|
+
function setupSignalHandlers() {
|
|
32
|
+
process.on('SIGINT', () => {
|
|
33
|
+
// Cleanup partial output file if exists
|
|
34
|
+
if (currentOutputFile && existsSync(currentOutputFile)) {
|
|
35
|
+
try {
|
|
36
|
+
unlinkSync(currentOutputFile);
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// Ignore cleanup errors
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Exit with 128 + signal number (SIGINT = 2)
|
|
43
|
+
process.exit(EXIT_SIGNAL + 2);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Parse command line arguments
|
|
48
|
+
*/
|
|
49
|
+
function parseCliArgs(args) {
|
|
50
|
+
// Extract preset from args (e.g., -0 through -9)
|
|
51
|
+
let presetLevel = 6; // default
|
|
52
|
+
const filteredArgs = [];
|
|
53
|
+
for (const arg of args) {
|
|
54
|
+
const presetMatch = arg.match(/^-(\d)$/);
|
|
55
|
+
if (presetMatch) {
|
|
56
|
+
presetLevel = Number.parseInt(presetMatch[1], 10);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
filteredArgs.push(arg);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const { values, positionals } = parseArgs({
|
|
63
|
+
args: filteredArgs,
|
|
64
|
+
options: {
|
|
65
|
+
compress: { type: 'boolean', short: 'z', default: false },
|
|
66
|
+
decompress: { type: 'boolean', short: 'd', default: false },
|
|
67
|
+
list: { type: 'boolean', short: 'l', default: false },
|
|
68
|
+
keep: { type: 'boolean', short: 'k', default: false },
|
|
69
|
+
force: { type: 'boolean', short: 'f', default: false },
|
|
70
|
+
stdout: { type: 'boolean', short: 'c', default: false },
|
|
71
|
+
output: { type: 'string', short: 'o' },
|
|
72
|
+
verbose: { type: 'boolean', short: 'v', default: false },
|
|
73
|
+
quiet: { type: 'boolean', short: 'q', default: false },
|
|
74
|
+
help: { type: 'boolean', short: 'h', default: false },
|
|
75
|
+
version: { type: 'boolean', short: 'V', default: false },
|
|
76
|
+
extreme: { type: 'boolean', short: 'e', default: false },
|
|
77
|
+
},
|
|
78
|
+
allowPositionals: true,
|
|
79
|
+
strict: false,
|
|
80
|
+
});
|
|
81
|
+
return {
|
|
82
|
+
compress: values.compress === true,
|
|
83
|
+
decompress: values.decompress === true,
|
|
84
|
+
list: values.list === true,
|
|
85
|
+
keep: values.keep === true,
|
|
86
|
+
force: values.force === true,
|
|
87
|
+
stdout: values.stdout === true,
|
|
88
|
+
output: typeof values.output === 'string' ? values.output : null,
|
|
89
|
+
verbose: values.verbose === true,
|
|
90
|
+
quiet: values.quiet === true,
|
|
91
|
+
help: values.help === true,
|
|
92
|
+
version: values.version === true,
|
|
93
|
+
preset: presetLevel,
|
|
94
|
+
extreme: values.extreme === true,
|
|
95
|
+
files: positionals,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Print help message
|
|
100
|
+
*/
|
|
101
|
+
function printHelp() {
|
|
102
|
+
console.log(`nxz - Node.js XZ compression CLI (using node-liblzma)
|
|
103
|
+
|
|
104
|
+
Usage: nxz [OPTION]... [FILE]...
|
|
105
|
+
|
|
106
|
+
Compress or decompress FILEs in the .xz format.
|
|
107
|
+
|
|
108
|
+
Operation mode:
|
|
109
|
+
-z, --compress force compression
|
|
110
|
+
-d, --decompress force decompression
|
|
111
|
+
-l, --list list information about .xz files
|
|
112
|
+
|
|
113
|
+
Operation modifiers:
|
|
114
|
+
-k, --keep keep (don't delete) input files
|
|
115
|
+
-f, --force force overwrite of output file
|
|
116
|
+
-c, --stdout write to standard output and don't delete input files
|
|
117
|
+
-o, --output=FILE write output to FILE
|
|
118
|
+
|
|
119
|
+
Compression presets:
|
|
120
|
+
-0 ... -9 compression preset level (default: 6)
|
|
121
|
+
-e, --extreme use extreme compression (slower)
|
|
122
|
+
|
|
123
|
+
Other options:
|
|
124
|
+
-v, --verbose be verbose (show progress)
|
|
125
|
+
-q, --quiet suppress warnings
|
|
126
|
+
-h, --help display this help and exit
|
|
127
|
+
-V, --version display version information and exit
|
|
128
|
+
|
|
129
|
+
With no FILE, or when FILE is -, read standard input.
|
|
130
|
+
|
|
131
|
+
Report bugs at: https://github.com/oorabona/node-liblzma/issues`);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Print version information
|
|
135
|
+
*/
|
|
136
|
+
function printVersion() {
|
|
137
|
+
// Read package.json for nxz version
|
|
138
|
+
const packageJsonPath = new URL('../../package.json', import.meta.url);
|
|
139
|
+
let nxzVersion = 'unknown';
|
|
140
|
+
try {
|
|
141
|
+
const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
142
|
+
nxzVersion = pkg.version;
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
// Ignore error, use 'unknown'
|
|
146
|
+
}
|
|
147
|
+
const threadSupport = hasThreads() ? 'yes' : 'no';
|
|
148
|
+
const year = new Date().getFullYear();
|
|
149
|
+
console.log(`nxz ${nxzVersion}
|
|
150
|
+
node-liblzma using liblzma ${versionString()}
|
|
151
|
+
Thread support: ${threadSupport}
|
|
152
|
+
|
|
153
|
+
Copyright (C) ${year} Olivier ORABONA
|
|
154
|
+
License: LGPL-3.0`);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Determine operation mode based on options and file extension
|
|
158
|
+
*/
|
|
159
|
+
function determineMode(options, filename) {
|
|
160
|
+
if (options.list)
|
|
161
|
+
return 'list';
|
|
162
|
+
if (options.decompress)
|
|
163
|
+
return 'decompress';
|
|
164
|
+
if (options.compress)
|
|
165
|
+
return 'compress';
|
|
166
|
+
// Auto-detect from extension
|
|
167
|
+
if (filename.endsWith('.xz') || filename.endsWith('.lzma')) {
|
|
168
|
+
return 'decompress';
|
|
169
|
+
}
|
|
170
|
+
return 'compress';
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Get output filename based on operation mode
|
|
174
|
+
*/
|
|
175
|
+
function getOutputFilename(inputFile, mode) {
|
|
176
|
+
if (mode === 'compress') {
|
|
177
|
+
return `${inputFile}.xz`;
|
|
178
|
+
}
|
|
179
|
+
// Decompress: remove .xz or .lzma extension
|
|
180
|
+
if (inputFile.endsWith('.xz')) {
|
|
181
|
+
return inputFile.slice(0, -3);
|
|
182
|
+
}
|
|
183
|
+
if (inputFile.endsWith('.lzma')) {
|
|
184
|
+
return inputFile.slice(0, -5);
|
|
185
|
+
}
|
|
186
|
+
return `${inputFile}.out`;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Format bytes to human-readable string
|
|
190
|
+
*/
|
|
191
|
+
function formatBytes(bytes) {
|
|
192
|
+
if (bytes < 1024)
|
|
193
|
+
return `${bytes} B`;
|
|
194
|
+
if (bytes < 1024 * 1024)
|
|
195
|
+
return `${(bytes / 1024).toFixed(1)} KiB`;
|
|
196
|
+
if (bytes < 1024 * 1024 * 1024)
|
|
197
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)} MiB`;
|
|
198
|
+
return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GiB`;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* List information about an XZ file
|
|
202
|
+
*/
|
|
203
|
+
function listFile(filename, options) {
|
|
204
|
+
try {
|
|
205
|
+
const data = readFileSync(filename);
|
|
206
|
+
const info = parseFileIndex(data);
|
|
207
|
+
const ratio = info.compressedSize > 0
|
|
208
|
+
? ((1 - info.uncompressedSize / info.compressedSize) * -100).toFixed(1)
|
|
209
|
+
: '0.0';
|
|
210
|
+
const checkNames = {
|
|
211
|
+
[check.NONE]: 'None',
|
|
212
|
+
[check.CRC32]: 'CRC32',
|
|
213
|
+
[check.CRC64]: 'CRC64',
|
|
214
|
+
[check.SHA256]: 'SHA-256',
|
|
215
|
+
};
|
|
216
|
+
const checkName = checkNames[info.check] ?? `Unknown(${info.check})`;
|
|
217
|
+
if (options.verbose) {
|
|
218
|
+
console.log(`File: ${filename}`);
|
|
219
|
+
console.log(` Streams: ${info.streamCount}`);
|
|
220
|
+
console.log(` Blocks: ${info.blockCount}`);
|
|
221
|
+
console.log(` Compressed: ${formatBytes(info.compressedSize)}`);
|
|
222
|
+
console.log(` Uncompressed: ${formatBytes(info.uncompressedSize)}`);
|
|
223
|
+
console.log(` Ratio: ${ratio}%`);
|
|
224
|
+
console.log(` Check: ${checkName}`);
|
|
225
|
+
console.log(` Memory needed: ${formatBytes(info.memoryUsage)}`);
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
// Compact format similar to xz -l
|
|
229
|
+
console.log('Strms Blocks Compressed Uncompressed Ratio Check Filename');
|
|
230
|
+
console.log(` ${info.streamCount} ${info.blockCount} ${formatBytes(info.compressedSize).padStart(12)} ${formatBytes(info.uncompressedSize).padStart(12)} ${ratio.padStart(5)}% ${checkName.padEnd(6)} ${filename}`);
|
|
231
|
+
}
|
|
232
|
+
return EXIT_SUCCESS;
|
|
233
|
+
}
|
|
234
|
+
catch (err) {
|
|
235
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
236
|
+
warn(`nxz: ${filename}: ${message}`);
|
|
237
|
+
return EXIT_ERROR;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Compress a file
|
|
242
|
+
*/
|
|
243
|
+
async function compressFile(inputFile, options) {
|
|
244
|
+
const outputFile = options.stdout
|
|
245
|
+
? null
|
|
246
|
+
: (options.output ?? getOutputFilename(inputFile, 'compress'));
|
|
247
|
+
// Check if output exists
|
|
248
|
+
if (outputFile && existsSync(outputFile) && !options.force) {
|
|
249
|
+
warn(`nxz: ${outputFile}: File already exists; use -f to overwrite`);
|
|
250
|
+
return EXIT_ERROR;
|
|
251
|
+
}
|
|
252
|
+
// Track output file for SIGINT cleanup
|
|
253
|
+
currentOutputFile = outputFile;
|
|
254
|
+
try {
|
|
255
|
+
const stat = statSync(inputFile);
|
|
256
|
+
const presetValue = options.extreme ? options.preset | preset.EXTREME : options.preset;
|
|
257
|
+
if (options.stdout) {
|
|
258
|
+
// Write to stdout
|
|
259
|
+
const input = readFileSync(inputFile);
|
|
260
|
+
const compressed = xzSync(input, { preset: presetValue });
|
|
261
|
+
process.stdout.write(compressed);
|
|
262
|
+
}
|
|
263
|
+
else if (stat.size <= STREAM_THRESHOLD_BYTES) {
|
|
264
|
+
// Small file: use sync
|
|
265
|
+
const input = readFileSync(inputFile);
|
|
266
|
+
const compressed = xzSync(input, { preset: presetValue });
|
|
267
|
+
writeFileSync(outputFile, compressed);
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
// Large file: use streams
|
|
271
|
+
const compressor = createXz({ preset: presetValue });
|
|
272
|
+
if (options.verbose) {
|
|
273
|
+
let lastPercent = -1;
|
|
274
|
+
compressor.on('progress', ({ bytesRead, bytesWritten }) => {
|
|
275
|
+
const percent = Math.floor((bytesRead / stat.size) * 100);
|
|
276
|
+
if (percent !== lastPercent) {
|
|
277
|
+
lastPercent = percent;
|
|
278
|
+
process.stderr.write(`\r${inputFile}: ${percent}% (${formatBytes(bytesRead)} -> ${formatBytes(bytesWritten)})`);
|
|
279
|
+
}
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
await pipeline(createReadStream(inputFile), compressor, createWriteStream(outputFile));
|
|
283
|
+
if (options.verbose) {
|
|
284
|
+
process.stderr.write('\n');
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
// Delete original unless -k or -c
|
|
288
|
+
if (!options.keep && !options.stdout) {
|
|
289
|
+
unlinkSync(inputFile);
|
|
290
|
+
}
|
|
291
|
+
// Clear tracking after successful completion
|
|
292
|
+
currentOutputFile = null;
|
|
293
|
+
return EXIT_SUCCESS;
|
|
294
|
+
}
|
|
295
|
+
catch (err) {
|
|
296
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
297
|
+
warn(`nxz: ${inputFile}: ${message}`);
|
|
298
|
+
// Cleanup partial output
|
|
299
|
+
if (outputFile && existsSync(outputFile)) {
|
|
300
|
+
try {
|
|
301
|
+
unlinkSync(outputFile);
|
|
302
|
+
}
|
|
303
|
+
catch {
|
|
304
|
+
// Ignore cleanup errors
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
currentOutputFile = null;
|
|
308
|
+
return EXIT_ERROR;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Decompress a file
|
|
313
|
+
*/
|
|
314
|
+
async function decompressFile(inputFile, options) {
|
|
315
|
+
const outputFile = options.stdout
|
|
316
|
+
? null
|
|
317
|
+
: (options.output ?? getOutputFilename(inputFile, 'decompress'));
|
|
318
|
+
// Check if output exists
|
|
319
|
+
if (outputFile && existsSync(outputFile) && !options.force) {
|
|
320
|
+
warn(`nxz: ${outputFile}: File already exists; use -f to overwrite`);
|
|
321
|
+
return EXIT_ERROR;
|
|
322
|
+
}
|
|
323
|
+
// Track output file for SIGINT cleanup
|
|
324
|
+
currentOutputFile = outputFile;
|
|
325
|
+
try {
|
|
326
|
+
// Validate XZ format
|
|
327
|
+
const fd = readFileSync(inputFile);
|
|
328
|
+
if (!isXZ(fd)) {
|
|
329
|
+
warn(`nxz: ${inputFile}: File format not recognized`);
|
|
330
|
+
currentOutputFile = null;
|
|
331
|
+
return EXIT_ERROR;
|
|
332
|
+
}
|
|
333
|
+
const stat = statSync(inputFile);
|
|
334
|
+
if (options.stdout) {
|
|
335
|
+
// Write to stdout
|
|
336
|
+
const decompressed = unxzSync(fd);
|
|
337
|
+
process.stdout.write(decompressed);
|
|
338
|
+
}
|
|
339
|
+
else if (stat.size <= STREAM_THRESHOLD_BYTES) {
|
|
340
|
+
// Small file: use sync
|
|
341
|
+
const decompressed = unxzSync(fd);
|
|
342
|
+
writeFileSync(outputFile, decompressed);
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
// Large file: use streams with progress
|
|
346
|
+
const decompressor = createUnxz();
|
|
347
|
+
if (options.verbose) {
|
|
348
|
+
let lastPercent = -1;
|
|
349
|
+
decompressor.on('progress', ({ bytesRead, bytesWritten }) => {
|
|
350
|
+
const percent = Math.floor((bytesRead / stat.size) * 100);
|
|
351
|
+
if (percent !== lastPercent) {
|
|
352
|
+
lastPercent = percent;
|
|
353
|
+
process.stderr.write(`\r${inputFile}: ${percent}% (${formatBytes(bytesRead)} -> ${formatBytes(bytesWritten)})`);
|
|
354
|
+
}
|
|
355
|
+
});
|
|
356
|
+
}
|
|
357
|
+
await pipeline(createReadStream(inputFile), decompressor, createWriteStream(outputFile));
|
|
358
|
+
if (options.verbose) {
|
|
359
|
+
process.stderr.write('\n');
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
// Delete original unless -k or -c
|
|
363
|
+
if (!options.keep && !options.stdout) {
|
|
364
|
+
unlinkSync(inputFile);
|
|
365
|
+
}
|
|
366
|
+
// Clear tracking after successful completion
|
|
367
|
+
currentOutputFile = null;
|
|
368
|
+
return EXIT_SUCCESS;
|
|
369
|
+
}
|
|
370
|
+
catch (err) {
|
|
371
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
372
|
+
warn(`nxz: ${inputFile}: ${message}`);
|
|
373
|
+
// Cleanup partial output
|
|
374
|
+
if (outputFile && existsSync(outputFile)) {
|
|
375
|
+
try {
|
|
376
|
+
unlinkSync(outputFile);
|
|
377
|
+
}
|
|
378
|
+
catch {
|
|
379
|
+
// Ignore cleanup errors
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
currentOutputFile = null;
|
|
383
|
+
return EXIT_ERROR;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Process a single file
|
|
388
|
+
*/
|
|
389
|
+
async function processFile(filename, options) {
|
|
390
|
+
// Check file exists
|
|
391
|
+
if (!existsSync(filename)) {
|
|
392
|
+
warn(`nxz: ${filename}: No such file or directory`);
|
|
393
|
+
return EXIT_ERROR;
|
|
394
|
+
}
|
|
395
|
+
// Check if it's a directory
|
|
396
|
+
if (statSync(filename).isDirectory()) {
|
|
397
|
+
warn(`nxz: ${filename}: Is a directory, skipping`);
|
|
398
|
+
return EXIT_ERROR;
|
|
399
|
+
}
|
|
400
|
+
const mode = determineMode(options, filename);
|
|
401
|
+
switch (mode) {
|
|
402
|
+
case 'list':
|
|
403
|
+
return listFile(filename, options);
|
|
404
|
+
case 'compress':
|
|
405
|
+
return compressFile(filename, options);
|
|
406
|
+
case 'decompress':
|
|
407
|
+
return decompressFile(filename, options);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* Read from stdin and process
|
|
412
|
+
*/
|
|
413
|
+
async function processStdin(options) {
|
|
414
|
+
const chunks = [];
|
|
415
|
+
for await (const chunk of process.stdin) {
|
|
416
|
+
chunks.push(chunk);
|
|
417
|
+
}
|
|
418
|
+
const input = Buffer.concat(chunks);
|
|
419
|
+
const mode = options.decompress ? 'decompress' : 'compress';
|
|
420
|
+
try {
|
|
421
|
+
if (mode === 'compress') {
|
|
422
|
+
const presetValue = options.extreme ? options.preset | preset.EXTREME : options.preset;
|
|
423
|
+
const compressed = xzSync(input, { preset: presetValue });
|
|
424
|
+
process.stdout.write(compressed);
|
|
425
|
+
}
|
|
426
|
+
else {
|
|
427
|
+
if (!isXZ(input)) {
|
|
428
|
+
warn('nxz: (stdin): File format not recognized');
|
|
429
|
+
return EXIT_ERROR;
|
|
430
|
+
}
|
|
431
|
+
const decompressed = unxzSync(input);
|
|
432
|
+
process.stdout.write(decompressed);
|
|
433
|
+
}
|
|
434
|
+
return EXIT_SUCCESS;
|
|
435
|
+
}
|
|
436
|
+
catch (err) {
|
|
437
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
438
|
+
warn(`nxz: (stdin): ${message}`);
|
|
439
|
+
return EXIT_ERROR;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Main entry point
|
|
444
|
+
*/
|
|
445
|
+
async function main() {
|
|
446
|
+
// Setup signal handlers for graceful cleanup
|
|
447
|
+
setupSignalHandlers();
|
|
448
|
+
const options = parseCliArgs(process.argv.slice(2));
|
|
449
|
+
// Set global quiet mode
|
|
450
|
+
quietMode = options.quiet;
|
|
451
|
+
// Handle help and version first
|
|
452
|
+
if (options.help) {
|
|
453
|
+
printHelp();
|
|
454
|
+
process.exit(EXIT_SUCCESS);
|
|
455
|
+
}
|
|
456
|
+
if (options.version) {
|
|
457
|
+
printVersion();
|
|
458
|
+
process.exit(EXIT_SUCCESS);
|
|
459
|
+
}
|
|
460
|
+
// No files: read from stdin
|
|
461
|
+
if (options.files.length === 0 || (options.files.length === 1 && options.files[0] === '-')) {
|
|
462
|
+
const exitCode = await processStdin(options);
|
|
463
|
+
process.exit(exitCode);
|
|
464
|
+
}
|
|
465
|
+
// Process each file
|
|
466
|
+
let exitCode = EXIT_SUCCESS;
|
|
467
|
+
for (const file of options.files) {
|
|
468
|
+
if (file === '-') {
|
|
469
|
+
const code = await processStdin(options);
|
|
470
|
+
if (code !== EXIT_SUCCESS)
|
|
471
|
+
exitCode = code;
|
|
472
|
+
}
|
|
473
|
+
else {
|
|
474
|
+
const code = await processFile(file, options);
|
|
475
|
+
if (code !== EXIT_SUCCESS)
|
|
476
|
+
exitCode = code;
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
process.exit(exitCode);
|
|
480
|
+
}
|
|
481
|
+
// Run main
|
|
482
|
+
main().catch((err) => {
|
|
483
|
+
console.error(`nxz: ${err.message}`);
|
|
484
|
+
process.exit(EXIT_ERROR);
|
|
485
|
+
});
|
|
486
|
+
//# sourceMappingURL=nxz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nxz.js","sourceRoot":"","sources":["../../src/cli/nxz.ts"],"names":[],"mappings":"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"}
|
package/lib/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAO3C;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;gBACrC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;gBACjC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;gBACrC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAO3C;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;gBACrC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;gBACjC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;gBACrC,KAAK,EAAE,MAAM;CAI1B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CA6C1E"}
|
package/lib/errors.js
CHANGED
|
@@ -94,19 +94,27 @@ export class LZMAProgrammingError extends LZMAError {
|
|
|
94
94
|
* Factory function to create appropriate error instance based on errno
|
|
95
95
|
*/
|
|
96
96
|
export function createLZMAError(errno, message) {
|
|
97
|
-
// LZMA
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
const
|
|
97
|
+
// LZMA return codes mapping from liblzma/base.h:
|
|
98
|
+
// Codes 0-4 are success/informational status codes, not errors.
|
|
99
|
+
// They are handled by the default case below.
|
|
100
|
+
/* biome-ignore lint/correctness/noUnusedVariables: Kept for documentation - shows full lzma_ret enum range (0-11) */
|
|
101
|
+
const LZMA_OK = 0; // Operation completed successfully
|
|
102
|
+
/* biome-ignore lint/correctness/noUnusedVariables: Kept for documentation */
|
|
103
|
+
const LZMA_STREAM_END = 1; // End of stream reached
|
|
104
|
+
/* biome-ignore lint/correctness/noUnusedVariables: Kept for documentation */
|
|
105
|
+
const LZMA_NO_CHECK = 2; // Input stream has no integrity check
|
|
106
|
+
/* biome-ignore lint/correctness/noUnusedVariables: Kept for documentation */
|
|
107
|
+
const LZMA_UNSUPPORTED_CHECK = 3; // Cannot calculate integrity check
|
|
108
|
+
/* biome-ignore lint/correctness/noUnusedVariables: Kept for documentation */
|
|
109
|
+
const LZMA_GET_CHECK = 4; // Integrity check type now available
|
|
110
|
+
// Actual error codes (5-11) - these get specialized error classes:
|
|
111
|
+
const LZMA_MEM_ERROR = 5; // Cannot allocate memory
|
|
112
|
+
const LZMA_MEMLIMIT_ERROR = 6; // Memory usage limit reached
|
|
113
|
+
const LZMA_FORMAT_ERROR = 7; // File format not recognized
|
|
114
|
+
const LZMA_OPTIONS_ERROR = 8; // Invalid or unsupported options
|
|
115
|
+
const LZMA_DATA_ERROR = 9; // Data is corrupt
|
|
116
|
+
const LZMA_BUF_ERROR = 10; // No progress possible
|
|
117
|
+
const LZMA_PROG_ERROR = 11; // Programming error
|
|
110
118
|
switch (errno) {
|
|
111
119
|
case LZMA_MEM_ERROR:
|
|
112
120
|
return new LZMAMemoryError(errno);
|
|
@@ -147,7 +155,10 @@ function getErrorMessage(errno) {
|
|
|
147
155
|
'No progress is possible',
|
|
148
156
|
'Programming error',
|
|
149
157
|
];
|
|
150
|
-
|
|
151
|
-
|
|
158
|
+
// F-011: Handle out-of-bounds errno explicitly instead of silent clamping
|
|
159
|
+
if (errno < 0 || errno >= messages.length) {
|
|
160
|
+
return `Unknown LZMA error code: ${errno}`;
|
|
161
|
+
}
|
|
162
|
+
return messages[errno];
|
|
152
163
|
}
|
|
153
164
|
//# sourceMappingURL=errors.js.map
|
package/lib/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAIlC,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,YAAY,KAAa;QACvB,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAAS;IACjD,YAAY,KAAa;QACvB,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,YAAY,KAAa;QACvB,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,YAAY,KAAa;QACvB,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,KAAa;QACvB,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,YAAY,KAAa;QACvB,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAAS;IACjD,YAAY,KAAa;QACvB,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,OAAgB;IAC7D,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|