@ifc-lite/geometry 7.6.0 → 7.8.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 +64 -0
- package/dist/domain-export-call.d.ts +4 -0
- package/dist/domain-export-call.d.ts.map +1 -0
- package/dist/domain-export-call.js +19 -0
- package/dist/domain-export-call.js.map +1 -0
- package/dist/geometry-parallel-options.d.ts +15 -0
- package/dist/geometry-parallel-options.d.ts.map +1 -1
- package/dist/geometry-parallel.d.ts +2 -47
- package/dist/geometry-parallel.d.ts.map +1 -1
- package/dist/geometry-parallel.js +50 -146
- package/dist/geometry-parallel.js.map +1 -1
- package/dist/geometry-worker-pool.d.ts +72 -0
- package/dist/geometry-worker-pool.d.ts.map +1 -0
- package/dist/geometry-worker-pool.js +176 -0
- package/dist/geometry-worker-pool.js.map +1 -0
- package/dist/geometry.worker.d.ts.map +1 -1
- package/dist/geometry.worker.js +34 -36
- package/dist/geometry.worker.js.map +1 -1
- package/dist/huge-file-error.d.ts +1 -2
- package/dist/huge-file-error.d.ts.map +1 -1
- package/dist/huge-file-error.js +4 -5
- package/dist/huge-file-error.js.map +1 -1
- package/dist/hung-job-recovery.d.ts +26 -2
- package/dist/hung-job-recovery.d.ts.map +1 -1
- package/dist/hung-job-recovery.js +42 -7
- package/dist/hung-job-recovery.js.map +1 -1
- package/dist/ifc-lite-bridge.d.ts +2 -0
- package/dist/ifc-lite-bridge.d.ts.map +1 -1
- package/dist/ifc-lite-bridge.js +19 -35
- package/dist/ifc-lite-bridge.js.map +1 -1
- package/dist/in-call-heartbeat.d.ts +20 -0
- package/dist/in-call-heartbeat.d.ts.map +1 -0
- package/dist/in-call-heartbeat.js +39 -0
- package/dist/in-call-heartbeat.js.map +1 -0
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -30
- package/dist/index.js.map +1 -1
- package/dist/main-engine-init.d.ts +5 -0
- package/dist/main-engine-init.d.ts.map +1 -0
- package/dist/main-engine-init.js +42 -0
- package/dist/main-engine-init.js.map +1 -0
- package/dist/map-normalization-capability.d.ts +7 -0
- package/dist/map-normalization-capability.d.ts.map +1 -0
- package/dist/map-normalization-capability.js +32 -0
- package/dist/map-normalization-capability.js.map +1 -0
- package/dist/native-bridge.d.ts +1 -0
- package/dist/native-bridge.d.ts.map +1 -1
- package/dist/native-bridge.js +1 -0
- package/dist/native-bridge.js.map +1 -1
- package/dist/perf-flags.d.ts +55 -0
- package/dist/perf-flags.d.ts.map +1 -0
- package/dist/perf-flags.js +66 -0
- package/dist/perf-flags.js.map +1 -0
- package/dist/platform-bridge.d.ts +2 -0
- package/dist/platform-bridge.d.ts.map +1 -1
- package/dist/platform-bridge.js.map +1 -1
- package/dist/prepass-routing.d.ts +53 -0
- package/dist/prepass-routing.d.ts.map +1 -0
- package/dist/prepass-routing.js +100 -0
- package/dist/prepass-routing.js.map +1 -0
- package/dist/remesh/remesh-client.d.ts.map +1 -1
- package/dist/remesh/remesh-client.js +5 -1
- package/dist/remesh/remesh-client.js.map +1 -1
- package/dist/remesh/remesh-core.d.ts.map +1 -1
- package/dist/remesh/remesh-core.js +29 -11
- package/dist/remesh/remesh-core.js.map +1 -1
- package/dist/remesh/remesh-protocol.d.ts +10 -4
- package/dist/remesh/remesh-protocol.d.ts.map +1 -1
- package/dist/remesh/remesh-protocol.js.map +1 -1
- package/dist/remesh/remesh.worker.js +25 -10
- package/dist/remesh/remesh.worker.js.map +1 -1
- package/dist/scan-proposals.d.ts +132 -0
- package/dist/scan-proposals.d.ts.map +1 -0
- package/dist/scan-proposals.js +12 -0
- package/dist/scan-proposals.js.map +1 -0
- package/dist/scan-segmentation.d.ts +205 -0
- package/dist/scan-segmentation.d.ts.map +1 -0
- package/dist/scan-segmentation.js +17 -0
- package/dist/scan-segmentation.js.map +1 -0
- package/dist/warm-pool.d.ts +27 -0
- package/dist/warm-pool.d.ts.map +1 -0
- package/dist/warm-pool.js +48 -0
- package/dist/warm-pool.js.map +1 -0
- package/dist/wasm-shared-module.d.ts +17 -19
- package/dist/wasm-shared-module.d.ts.map +1 -1
- package/dist/wasm-shared-module.js +90 -77
- package/dist/wasm-shared-module.js.map +1 -1
- package/dist/wasm-streaming-guard.d.ts +2 -0
- package/dist/wasm-streaming-guard.d.ts.map +1 -0
- package/dist/wasm-streaming-guard.js +22 -0
- package/dist/wasm-streaming-guard.js.map +1 -0
- package/dist/worker-count.d.ts +10 -0
- package/dist/worker-count.d.ts.map +1 -1
- package/dist/worker-count.js +19 -0
- package/dist/worker-count.js.map +1 -1
- package/dist/worker-trace.d.ts +16 -0
- package/dist/worker-trace.d.ts.map +1 -0
- package/dist/worker-trace.js +39 -0
- package/dist/worker-trace.js.map +1 -0
- package/package.json +17 -6
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
/**
|
|
5
|
+
* One WASM streaming operation at a time per GeometryProcessor module: the
|
|
6
|
+
* streaming entry points share engine state, so a second stream must not start
|
|
7
|
+
* while the first is still running.
|
|
8
|
+
*/
|
|
9
|
+
let activeWasmStreamingOperation = null;
|
|
10
|
+
export function acquireWasmStreamingOperation(operation) {
|
|
11
|
+
if (activeWasmStreamingOperation) {
|
|
12
|
+
throw new Error(`GeometryProcessor ${operation} cannot start while ${activeWasmStreamingOperation} is still running. ` +
|
|
13
|
+
'Wait for the active stream to finish, or cancel it before starting another geometry operation.');
|
|
14
|
+
}
|
|
15
|
+
activeWasmStreamingOperation = operation;
|
|
16
|
+
return () => {
|
|
17
|
+
if (activeWasmStreamingOperation === operation) {
|
|
18
|
+
activeWasmStreamingOperation = null;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=wasm-streaming-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm-streaming-guard.js","sourceRoot":"","sources":["../src/wasm-streaming-guard.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;GAIG;AACH,IAAI,4BAA4B,GAAkB,IAAI,CAAC;AAEvD,MAAM,UAAU,6BAA6B,CAAC,SAAiB;IAC7D,IAAI,4BAA4B,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,qBAAqB,SAAS,uBAAuB,4BAA4B,qBAAqB;YACtG,gGAAgG,CACjG,CAAC;IACJ,CAAC;IACD,4BAA4B,GAAG,SAAS,CAAC;IACzC,OAAO,GAAG,EAAE;QACV,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;YAC/C,4BAA4B,GAAG,IAAI,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/worker-count.d.ts
CHANGED
|
@@ -58,4 +58,14 @@ export declare function computeWorkerCount(inputs: WorkerCountInputs): WorkerCou
|
|
|
58
58
|
* Convenience wrapper that returns just the integer count.
|
|
59
59
|
*/
|
|
60
60
|
export declare function pickWorkerCount(inputs: WorkerCountInputs): number;
|
|
61
|
+
/**
|
|
62
|
+
* The worker count a parallel load of `fileSizeMB` uses on this host: the
|
|
63
|
+
* browser's cores and memory, and a file-size proxy for the job count (the
|
|
64
|
+
* memory cap keeps an over-estimate harmless and still bounds an explicit
|
|
65
|
+
* `workerCountOverride`, so the A/B knob cannot OOM the tab). Shared by the
|
|
66
|
+
* load and by the warm pool's prewarm (#7036) so both plan the same count.
|
|
67
|
+
*/
|
|
68
|
+
export declare function planLoadWorkerCount(fileSizeMB: number, workerCountOverride?: number): WorkerCountResult & {
|
|
69
|
+
cores: number;
|
|
70
|
+
};
|
|
61
71
|
//# sourceMappingURL=worker-count.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-count.d.ts","sourceRoot":"","sources":["../src/worker-count.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;CACrD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,CAyJ/E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAEjE"}
|
|
1
|
+
{"version":3,"file":"worker-count.d.ts","sourceRoot":"","sources":["../src/worker-count.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;CACrD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,CAyJ/E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAEjE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,iBAAiB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAW3H"}
|
package/dist/worker-count.js
CHANGED
|
@@ -163,4 +163,23 @@ export function computeWorkerCount(inputs) {
|
|
|
163
163
|
export function pickWorkerCount(inputs) {
|
|
164
164
|
return computeWorkerCount(inputs).count;
|
|
165
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* The worker count a parallel load of `fileSizeMB` uses on this host: the
|
|
168
|
+
* browser's cores and memory, and a file-size proxy for the job count (the
|
|
169
|
+
* memory cap keeps an over-estimate harmless and still bounds an explicit
|
|
170
|
+
* `workerCountOverride`, so the A/B knob cannot OOM the tab). Shared by the
|
|
171
|
+
* load and by the warm pool's prewarm (#7036) so both plan the same count.
|
|
172
|
+
*/
|
|
173
|
+
export function planLoadWorkerCount(fileSizeMB, workerCountOverride) {
|
|
174
|
+
const nav = typeof navigator !== 'undefined' ? navigator : undefined;
|
|
175
|
+
const cores = nav?.hardwareConcurrency ?? 2;
|
|
176
|
+
const result = computeWorkerCount({
|
|
177
|
+
fileSizeMB,
|
|
178
|
+
cores,
|
|
179
|
+
deviceMemoryGB: nav?.deviceMemory ?? 8,
|
|
180
|
+
totalJobs: Math.max(1, Math.ceil(fileSizeMB * 100)),
|
|
181
|
+
workerCountOverride,
|
|
182
|
+
});
|
|
183
|
+
return { ...result, cores };
|
|
184
|
+
}
|
|
166
185
|
//# sourceMappingURL=worker-count.js.map
|
package/dist/worker-count.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-count.js","sourceRoot":"","sources":["../src/worker-count.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker-count.js","sourceRoot":"","sources":["../src/worker-count.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { countCopy, meterTypedArrayArgs } from '@ifc-lite/load-trace';
|
|
2
|
+
/**
|
|
3
|
+
* Worker-side load-trace spans (#6956): which geometry-worker requests become
|
|
4
|
+
* a span when the pool enabled tracing (`enableWorkerTrace` in
|
|
5
|
+
* geometry-parallel.ts). Each span is the whole serialised handler, posted back
|
|
6
|
+
* as soon as it settles; untraced loads pass straight through.
|
|
7
|
+
*/
|
|
8
|
+
export declare const traceGeometryWorkerMessage: import("@ifc-lite/load-trace").WorkerTraceHost;
|
|
9
|
+
/**
|
|
10
|
+
* Post a pre-pass event. The host terminates the pre-pass worker as soon as it
|
|
11
|
+
* receives the final `complete` event, before this worker's handler returns,
|
|
12
|
+
* so the completed scan span and counters are flushed ahead of that message
|
|
13
|
+
* (#6993). Merely draining finished spans loses the still-running handler.
|
|
14
|
+
*/
|
|
15
|
+
export declare function postPrepassEvent(event: unknown): void;
|
|
16
|
+
//# sourceMappingURL=worker-trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-trace.d.ts","sourceRoot":"","sources":["../src/worker-trace.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEtE;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,gDAcrC,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAGrD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
import { createWorkerTraceHost } from '@ifc-lite/load-trace';
|
|
5
|
+
// #6957: the worker's counter helpers, re-exported so geometry.worker.ts keeps one load-trace import.
|
|
6
|
+
export { countCopy, meterTypedArrayArgs } from '@ifc-lite/load-trace';
|
|
7
|
+
/**
|
|
8
|
+
* Worker-side load-trace spans (#6956): which geometry-worker requests become
|
|
9
|
+
* a span when the pool enabled tracing (`enableWorkerTrace` in
|
|
10
|
+
* geometry-parallel.ts). Each span is the whole serialised handler, posted back
|
|
11
|
+
* as soon as it settles; untraced loads pass straight through.
|
|
12
|
+
*/
|
|
13
|
+
export const traceGeometryWorkerMessage = createWorkerTraceHost({
|
|
14
|
+
spanNames: {
|
|
15
|
+
init: 'worker.init',
|
|
16
|
+
'scan-shard': 'shard.scan',
|
|
17
|
+
'prepass-streaming': 'prepass.scan',
|
|
18
|
+
'prepass-streaming-sharded': 'prepass.scan',
|
|
19
|
+
'resolve-styles-shard': 'styles.shard',
|
|
20
|
+
'finalize-styles': 'styles.finalize',
|
|
21
|
+
'stream-chunk': 'geometry.firstChunk',
|
|
22
|
+
},
|
|
23
|
+
// Only the first chunk: one span per slice would cost a message per batch.
|
|
24
|
+
onceTypes: ['stream-chunk'],
|
|
25
|
+
post: (message) => self.postMessage(message),
|
|
26
|
+
endpoint: () => self,
|
|
27
|
+
});
|
|
28
|
+
/**
|
|
29
|
+
* Post a pre-pass event. The host terminates the pre-pass worker as soon as it
|
|
30
|
+
* receives the final `complete` event, before this worker's handler returns,
|
|
31
|
+
* so the completed scan span and counters are flushed ahead of that message
|
|
32
|
+
* (#6993). Merely draining finished spans loses the still-running handler.
|
|
33
|
+
*/
|
|
34
|
+
export function postPrepassEvent(event) {
|
|
35
|
+
if (event?.type === 'complete')
|
|
36
|
+
traceGeometryWorkerMessage.flush('prepass.scan');
|
|
37
|
+
self.postMessage({ type: 'prepass-stream', event });
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=worker-trace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-trace.js","sourceRoot":"","sources":["../src/worker-trace.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,sGAAsG;AACtG,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,qBAAqB,CAAC;IAC9D,SAAS,EAAE;QACT,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,YAAY;QAC1B,mBAAmB,EAAE,cAAc;QACnC,2BAA2B,EAAE,cAAc;QAC3C,sBAAsB,EAAE,cAAc;QACtC,iBAAiB,EAAE,iBAAiB;QACpC,cAAc,EAAE,qBAAqB;KACtC;IACD,2EAA2E;IAC3E,SAAS,EAAE,CAAC,cAAc,CAAC;IAC3B,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAE,IAA0B,CAAC,WAAW,CAAC,OAAO,CAAC;IACnE,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAyB;CAC1C,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAK,KAAmC,EAAE,IAAI,KAAK,UAAU;QAAE,0BAA0B,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC/G,IAA0B,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7E,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/geometry",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.8.1",
|
|
4
4
|
"description": "Geometry processing bridge for IFC-Lite - exact-arithmetic CSG, streamed across workers",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -26,6 +26,16 @@
|
|
|
26
26
|
"import": "./dist/rtc-rebase.js",
|
|
27
27
|
"default": "./dist/rtc-rebase.js"
|
|
28
28
|
},
|
|
29
|
+
"./scan-segmentation": {
|
|
30
|
+
"types": "./dist/scan-segmentation.d.ts",
|
|
31
|
+
"import": "./dist/scan-segmentation.js",
|
|
32
|
+
"default": "./dist/scan-segmentation.js"
|
|
33
|
+
},
|
|
34
|
+
"./scan-proposals": {
|
|
35
|
+
"types": "./dist/scan-proposals.d.ts",
|
|
36
|
+
"import": "./dist/scan-proposals.js",
|
|
37
|
+
"default": "./dist/scan-proposals.js"
|
|
38
|
+
},
|
|
29
39
|
"./remesh": {
|
|
30
40
|
"types": "./dist/remesh/index.d.ts",
|
|
31
41
|
"import": "./dist/remesh/index.js",
|
|
@@ -33,17 +43,18 @@
|
|
|
33
43
|
}
|
|
34
44
|
},
|
|
35
45
|
"dependencies": {
|
|
36
|
-
"@ifc-lite/
|
|
37
|
-
"@ifc-lite/wasm": "^10.
|
|
46
|
+
"@ifc-lite/load-trace": "^0.3.0",
|
|
47
|
+
"@ifc-lite/wasm": "^10.4.0",
|
|
48
|
+
"@ifc-lite/data": "^6.2.0",
|
|
38
49
|
"@ifc-lite/wasm-lifecycle": "^0.2.0"
|
|
39
50
|
},
|
|
40
51
|
"optionalDependencies": {
|
|
41
|
-
"@tauri-apps/api": "^2.
|
|
52
|
+
"@tauri-apps/api": "^2.12.2"
|
|
42
53
|
},
|
|
43
54
|
"devDependencies": {
|
|
44
|
-
"@tauri-apps/api": "^2.
|
|
55
|
+
"@tauri-apps/api": "^2.12.2",
|
|
45
56
|
"typescript": "^6.0.3",
|
|
46
|
-
"vitest": "^5.0.
|
|
57
|
+
"vitest": "^5.0.3"
|
|
47
58
|
},
|
|
48
59
|
"license": "MPL-2.0",
|
|
49
60
|
"author": "Louis True",
|