tardis-machine 18.6.1 → 18.6.3
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/node_modules/tardis-dev/README.md +1 -1
- package/node_modules/tardis-dev/dist/worker.d.ts.map +1 -1
- package/node_modules/tardis-dev/dist/worker.js +1 -2
- package/node_modules/tardis-dev/dist/worker.js.map +1 -1
- package/node_modules/tardis-dev/dist/zstd.d.ts +1 -2
- package/node_modules/tardis-dev/dist/zstd.d.ts.map +1 -1
- package/node_modules/tardis-dev/dist/zstd.js +4 -118
- package/node_modules/tardis-dev/dist/zstd.js.map +1 -1
- package/node_modules/tardis-dev/package.json +3 -3
- package/node_modules/tardis-dev/src/worker.ts +1 -2
- package/node_modules/tardis-dev/src/zstd.ts +4 -135
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAkM7C,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,IAAI,CAAA;IACd,MAAM,EAAE,IAAI,CAAA;IACZ,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;IACtB,2BAA2B,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAC/C,CAAA;AAED,0BAAkB,YAAY;IAC5B,gBAAgB,qBAAqB;IACrC,kBAAkB,uBAAuB;CAC1C"}
|
|
@@ -112,8 +112,7 @@ async function getDataFeedSlice({ exchange, fromDate, endpoint, apiKey, dataFeed
|
|
|
112
112
|
suggestedSliceSize: DEFAULT_DATA_FEED_SLICE_SIZE
|
|
113
113
|
};
|
|
114
114
|
}
|
|
115
|
-
|
|
116
|
-
let url = `${endpoint}/data-feeds/${exchange}?from=${fromDate.toISOString()}&offset=${offset}&compression=${requestCompression}`;
|
|
115
|
+
let url = `${endpoint}/data-feeds/${exchange}?from=${fromDate.toISOString()}&offset=${offset}`;
|
|
117
116
|
if (requestedSliceSize > DEFAULT_DATA_FEED_SLICE_SIZE) {
|
|
118
117
|
url += `&sliceSize=${requestedSliceSize}`;
|
|
119
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function createZstdDecompressionStream(path: string, chunkSize: number): Readable;
|
|
1
|
+
export declare function createZstdDecompressionStream(path: string, chunkSize: number): import("node:stream").Duplex;
|
|
3
2
|
//# sourceMappingURL=zstd.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zstd.d.ts","sourceRoot":"","sources":["../src/zstd.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"zstd.d.ts","sourceRoot":"","sources":["../src/zstd.ts"],"names":[],"mappings":"AAGA,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gCAI5E"}
|
|
@@ -1,122 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { open } from 'node:fs/promises';
|
|
3
|
-
import { Readable } from 'node:stream';
|
|
1
|
+
import { createReadStream } from 'node:fs';
|
|
4
2
|
import { createZstdDecompress } from 'node:zlib';
|
|
5
|
-
const ZSTD_FRAME_MAGIC = 0xfd2fb528;
|
|
6
|
-
const DICTIONARY_ID_SIZES = [0, 1, 2, 4];
|
|
7
3
|
export function createZstdDecompressionStream(path, chunkSize) {
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const file = await open(path, 'r');
|
|
12
|
-
try {
|
|
13
|
-
const fileSize = (await file.stat()).size;
|
|
14
|
-
const frames = await findZstdFrames(file, path, fileSize);
|
|
15
|
-
for (const frame of frames) {
|
|
16
|
-
const source = Readable.from(readFileRange(file, frame.offset, frame.length, chunkSize), { objectMode: false });
|
|
17
|
-
const decompressor = createZstdDecompress({ chunkSize });
|
|
18
|
-
source.on('error', (error) => decompressor.destroy(error));
|
|
19
|
-
source.pipe(decompressor);
|
|
20
|
-
try {
|
|
21
|
-
for await (const chunk of decompressor) {
|
|
22
|
-
yield chunk;
|
|
23
|
-
}
|
|
24
|
-
if (decompressor.bytesWritten !== frame.length) {
|
|
25
|
-
throw new Error(`Zstd decoder consumed ${decompressor.bytesWritten} of ${frame.length} bytes at offset ${frame.offset} in ${path}`);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
finally {
|
|
29
|
-
source.unpipe(decompressor);
|
|
30
|
-
source.destroy();
|
|
31
|
-
decompressor.destroy();
|
|
32
|
-
if (!source.closed) {
|
|
33
|
-
await once(source, 'close');
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
finally {
|
|
39
|
-
await file.close();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
async function findZstdFrames(file, path, fileSize) {
|
|
43
|
-
if (fileSize === 0) {
|
|
44
|
-
throw new Error(`Empty zstd file: ${path}`);
|
|
45
|
-
}
|
|
46
|
-
const bytes = Buffer.allocUnsafe(4);
|
|
47
|
-
const frames = [];
|
|
48
|
-
let offset = 0;
|
|
49
|
-
while (offset < fileSize) {
|
|
50
|
-
const frameStart = offset;
|
|
51
|
-
await readExactly(file, bytes, 4, offset, fileSize, path);
|
|
52
|
-
if (bytes.readUInt32LE(0) !== ZSTD_FRAME_MAGIC) {
|
|
53
|
-
throw new Error(`Invalid zstd frame magic at offset ${offset} in ${path}`);
|
|
54
|
-
}
|
|
55
|
-
offset += 4;
|
|
56
|
-
await readExactly(file, bytes, 1, offset, fileSize, path);
|
|
57
|
-
const descriptor = bytes[0];
|
|
58
|
-
if ((descriptor & 0x08) !== 0) {
|
|
59
|
-
throw new Error(`Unsupported reserved zstd frame descriptor bit at offset ${offset} in ${path}`);
|
|
60
|
-
}
|
|
61
|
-
offset++;
|
|
62
|
-
const singleSegment = (descriptor & 0x20) !== 0;
|
|
63
|
-
const contentChecksum = (descriptor & 0x04) !== 0;
|
|
64
|
-
const dictionaryIdSize = DICTIONARY_ID_SIZES[descriptor & 0x03];
|
|
65
|
-
const contentSizeFlag = descriptor >>> 6;
|
|
66
|
-
const contentSizeSize = contentSizeFlag === 0 ? (singleSegment ? 1 : 0) : 1 << contentSizeFlag;
|
|
67
|
-
const windowDescriptorSize = singleSegment ? 0 : 1;
|
|
68
|
-
offset += windowDescriptorSize + dictionaryIdSize + contentSizeSize;
|
|
69
|
-
ensureAvailable(offset, 0, fileSize, path);
|
|
70
|
-
let lastBlock = false;
|
|
71
|
-
while (!lastBlock) {
|
|
72
|
-
await readExactly(file, bytes, 3, offset, fileSize, path);
|
|
73
|
-
const blockHeader = bytes.readUIntLE(0, 3);
|
|
74
|
-
offset += 3;
|
|
75
|
-
lastBlock = (blockHeader & 1) !== 0;
|
|
76
|
-
const blockType = (blockHeader >>> 1) & 3;
|
|
77
|
-
if (blockType === 3) {
|
|
78
|
-
throw new Error(`Invalid reserved zstd block type at offset ${offset - 3} in ${path}`);
|
|
79
|
-
}
|
|
80
|
-
const blockSize = blockHeader >>> 3;
|
|
81
|
-
// RLE blocks store one repeated byte; other block types store blockSize bytes.
|
|
82
|
-
offset += blockType === 1 ? 1 : blockSize;
|
|
83
|
-
ensureAvailable(offset, 0, fileSize, path);
|
|
84
|
-
}
|
|
85
|
-
if (contentChecksum) {
|
|
86
|
-
offset += 4;
|
|
87
|
-
ensureAvailable(offset, 0, fileSize, path);
|
|
88
|
-
}
|
|
89
|
-
frames.push({ offset: frameStart, length: offset - frameStart });
|
|
90
|
-
}
|
|
91
|
-
return frames;
|
|
92
|
-
}
|
|
93
|
-
async function* readFileRange(file, position, length, chunkSize) {
|
|
94
|
-
let bytesRemaining = length;
|
|
95
|
-
while (bytesRemaining > 0) {
|
|
96
|
-
const buffer = Buffer.allocUnsafe(Math.min(bytesRemaining, chunkSize));
|
|
97
|
-
const { bytesRead } = await file.read(buffer, 0, buffer.length, position);
|
|
98
|
-
if (bytesRead === 0) {
|
|
99
|
-
throw new Error(`Expected ${length} compressed bytes, read ${length - bytesRemaining}`);
|
|
100
|
-
}
|
|
101
|
-
yield bytesRead === buffer.length ? buffer : buffer.subarray(0, bytesRead);
|
|
102
|
-
position += bytesRead;
|
|
103
|
-
bytesRemaining -= bytesRead;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
async function readExactly(file, buffer, length, position, fileSize, path) {
|
|
107
|
-
ensureAvailable(position, length, fileSize, path);
|
|
108
|
-
let bytesRead = 0;
|
|
109
|
-
while (bytesRead < length) {
|
|
110
|
-
const result = await file.read(buffer, bytesRead, length - bytesRead, position + bytesRead);
|
|
111
|
-
if (result.bytesRead === 0) {
|
|
112
|
-
throw new Error(`Truncated zstd frame at offset ${position + bytesRead} in ${path}`);
|
|
113
|
-
}
|
|
114
|
-
bytesRead += result.bytesRead;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
function ensureAvailable(position, length, fileSize, path) {
|
|
118
|
-
if (position < 0 || length < 0 || position > fileSize - length) {
|
|
119
|
-
throw new Error(`Truncated zstd frame at offset ${position} in ${path}`);
|
|
120
|
-
}
|
|
4
|
+
// Node supports rejectGarbageAfterEnd for Zstd; @types/node does not declare it yet.
|
|
5
|
+
const decoderOptions = { chunkSize, rejectGarbageAfterEnd: true };
|
|
6
|
+
return createReadStream(path, { highWaterMark: chunkSize }).compose(createZstdDecompress(decoderOptions));
|
|
121
7
|
}
|
|
122
8
|
//# sourceMappingURL=zstd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zstd.js","sourceRoot":"","sources":["../src/zstd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"zstd.js","sourceRoot":"","sources":["../src/zstd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,UAAU,6BAA6B,CAAC,IAAY,EAAE,SAAiB;IAC3E,qFAAqF;IACrF,MAAM,cAAc,GAAG,EAAE,SAAS,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAA;IACjE,OAAO,gBAAgB,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAA;AAC3G,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tardis-dev",
|
|
3
|
-
"version": "18.6.
|
|
3
|
+
"version": "18.6.3",
|
|
4
4
|
"engines": {
|
|
5
|
-
"node": "
|
|
5
|
+
"node": "^24.22.1 || >=26.12.1"
|
|
6
6
|
},
|
|
7
7
|
"devEngines": {
|
|
8
8
|
"runtime": {
|
|
9
9
|
"name": "node",
|
|
10
|
-
"version": "
|
|
10
|
+
"version": "^24.22.1 || >=26.12.1"
|
|
11
11
|
},
|
|
12
12
|
"packageManager": {
|
|
13
13
|
"name": "npm",
|
|
@@ -163,8 +163,7 @@ async function getDataFeedSlice(
|
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
|
|
166
|
-
|
|
167
|
-
let url = `${endpoint}/data-feeds/${exchange}?from=${fromDate.toISOString()}&offset=${offset}&compression=${requestCompression}`
|
|
166
|
+
let url = `${endpoint}/data-feeds/${exchange}?from=${fromDate.toISOString()}&offset=${offset}`
|
|
168
167
|
if (requestedSliceSize > DEFAULT_DATA_FEED_SLICE_SIZE) {
|
|
169
168
|
url += `&sliceSize=${requestedSliceSize}`
|
|
170
169
|
}
|
|
@@ -1,139 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { open, type FileHandle } from 'node:fs/promises'
|
|
3
|
-
import { Readable } from 'node:stream'
|
|
1
|
+
import { createReadStream } from 'node:fs'
|
|
4
2
|
import { createZstdDecompress } from 'node:zlib'
|
|
5
3
|
|
|
6
|
-
const ZSTD_FRAME_MAGIC = 0xfd2fb528
|
|
7
|
-
const DICTIONARY_ID_SIZES = [0, 1, 2, 4]
|
|
8
|
-
|
|
9
4
|
export function createZstdDecompressionStream(path: string, chunkSize: number) {
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
async function* decompressZstdFrames(path: string, chunkSize: number) {
|
|
14
|
-
const file = await open(path, 'r')
|
|
15
|
-
try {
|
|
16
|
-
const fileSize = (await file.stat()).size
|
|
17
|
-
const frames = await findZstdFrames(file, path, fileSize)
|
|
18
|
-
|
|
19
|
-
for (const frame of frames) {
|
|
20
|
-
const source = Readable.from(readFileRange(file, frame.offset, frame.length, chunkSize), { objectMode: false })
|
|
21
|
-
const decompressor = createZstdDecompress({ chunkSize })
|
|
22
|
-
source.on('error', (error) => decompressor.destroy(error))
|
|
23
|
-
source.pipe(decompressor)
|
|
24
|
-
|
|
25
|
-
try {
|
|
26
|
-
for await (const chunk of decompressor) {
|
|
27
|
-
yield chunk
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
if (decompressor.bytesWritten !== frame.length) {
|
|
31
|
-
throw new Error(
|
|
32
|
-
`Zstd decoder consumed ${decompressor.bytesWritten} of ${frame.length} bytes at offset ${frame.offset} in ${path}`
|
|
33
|
-
)
|
|
34
|
-
}
|
|
35
|
-
} finally {
|
|
36
|
-
source.unpipe(decompressor)
|
|
37
|
-
source.destroy()
|
|
38
|
-
decompressor.destroy()
|
|
39
|
-
if (!source.closed) {
|
|
40
|
-
await once(source, 'close')
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
} finally {
|
|
45
|
-
await file.close()
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
async function findZstdFrames(file: FileHandle, path: string, fileSize: number) {
|
|
50
|
-
if (fileSize === 0) {
|
|
51
|
-
throw new Error(`Empty zstd file: ${path}`)
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
const bytes = Buffer.allocUnsafe(4)
|
|
55
|
-
const frames: { offset: number; length: number }[] = []
|
|
56
|
-
let offset = 0
|
|
57
|
-
|
|
58
|
-
while (offset < fileSize) {
|
|
59
|
-
const frameStart = offset
|
|
60
|
-
await readExactly(file, bytes, 4, offset, fileSize, path)
|
|
61
|
-
if (bytes.readUInt32LE(0) !== ZSTD_FRAME_MAGIC) {
|
|
62
|
-
throw new Error(`Invalid zstd frame magic at offset ${offset} in ${path}`)
|
|
63
|
-
}
|
|
64
|
-
offset += 4
|
|
65
|
-
|
|
66
|
-
await readExactly(file, bytes, 1, offset, fileSize, path)
|
|
67
|
-
const descriptor = bytes[0]
|
|
68
|
-
if ((descriptor & 0x08) !== 0) {
|
|
69
|
-
throw new Error(`Unsupported reserved zstd frame descriptor bit at offset ${offset} in ${path}`)
|
|
70
|
-
}
|
|
71
|
-
offset++
|
|
72
|
-
|
|
73
|
-
const singleSegment = (descriptor & 0x20) !== 0
|
|
74
|
-
const contentChecksum = (descriptor & 0x04) !== 0
|
|
75
|
-
const dictionaryIdSize = DICTIONARY_ID_SIZES[descriptor & 0x03]
|
|
76
|
-
const contentSizeFlag = descriptor >>> 6
|
|
77
|
-
const contentSizeSize = contentSizeFlag === 0 ? (singleSegment ? 1 : 0) : 1 << contentSizeFlag
|
|
78
|
-
const windowDescriptorSize = singleSegment ? 0 : 1
|
|
79
|
-
offset += windowDescriptorSize + dictionaryIdSize + contentSizeSize
|
|
80
|
-
ensureAvailable(offset, 0, fileSize, path)
|
|
81
|
-
|
|
82
|
-
let lastBlock = false
|
|
83
|
-
while (!lastBlock) {
|
|
84
|
-
await readExactly(file, bytes, 3, offset, fileSize, path)
|
|
85
|
-
const blockHeader = bytes.readUIntLE(0, 3)
|
|
86
|
-
offset += 3
|
|
87
|
-
lastBlock = (blockHeader & 1) !== 0
|
|
88
|
-
const blockType = (blockHeader >>> 1) & 3
|
|
89
|
-
if (blockType === 3) {
|
|
90
|
-
throw new Error(`Invalid reserved zstd block type at offset ${offset - 3} in ${path}`)
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
const blockSize = blockHeader >>> 3
|
|
94
|
-
// RLE blocks store one repeated byte; other block types store blockSize bytes.
|
|
95
|
-
offset += blockType === 1 ? 1 : blockSize
|
|
96
|
-
ensureAvailable(offset, 0, fileSize, path)
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
if (contentChecksum) {
|
|
100
|
-
offset += 4
|
|
101
|
-
ensureAvailable(offset, 0, fileSize, path)
|
|
102
|
-
}
|
|
103
|
-
frames.push({ offset: frameStart, length: offset - frameStart })
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
return frames
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
async function* readFileRange(file: FileHandle, position: number, length: number, chunkSize: number) {
|
|
110
|
-
let bytesRemaining = length
|
|
111
|
-
while (bytesRemaining > 0) {
|
|
112
|
-
const buffer = Buffer.allocUnsafe(Math.min(bytesRemaining, chunkSize))
|
|
113
|
-
const { bytesRead } = await file.read(buffer, 0, buffer.length, position)
|
|
114
|
-
if (bytesRead === 0) {
|
|
115
|
-
throw new Error(`Expected ${length} compressed bytes, read ${length - bytesRemaining}`)
|
|
116
|
-
}
|
|
117
|
-
yield bytesRead === buffer.length ? buffer : buffer.subarray(0, bytesRead)
|
|
118
|
-
position += bytesRead
|
|
119
|
-
bytesRemaining -= bytesRead
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
async function readExactly(file: FileHandle, buffer: Buffer, length: number, position: number, fileSize: number, path: string) {
|
|
124
|
-
ensureAvailable(position, length, fileSize, path)
|
|
125
|
-
let bytesRead = 0
|
|
126
|
-
while (bytesRead < length) {
|
|
127
|
-
const result = await file.read(buffer, bytesRead, length - bytesRead, position + bytesRead)
|
|
128
|
-
if (result.bytesRead === 0) {
|
|
129
|
-
throw new Error(`Truncated zstd frame at offset ${position + bytesRead} in ${path}`)
|
|
130
|
-
}
|
|
131
|
-
bytesRead += result.bytesRead
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
function ensureAvailable(position: number, length: number, fileSize: number, path: string) {
|
|
136
|
-
if (position < 0 || length < 0 || position > fileSize - length) {
|
|
137
|
-
throw new Error(`Truncated zstd frame at offset ${position} in ${path}`)
|
|
138
|
-
}
|
|
5
|
+
// Node supports rejectGarbageAfterEnd for Zstd; @types/node does not declare it yet.
|
|
6
|
+
const decoderOptions = { chunkSize, rejectGarbageAfterEnd: true }
|
|
7
|
+
return createReadStream(path, { highWaterMark: chunkSize }).compose(createZstdDecompress(decoderOptions))
|
|
139
8
|
}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tardis-machine",
|
|
3
|
-
"version": "18.6.
|
|
3
|
+
"version": "18.6.3",
|
|
4
4
|
"engines": {
|
|
5
|
-
"node": "
|
|
5
|
+
"node": "^24.22.1 || >=26.12.1"
|
|
6
6
|
},
|
|
7
7
|
"devEngines": {
|
|
8
8
|
"runtime": {
|
|
9
9
|
"name": "node",
|
|
10
|
-
"version": "^24.
|
|
10
|
+
"version": "^24.22.1 || >=26.12.1"
|
|
11
11
|
},
|
|
12
12
|
"packageManager": {
|
|
13
13
|
"name": "npm",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"license": "MPL-2.0",
|
|
77
77
|
"dependencies": {
|
|
78
78
|
"debug": "^4.4.3",
|
|
79
|
-
"tardis-dev": "^18.6.
|
|
79
|
+
"tardis-dev": "^18.6.3",
|
|
80
80
|
"ws": "^8.21.3"
|
|
81
81
|
},
|
|
82
82
|
"bundleDependencies": true,
|