node-liblzma 1.1.8 → 2.0.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/.claude/settings.local.json +92 -0
- package/.gitattributes +3 -0
- package/.release-it.json +6 -0
- package/CHANGELOG.md +209 -0
- package/History.md +23 -1
- package/README.md +750 -30
- package/RELEASING.md +131 -0
- package/binding.gyp +159 -438
- package/biome.json +81 -0
- package/coverage/base.css +224 -0
- package/coverage/block-navigation.js +87 -0
- package/coverage/errors.ts.html +586 -0
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +146 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/errors.ts.html +586 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +146 -0
- package/coverage/lcov-report/lzma.ts.html +2596 -0
- package/coverage/lcov-report/pool.ts.html +769 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +210 -0
- package/coverage/lcov.info +636 -0
- package/coverage/lzma.ts.html +2596 -0
- package/coverage/pool.ts.html +769 -0
- package/coverage/prettify.css +1 -0
- package/coverage/prettify.js +2 -0
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +210 -0
- package/coverage-reports/assets/monocart-coverage-app.js +2 -0
- package/coverage-reports/coverage-data.js +1 -0
- package/coverage-reports/index.html +48 -0
- package/err.log +26 -0
- package/index.d.ts +254 -0
- package/lib/errors.d.ts +72 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +153 -0
- package/lib/errors.js.map +1 -0
- package/lib/lzma.d.ts +245 -0
- package/lib/lzma.d.ts.map +1 -0
- package/lib/lzma.js +626 -345
- package/lib/lzma.js.map +1 -0
- package/lib/pool.d.ts +123 -0
- package/lib/pool.d.ts.map +1 -0
- package/lib/pool.js +188 -0
- package/lib/pool.js.map +1 -0
- package/lib/types.d.ts +27 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +5 -0
- package/lib/types.js.map +1 -0
- package/package.json +60 -21
- package/pnpm-workspace.yaml +3 -0
- package/scripts/analyze-coverage.js +132 -0
- package/scripts/build_xz_with_cmake.py +390 -0
- package/scripts/compare-coverage-tools.js +93 -0
- package/scripts/copy_dll.py +51 -0
- package/scripts/download_xz_from_github.py +375 -0
- package/src/bindings/module.cpp +107 -0
- package/src/bindings/node-liblzma.cpp +522 -0
- package/src/bindings/node-liblzma.hpp +144 -0
- package/src/errors.ts +167 -0
- package/src/lzma.ts +839 -0
- package/src/pool.ts +228 -0
- package/src/types.ts +30 -0
- package/tsconfig.json +50 -0
- package/vitest.config.istanbul.ts +29 -0
- package/vitest.config.monocart.ts +44 -0
- package/vitest.config.ts +44 -0
- package/xz-version.json +8 -0
- package/prebuilds/darwin-x64/node.napi.node +0 -0
- package/prebuilds/linux-x64/node.napi.node +0 -0
- package/prebuilds/win32-x64/node.napi.node +0 -0
- package/scripts/download_extract_deps.py +0 -29
package/lib/lzma.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lzma.js","sourceRoot":"","sources":["../src/lzma.ts"],"names":[],"mappings":"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"}
|
package/lib/pool.d.ts
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* node-liblzma - Node.js bindings for liblzma
|
|
3
|
+
* Copyright (C) Olivier Orabona <olivier.orabona@gmail.com>
|
|
4
|
+
*
|
|
5
|
+
* This program is free software: you can redistribute it and/or modify
|
|
6
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
7
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
8
|
+
* (at your option) any later version.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
16
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import { EventEmitter } from 'node:events';
|
|
19
|
+
import { type LZMAOptions } from './lzma.js';
|
|
20
|
+
/**
|
|
21
|
+
* Metrics for pool monitoring
|
|
22
|
+
*/
|
|
23
|
+
export interface PoolMetrics {
|
|
24
|
+
/** Number of currently active compression/decompression operations */
|
|
25
|
+
active: number;
|
|
26
|
+
/** Number of operations waiting in the queue */
|
|
27
|
+
queued: number;
|
|
28
|
+
/** Total number of successfully completed operations */
|
|
29
|
+
completed: number;
|
|
30
|
+
/** Total number of failed operations */
|
|
31
|
+
failed: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* LZMA Pool with concurrency control and event monitoring
|
|
35
|
+
*
|
|
36
|
+
* Provides rate limiting and backpressure for LZMA operations.
|
|
37
|
+
* Emits events for monitoring and metrics collection in production.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* const pool = new LZMAPool(10); // Max 10 concurrent operations
|
|
42
|
+
*
|
|
43
|
+
* pool.on('metrics', (metrics) => {
|
|
44
|
+
* console.log(`Active: ${metrics.active}, Queued: ${metrics.queued}`);
|
|
45
|
+
* });
|
|
46
|
+
*
|
|
47
|
+
* const compressed = await pool.compress(buffer);
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* Events:
|
|
51
|
+
* - 'queue': Emitted when task added to queue
|
|
52
|
+
* - 'start': Emitted when task starts processing
|
|
53
|
+
* - 'complete': Emitted when task completes successfully
|
|
54
|
+
* - 'error-task': Emitted when task fails
|
|
55
|
+
* - 'metrics': Emitted after each state change with current metrics
|
|
56
|
+
*/
|
|
57
|
+
export declare class LZMAPool extends EventEmitter {
|
|
58
|
+
private maxConcurrent;
|
|
59
|
+
private queue;
|
|
60
|
+
private metrics;
|
|
61
|
+
/**
|
|
62
|
+
* Create a new LZMA pool
|
|
63
|
+
* @param maxConcurrent Maximum number of concurrent operations (default: 10)
|
|
64
|
+
*/
|
|
65
|
+
constructor(maxConcurrent?: number);
|
|
66
|
+
/**
|
|
67
|
+
* Compress data with automatic queue management
|
|
68
|
+
* @param data Buffer to compress
|
|
69
|
+
* @param opts LZMA compression options
|
|
70
|
+
* @returns Promise that resolves to compressed buffer
|
|
71
|
+
*/
|
|
72
|
+
compress(data: Buffer, opts?: LZMAOptions): Promise<Buffer>;
|
|
73
|
+
/**
|
|
74
|
+
* Decompress data with automatic queue management
|
|
75
|
+
* @param data Compressed buffer to decompress
|
|
76
|
+
* @param opts LZMA decompression options
|
|
77
|
+
* @returns Promise that resolves to decompressed buffer
|
|
78
|
+
*/
|
|
79
|
+
decompress(data: Buffer, opts?: LZMAOptions): Promise<Buffer>;
|
|
80
|
+
/**
|
|
81
|
+
* Get current pool metrics
|
|
82
|
+
* @returns Copy of current metrics
|
|
83
|
+
*/
|
|
84
|
+
getMetrics(): Readonly<PoolMetrics>;
|
|
85
|
+
/**
|
|
86
|
+
* Get number of tasks waiting in queue
|
|
87
|
+
* @returns Queue length
|
|
88
|
+
*/
|
|
89
|
+
get queueLength(): number;
|
|
90
|
+
/**
|
|
91
|
+
* Get number of currently active tasks
|
|
92
|
+
* @returns Active task count
|
|
93
|
+
*/
|
|
94
|
+
get activeCount(): number;
|
|
95
|
+
/**
|
|
96
|
+
* Check if pool is at maximum capacity
|
|
97
|
+
* @returns True if at capacity
|
|
98
|
+
*/
|
|
99
|
+
get isAtCapacity(): boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Enqueue a task for execution
|
|
102
|
+
* @param fn Task function returning Promise<Buffer>
|
|
103
|
+
* @returns Promise that resolves when task completes
|
|
104
|
+
*/
|
|
105
|
+
private enqueue;
|
|
106
|
+
/**
|
|
107
|
+
* Process tasks from queue respecting concurrency limit
|
|
108
|
+
*/
|
|
109
|
+
private processQueue;
|
|
110
|
+
/**
|
|
111
|
+
* Wait for all active tasks to complete
|
|
112
|
+
* Does not process new tasks added while waiting
|
|
113
|
+
* @returns Promise that resolves when all active tasks are done
|
|
114
|
+
*/
|
|
115
|
+
drain(): Promise<void>;
|
|
116
|
+
/**
|
|
117
|
+
* Clear all pending tasks from the queue
|
|
118
|
+
* Active tasks will continue to run
|
|
119
|
+
* @returns Number of tasks removed from queue
|
|
120
|
+
*/
|
|
121
|
+
clearQueue(): number;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=pool.d.ts.map
|
|
@@ -0,0 +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;AAC3C,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;IAmCpB;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B;;;;OAIG;IACH,UAAU,IAAI,MAAM;CAOrB"}
|
package/lib/pool.js
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* node-liblzma - Node.js bindings for liblzma
|
|
3
|
+
* Copyright (C) Olivier Orabona <olivier.orabona@gmail.com>
|
|
4
|
+
*
|
|
5
|
+
* This program is free software: you can redistribute it and/or modify
|
|
6
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
7
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
8
|
+
* (at your option) any later version.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
16
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import { EventEmitter } from 'node:events';
|
|
19
|
+
import { unxzAsync, xzAsync } from './lzma.js';
|
|
20
|
+
/**
|
|
21
|
+
* LZMA Pool with concurrency control and event monitoring
|
|
22
|
+
*
|
|
23
|
+
* Provides rate limiting and backpressure for LZMA operations.
|
|
24
|
+
* Emits events for monitoring and metrics collection in production.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const pool = new LZMAPool(10); // Max 10 concurrent operations
|
|
29
|
+
*
|
|
30
|
+
* pool.on('metrics', (metrics) => {
|
|
31
|
+
* console.log(`Active: ${metrics.active}, Queued: ${metrics.queued}`);
|
|
32
|
+
* });
|
|
33
|
+
*
|
|
34
|
+
* const compressed = await pool.compress(buffer);
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* Events:
|
|
38
|
+
* - 'queue': Emitted when task added to queue
|
|
39
|
+
* - 'start': Emitted when task starts processing
|
|
40
|
+
* - 'complete': Emitted when task completes successfully
|
|
41
|
+
* - 'error-task': Emitted when task fails
|
|
42
|
+
* - 'metrics': Emitted after each state change with current metrics
|
|
43
|
+
*/
|
|
44
|
+
export class LZMAPool extends EventEmitter {
|
|
45
|
+
/**
|
|
46
|
+
* Create a new LZMA pool
|
|
47
|
+
* @param maxConcurrent Maximum number of concurrent operations (default: 10)
|
|
48
|
+
*/
|
|
49
|
+
constructor(maxConcurrent = 10) {
|
|
50
|
+
super();
|
|
51
|
+
this.maxConcurrent = maxConcurrent;
|
|
52
|
+
this.queue = [];
|
|
53
|
+
this.metrics = {
|
|
54
|
+
active: 0,
|
|
55
|
+
queued: 0,
|
|
56
|
+
completed: 0,
|
|
57
|
+
failed: 0,
|
|
58
|
+
};
|
|
59
|
+
if (maxConcurrent < 1) {
|
|
60
|
+
throw new RangeError('maxConcurrent must be at least 1');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Compress data with automatic queue management
|
|
65
|
+
* @param data Buffer to compress
|
|
66
|
+
* @param opts LZMA compression options
|
|
67
|
+
* @returns Promise that resolves to compressed buffer
|
|
68
|
+
*/
|
|
69
|
+
async compress(data, opts) {
|
|
70
|
+
return this.enqueue(() => xzAsync(data, opts));
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Decompress data with automatic queue management
|
|
74
|
+
* @param data Compressed buffer to decompress
|
|
75
|
+
* @param opts LZMA decompression options
|
|
76
|
+
* @returns Promise that resolves to decompressed buffer
|
|
77
|
+
*/
|
|
78
|
+
async decompress(data, opts) {
|
|
79
|
+
return this.enqueue(() => unxzAsync(data, opts));
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get current pool metrics
|
|
83
|
+
* @returns Copy of current metrics
|
|
84
|
+
*/
|
|
85
|
+
getMetrics() {
|
|
86
|
+
return { ...this.metrics };
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get number of tasks waiting in queue
|
|
90
|
+
* @returns Queue length
|
|
91
|
+
*/
|
|
92
|
+
get queueLength() {
|
|
93
|
+
return this.queue.length;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Get number of currently active tasks
|
|
97
|
+
* @returns Active task count
|
|
98
|
+
*/
|
|
99
|
+
get activeCount() {
|
|
100
|
+
return this.metrics.active;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Check if pool is at maximum capacity
|
|
104
|
+
* @returns True if at capacity
|
|
105
|
+
*/
|
|
106
|
+
get isAtCapacity() {
|
|
107
|
+
return this.metrics.active >= this.maxConcurrent;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Enqueue a task for execution
|
|
111
|
+
* @param fn Task function returning Promise<Buffer>
|
|
112
|
+
* @returns Promise that resolves when task completes
|
|
113
|
+
*/
|
|
114
|
+
async enqueue(fn) {
|
|
115
|
+
return new Promise((resolve, reject) => {
|
|
116
|
+
this.queue.push({ fn, resolve, reject });
|
|
117
|
+
this.metrics.queued = this.queue.length;
|
|
118
|
+
this.emit('queue', { ...this.metrics });
|
|
119
|
+
this.processQueue();
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Process tasks from queue respecting concurrency limit
|
|
124
|
+
*/
|
|
125
|
+
processQueue() {
|
|
126
|
+
// Don't start new tasks if at capacity or queue empty
|
|
127
|
+
if (this.metrics.active >= this.maxConcurrent || this.queue.length === 0) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const item = this.queue.shift();
|
|
131
|
+
if (!item)
|
|
132
|
+
return;
|
|
133
|
+
this.metrics.active++;
|
|
134
|
+
this.metrics.queued = this.queue.length;
|
|
135
|
+
this.emit('start', { ...this.metrics });
|
|
136
|
+
// Execute task
|
|
137
|
+
item
|
|
138
|
+
.fn()
|
|
139
|
+
.then((result) => {
|
|
140
|
+
this.metrics.completed++;
|
|
141
|
+
item.resolve(result);
|
|
142
|
+
this.emit('complete', { ...this.metrics });
|
|
143
|
+
})
|
|
144
|
+
.catch((error) => {
|
|
145
|
+
this.metrics.failed++;
|
|
146
|
+
item.reject(error);
|
|
147
|
+
this.emit('error-task', error, { ...this.metrics });
|
|
148
|
+
})
|
|
149
|
+
.finally(() => {
|
|
150
|
+
this.metrics.active--;
|
|
151
|
+
this.emit('metrics', { ...this.metrics });
|
|
152
|
+
// Process next task in queue
|
|
153
|
+
this.processQueue();
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Wait for all active tasks to complete
|
|
158
|
+
* Does not process new tasks added while waiting
|
|
159
|
+
* @returns Promise that resolves when all active tasks are done
|
|
160
|
+
*/
|
|
161
|
+
async drain() {
|
|
162
|
+
if (this.metrics.active === 0) {
|
|
163
|
+
return Promise.resolve();
|
|
164
|
+
}
|
|
165
|
+
return new Promise((resolve) => {
|
|
166
|
+
const checkDrained = () => {
|
|
167
|
+
if (this.metrics.active === 0) {
|
|
168
|
+
this.off('metrics', checkDrained);
|
|
169
|
+
resolve();
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
this.on('metrics', checkDrained);
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Clear all pending tasks from the queue
|
|
177
|
+
* Active tasks will continue to run
|
|
178
|
+
* @returns Number of tasks removed from queue
|
|
179
|
+
*/
|
|
180
|
+
clearQueue() {
|
|
181
|
+
const cleared = this.queue.length;
|
|
182
|
+
this.queue = [];
|
|
183
|
+
this.metrics.queued = 0;
|
|
184
|
+
this.emit('metrics', { ...this.metrics });
|
|
185
|
+
return cleared;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=pool.js.map
|
package/lib/pool.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared TypeScript types for node-liblzma
|
|
3
|
+
*/
|
|
4
|
+
export interface LZMAOptions {
|
|
5
|
+
/** Integrity check type */
|
|
6
|
+
check?: number;
|
|
7
|
+
/** Compression preset level */
|
|
8
|
+
preset?: number;
|
|
9
|
+
/** Array of filters to use */
|
|
10
|
+
filters?: number[];
|
|
11
|
+
/** Compression mode */
|
|
12
|
+
mode?: number;
|
|
13
|
+
/** Number of threads for compression (encoding only) */
|
|
14
|
+
threads?: number;
|
|
15
|
+
/** Chunk size for processing */
|
|
16
|
+
chunkSize?: number;
|
|
17
|
+
/** Flush flag to use */
|
|
18
|
+
flushFlag?: number;
|
|
19
|
+
}
|
|
20
|
+
export type CompressionCallback = (error: Error | null, result?: Buffer) => void;
|
|
21
|
+
export type LZMAActionType = 0 | 1 | 2 | 3;
|
|
22
|
+
export type LZMAStatusType = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
|
|
23
|
+
export type CheckType = 0 | 1 | 4 | 10;
|
|
24
|
+
export type PresetType = 6 | 9;
|
|
25
|
+
export type FilterType = 0x21 | 0x03 | 0x04 | 0x06 | 0x07 | 0x08 | 0x09;
|
|
26
|
+
export type ModeType = 1 | 2;
|
|
27
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,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;CACpB;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAGjF,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3C,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAC7E,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AACvC,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/B,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACxE,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC"}
|
package/lib/types.js
ADDED
package/lib/types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
package/package.json
CHANGED
|
@@ -1,28 +1,61 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-liblzma",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "NodeJS wrapper for liblzma",
|
|
5
|
+
"type": "module",
|
|
5
6
|
"main": "./lib/lzma.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./lib/lzma.js",
|
|
10
|
+
"types": "./index.d.ts"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
6
13
|
"scripts": {
|
|
7
14
|
"install": "node-gyp-build",
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
15
|
+
"build": "tsc",
|
|
16
|
+
"build:watch": "tsc --watch",
|
|
17
|
+
"prepare": "simple-git-hooks && pnpm run build",
|
|
18
|
+
"prebuildify": "pnpm exec prebuildify --napi --strip -t $(node -v)",
|
|
19
|
+
"prebuildify:win": "for /f \"usebackq tokens=*\" %v in (`node -v`) do pnpm exec prebuildify -t %v --napi --strip",
|
|
20
|
+
"test": "vitest run",
|
|
21
|
+
"test:watch": "vitest",
|
|
22
|
+
"test:coverage": "vitest run --config vitest.config.monocart.ts --coverage",
|
|
23
|
+
"test:coverage-v8": "vitest run --coverage",
|
|
24
|
+
"type-check": "tsc --noEmit",
|
|
25
|
+
"clean": "rm -rf lib",
|
|
26
|
+
"lint": "biome lint",
|
|
27
|
+
"lint:fix": "biome lint --write",
|
|
28
|
+
"format": "biome format",
|
|
29
|
+
"format:write": "biome format --write",
|
|
30
|
+
"check": "biome check",
|
|
31
|
+
"check:write": "biome check --write",
|
|
32
|
+
"release": "release-it-preset default",
|
|
33
|
+
"release:manual": "release-it-preset manual-changelog",
|
|
34
|
+
"release:hotfix": "release-it-preset hotfix",
|
|
35
|
+
"changelog:update": "release-it-preset changelog-only"
|
|
12
36
|
},
|
|
13
37
|
"dependencies": {
|
|
14
|
-
"node-addon-api": "
|
|
15
|
-
"node-gyp-build": "4.
|
|
38
|
+
"node-addon-api": "^8.5.0",
|
|
39
|
+
"node-gyp-build": "^4.8.4"
|
|
16
40
|
},
|
|
17
41
|
"devDependencies": {
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
42
|
+
"@biomejs/biome": "^2.2.3",
|
|
43
|
+
"@oorabona/release-it-preset": "^0.8.0",
|
|
44
|
+
"@oorabona/vitest-monocart-coverage": "^2.0.1",
|
|
45
|
+
"@types/node": "^24.3.1",
|
|
46
|
+
"@vitest/coverage-istanbul": "^3.2.4",
|
|
47
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
48
|
+
"@vitest/ui": "3.2.4",
|
|
49
|
+
"nano-staged": "^0.8.0",
|
|
50
|
+
"release-it": "^19.0.5",
|
|
51
|
+
"simple-git-hooks": "^2.13.1",
|
|
52
|
+
"tsd": "^0.33.0",
|
|
53
|
+
"typescript": "^5.9.2",
|
|
54
|
+
"vitest": "^3.2.4"
|
|
22
55
|
},
|
|
23
56
|
"types": "index.d.ts",
|
|
24
57
|
"engines": {
|
|
25
|
-
"node": "
|
|
58
|
+
"node": ">=16.0.0"
|
|
26
59
|
},
|
|
27
60
|
"repository": {
|
|
28
61
|
"type": "git",
|
|
@@ -48,20 +81,26 @@
|
|
|
48
81
|
"url": "https://github.com/oorabona/node-liblzma/issues"
|
|
49
82
|
},
|
|
50
83
|
"homepage": "https://github.com/oorabona/node-liblzma",
|
|
84
|
+
"funding": {
|
|
85
|
+
"type": "github",
|
|
86
|
+
"url": "https://github.com/sponsors/oorabona"
|
|
87
|
+
},
|
|
51
88
|
"binary": {
|
|
52
89
|
"module_name": "liblzma"
|
|
53
90
|
},
|
|
54
91
|
"publishConfig": {
|
|
55
92
|
"registry": "https://registry.npmjs.org/"
|
|
56
93
|
},
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
|
|
60
|
-
"coffeescript/register"
|
|
94
|
+
"nano-staged": {
|
|
95
|
+
"*.{ts,js,mts,cts}": [
|
|
96
|
+
"biome check --write --no-errors-on-unmatched"
|
|
61
97
|
],
|
|
62
|
-
"
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
98
|
+
"*.json": [
|
|
99
|
+
"biome format --write"
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
"simple-git-hooks": {
|
|
103
|
+
"pre-commit": "pnpm exec nano-staged"
|
|
104
|
+
},
|
|
105
|
+
"packageManager": "pnpm@10.15.0+sha512.486ebc259d3e999a4e8691ce03b5cac4a71cbeca39372a9b762cb500cfdf0873e2cb16abe3d951b1ee2cf012503f027b98b6584e4df22524e0c7450d9ec7aa7b"
|
|
67
106
|
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import fs from 'fs';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
|
|
6
|
+
const COVERAGE_FILE = './coverage/coverage-final.json';
|
|
7
|
+
const SOURCE_FILE = './src/lzma.ts';
|
|
8
|
+
|
|
9
|
+
if (!fs.existsSync(COVERAGE_FILE)) {
|
|
10
|
+
console.log("❌ Fichier de coverage non trouvé. Lancez `pnpm test -- --coverage` d'abord.");
|
|
11
|
+
process.exit(1);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const coverage = JSON.parse(fs.readFileSync(COVERAGE_FILE, 'utf8'));
|
|
15
|
+
const sourceLines = fs.readFileSync(SOURCE_FILE, 'utf8').split('\n');
|
|
16
|
+
|
|
17
|
+
// Analyser le fichier principal
|
|
18
|
+
const filePath = path.resolve(SOURCE_FILE);
|
|
19
|
+
const data = coverage[filePath] || coverage[Object.keys(coverage)[0]];
|
|
20
|
+
|
|
21
|
+
if (!data) {
|
|
22
|
+
console.log('❌ Données de coverage non trouvées');
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
console.log('🔍 ANALYSE DE PRÉCISION DU COVERAGE\n');
|
|
27
|
+
|
|
28
|
+
// Fonctions non couvertes
|
|
29
|
+
const uncoveredFunctions = Object.entries(data.f).filter(([, count]) => count === 0);
|
|
30
|
+
console.log(`📊 FONCTIONS NON COUVERTES (${uncoveredFunctions.length}):`);
|
|
31
|
+
uncoveredFunctions.forEach(([key, count]) => {
|
|
32
|
+
const fn = data.fnMap[key];
|
|
33
|
+
const startLine = fn.loc.start.line;
|
|
34
|
+
const endLine = fn.loc.end.line;
|
|
35
|
+
|
|
36
|
+
console.log(` Function ${key}: "${fn.name}" (lignes ${startLine}-${endLine})`);
|
|
37
|
+
console.log(` Code: ${sourceLines[startLine - 1]?.trim() || 'N/A'}`);
|
|
38
|
+
|
|
39
|
+
// Vérifier si c'est un artefact
|
|
40
|
+
const isArtifact =
|
|
41
|
+
sourceLines[startLine - 1]?.includes('/* v8 ignore') ||
|
|
42
|
+
sourceLines[startLine - 1]?.includes('export const') ||
|
|
43
|
+
fn.name.includes('anonymous');
|
|
44
|
+
|
|
45
|
+
if (isArtifact) {
|
|
46
|
+
console.log(` ⚠️ Probablement un artefact V8`);
|
|
47
|
+
} else {
|
|
48
|
+
console.log(` 🎯 VRAIE fonction non testée`);
|
|
49
|
+
}
|
|
50
|
+
console.log('');
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
// Statements non couverts
|
|
54
|
+
const uncoveredStatements = Object.entries(data.s).filter(([, count]) => count === 0);
|
|
55
|
+
console.log(`📊 STATEMENTS NON COUVERTS (${uncoveredStatements.length}):`);
|
|
56
|
+
uncoveredStatements.slice(0, 10).forEach(([key, count]) => {
|
|
57
|
+
const stmt = data.statementMap[key];
|
|
58
|
+
const line = stmt.start.line;
|
|
59
|
+
|
|
60
|
+
console.log(` Statement ${key}: ligne ${line}`);
|
|
61
|
+
console.log(` Code: ${sourceLines[line - 1]?.trim() || 'N/A'}`);
|
|
62
|
+
|
|
63
|
+
// Vérifier si c'est vraiment du code exécutable
|
|
64
|
+
const codeLine = sourceLines[line - 1]?.trim() || '';
|
|
65
|
+
const isIgnorable =
|
|
66
|
+
codeLine.includes('/* v8 ignore') ||
|
|
67
|
+
codeLine === '' ||
|
|
68
|
+
codeLine.includes('//') ||
|
|
69
|
+
codeLine === '}' ||
|
|
70
|
+
codeLine === '{' ||
|
|
71
|
+
codeLine.includes('export const');
|
|
72
|
+
|
|
73
|
+
if (isIgnorable) {
|
|
74
|
+
console.log(` ⚠️ Ligne probablement ignorable`);
|
|
75
|
+
} else {
|
|
76
|
+
console.log(` 🎯 VRAI code non testé`);
|
|
77
|
+
}
|
|
78
|
+
console.log('');
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
// Branches critiques non couvertes
|
|
82
|
+
const uncoveredBranches = Object.entries(data.b)
|
|
83
|
+
.filter(([, counts]) => counts.includes(0))
|
|
84
|
+
.filter(([key]) => {
|
|
85
|
+
const branch = data.branchMap[key];
|
|
86
|
+
const line = sourceLines[branch.line - 1]?.trim() || '';
|
|
87
|
+
return !line.includes('/* v8 ignore') && line.length > 0;
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
console.log(`📊 BRANCHES CRITIQUES NON COUVERTES (${uncoveredBranches.length}):`);
|
|
91
|
+
uncoveredBranches.slice(0, 10).forEach(([key, counts]) => {
|
|
92
|
+
const branch = data.branchMap[key];
|
|
93
|
+
const line = branch.line;
|
|
94
|
+
|
|
95
|
+
console.log(` Branch ${key}: ligne ${line} - ${counts}`);
|
|
96
|
+
console.log(` Code: ${sourceLines[line - 1]?.trim() || 'N/A'}`);
|
|
97
|
+
console.log(` Type: ${branch.type}`);
|
|
98
|
+
console.log(` 🎯 VRAIE condition non testée`);
|
|
99
|
+
console.log('');
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
console.log('💡 RÉSUMÉ:');
|
|
103
|
+
console.log(
|
|
104
|
+
` - Fonctions vraiment non testées: ${
|
|
105
|
+
uncoveredFunctions.filter(([key]) => {
|
|
106
|
+
const fn = data.fnMap[key];
|
|
107
|
+
return (
|
|
108
|
+
!fn.name.includes('anonymous') &&
|
|
109
|
+
!sourceLines[fn.loc.start.line - 1]?.includes('export const')
|
|
110
|
+
);
|
|
111
|
+
}).length
|
|
112
|
+
}`
|
|
113
|
+
);
|
|
114
|
+
|
|
115
|
+
console.log(
|
|
116
|
+
` - Statements vraiment non testés: ${
|
|
117
|
+
uncoveredStatements.filter(([key]) => {
|
|
118
|
+
const stmt = data.statementMap[key];
|
|
119
|
+
const codeLine = sourceLines[stmt.start.line - 1]?.trim() || '';
|
|
120
|
+
return (
|
|
121
|
+
!codeLine.includes('/* v8 ignore') &&
|
|
122
|
+
codeLine !== '' &&
|
|
123
|
+
!codeLine.includes('//') &&
|
|
124
|
+
codeLine !== '}' &&
|
|
125
|
+
codeLine !== '{' &&
|
|
126
|
+
!codeLine.includes('export const')
|
|
127
|
+
);
|
|
128
|
+
}).length
|
|
129
|
+
}`
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
console.log(` - Branches vraiment non testées: ${uncoveredBranches.length}`);
|