node-liblzma 4.0.2 → 5.0.1
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 +68 -24
- package/lib/errors.d.ts +1 -1
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +8 -3
- package/lib/errors.js.map +1 -1
- package/lib/lzma.d.ts +20 -1
- package/lib/lzma.d.ts.map +1 -1
- package/lib/lzma.js +14 -14
- package/lib/lzma.js.map +1 -1
- package/lib/pool.d.ts.map +1 -1
- package/lib/pool.js +10 -0
- package/lib/pool.js.map +1 -1
- package/lib/types.d.ts +27 -0
- package/lib/types.d.ts.map +1 -1
- package/lib/wasm/bindings.d.ts +15 -0
- package/lib/wasm/bindings.d.ts.map +1 -1
- package/lib/wasm/bindings.js +41 -1
- package/lib/wasm/bindings.js.map +1 -1
- package/lib/wasm/decompress.d.ts +1 -1
- package/lib/wasm/decompress.d.ts.map +1 -1
- package/lib/wasm/decompress.js +2 -3
- package/lib/wasm/decompress.js.map +1 -1
- package/lib/wasm/liblzma.wasm +0 -0
- package/package.json +15 -7
- package/prebuilds/darwin-arm64/node-liblzma.node +0 -0
- package/prebuilds/linux-x64/node-liblzma.node +0 -0
- package/prebuilds/win32-x64/node-liblzma.node +0 -0
- package/src/bindings/node-liblzma.cpp +61 -3
- package/src/bindings/node-liblzma.hpp +1 -1
- package/xz-version.json +2 -2
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ Node-liblzma
|
|
|
7
7
|
[](https://oorabona.github.io/node-liblzma/)
|
|
8
8
|
[](https://github.com/oorabona/node-liblzma/blob/master/LICENSE)
|
|
9
9
|
[](https://nodejs.org)
|
|
10
|
-
[](https://www.typescriptlang.org/)
|
|
11
11
|
[](https://docs.npmjs.com/generating-provenance-statements)
|
|
12
12
|
[](https://codecov.io/gh/oorabona/node-liblzma)
|
|
13
13
|
[](https://biomejs.dev)
|
|
@@ -18,6 +18,7 @@ Native Node.js bindings for liblzma — XZ/LZMA2 compression with **browser supp
|
|
|
18
18
|
|
|
19
19
|
- [Quick Start](#quick-start)
|
|
20
20
|
- [What's New](#whats-new)
|
|
21
|
+
- [v5.0.0 — TypeScript 6 & Node 22](#v500--typescript-6--node-22)
|
|
21
22
|
- [v4.0.0 — API Cleanup](#v400--api-cleanup)
|
|
22
23
|
- [v3.0.0 — Browser & WASM Support](#v300--browser--wasm-support)
|
|
23
24
|
- [v2.0.0 — TypeScript Modernization](#v200--typescript-modernization)
|
|
@@ -39,11 +40,13 @@ Native Node.js bindings for liblzma — XZ/LZMA2 compression with **browser supp
|
|
|
39
40
|
- [Installation](#installation)
|
|
40
41
|
- [Testing](#testing)
|
|
41
42
|
- [Migration Guide](#migration-guide)
|
|
43
|
+
- [v4.x → v5.0](#v4x--v50)
|
|
42
44
|
- [v3.x → v4.0](#v3x--v40)
|
|
43
45
|
- [v1.x → v2.0](#v1x--v20)
|
|
44
46
|
- [Contributing](#contributing)
|
|
45
47
|
- [Releasing](#releasing)
|
|
46
48
|
- [Troubleshooting](#troubleshooting)
|
|
49
|
+
- [Using node-liblzma?](#using-node-liblzma)
|
|
47
50
|
- [Bugs](#bugs)
|
|
48
51
|
- [Acknowledgements](#acknowledgements)
|
|
49
52
|
- [License](#license)
|
|
@@ -124,6 +127,13 @@ xz(Buffer.from('Hello, World!'), (err, compressed) => {
|
|
|
124
127
|
|
|
125
128
|
## What's New
|
|
126
129
|
|
|
130
|
+
### v5.0.0 — TypeScript 6 & Node 22
|
|
131
|
+
|
|
132
|
+
- **Node.js >= 22 required** — Node 20 reached EOL in April 2026
|
|
133
|
+
- **TypeScript 6** — Upgraded from TS 5.x; explicit `types` declarations in workspace tsconfigs
|
|
134
|
+
- **CI matrix updated** — Tests now run on Node 22 + 24 (was 20 + 22)
|
|
135
|
+
- **XZ Utils 5.8.3** — Updated from 5.8.2
|
|
136
|
+
|
|
127
137
|
### v4.0.0 — API Cleanup
|
|
128
138
|
|
|
129
139
|
- **Default export removed** — Use named imports instead (see [migration guide](#v3x--v40))
|
|
@@ -155,7 +165,7 @@ xz(Buffer.from('Hello, World!'), (err, compressed) => {
|
|
|
155
165
|
- **Full TypeScript migration**: Complete rewrite from CoffeeScript
|
|
156
166
|
- **Promise-based APIs**: `xzAsync()` and `unxzAsync()`
|
|
157
167
|
- **Modern tooling**: Vitest, Biome, pnpm, pre-commit hooks
|
|
158
|
-
- **Node.js >= 16** required (updated from >= 12; bumped to >= 20 in v3.2.0)
|
|
168
|
+
- **Node.js >= 16** required (updated from >= 12; bumped to >= 20 in v3.2.0, >= 22 in v5.0.0)
|
|
159
169
|
|
|
160
170
|
<details>
|
|
161
171
|
<summary><strong>Legacy (N-API migration)</strong></summary>
|
|
@@ -332,9 +342,9 @@ Archives created by nxz are fully compatible with system `tar -xJf`.
|
|
|
332
342
|
<summary><strong>One-shot usage (without global install)</strong></summary>
|
|
333
343
|
|
|
334
344
|
```bash
|
|
335
|
-
# Standalone nxz
|
|
336
|
-
npx nxz
|
|
337
|
-
pnpm dlx nxz
|
|
345
|
+
# Standalone nxz package (recommended — smaller, faster install)
|
|
346
|
+
npx @oorabona/nxz --help
|
|
347
|
+
pnpm dlx @oorabona/nxz --help
|
|
338
348
|
|
|
339
349
|
# Or via the full node-liblzma package
|
|
340
350
|
npx --package node-liblzma nxz --help
|
|
@@ -358,43 +368,61 @@ node-liblzma powers a family of focused packages:
|
|
|
358
368
|
| Package | Description | Install |
|
|
359
369
|
|---------|-------------|---------|
|
|
360
370
|
| [`node-liblzma`](https://www.npmjs.com/package/node-liblzma) | Core XZ library — Node.js native + browser WASM | `npm i node-liblzma` |
|
|
361
|
-
| [`tar-xz`](https://www.npmjs.com/package/tar-xz) | Create/extract .tar.xz archives — Node
|
|
362
|
-
| [
|
|
371
|
+
| [`tar-xz`](https://www.npmjs.com/package/tar-xz) | Create/extract .tar.xz archives — stream-first, Node + browser, same API (v6) | `npm i tar-xz` |
|
|
372
|
+
| [`@oorabona/nxz`](https://www.npmjs.com/package/@oorabona/nxz) | Standalone CLI — `npx @oorabona/nxz file.txt` | `npx @oorabona/nxz` |
|
|
363
373
|
|
|
364
|
-
### tar-xz — tar.xz archives
|
|
374
|
+
### tar-xz — tar.xz archives (v6)
|
|
365
375
|
|
|
366
376
|
> **[Live Demo](https://oorabona.github.io/node-liblzma/tar-xz/)** — Create and extract tar.xz archives in your browser.
|
|
367
377
|
|
|
368
|
-
|
|
378
|
+
> **v6 redesign** — unified stream-first API, same function names in Node and browser.
|
|
379
|
+
> See [packages/tar-xz/README.md](packages/tar-xz/README.md) for full docs and migration guide.
|
|
380
|
+
|
|
381
|
+
A library for working with `.tar.xz` archives. Fills the gap left by
|
|
382
|
+
[node-tar](https://github.com/isaacs/node-tar) which does not support `.tar.xz`.
|
|
369
383
|
|
|
370
384
|
```typescript
|
|
371
|
-
// Node.js
|
|
385
|
+
// Same import works in Node.js AND browser (bundler resolves WASM automatically)
|
|
372
386
|
import { create, extract, list } from 'tar-xz';
|
|
373
387
|
|
|
374
|
-
|
|
375
|
-
const
|
|
376
|
-
|
|
388
|
+
// CREATE — returns AsyncIterable<Uint8Array>
|
|
389
|
+
const archiveStream = create({
|
|
390
|
+
files: [
|
|
391
|
+
{ name: 'hello.txt', source: Buffer.from('Hello!') },
|
|
392
|
+
{ name: 'data.json', source: Buffer.from('{}') },
|
|
393
|
+
],
|
|
394
|
+
preset: 6,
|
|
395
|
+
});
|
|
396
|
+
|
|
397
|
+
// EXTRACT — returns AsyncIterable<TarEntryWithData>
|
|
398
|
+
for await (const entry of extract(archiveStream)) {
|
|
399
|
+
if (entry.type === '0') console.log(entry.name, await entry.text());
|
|
400
|
+
}
|
|
377
401
|
|
|
378
|
-
//
|
|
379
|
-
|
|
402
|
+
// LIST — returns AsyncIterable<TarEntry>
|
|
403
|
+
for await (const entry of list(archiveStream)) {
|
|
404
|
+
console.log(entry.name, entry.size);
|
|
405
|
+
}
|
|
380
406
|
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
407
|
+
// File helpers (Node only, tar-xz/file subpath)
|
|
408
|
+
import { createFile, extractFile, listFile } from 'tar-xz/file';
|
|
409
|
+
await createFile('archive.tar.xz', { files: [{ name: 'a.txt', source: 'a.txt' }] });
|
|
410
|
+
await extractFile('archive.tar.xz', { cwd: './output', strip: 1 });
|
|
411
|
+
const entries = await listFile('archive.tar.xz');
|
|
384
412
|
```
|
|
385
413
|
|
|
386
|
-
### nxz
|
|
414
|
+
### nxz — standalone CLI
|
|
387
415
|
|
|
388
416
|
A lightweight wrapper package for running `nxz` without installing the full `node-liblzma`:
|
|
389
417
|
|
|
390
418
|
```bash
|
|
391
419
|
# No install needed
|
|
392
|
-
npx nxz
|
|
393
|
-
npx nxz
|
|
394
|
-
npx nxz
|
|
420
|
+
npx @oorabona/nxz file.txt # compress
|
|
421
|
+
npx @oorabona/nxz -d file.txt.xz # decompress
|
|
422
|
+
npx @oorabona/nxz -T src/ -o app.tar.xz # create tar.xz archive
|
|
395
423
|
|
|
396
424
|
# Or install globally
|
|
397
|
-
npm install -g nxz
|
|
425
|
+
npm install -g @oorabona/nxz
|
|
398
426
|
```
|
|
399
427
|
|
|
400
428
|
## API Reference
|
|
@@ -676,6 +704,18 @@ Tests use [Vitest](https://vitest.dev/) with 100% code coverage across statement
|
|
|
676
704
|
|
|
677
705
|
## Migration Guide
|
|
678
706
|
|
|
707
|
+
### v4.x → v5.0
|
|
708
|
+
|
|
709
|
+
#### Breaking Changes
|
|
710
|
+
|
|
711
|
+
1. **Node.js >= 22 required** — Node 20 reached end-of-life in April 2026. If you must support Node 20, stay on v4.x.
|
|
712
|
+
|
|
713
|
+
2. **TypeScript 6** — If your project uses TypeScript, you'll need TS 6.x to compile with this version's type definitions.
|
|
714
|
+
|
|
715
|
+
#### No API Changes
|
|
716
|
+
|
|
717
|
+
The JavaScript/TypeScript API is identical to v4.x — `xzAsync`, `unxzAsync`, `createXz`, `createUnxz`, and all other functions work the same way. This is a toolchain-only breaking change.
|
|
718
|
+
|
|
679
719
|
### v3.x → v4.0
|
|
680
720
|
|
|
681
721
|
#### Breaking Changes
|
|
@@ -845,11 +885,15 @@ npm config set python python3
|
|
|
845
885
|
## Related Projects
|
|
846
886
|
|
|
847
887
|
- [tar-xz](https://www.npmjs.com/package/tar-xz) — Create/extract tar.xz archives (powered by node-liblzma)
|
|
848
|
-
- [nxz
|
|
888
|
+
- [@oorabona/nxz](https://www.npmjs.com/package/@oorabona/nxz) — Standalone CLI for XZ compression
|
|
849
889
|
- [lzma-purejs](https://github.com/cscott/lzma-purejs) — Pure JavaScript LZMA implementation
|
|
850
890
|
- [node-xz](https://github.com/robey/node-xz) — Node binding of XZ library
|
|
851
891
|
- [lzma-native](https://github.com/addaleax/lzma-native) — Complete XZ library bindings
|
|
852
892
|
|
|
893
|
+
## Using node-liblzma?
|
|
894
|
+
|
|
895
|
+
We'd love to hear from you! If you're using node-liblzma in production, a side project, or an interesting use case, feel free to [open a discussion](https://github.com/oorabona/node-liblzma/discussions) or drop a comment on [this thread](https://github.com/oorabona/node-liblzma/issues/94). It helps us understand how the library is used and prioritize features.
|
|
896
|
+
|
|
853
897
|
## Bugs
|
|
854
898
|
|
|
855
899
|
If you find one, feel free to contribute and post a new [issue](https://github.com/oorabona/node-liblzma/issues)!
|
package/lib/errors.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ export declare class LZMAFormatError extends LZMAError {
|
|
|
45
45
|
* Options error - thrown when invalid or unsupported options are provided
|
|
46
46
|
*/
|
|
47
47
|
export declare class LZMAOptionsError extends LZMAError {
|
|
48
|
-
constructor(errno: number);
|
|
48
|
+
constructor(errno: number, message?: string);
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
51
|
* Data error - thrown when compressed data is corrupt
|
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;
|
|
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,EAAE,OAAO,CAAC,EAAE,MAAM;CAI5C;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;AAMH,eAAO,MAAM,OAAO,IAAI,CAAC;AACzB,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,cAAc,IAAI,CAAC;AAGhC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAuB1E"}
|
package/lib/errors.js
CHANGED
|
@@ -58,8 +58,8 @@ export class LZMAFormatError extends LZMAError {
|
|
|
58
58
|
* Options error - thrown when invalid or unsupported options are provided
|
|
59
59
|
*/
|
|
60
60
|
export class LZMAOptionsError extends LZMAError {
|
|
61
|
-
constructor(errno) {
|
|
62
|
-
super('Invalid or unsupported options', errno);
|
|
61
|
+
constructor(errno, message) {
|
|
62
|
+
super(message ?? 'Invalid or unsupported options', errno);
|
|
63
63
|
this.name = 'LZMAOptionsError';
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -155,6 +155,11 @@ function getErrorMessage(errno) {
|
|
|
155
155
|
if (errno < 0 || errno >= messages.length) {
|
|
156
156
|
return `Unknown LZMA error code: ${errno}`;
|
|
157
157
|
}
|
|
158
|
-
|
|
158
|
+
const msg = messages[errno];
|
|
159
|
+
/* v8 ignore start: defensive after bounds check on L172 — errno always in [0, messages.length) here */
|
|
160
|
+
if (msg === undefined)
|
|
161
|
+
return `Unknown LZMA error code: ${errno}`;
|
|
162
|
+
/* v8 ignore stop */
|
|
163
|
+
return msg;
|
|
159
164
|
}
|
|
160
165
|
//# 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;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/lib/lzma.d.ts
CHANGED
|
@@ -225,8 +225,27 @@ export type { LZMAOptions, CompressionCallback, LZMAActionType, LZMAStatusType,
|
|
|
225
225
|
*
|
|
226
226
|
* Emits `progress` event after each chunk with `{bytesRead, bytesWritten}` info.
|
|
227
227
|
*/
|
|
228
|
+
/**
|
|
229
|
+
* Internal resolved options for XzStream instances.
|
|
230
|
+
*
|
|
231
|
+
* All fields are required (defaults applied in constructor) EXCEPT memlimit,
|
|
232
|
+
* which is genuinely optional: validated by validateMemlimit() at the XzStream
|
|
233
|
+
* constructor for decode streams; passed through to both the native N-API decoder
|
|
234
|
+
* and the WASM Buffer API. xzAsync is compression-only and ignores this field.
|
|
235
|
+
*/
|
|
236
|
+
interface ResolvedLZMAOptions {
|
|
237
|
+
check: number;
|
|
238
|
+
preset: number;
|
|
239
|
+
filters: number[];
|
|
240
|
+
mode: number;
|
|
241
|
+
threads: number;
|
|
242
|
+
chunkSize: number;
|
|
243
|
+
flushFlag: number;
|
|
244
|
+
/** Optional memlimit. Validated at the public XzStream constructor; passed through to the decoder backend (native or WASM). */
|
|
245
|
+
memlimit?: number | bigint;
|
|
246
|
+
}
|
|
228
247
|
export declare abstract class XzStream extends Transform {
|
|
229
|
-
protected _opts:
|
|
248
|
+
protected _opts: ResolvedLZMAOptions;
|
|
230
249
|
protected _chunkSize: number;
|
|
231
250
|
protected _flushFlag: number;
|
|
232
251
|
protected lzma: NativeLZMA;
|
package/lib/lzma.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lzma.d.ts","sourceRoot":"","sources":["../src/lzma.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvF,OAAO,EAEL,eAAe,EACf,aAAa,EACb,SAAS,EACT,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"lzma.d.ts","sourceRoot":"","sources":["../src/lzma.ts"],"names":[],"mappings":"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"}
|
package/lib/lzma.js
CHANGED
|
@@ -22,9 +22,11 @@ import * as path from 'node:path';
|
|
|
22
22
|
import { Transform } from 'node:stream';
|
|
23
23
|
import { fileURLToPath } from 'node:url';
|
|
24
24
|
import { createLZMAError, LZMABufferError, LZMADataError, LZMAError, LZMAFormatError, LZMAMemoryError, LZMAMemoryLimitError, LZMAOptionsError, LZMAProgrammingError, } from './errors.js';
|
|
25
|
+
import { validateMemlimit } from './wasm/bindings.js';
|
|
25
26
|
// Re-export error classes for public API
|
|
26
27
|
export { LZMAError, LZMAMemoryError, LZMAMemoryLimitError, LZMAFormatError, LZMAOptionsError, LZMADataError, LZMABufferError, LZMAProgrammingError, };
|
|
27
28
|
// Re-export pool for concurrency control
|
|
29
|
+
// biome-ignore lint/suspicious/noImportCycles: intentional ESM cycle resolved at runtime; LZMAPool re-exports from lzma.ts to keep public surface flat
|
|
28
30
|
export { LZMAPool } from './pool.js';
|
|
29
31
|
const __filename = fileURLToPath(import.meta.url);
|
|
30
32
|
const __dirname = path.dirname(__filename);
|
|
@@ -216,19 +218,6 @@ export const LZMA_FILTER_ARM = LZMAFilter.ARM_ALT;
|
|
|
216
218
|
export const LZMA_FILTER_ARMTHUMB = LZMAFilter.ARMTHUMB_ALT;
|
|
217
219
|
/** Maximum number of filters in a chain */
|
|
218
220
|
export const LZMA_FILTERS_MAX = LZMAFilter.FILTERS_MAX;
|
|
219
|
-
/**
|
|
220
|
-
* Abstract base class for XZ compression/decompression streams.
|
|
221
|
-
* Extends Node.js Transform stream with LZMA2 encoding/decoding.
|
|
222
|
-
*
|
|
223
|
-
* @example
|
|
224
|
-
* ```ts
|
|
225
|
-
* // Use Xz or Unxz classes instead of XzStream directly
|
|
226
|
-
* const compressor = new Xz({ preset: 6 });
|
|
227
|
-
* readStream.pipe(compressor).pipe(writeStream);
|
|
228
|
-
* ```
|
|
229
|
-
*
|
|
230
|
-
* Emits `progress` event after each chunk with `{bytesRead, bytesWritten}` info.
|
|
231
|
-
*/
|
|
232
221
|
export class XzStream extends Transform {
|
|
233
222
|
// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Constructor needs complex validation for LZMA options
|
|
234
223
|
constructor(streamMode, opts = {}, options) {
|
|
@@ -250,6 +239,12 @@ export class XzStream extends Transform {
|
|
|
250
239
|
else {
|
|
251
240
|
clonedFilters = [filter.LZMA2];
|
|
252
241
|
}
|
|
242
|
+
// Validate memlimit early for decoder streams so callers get LZMAOptionsError
|
|
243
|
+
// (not a raw RangeError) before any native object is allocated.
|
|
244
|
+
// Encoder streams pass memlimit through but it has no effect on the C side.
|
|
245
|
+
if (streamMode === liblzma.STREAM_DECODE && opts.memlimit !== undefined) {
|
|
246
|
+
validateMemlimit(opts.memlimit);
|
|
247
|
+
}
|
|
253
248
|
this._opts = {
|
|
254
249
|
check: opts.check ?? check.NONE,
|
|
255
250
|
preset: opts.preset ?? preset.DEFAULT,
|
|
@@ -258,6 +253,9 @@ export class XzStream extends Transform {
|
|
|
258
253
|
threads: opts.threads ?? 1,
|
|
259
254
|
chunkSize: opts.chunkSize ?? liblzma.BUFSIZ,
|
|
260
255
|
flushFlag: opts.flushFlag ?? liblzma.LZMA_RUN,
|
|
256
|
+
// memlimit is passed through to the native binding for STREAM_DECODE.
|
|
257
|
+
// Validated above for decode streams. Ignored for encode streams.
|
|
258
|
+
memlimit: opts.memlimit,
|
|
261
259
|
};
|
|
262
260
|
this._chunkSize = this._opts.chunkSize;
|
|
263
261
|
this._flushFlag = this._opts.flushFlag;
|
|
@@ -515,7 +513,9 @@ export class XzStream extends Transform {
|
|
|
515
513
|
/* v8 ignore start - async error path handling */
|
|
516
514
|
// F-003: If LZMA engine returned an error, emit onerror event (matches sync path at line 438)
|
|
517
515
|
if (errno !== liblzma.LZMA_OK && errno !== liblzma.LZMA_STREAM_END) {
|
|
518
|
-
this.
|
|
516
|
+
if (!this._closed) {
|
|
517
|
+
this.emit('onerror', errno);
|
|
518
|
+
}
|
|
519
519
|
return false;
|
|
520
520
|
}
|
|
521
521
|
/* v8 ignore stop */
|
package/lib/lzma.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lzma.js","sourceRoot":"","sources":["../src/lzma.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lzma.js","sourceRoot":"","sources":["../src/lzma.ts"],"names":[],"mappings":"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"}
|
package/lib/pool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,KAAK,WAAW,EAAsB,MAAM,WAAW,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB;AAWD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,QAAS,SAAQ,YAAY;IAc5B,OAAO,CAAC,aAAa;IAbjC,OAAO,CAAC,KAAK,CAAoB;IAEjC,OAAO,CAAC,OAAO,CAKb;IAEF;;;OAGG;gBACiB,aAAa,SAAK;IAQtC;;;;;OAKG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjE;;;;;OAKG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAInE;;;OAGG;IACH,UAAU,IAAI,QAAQ,CAAC,WAAW,CAAC;IAInC;;;OAGG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;OAIG;YACW,OAAO;IASrB;;OAEG;IACH,OAAO,CAAC,YAAY;IA2CpB;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B;;;;OAIG;IACH,UAAU,IAAI,MAAM;CAYrB"}
|
package/lib/pool.js
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
import { EventEmitter } from 'node:events';
|
|
19
|
+
// biome-ignore lint/suspicious/noImportCycles: intentional ESM cycle resolved at runtime; LZMAPool re-exports from lzma.ts to keep public surface flat
|
|
19
20
|
import { unxzAsync, xzAsync } from './lzma.js';
|
|
20
21
|
/**
|
|
21
22
|
* LZMA Pool with concurrency control and event monitoring
|
|
@@ -128,6 +129,15 @@ export class LZMAPool extends EventEmitter {
|
|
|
128
129
|
return;
|
|
129
130
|
}
|
|
130
131
|
const item = this.queue.shift();
|
|
132
|
+
/* v8 ignore start: defensive after queue.length > 0 guard on L163 — shift() always returns a value here */
|
|
133
|
+
if (item === undefined) {
|
|
134
|
+
// The `this.queue.length === 0` early-return guard above means shift()
|
|
135
|
+
// must return a value here. Returning silently would let queued tasks
|
|
136
|
+
// stall on a future invariant breach (re-entrancy, refactor, etc.).
|
|
137
|
+
// Throw so the bug surfaces at the breach instead of as a hung pool.
|
|
138
|
+
throw new Error('Invariant violation: queue was non-empty but shift() returned undefined');
|
|
139
|
+
}
|
|
140
|
+
/* v8 ignore stop */
|
|
131
141
|
this.metrics.active++;
|
|
132
142
|
this.metrics.queued = this.queue.length;
|
|
133
143
|
this.emit('start', { ...this.metrics });
|
package/lib/pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAoB,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBjE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,QAAS,SAAQ,YAAY;IAUxC;;;OAGG;IACH,YAAoB,gBAAgB,EAAE;QACpC,KAAK,EAAE,CAAC;QADU,kBAAa,GAAb,aAAa,CAAK;QAb9B,UAAK,GAAiB,EAAE,CAAC;QAEzB,YAAO,GAAgB;YAC7B,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC;SACV,CAAC;QASA,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAkB;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,IAAkB;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,OAAO,CAAC,EAAyB;QAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,sDAAsD;QACtD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzE,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -28,6 +28,33 @@ export interface LZMAOptions {
|
|
|
28
28
|
chunkSize?: number;
|
|
29
29
|
/** Flush flag to use */
|
|
30
30
|
flushFlag?: number;
|
|
31
|
+
/**
|
|
32
|
+
* Memory usage limit for decompression, in bytes.
|
|
33
|
+
*
|
|
34
|
+
* **Honored by all decoder APIs** (`unxz`, `unxzAsync`, `Unxz`, `createUnxz` — both native
|
|
35
|
+
* and WASM paths). `xzAsync` is compression-only and does not read `memlimit`.
|
|
36
|
+
*
|
|
37
|
+
* Accepted types: `number` or `bigint`. Both are validated before reaching the
|
|
38
|
+
* decoder. The native binding accepts either type directly via N-API; the WASM
|
|
39
|
+
* Buffer API coerces to `bigint` for the C ABI. The `number` form must be a
|
|
40
|
+
* finite, non-negative integer; passing
|
|
41
|
+
* `NaN`, `Infinity`, a fractional value, or a negative number throws
|
|
42
|
+
* `LZMAOptionsError` before any decompression is attempted.
|
|
43
|
+
* For values ≥ `Number.MAX_SAFE_INTEGER` (2^53 - 1), use `bigint` to avoid
|
|
44
|
+
* precision loss on coercion; passing a `number` above this threshold also
|
|
45
|
+
* throws `LZMAOptionsError`.
|
|
46
|
+
* `bigint` values above `UINT64_MAX` (2^64 - 1) are also rejected with
|
|
47
|
+
* `LZMAOptionsError`.
|
|
48
|
+
*
|
|
49
|
+
* Default: `UINT64_MAX` (no limit) for native; `BigInt(256 * 1024 * 1024)` (256 MiB)
|
|
50
|
+
* for WASM buffer APIs (`unxz`/`unxzAsync`).
|
|
51
|
+
*
|
|
52
|
+
* When the compressed stream requires more memory than this limit,
|
|
53
|
+
* decompression throws/emits `LZMAMemoryLimitError` with
|
|
54
|
+
* `code === LZMA_MEMLIMIT_ERROR` (numeric constant `6`, re-exported from
|
|
55
|
+
* `src/errors.ts`).
|
|
56
|
+
*/
|
|
57
|
+
memlimit?: number | bigint;
|
|
31
58
|
}
|
|
32
59
|
/**
|
|
33
60
|
* Callback function for asynchronous compression/decompression operations.
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,mDAAmD;AACnD,MAAM,MAAM,kBAAkB,GAAG,CAC/B,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,KAClB,OAAO,CAAC;AAEb,2CAA2C;AAC3C,MAAM,WAAW,UAAU;IACzB,4CAA4C;IAC5C,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B,6CAA6C;IAC7C,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,kBAAkB,GAC3B,IAAI,CAAC;IAER,4BAA4B;IAC5B,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib/wasm/bindings.d.ts
CHANGED
|
@@ -39,6 +39,7 @@ export declare function encoderInit(stream: WasmLzmaStream, preset: number, chec
|
|
|
39
39
|
*
|
|
40
40
|
* @param stream - Allocated WasmLzmaStream
|
|
41
41
|
* @param memlimit - Memory limit in bytes (default: 256MB)
|
|
42
|
+
* @throws LZMAOptionsError if memlimit is invalid
|
|
42
43
|
* @throws LZMAError on initialization failure
|
|
43
44
|
*/
|
|
44
45
|
export declare function decoderInit(stream: WasmLzmaStream, memlimit?: number | bigint): void;
|
|
@@ -47,6 +48,7 @@ export declare function decoderInit(stream: WasmLzmaStream, memlimit?: number |
|
|
|
47
48
|
*
|
|
48
49
|
* @param stream - Allocated WasmLzmaStream
|
|
49
50
|
* @param memlimit - Memory limit in bytes (default: 256MB)
|
|
51
|
+
* @throws LZMAOptionsError if memlimit is invalid
|
|
50
52
|
* @throws LZMAError on initialization failure
|
|
51
53
|
*/
|
|
52
54
|
export declare function autoDecoderInit(stream: WasmLzmaStream, memlimit?: number | bigint): void;
|
|
@@ -84,6 +86,19 @@ export declare function easyBufferEncode(input: Uint8Array, preset: number, chec
|
|
|
84
86
|
* @returns Decompressed data
|
|
85
87
|
* @throws LZMAError on decompression failure
|
|
86
88
|
*/
|
|
89
|
+
/**
|
|
90
|
+
* Validate a memlimit value before coercion to BigInt.
|
|
91
|
+
*
|
|
92
|
+
* BigInt() throws a native RangeError for NaN, Infinity, and non-integer
|
|
93
|
+
* numbers (e.g. 1.5). Negative integers produce a huge unsigned value when
|
|
94
|
+
* interpreted by the C ABI (uint64_t wrap-around). Numbers above
|
|
95
|
+
* Number.MAX_SAFE_INTEGER (2^53 - 1) lose precision on coercion to BigInt.
|
|
96
|
+
* All these cases are rejected here with LZMAOptionsError so callers always
|
|
97
|
+
* get an LZMAError subclass.
|
|
98
|
+
*
|
|
99
|
+
* @throws LZMAOptionsError if the value is invalid
|
|
100
|
+
*/
|
|
101
|
+
export declare function validateMemlimit(memlimit: number | bigint): void;
|
|
87
102
|
export declare function streamBufferDecode(input: Uint8Array, memlimit?: number | bigint): Uint8Array;
|
|
88
103
|
/**
|
|
89
104
|
* Process a full input buffer through an initialized encoder/decoder stream,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/wasm/bindings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAA4B,KAAK,cAAc,EAAuB,MAAM,aAAa,CAAC;AACjG,OAAO,EAOL,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAWpB;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CA+BxF;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,UAAU,CAKtC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAID;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,SAAmB,GACvB,IAAI,CAQN;AAED
|
|
1
|
+
{"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/wasm/bindings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAA4B,KAAK,cAAc,EAAuB,MAAM,aAAa,CAAC;AACjG,OAAO,EAOL,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAWpB;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CA+BxF;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,UAAU,CAKtC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAID;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,SAAmB,GACvB,IAAI,CAQN;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,cAAc,EACtB,QAAQ,GAAE,MAAM,GAAG,MAAyB,GAC3C,IAAI,CAUN;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,QAAQ,GAAE,MAAM,GAAG,MAAyB,GAC3C,IAAI,CAUN;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAGhD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAGvD;AAID;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,SAAmB,GACvB,UAAU,CAsCZ;AAED;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkChE;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,QAAQ,GAAE,MAAM,GAAG,MAAyB,GAC3C,UAAU,CA+DZ;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,GAAG,UAAU,CAoDnF;AAID;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAStC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGvD"}
|
package/lib/wasm/bindings.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Provides typed wrappers around the raw C functions exported by liblzma.wasm,
|
|
5
5
|
* with proper memory management and error handling.
|
|
6
6
|
*/
|
|
7
|
-
import { createLZMAError, LZMAError } from '../errors.js';
|
|
7
|
+
import { createLZMAError, LZMAError, LZMA_OPTIONS_ERROR, LZMAOptionsError } from '../errors.js';
|
|
8
8
|
import { copyFromWasm, copyToWasm, wasmAlloc, wasmFree } from './memory.js';
|
|
9
9
|
import { LZMA_BUF_ERROR, LZMA_CHECK_CRC64, LZMA_FINISH, LZMA_OK, LZMA_RUN, LZMA_STREAM_END, } from './types.js';
|
|
10
10
|
// Default output buffer size for streaming operations (256KB)
|
|
@@ -92,9 +92,11 @@ export function encoderInit(stream, preset, check = LZMA_CHECK_CRC64) {
|
|
|
92
92
|
*
|
|
93
93
|
* @param stream - Allocated WasmLzmaStream
|
|
94
94
|
* @param memlimit - Memory limit in bytes (default: 256MB)
|
|
95
|
+
* @throws LZMAOptionsError if memlimit is invalid
|
|
95
96
|
* @throws LZMAError on initialization failure
|
|
96
97
|
*/
|
|
97
98
|
export function decoderInit(stream, memlimit = DEFAULT_MEMLIMIT) {
|
|
99
|
+
validateMemlimit(memlimit);
|
|
98
100
|
const module = getModule();
|
|
99
101
|
const limit = typeof memlimit === 'number' ? BigInt(memlimit) : memlimit;
|
|
100
102
|
const ret = module._lzma_stream_decoder(stream.ptr, limit, 0);
|
|
@@ -109,9 +111,11 @@ export function decoderInit(stream, memlimit = DEFAULT_MEMLIMIT) {
|
|
|
109
111
|
*
|
|
110
112
|
* @param stream - Allocated WasmLzmaStream
|
|
111
113
|
* @param memlimit - Memory limit in bytes (default: 256MB)
|
|
114
|
+
* @throws LZMAOptionsError if memlimit is invalid
|
|
112
115
|
* @throws LZMAError on initialization failure
|
|
113
116
|
*/
|
|
114
117
|
export function autoDecoderInit(stream, memlimit = DEFAULT_MEMLIMIT) {
|
|
118
|
+
validateMemlimit(memlimit);
|
|
115
119
|
const module = getModule();
|
|
116
120
|
const limit = typeof memlimit === 'number' ? BigInt(memlimit) : memlimit;
|
|
117
121
|
const ret = module._lzma_auto_decoder(stream.ptr, limit, 0);
|
|
@@ -191,6 +195,41 @@ export function easyBufferEncode(input, preset, check = LZMA_CHECK_CRC64) {
|
|
|
191
195
|
* @returns Decompressed data
|
|
192
196
|
* @throws LZMAError on decompression failure
|
|
193
197
|
*/
|
|
198
|
+
/**
|
|
199
|
+
* Validate a memlimit value before coercion to BigInt.
|
|
200
|
+
*
|
|
201
|
+
* BigInt() throws a native RangeError for NaN, Infinity, and non-integer
|
|
202
|
+
* numbers (e.g. 1.5). Negative integers produce a huge unsigned value when
|
|
203
|
+
* interpreted by the C ABI (uint64_t wrap-around). Numbers above
|
|
204
|
+
* Number.MAX_SAFE_INTEGER (2^53 - 1) lose precision on coercion to BigInt.
|
|
205
|
+
* All these cases are rejected here with LZMAOptionsError so callers always
|
|
206
|
+
* get an LZMAError subclass.
|
|
207
|
+
*
|
|
208
|
+
* @throws LZMAOptionsError if the value is invalid
|
|
209
|
+
*/
|
|
210
|
+
export function validateMemlimit(memlimit) {
|
|
211
|
+
if (typeof memlimit === 'bigint') {
|
|
212
|
+
if (memlimit < 0n) {
|
|
213
|
+
throw new LZMAOptionsError(LZMA_OPTIONS_ERROR, 'memlimit must be a non-negative value');
|
|
214
|
+
}
|
|
215
|
+
if (memlimit > 18446744073709551615n) {
|
|
216
|
+
throw new LZMAOptionsError(LZMA_OPTIONS_ERROR, 'memlimit bigint exceeds UINT64_MAX (2^64 - 1); use a smaller value (UINT64_MAX = no limit on native; WASM buffer APIs default to 256 MiB when omitted)');
|
|
217
|
+
}
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
if (!Number.isFinite(memlimit)) {
|
|
221
|
+
throw new LZMAOptionsError(LZMA_OPTIONS_ERROR, 'memlimit must be a finite number (NaN and Infinity are not allowed)');
|
|
222
|
+
}
|
|
223
|
+
if (!Number.isInteger(memlimit)) {
|
|
224
|
+
throw new LZMAOptionsError(LZMA_OPTIONS_ERROR, 'memlimit must be an integer (fractional values are not allowed)');
|
|
225
|
+
}
|
|
226
|
+
if (memlimit < 0) {
|
|
227
|
+
throw new LZMAOptionsError(LZMA_OPTIONS_ERROR, 'memlimit must be a non-negative value');
|
|
228
|
+
}
|
|
229
|
+
if (memlimit > Number.MAX_SAFE_INTEGER) {
|
|
230
|
+
throw new LZMAOptionsError(LZMA_OPTIONS_ERROR, 'memlimit number exceeds MAX_SAFE_INTEGER (use bigint for values >= 2^53)');
|
|
231
|
+
}
|
|
232
|
+
}
|
|
194
233
|
export function streamBufferDecode(input, memlimit = DEFAULT_MEMLIMIT) {
|
|
195
234
|
const module = getModule();
|
|
196
235
|
const inPtr = copyToWasm(module, input);
|
|
@@ -203,6 +242,7 @@ export function streamBufferDecode(input, memlimit = DEFAULT_MEMLIMIT) {
|
|
|
203
242
|
outSize = 4096;
|
|
204
243
|
let outPtr = wasmAlloc(module, outSize);
|
|
205
244
|
try {
|
|
245
|
+
validateMemlimit(memlimit);
|
|
206
246
|
const limit = typeof memlimit === 'number' ? BigInt(memlimit) : memlimit;
|
|
207
247
|
module.setValue(memlimitPtr, limit, 'i64');
|
|
208
248
|
// Retry with larger buffer if BUF_ERROR
|
package/lib/wasm/bindings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../src/wasm/bindings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../src/wasm/bindings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,UAAU,EAAuB,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjG,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,OAAO,EACP,QAAQ,EACR,eAAe,GAEhB,MAAM,YAAY,CAAC;AAEpB,8DAA8D;AAC9D,MAAM,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAC;AACxC,8DAA8D;AAC9D,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAEnD,mDAAmD;AACnD,IAAI,cAAc,GAAsB,IAAI,CAAC;AAC7C,IAAI,aAAa,GAA+B,IAAI,CAAC;AAErD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAkC;IACjE,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;QAC1B,IAAI,MAAM,EAAE,CAAC;YACX,cAAc,GAAG,MAAM,MAAM,EAAE,CAAC;YAChC,6EAA6E;QAC/E,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAC7D,cAAc,GAAG,CAAC,MAAM,UAAU,EAAE,CAAe,CAAC;YACpD,oBAAoB;QACtB,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,CAAC;QACH,OAAO,MAAM,aAAa,CAAC;QAC3B,qEAAqE;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAa,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,SAAS,CACjB,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACjF,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,oBAAoB;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,uDAAuD,EAAE,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,cAAc,GAAG,IAAI,CAAC;IACtB,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC;AAED,mBAAmB;AAEnB;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CACzB,MAAsB,EACtB,MAAc,EACd,KAAK,GAAG,gBAAgB;IAExB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACjE,6DAA6D;IAC7D,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,oBAAoB;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CACzB,MAAsB,EACtB,WAA4B,gBAAgB;IAE5C,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzE,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9D,6DAA6D;IAC7D,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,oBAAoB;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAsB,EACtB,WAA4B,gBAAgB;IAE5C,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzE,MAAM,GAAG,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5D,kEAAkE;IAClE,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,oBAAoB;AACtB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAC,MAAsB,EAAE,MAAc;IACzD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,GAAG,CAAC,MAAsB;IACxC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAsB;IAC7C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,gCAAgC;AAEhC;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAiB,EACjB,MAAc,EACd,KAAK,GAAG,gBAAgB;IAExB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,oFAAoF;IACpF,oEAAoE;IACpE,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IACxC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEvC,IAAI,CAAC;QACH,qBAAqB;QACrB,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,MAAM,CAAC,wBAAwB,CACzC,MAAM,EACN,KAAK,EACL,CAAC,EAAE,6BAA6B;QAChC,KAAK,EACL,KAAK,CAAC,UAAU,EAChB,MAAM,EACN,SAAS,EACT,OAAO,CACR,CAAC;QAEF,8DAA8D;QAC9D,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,oBAAoB;QAEpB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAyB;IACxD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,uCAAuC,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,QAAQ,GAAG,qBAAqB,EAAE,CAAC;YACrC,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,wJAAwJ,CACzJ,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,uCAAuC,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,QAAQ,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,0EAA0E,CAC3E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAiB,EACjB,WAA4B,gBAAgB;IAE5C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEzC,4DAA4D;IAC5D,IAAI,OAAO,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;IACnC,IAAI,OAAO,GAAG,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC;IACnC,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAExC,IAAI,CAAC;QACH,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAE3C,wCAAwC;QACxC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7C,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAErC,MAAM,GAAG,GAAG,MAAM,CAAC,0BAA0B,CAC3C,WAAW,EACX,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,mBAAmB;YACtB,KAAK,EACL,QAAQ,EACR,KAAK,CAAC,UAAU,EAChB,MAAM,EACN,SAAS,EACT,OAAO,CACR,CAAC;YAEF,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBACjD,OAAO,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;YAED,mFAAmF;YACnF,oCAAoC;YACpC,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;gBAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACzB,OAAO,IAAI,CAAC,CAAC;gBACb,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACpC,SAAS;YACX,CAAC;YAED,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;YAC3B,oBAAoB;QACtB,CAAC;QAED,qBAAqB;QACrB,MAAM,IAAI,SAAS,CAAC,+CAA+C,EAAE,EAAE,CAAC,CAAC;QACzE,oBAAoB;IACtB,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,4BAA4B;AAE5B;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,MAAsB,EAAE,KAAiB;IACrE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,oBAAoB,CAAC;IACxC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,IAAI,MAAM,GAAG,QAAQ,CAAC;QAEtB,OAAO,IAAI,EAAE,CAAC;YACZ,4CAA4C;YAC5C,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,GAAG,WAAW,CAAC;YACvB,CAAC;YAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEjC,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC9C,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;YACtD,CAAC;YAED,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;gBAC5B,MAAM;YACR,CAAC;YAED,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACpB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;QAC7B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzB,GAAG,CAAC,MAAM,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,2BAA2B;AAE3B;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAC1C,iDAAiD;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC"}
|
package/lib/wasm/decompress.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ import type { CompressionCallback, LZMAOptions } from '../types.js';
|
|
|
12
12
|
* @param opts - Decompression options (memlimit)
|
|
13
13
|
* @returns Decompressed data
|
|
14
14
|
*/
|
|
15
|
-
export declare function unxzAsync(buffer: Uint8Array | ArrayBuffer | string,
|
|
15
|
+
export declare function unxzAsync(buffer: Uint8Array | ArrayBuffer | string, opts?: LZMAOptions): Promise<Uint8Array>;
|
|
16
16
|
/**
|
|
17
17
|
* Decompress XZ data (callback-based).
|
|
18
18
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../src/wasm/decompress.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAIpE;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,EACzC,
|
|
1
|
+
{"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../src/wasm/decompress.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAIpE;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,EACzC,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,UAAU,CAAC,CAIrB;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAClB,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,EACzC,QAAQ,EAAE,mBAAmB,GAC5B,IAAI,CAAC;AACR,wBAAgB,IAAI,CAClB,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,EACzC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,mBAAmB,GAC5B,IAAI,CAAC;AAwBR;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,KAAK,CAE/F"}
|
package/lib/wasm/decompress.js
CHANGED
|
@@ -14,11 +14,10 @@ import { toUint8Array } from './utils.js';
|
|
|
14
14
|
* @param opts - Decompression options (memlimit)
|
|
15
15
|
* @returns Decompressed data
|
|
16
16
|
*/
|
|
17
|
-
export async function unxzAsync(buffer,
|
|
17
|
+
export async function unxzAsync(buffer, opts) {
|
|
18
18
|
await initModule();
|
|
19
19
|
const input = toUint8Array(buffer);
|
|
20
|
-
|
|
21
|
-
return streamBufferDecode(input);
|
|
20
|
+
return streamBufferDecode(input, opts?.memlimit);
|
|
22
21
|
}
|
|
23
22
|
export function unxz(buffer, optsOrCallback, callback) {
|
|
24
23
|
let opts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decompress.js","sourceRoot":"","sources":["../../src/wasm/decompress.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAyC,EACzC,
|
|
1
|
+
{"version":3,"file":"decompress.js","sourceRoot":"","sources":["../../src/wasm/decompress.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAyC,EACzC,IAAkB;IAElB,MAAM,UAAU,EAAE,CAAC;IACnB,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC;AAkBD,MAAM,UAAU,IAAI,CAClB,MAAyC,EACzC,cAAiD,EACjD,QAA8B;IAE9B,IAAI,IAAiB,CAAC;IACtB,IAAI,EAAuB,CAAC;IAC5B,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;QACzC,EAAE,GAAG,cAAc,CAAC;QACpB,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,cAAc,CAAC;QACtB,EAAE,GAAG,QAA+B,CAAC;IACvC,CAAC;IAED,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAC1B,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,MAA2B,CAAC;IACjD,2DAA2D;IAC3D,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,OAA0C,EAAE,KAAmB;IACtF,MAAM,IAAI,SAAS,CAAC,oEAAoE,EAAE,CAAC,CAAC,CAAC,CAAC;AAChG,CAAC"}
|
package/lib/wasm/liblzma.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-liblzma",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "5.0.1",
|
|
4
|
+
"description": "Native Node.js bindings for liblzma (XZ/LZMA2). Streaming, buffer and async APIs with browser support via WebAssembly. zlib-like API, TypeScript-first, prebuilt binaries for Linux/macOS/Windows.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/lzma.js",
|
|
7
7
|
"exports": {
|
|
@@ -68,15 +68,15 @@
|
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@biomejs/biome": "catalog:",
|
|
71
|
-
"@oorabona/release-it-preset": "^0.
|
|
71
|
+
"@oorabona/release-it-preset": "^1.0.0-rc.0",
|
|
72
72
|
"@oorabona/vitest-monocart-coverage": "^2.0.1",
|
|
73
73
|
"@types/node": "catalog:",
|
|
74
|
-
"@vitest/coverage-istanbul": "^4.0
|
|
74
|
+
"@vitest/coverage-istanbul": "^4.1.0",
|
|
75
75
|
"@vitest/coverage-v8": "catalog:",
|
|
76
|
-
"@vitest/ui": "4.
|
|
76
|
+
"@vitest/ui": "4.1.5",
|
|
77
77
|
"nano-staged": "^0.9.0",
|
|
78
78
|
"prebuildify": "^6.0.1",
|
|
79
|
-
"release-it": "^
|
|
79
|
+
"release-it": "^20.0.0",
|
|
80
80
|
"simple-git-hooks": "^2.13.1",
|
|
81
81
|
"tsd": "^0.33.0",
|
|
82
82
|
"typedoc": "^0.28.17",
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"xz-version.json"
|
|
100
100
|
],
|
|
101
101
|
"engines": {
|
|
102
|
-
"node": ">=
|
|
102
|
+
"node": ">=22.0.0"
|
|
103
103
|
},
|
|
104
104
|
"repository": {
|
|
105
105
|
"type": "git",
|
|
@@ -107,6 +107,9 @@
|
|
|
107
107
|
},
|
|
108
108
|
"keywords": [
|
|
109
109
|
"module",
|
|
110
|
+
"node",
|
|
111
|
+
"nodejs",
|
|
112
|
+
"typescript",
|
|
110
113
|
"lzma",
|
|
111
114
|
"lzma2",
|
|
112
115
|
"xz",
|
|
@@ -114,6 +117,11 @@
|
|
|
114
117
|
"compress",
|
|
115
118
|
"uncompress",
|
|
116
119
|
"decompress",
|
|
120
|
+
"streaming",
|
|
121
|
+
"wasm",
|
|
122
|
+
"webassembly",
|
|
123
|
+
"browser",
|
|
124
|
+
"zlib",
|
|
117
125
|
"filters",
|
|
118
126
|
"binding",
|
|
119
127
|
"native"
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
17
|
**/
|
|
18
18
|
|
|
19
|
+
#include <cmath>
|
|
19
20
|
#include <node_buffer.h>
|
|
20
21
|
#include <vector>
|
|
21
22
|
#include "node-liblzma.hpp"
|
|
@@ -109,7 +110,7 @@ LZMA::LZMA(const Napi::CallbackInfo &info) : Napi::ObjectWrap<LZMA>(info), _stre
|
|
|
109
110
|
switch (mode)
|
|
110
111
|
{
|
|
111
112
|
case STREAM_DECODE:
|
|
112
|
-
success = InitializeDecoder(env);
|
|
113
|
+
success = InitializeDecoder(env, opts);
|
|
113
114
|
break;
|
|
114
115
|
case STREAM_ENCODE:
|
|
115
116
|
success = InitializeEncoder(opts, preset, check);
|
|
@@ -482,9 +483,66 @@ bool LZMA::InitializeEncoder(const Napi::Object &opts, uint32_t preset, lzma_che
|
|
|
482
483
|
return true;
|
|
483
484
|
}
|
|
484
485
|
|
|
485
|
-
bool LZMA::InitializeDecoder(const Napi::Env &env)
|
|
486
|
+
bool LZMA::InitializeDecoder(const Napi::Env &env, const Napi::Object &opts)
|
|
486
487
|
{
|
|
487
|
-
|
|
488
|
+
// Read optional memlimit from JS options object.
|
|
489
|
+
// If absent or undefined, use UINT64_MAX (no limit — preserves pre-fix behaviour).
|
|
490
|
+
uint64_t memlimit = UINT64_MAX;
|
|
491
|
+
Napi::Value optsMemlimit = opts.Get("memlimit");
|
|
492
|
+
if (!optsMemlimit.IsUndefined() && !optsMemlimit.IsNull())
|
|
493
|
+
{
|
|
494
|
+
if (optsMemlimit.IsBigInt())
|
|
495
|
+
{
|
|
496
|
+
// node-addon-api Napi::BigInt::Uint64Value: lossless=true when value fits uint64_t.
|
|
497
|
+
// JS-side validateMemlimit() already rejects values > UINT64_MAX, so lossless
|
|
498
|
+
// should always be true here. Throw on precision loss (defense-in-depth: a future
|
|
499
|
+
// direct-N-API consumer bypassing the JS guard must not silently get 'no limit').
|
|
500
|
+
bool lossless = false;
|
|
501
|
+
uint64_t val = optsMemlimit.As<Napi::BigInt>().Uint64Value(&lossless);
|
|
502
|
+
if (!lossless)
|
|
503
|
+
{
|
|
504
|
+
Napi::TypeError::New(env, "memlimit out of range or precision lost").ThrowAsJavaScriptException();
|
|
505
|
+
return false;
|
|
506
|
+
}
|
|
507
|
+
memlimit = val;
|
|
508
|
+
}
|
|
509
|
+
else if (optsMemlimit.IsNumber())
|
|
510
|
+
{
|
|
511
|
+
// JS-side validateMemlimit() already rejects non-integer, negative, NaN, Infinity,
|
|
512
|
+
// and values above Number.MAX_SAFE_INTEGER (2^53-1). Throw on any out-of-range
|
|
513
|
+
// value (defense-in-depth: direct-N-API consumers bypassing the JS guard get an
|
|
514
|
+
// error, not a silent UINT64_MAX 'no limit' coercion that inverts caller intent).
|
|
515
|
+
double d = optsMemlimit.ToNumber().DoubleValue();
|
|
516
|
+
if (d < 0.0 || !std::isfinite(d) || d != std::floor(d) || d > static_cast<double>(UINT64_MAX))
|
|
517
|
+
{
|
|
518
|
+
Napi::TypeError::New(env, "memlimit out of range or precision lost").ThrowAsJavaScriptException();
|
|
519
|
+
return false;
|
|
520
|
+
}
|
|
521
|
+
// Defense-in-depth: validateMemlimit() in JS rejects this first; native enforces
|
|
522
|
+
// independently for direct-N-API consumers.
|
|
523
|
+
// Number.MAX_SAFE_INTEGER = 2^53 - 1 = 9007199254740991. Any double above this
|
|
524
|
+
// threshold no longer represents an exact integer — caller intent is silently
|
|
525
|
+
// corrupted. Reject to mirror the JS-side guard.
|
|
526
|
+
if (d > 9007199254740991.0)
|
|
527
|
+
{
|
|
528
|
+
Napi::TypeError::New(env, "memlimit number exceeds MAX_SAFE_INTEGER (use bigint for values >= 2^53)").ThrowAsJavaScriptException();
|
|
529
|
+
return false;
|
|
530
|
+
}
|
|
531
|
+
memlimit = static_cast<uint64_t>(d);
|
|
532
|
+
}
|
|
533
|
+
else
|
|
534
|
+
{
|
|
535
|
+
// memlimit is present but is neither BigInt nor Number (e.g. string, object, array).
|
|
536
|
+
// Silently falling through to UINT64_MAX would disable the limit and invert caller
|
|
537
|
+
// intent. Throw explicitly to match how sibling options (threads) handle wrong types.
|
|
538
|
+
// Note: TypeScript declaration (number | bigint) blocks this at compile-time for TS
|
|
539
|
+
// callers; this guard protects direct-N-API and plain-JS consumers.
|
|
540
|
+
Napi::TypeError::New(env, "memlimit must be a Number or BigInt").ThrowAsJavaScriptException();
|
|
541
|
+
return false;
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
lzma_ret ret = lzma_stream_decoder(&this->_stream, memlimit, LZMA_CONCATENATED);
|
|
488
546
|
|
|
489
547
|
// F-005: Throw exception on decoder init failure (consistent with InitializeEncoder)
|
|
490
548
|
if (ret != LZMA_OK)
|
|
@@ -81,7 +81,7 @@ private:
|
|
|
81
81
|
bool ValidateConstructorArgs(const Napi::CallbackInfo &info, uint32_t &mode, Napi::Object &opts);
|
|
82
82
|
bool InitializeFilters(const Napi::Object &opts, uint32_t preset);
|
|
83
83
|
bool InitializeEncoder(const Napi::Object &opts, uint32_t preset, lzma_check check);
|
|
84
|
-
bool InitializeDecoder(const Napi::Env &env);
|
|
84
|
+
bool InitializeDecoder(const Napi::Env &env, const Napi::Object &opts);
|
|
85
85
|
|
|
86
86
|
// Common cleanup operations for both sync and async completion
|
|
87
87
|
void AfterCommon(const Napi::Env &env);
|
package/xz-version.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "v5.8.
|
|
2
|
+
"version": "v5.8.3",
|
|
3
3
|
"comment": "Stable version tested and validated for production. Auto-updated by GitHub Actions.",
|
|
4
|
-
"last_checked": "2026-
|
|
4
|
+
"last_checked": "2026-04-02",
|
|
5
5
|
"allow_override": true,
|
|
6
6
|
"repository": "tukaani-project/xz",
|
|
7
7
|
"changelog": "https://github.com/tukaani-project/xz/releases/tag/v5.8.1"
|