@ttsc/metro 0.19.2 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/core/fingerprint.d.ts +12 -9
- package/lib/core/fingerprint.js +183 -36
- package/lib/core/fingerprint.js.map +1 -1
- package/lib/core/fingerprint.mjs +183 -36
- package/lib/core/fingerprint.mjs.map +1 -1
- package/package.json +3 -3
- package/src/core/fingerprint.ts +236 -36
package/lib/core/fingerprint.mjs
CHANGED
|
@@ -38,6 +38,9 @@ import path from 'node:path';
|
|
|
38
38
|
*
|
|
39
39
|
* - No readable snapshot (first run, wiped cache dir, unwritable filesystem)
|
|
40
40
|
* folds a random nonce: that run shares no cache entries with any other run.
|
|
41
|
+
* - A failed snapshot write persists the pending observation beside the snapshot
|
|
42
|
+
* directory. While any such recovery document exists, readers fold a nonce;
|
|
43
|
+
* successful compaction merges it and mints a fresh epoch.
|
|
41
44
|
* - A recreated snapshot carries a fresh epoch id, so it can never alias a key
|
|
42
45
|
* from an older epoch whose recorded set is unknown.
|
|
43
46
|
* - A plugin-declared volatile output (non-file inputs; unrepresentable in any
|
|
@@ -50,10 +53,16 @@ import path from 'node:path';
|
|
|
50
53
|
const SNAPSHOT_VERSION = 1;
|
|
51
54
|
/** Snapshot directory segments under the fingerprint base directory. */
|
|
52
55
|
const SNAPSHOT_DIRECTORY = ["node_modules", ".cache", "ttsc-metro"];
|
|
56
|
+
/** Recovery-document prefix in the parent cache directory. */
|
|
57
|
+
const UNHEALTHY_SNAPSHOT_PREFIX = "ttsc-metro.unhealthy-";
|
|
53
58
|
/** Main snapshot file name (epoch id + compacted recorded inputs). */
|
|
54
59
|
const MAIN_SNAPSHOT = "graph-inputs.json";
|
|
55
60
|
/** Worker snapshot file prefix; each worker appends a unique suffix. */
|
|
56
61
|
const WORKER_SNAPSHOT_PREFIX = "graph-inputs.worker-";
|
|
62
|
+
/** Prefix used after a compactor atomically claims an immutable worker file. */
|
|
63
|
+
const CLAIMED_WORKER_SNAPSHOT_PREFIX = "graph-inputs.worker-claimed-";
|
|
64
|
+
/** Bases whose latest observation is not yet durable in the main snapshot. */
|
|
65
|
+
const unhealthySnapshots = new Set();
|
|
57
66
|
/**
|
|
58
67
|
* Resolve the base directory both fingerprint sides agree on: Metro's
|
|
59
68
|
* `projectRoot` when known (`withTtsc` reads it from the config, `getCacheKey`
|
|
@@ -151,12 +160,20 @@ function nonce() {
|
|
|
151
160
|
* unparseable worker file's recordings are unrecoverable, so its removal mints
|
|
152
161
|
* a fresh epoch id — every key that might have depended on the lost recordings
|
|
153
162
|
* is soundly orphaned, and later runs stabilize instead of degrading to a nonce
|
|
154
|
-
* forever.
|
|
155
|
-
*
|
|
163
|
+
* forever. A failed rewrite leaves a recovery document outside the snapshot
|
|
164
|
+
* directory so `getCacheKey` degrades to a nonce until a later compaction
|
|
165
|
+
* succeeds. If an older readable main exists and neither location is writable,
|
|
166
|
+
* preparation throws instead of authorizing stale reuse.
|
|
156
167
|
*/
|
|
157
168
|
function prepareSnapshot(projectRoot) {
|
|
169
|
+
const base = resolveFingerprintBase(projectRoot);
|
|
170
|
+
let hadReadableMain = false;
|
|
171
|
+
let pending = {
|
|
172
|
+
files: [],
|
|
173
|
+
version: SNAPSHOT_VERSION,
|
|
174
|
+
volatile: false,
|
|
175
|
+
};
|
|
158
176
|
try {
|
|
159
|
-
const base = resolveFingerprintBase(projectRoot);
|
|
160
177
|
// A nonexistent base can never be a working Metro setup (Metro verifies
|
|
161
178
|
// the project root exists), so preparing a snapshot there would only
|
|
162
179
|
// materialize directory trees at arbitrary paths.
|
|
@@ -169,31 +186,44 @@ function prepareSnapshot(projectRoot) {
|
|
|
169
186
|
// comment): a concurrent compactor deletes a worker file only after the
|
|
170
187
|
// merged main is renamed into place, so whatever this enumeration misses
|
|
171
188
|
// is already inside the main read below.
|
|
189
|
+
claimWorkerFiles(directory);
|
|
190
|
+
const recovery = readUnhealthySnapshots(base);
|
|
172
191
|
const workers = readWorkerFiles(directory);
|
|
192
|
+
if (!recovery.readable || !workers.readable) {
|
|
193
|
+
throw new Error("Unable to enumerate Metro snapshot state.");
|
|
194
|
+
}
|
|
173
195
|
const main = readMainDocument(directory);
|
|
196
|
+
hadReadableMain = main !== undefined && typeof main.id === "string";
|
|
174
197
|
const files = new Set(main?.files ?? []);
|
|
175
|
-
const
|
|
198
|
+
const observations = [...recovery.entries, ...workers.entries];
|
|
199
|
+
const volatile = observations.length === 0
|
|
176
200
|
? (main?.volatile ?? false)
|
|
177
201
|
: // Worker files carry the previous run's fresh observations, so they
|
|
178
202
|
// own the volatile verdict: a removed volatile declaration must be
|
|
179
203
|
// able to clear the sticky flag.
|
|
180
|
-
|
|
181
|
-
for (const entry of
|
|
204
|
+
observations.some((entry) => entry.volatile);
|
|
205
|
+
for (const entry of observations) {
|
|
182
206
|
for (const file of entry.files) {
|
|
183
207
|
files.add(file);
|
|
184
208
|
}
|
|
185
209
|
}
|
|
186
|
-
|
|
210
|
+
const recovering = unhealthySnapshots.has(base) ||
|
|
211
|
+
recovery.paths.length !== 0 ||
|
|
212
|
+
recovery.corruptPaths.length !== 0;
|
|
213
|
+
pending = {
|
|
187
214
|
files: [...files].sort(),
|
|
188
|
-
id: workers.corruptPaths.length === 0
|
|
215
|
+
id: !recovering && workers.corruptPaths.length === 0
|
|
189
216
|
? (main?.id ?? randomBytes(16).toString("hex"))
|
|
190
217
|
: randomBytes(16).toString("hex"),
|
|
191
218
|
version: SNAPSHOT_VERSION,
|
|
192
219
|
volatile,
|
|
193
|
-
}
|
|
220
|
+
};
|
|
221
|
+
writeSnapshotDocument(path.join(directory, MAIN_SNAPSHOT), pending);
|
|
194
222
|
for (const file of [
|
|
195
|
-
...workers.paths,
|
|
196
|
-
...workers.corruptPaths,
|
|
223
|
+
...workers.paths.filter(isClaimedWorkerSnapshot),
|
|
224
|
+
...workers.corruptPaths.filter(isClaimedWorkerSnapshot),
|
|
225
|
+
...recovery.paths,
|
|
226
|
+
...recovery.corruptPaths,
|
|
197
227
|
...listTemporaryFiles(directory),
|
|
198
228
|
]) {
|
|
199
229
|
try {
|
|
@@ -204,9 +234,22 @@ function prepareSnapshot(projectRoot) {
|
|
|
204
234
|
// lost, and the next compaction retries.
|
|
205
235
|
}
|
|
206
236
|
}
|
|
237
|
+
const remainingRecovery = readUnhealthySnapshots(base);
|
|
238
|
+
if (remainingRecovery.readable &&
|
|
239
|
+
remainingRecovery.paths.length === 0 &&
|
|
240
|
+
remainingRecovery.corruptPaths.length === 0) {
|
|
241
|
+
unhealthySnapshots.delete(base);
|
|
242
|
+
}
|
|
207
243
|
}
|
|
208
|
-
catch {
|
|
209
|
-
|
|
244
|
+
catch (snapshotError) {
|
|
245
|
+
try {
|
|
246
|
+
persistUnhealthySnapshot(base, pending);
|
|
247
|
+
}
|
|
248
|
+
catch (recoveryError) {
|
|
249
|
+
if (hadReadableMain || hasReadableMainSnapshot(base)) {
|
|
250
|
+
throw new AggregateError([snapshotError, recoveryError], "Unable to persist Metro snapshot state or its recovery record.");
|
|
251
|
+
}
|
|
252
|
+
}
|
|
210
253
|
}
|
|
211
254
|
}
|
|
212
255
|
/**
|
|
@@ -241,10 +284,19 @@ function listTemporaryFiles(directory) {
|
|
|
241
284
|
* recorded set cannot be trusted, so the caller degrades to a nonce).
|
|
242
285
|
*/
|
|
243
286
|
function readSnapshotState(base) {
|
|
287
|
+
if (unhealthySnapshots.has(base)) {
|
|
288
|
+
return undefined;
|
|
289
|
+
}
|
|
290
|
+
const recovery = readUnhealthySnapshots(base);
|
|
291
|
+
if (!recovery.readable ||
|
|
292
|
+
recovery.paths.length !== 0 ||
|
|
293
|
+
recovery.corruptPaths.length !== 0) {
|
|
294
|
+
return undefined;
|
|
295
|
+
}
|
|
244
296
|
const directory = snapshotDirectory(base);
|
|
245
297
|
// Worker files strictly before the main file — see the module doc comment.
|
|
246
298
|
const workers = readWorkerFiles(directory);
|
|
247
|
-
if (workers.corruptPaths.length !== 0) {
|
|
299
|
+
if (!workers.readable || workers.corruptPaths.length !== 0) {
|
|
248
300
|
return undefined;
|
|
249
301
|
}
|
|
250
302
|
const main = readMainDocument(directory);
|
|
@@ -262,13 +314,14 @@ function readSnapshotState(base) {
|
|
|
262
314
|
return { files: [...files].sort(), id: main.id, volatile };
|
|
263
315
|
}
|
|
264
316
|
/**
|
|
265
|
-
* Recorder held by each Metro worker.
|
|
266
|
-
*
|
|
267
|
-
*
|
|
268
|
-
*
|
|
269
|
-
*
|
|
270
|
-
*
|
|
271
|
-
* `withTtsc` compacts the
|
|
317
|
+
* Recorder held by each Metro worker. It persists out-of-walk watch inputs and
|
|
318
|
+
* missing in-walk paths delivered through the transform core's `addWatchFile`
|
|
319
|
+
* hook, plus any volatile declaration. Existing in-walk files stay covered by
|
|
320
|
+
* the project walk; a missing path must be retained because its creation is a
|
|
321
|
+
* state change that the initial walk could not hash. A clean in-walk transform
|
|
322
|
+
* also writes a document so it can clear a volatile declaration from an earlier
|
|
323
|
+
* run. The unique name makes worker writes race-free; `withTtsc` compacts the
|
|
324
|
+
* files on the next run.
|
|
272
325
|
*/
|
|
273
326
|
function createSnapshotRecorder() {
|
|
274
327
|
const suffix = `${process.pid.toString(36)}-${randomBytes(6).toString("hex")}`;
|
|
@@ -280,6 +333,7 @@ function createSnapshotRecorder() {
|
|
|
280
333
|
state = {
|
|
281
334
|
dirty: false,
|
|
282
335
|
files: new Set(),
|
|
336
|
+
observed: false,
|
|
283
337
|
roots: fingerprintRoots(base, explicitProject),
|
|
284
338
|
volatile: false,
|
|
285
339
|
};
|
|
@@ -291,21 +345,28 @@ function createSnapshotRecorder() {
|
|
|
291
345
|
if (!state.dirty) {
|
|
292
346
|
return;
|
|
293
347
|
}
|
|
348
|
+
const document = {
|
|
349
|
+
files: [...state.files].sort(),
|
|
350
|
+
version: SNAPSHOT_VERSION,
|
|
351
|
+
volatile: state.volatile,
|
|
352
|
+
};
|
|
294
353
|
try {
|
|
295
354
|
const directory = snapshotDirectory(base);
|
|
296
355
|
fs.mkdirSync(directory, { recursive: true });
|
|
297
|
-
writeSnapshotDocument(path.join(directory, `${WORKER_SNAPSHOT_PREFIX}${suffix}.json`),
|
|
298
|
-
files: [...state.files].sort(),
|
|
299
|
-
version: SNAPSHOT_VERSION,
|
|
300
|
-
volatile: state.volatile,
|
|
301
|
-
});
|
|
356
|
+
writeSnapshotDocument(path.join(directory, `${WORKER_SNAPSHOT_PREFIX}${suffix}.json`), document);
|
|
302
357
|
// Cleared only on success so a transient write failure retries on the
|
|
303
358
|
// next recording instead of silently dropping the observed state.
|
|
304
359
|
state.dirty = false;
|
|
305
360
|
}
|
|
306
|
-
catch {
|
|
307
|
-
|
|
308
|
-
|
|
361
|
+
catch (snapshotError) {
|
|
362
|
+
try {
|
|
363
|
+
persistUnhealthySnapshot(base, document);
|
|
364
|
+
}
|
|
365
|
+
catch (recoveryError) {
|
|
366
|
+
if (hasReadableMainSnapshot(base)) {
|
|
367
|
+
throw new AggregateError([snapshotError, recoveryError], "Unable to persist a Metro snapshot observation or its recovery record.");
|
|
368
|
+
}
|
|
369
|
+
}
|
|
309
370
|
}
|
|
310
371
|
}
|
|
311
372
|
return {
|
|
@@ -313,8 +374,18 @@ function createSnapshotRecorder() {
|
|
|
313
374
|
const base = resolveFingerprintBase(props.projectRoot);
|
|
314
375
|
const state = stateFor(props.projectRoot, props.explicitProject);
|
|
315
376
|
const input = path.resolve(props.input);
|
|
377
|
+
const firstObservation = !state.observed;
|
|
378
|
+
state.observed = true;
|
|
316
379
|
if (state.files.has(input) ||
|
|
317
|
-
|
|
380
|
+
(fs.existsSync(input) &&
|
|
381
|
+
state.roots.some((root) => isProjectWalkPath(root, input)))) {
|
|
382
|
+
// Even when every input belongs to the project walk, the worker must
|
|
383
|
+
// publish that it performed a clean transform. Otherwise an old main
|
|
384
|
+
// snapshot with `volatile: true` remains sticky forever.
|
|
385
|
+
if (firstObservation || state.dirty) {
|
|
386
|
+
state.dirty = true;
|
|
387
|
+
flush(base, state);
|
|
388
|
+
}
|
|
318
389
|
return;
|
|
319
390
|
}
|
|
320
391
|
state.files.add(input);
|
|
@@ -325,6 +396,7 @@ function createSnapshotRecorder() {
|
|
|
325
396
|
const base = resolveFingerprintBase(props.projectRoot);
|
|
326
397
|
const state = stateFor(props.projectRoot, props.explicitProject);
|
|
327
398
|
if (state.volatile) {
|
|
399
|
+
flush(base, state);
|
|
328
400
|
return;
|
|
329
401
|
}
|
|
330
402
|
state.volatile = true;
|
|
@@ -336,6 +408,64 @@ function createSnapshotRecorder() {
|
|
|
336
408
|
function snapshotDirectory(base) {
|
|
337
409
|
return path.join(base, ...SNAPSHOT_DIRECTORY);
|
|
338
410
|
}
|
|
411
|
+
function snapshotCacheDirectory(base) {
|
|
412
|
+
return path.dirname(snapshotDirectory(base));
|
|
413
|
+
}
|
|
414
|
+
function hasReadableMainSnapshot(base) {
|
|
415
|
+
const main = readMainDocument(snapshotDirectory(base));
|
|
416
|
+
return main !== undefined && typeof main.id === "string";
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Persist a failed observation where a read-only snapshot directory cannot hide
|
|
420
|
+
* it.
|
|
421
|
+
*/
|
|
422
|
+
function persistUnhealthySnapshot(base, document) {
|
|
423
|
+
unhealthySnapshots.add(base);
|
|
424
|
+
const directory = snapshotCacheDirectory(base);
|
|
425
|
+
fs.mkdirSync(directory, { recursive: true });
|
|
426
|
+
writeSnapshotDocument(path.join(directory, `${UNHEALTHY_SNAPSHOT_PREFIX}${process.pid.toString(36)}-${randomBytes(8).toString("hex")}.json`), document);
|
|
427
|
+
}
|
|
428
|
+
function readUnhealthySnapshots(base) {
|
|
429
|
+
return readSnapshotFiles(snapshotCacheDirectory(base), UNHEALTHY_SNAPSHOT_PREFIX);
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* Move each live worker document to a unique immutable name before reading it.
|
|
433
|
+
* A concurrent worker publishes its next cumulative document at the original
|
|
434
|
+
* name, so deleting the claimed copy after the main write can never erase a
|
|
435
|
+
* newer observation. Claimed names still match the reader prefix, keeping the
|
|
436
|
+
* worker-before-main visibility invariant during compaction.
|
|
437
|
+
*/
|
|
438
|
+
function claimWorkerFiles(directory) {
|
|
439
|
+
let names;
|
|
440
|
+
try {
|
|
441
|
+
names = fs.readdirSync(directory);
|
|
442
|
+
}
|
|
443
|
+
catch (error) {
|
|
444
|
+
if (isMissingFileError(error)) {
|
|
445
|
+
return;
|
|
446
|
+
}
|
|
447
|
+
throw error;
|
|
448
|
+
}
|
|
449
|
+
const claim = `${process.pid.toString(36)}-${randomBytes(6).toString("hex")}`;
|
|
450
|
+
for (const name of names) {
|
|
451
|
+
if (!name.startsWith(WORKER_SNAPSHOT_PREFIX) ||
|
|
452
|
+
name.startsWith(CLAIMED_WORKER_SNAPSHOT_PREFIX) ||
|
|
453
|
+
!name.endsWith(".json")) {
|
|
454
|
+
continue;
|
|
455
|
+
}
|
|
456
|
+
try {
|
|
457
|
+
fs.renameSync(path.join(directory, name), path.join(directory, `${CLAIMED_WORKER_SNAPSHOT_PREFIX}${claim}-${name.slice(WORKER_SNAPSHOT_PREFIX.length)}`));
|
|
458
|
+
}
|
|
459
|
+
catch (error) {
|
|
460
|
+
if (!isMissingFileError(error)) {
|
|
461
|
+
throw error;
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
function isClaimedWorkerSnapshot(file) {
|
|
467
|
+
return path.basename(file).startsWith(CLAIMED_WORKER_SNAPSHOT_PREFIX);
|
|
468
|
+
}
|
|
339
469
|
/**
|
|
340
470
|
* Read every worker snapshot file in `directory`. A file that disappears
|
|
341
471
|
* mid-read was compacted (merged into the main snapshot first) and is skipped;
|
|
@@ -343,18 +473,26 @@ function snapshotDirectory(base) {
|
|
|
343
473
|
* readers can degrade to a nonce and the compactor can sweep it.
|
|
344
474
|
*/
|
|
345
475
|
function readWorkerFiles(directory) {
|
|
476
|
+
return readSnapshotFiles(directory, WORKER_SNAPSHOT_PREFIX);
|
|
477
|
+
}
|
|
478
|
+
function readSnapshotFiles(directory, prefix) {
|
|
346
479
|
let names;
|
|
347
480
|
try {
|
|
348
481
|
names = fs.readdirSync(directory);
|
|
349
482
|
}
|
|
350
|
-
catch {
|
|
351
|
-
return {
|
|
483
|
+
catch (error) {
|
|
484
|
+
return {
|
|
485
|
+
corruptPaths: [],
|
|
486
|
+
entries: [],
|
|
487
|
+
paths: [],
|
|
488
|
+
readable: isMissingFileError(error),
|
|
489
|
+
};
|
|
352
490
|
}
|
|
353
491
|
const entries = [];
|
|
354
492
|
const paths = [];
|
|
355
493
|
const corruptPaths = [];
|
|
356
494
|
for (const name of names) {
|
|
357
|
-
if (!name.startsWith(
|
|
495
|
+
if (!name.startsWith(prefix) || !name.endsWith(".json")) {
|
|
358
496
|
continue;
|
|
359
497
|
}
|
|
360
498
|
const file = path.join(directory, name);
|
|
@@ -362,7 +500,10 @@ function readWorkerFiles(directory) {
|
|
|
362
500
|
try {
|
|
363
501
|
text = fs.readFileSync(file, "utf8");
|
|
364
502
|
}
|
|
365
|
-
catch {
|
|
503
|
+
catch (error) {
|
|
504
|
+
if (!isMissingFileError(error)) {
|
|
505
|
+
corruptPaths.push(file);
|
|
506
|
+
}
|
|
366
507
|
continue;
|
|
367
508
|
}
|
|
368
509
|
const parsed = parseSnapshotDocument(text);
|
|
@@ -373,7 +514,13 @@ function readWorkerFiles(directory) {
|
|
|
373
514
|
entries.push(parsed);
|
|
374
515
|
paths.push(file);
|
|
375
516
|
}
|
|
376
|
-
return { corruptPaths, entries, paths };
|
|
517
|
+
return { corruptPaths, entries, paths, readable: true };
|
|
518
|
+
}
|
|
519
|
+
function isMissingFileError(error) {
|
|
520
|
+
return (typeof error === "object" &&
|
|
521
|
+
error !== null &&
|
|
522
|
+
"code" in error &&
|
|
523
|
+
error.code === "ENOENT");
|
|
377
524
|
}
|
|
378
525
|
function readMainDocument(directory) {
|
|
379
526
|
let text;
|
|
@@ -410,8 +557,8 @@ function parseSnapshotDocument(text) {
|
|
|
410
557
|
/** Write a snapshot document atomically (unique temp file, then rename). */
|
|
411
558
|
function writeSnapshotDocument(file, document) {
|
|
412
559
|
const temp = `${file}.${randomBytes(6).toString("hex")}.tmp`;
|
|
413
|
-
fs.writeFileSync(temp, JSON.stringify(document), "utf8");
|
|
414
560
|
try {
|
|
561
|
+
fs.writeFileSync(temp, JSON.stringify(document), "utf8");
|
|
415
562
|
fs.renameSync(temp, file);
|
|
416
563
|
}
|
|
417
564
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint.mjs","sources":["../../src/core/fingerprint.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CG;AAUH;AACA,MAAM,gBAAgB,GAAG,CAAC;AAE1B;AACA,MAAM,kBAAkB,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,CAAC;AAEnE;AACA,MAAM,aAAa,GAAG,mBAAmB;AAEzC;AACA,MAAM,sBAAsB,GAAG,sBAAsB;AAoBrD;;;;;;AAMG;AACG,SAAU,sBAAsB,CACpC,WAA+B,EAAA;AAE/B,IAAA,OAAO,IAAI,CAAC,OAAO,CACjB,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK;AACxD,UAAE;AACF,UAAE,OAAO,CAAC,GAAG,EAAE,CAClB;AACH;AAEA;;;;;;;;AAQG;AACG,SAAU,gBAAgB,CAC9B,IAAY,EACZ,eAAmC,EAAA;IAEnC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,eAAe,CAAC;AAC9D,IAAA,IAAI,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;QACrC,OAAO,CAAC,IAAI,CAAC;IACf;IACA,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACvC;AAEA;;;;;AAKG;AACH,SAAS,sBAAsB,CAC7B,IAAY,EACZ,eAAmC,EAAA;IAEnC,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;AACjE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe;AACpC,cAAE;AACF,cAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC;IAClD;IACA,IAAI,OAAO,GAAG,IAAI;IAClB,OAAO,IAAI,EAAE;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;AACrD,QAAA,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AAC5B,YAAA,OAAO,SAAS;QAClB;QACA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AACpC,QAAA,IAAI,MAAM,KAAK,OAAO,EAAE;YACtB;QACF;QACA,OAAO,GAAG,MAAM;IAClB;IACA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC;AAC5C;AAEA;;;;AAIG;AACG,SAAU,yBAAyB,CAAC,KAGzC,EAAA;AACC,IAAA,IAAI;QACF,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC;AACtD,QAAA,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;AACjC,QAAA,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE;YAChE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D;AACA,QAAA,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC;QACxC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,EAAE;AAC/C,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB;aAAO;YACL,IAAI,CAAC,MAAM,CAAC,CAAA,SAAA,EAAY,QAAQ,CAAC,EAAE,CAAA,CAAE,CAAC;AACtC,YAAA,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,0BAA0B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1E;AACA,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B;AAAE,IAAA,MAAM;QACN,OAAO,KAAK,EAAE;IAChB;AACF;AAEA;;;;;AAKG;AACH,SAAS,KAAK,GAAA;IACZ,OAAO,CAAA,MAAA,EAAS,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA,CAAE;AACnD;AAEA;;;;;;;;;;AAUG;AACG,SAAU,eAAe,CAAC,WAA+B,EAAA;AAC7D,IAAA,IAAI;AACF,QAAA,MAAM,IAAI,GAAG,sBAAsB,CAAC,WAAW,CAAC;;;;QAIhD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACxB;QACF;AACA,QAAA,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC;QACzC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;;;;AAK5C,QAAA,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC;AAC1C,QAAA,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QACxC,MAAM,QAAQ,GACZ,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK;AACzB,eAAG,IAAI,EAAE,QAAQ,IAAI,KAAK;AAC1B;;;AAGE,gBAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,CAAC;AACrD,QAAA,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE;AACnC,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;AAC9B,gBAAA,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YACjB;QACF;QACA,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE;AACzD,YAAA,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE;AACxB,YAAA,EAAE,EACA,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK;AAC9B,mBAAG,IAAI,EAAE,EAAE,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;kBAC5C,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;AACrC,YAAA,OAAO,EAAE,gBAAgB;YACzB,QAAQ;AACT,SAAA,CAAC;QACF,KAAK,MAAM,IAAI,IAAI;YACjB,GAAG,OAAO,CAAC,KAAK;YAChB,GAAG,OAAO,CAAC,YAAY;YACvB,GAAG,kBAAkB,CAAC,SAAS,CAAC;AACjC,SAAA,EAAE;AACD,YAAA,IAAI;gBACF,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAClC;AAAE,YAAA,MAAM;;;YAGR;QACF;IACF;AAAE,IAAA,MAAM;;IAER;AACF;AAEA;;;;;AAKG;AACH,SAAS,kBAAkB,CAAC,SAAiB,EAAA;AAC3C,IAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;AAChD,IAAA,IAAI;AACF,QAAA,OAAO;aACJ,WAAW,CAAC,SAAS;AACrB,aAAA,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;AACtC,aAAA,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;AACxC,aAAA,MAAM,CAAC,CAAC,IAAI,KAAI;AACf,YAAA,IAAI;gBACF,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,OAAO;YAC5C;AAAE,YAAA,MAAM;AACN,gBAAA,OAAO,KAAK;YACd;AACF,QAAA,CAAC,CAAC;IACN;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,EAAE;IACX;AACF;AAEA;;;;AAIG;AACG,SAAU,iBAAiB,CAAC,IAAY,EAAA;AAC5C,IAAA,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC;;AAEzC,IAAA,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC;IAC1C,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AACrC,QAAA,OAAO,SAAS;IAClB;AACA,IAAA,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC;IACxC,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE;AACrD,QAAA,OAAO,SAAS;IAClB;IACA,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACjC,IAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC5B,IAAA,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE;AACnC,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;AAC9B,YAAA,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QACjB;AACA,QAAA,QAAQ,KAAK,KAAK,CAAC,QAAQ;IAC7B;AACA,IAAA,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE;AAC5D;AAEA;;;;;;;;AAQG;SACa,sBAAsB,GAAA;IAWpC,MAAM,MAAM,GAAG,CAAA,EAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA,CAAE;AAO9E,IAAA,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqB;AAE3C,IAAA,SAAS,QAAQ,CACf,WAA+B,EAC/B,eAAmC,EAAA;AAEnC,QAAA,MAAM,IAAI,GAAG,sBAAsB,CAAC,WAAW,CAAC;QAChD,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,YAAA,KAAK,GAAG;AACN,gBAAA,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,IAAI,GAAG,EAAE;AAChB,gBAAA,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE,eAAe,CAAC;AAC9C,gBAAA,QAAQ,EAAE,KAAK;aAChB;AACD,YAAA,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC;QACzB;AACA,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,SAAS,KAAK,CAAC,IAAY,EAAE,KAAgB,EAAA;AAC3C,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YAChB;QACF;AACA,QAAA,IAAI;AACF,YAAA,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC;YACzC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC5C,YAAA,qBAAqB,CACnB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA,EAAG,sBAAsB,CAAA,EAAG,MAAM,CAAA,KAAA,CAAO,CAAC,EAC/D;gBACE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;AAC9B,gBAAA,OAAO,EAAE,gBAAgB;gBACzB,QAAQ,EAAE,KAAK,CAAC,QAAQ;AACzB,aAAA,CACF;;;AAGD,YAAA,KAAK,CAAC,KAAK,GAAG,KAAK;QACrB;AAAE,QAAA,MAAM;;;QAGR;IACF;IAEA,OAAO;AACL,QAAA,MAAM,CAAC,KAAK,EAAA;YACV,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC;AACtD,YAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC;YAChE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AACvC,YAAA,IACE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,gBAAA,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAC1D;gBACA;YACF;AACA,YAAA,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,YAAA,KAAK,CAAC,KAAK,GAAG,IAAI;AAClB,YAAA,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;QACpB,CAAC;AACD,QAAA,cAAc,CAAC,KAAK,EAAA;YAClB,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC;AACtD,YAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC;AAChE,YAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAClB;YACF;AACA,YAAA,KAAK,CAAC,QAAQ,GAAG,IAAI;AACrB,YAAA,KAAK,CAAC,KAAK,GAAG,IAAI;AAClB,YAAA,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;QACpB,CAAC;KACF;AACH;AAEA,SAAS,iBAAiB,CAAC,IAAY,EAAA;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,kBAAkB,CAAC;AAC/C;AAEA;;;;;AAKG;AACH,SAAS,eAAe,CAAC,SAAiB,EAAA;AAKxC,IAAA,IAAI,KAAe;AACnB,IAAA,IAAI;AACF,QAAA,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;IACnC;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IACrD;IACA,MAAM,OAAO,GAAuB,EAAE;IACtC,MAAM,KAAK,GAAa,EAAE;IAC1B,MAAM,YAAY,GAAa,EAAE;AACjC,IAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACvE;QACF;QACA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;AACvC,QAAA,IAAI,IAAY;AAChB,QAAA,IAAI;YACF,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;QACtC;AAAE,QAAA,MAAM;YACN;QACF;AACA,QAAA,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC;AAC1C,QAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,YAAA,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YACvB;QACF;AACA,QAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AACpB,QAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IAClB;AACA,IAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE;AACzC;AAEA,SAAS,gBAAgB,CAAC,SAAiB,EAAA;AACzC,IAAA,IAAI,IAAY;AAChB,IAAA,IAAI;AACF,QAAA,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IACrE;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,SAAS;IAClB;AACA,IAAA,OAAO,qBAAqB,CAAC,IAAI,CAAC;AACpC;AAEA,SAAS,qBAAqB,CAAC,IAAY,EAAA;AACzC,IAAA,IAAI,KAAc;AAClB,IAAA,IAAI;AACF,QAAA,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC1B;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,SAAS;IAClB;AACA,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACvE,QAAA,OAAO,SAAS;IAClB;IACA,MAAM,QAAQ,GAAG,KAAgC;AACjD,IAAA,IAAI,QAAQ,CAAC,OAAO,KAAK,gBAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC3E,QAAA,OAAO,SAAS;IAClB;IACA,OAAO;AACL,QAAA,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAC1B,CAAC,KAAK,KAAsB,OAAO,KAAK,KAAK,QAAQ,CACtD;QACD,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;AAC/D,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,QAAQ,EAAE,QAAQ,CAAC,QAAQ,KAAK,IAAI;KACrC;AACH;AAEA;AACA,SAAS,qBAAqB,CAAC,IAAY,EAAE,QAA0B,EAAA;AACrE,IAAA,MAAM,IAAI,GAAG,CAAA,EAAG,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;AAC5D,IAAA,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;AACxD,IAAA,IAAI;AACF,QAAA,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;IAC3B;IAAE,OAAO,KAAK,EAAE;QACd,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAChC,QAAA,MAAM,KAAK;IACb;AACF;AAEA;;;;AAIG;AACG,SAAU,eAAe,CAAC,KAAc,EAAA;AAC5C,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,QAAA,OAAO,CAAA,CAAA,EAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;IACpD;IACA,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC/C,QAAA,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK;AAC5B,aAAA,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,CAAA,EAAI,eAAe,CAAC,IAAI,CAAC,CAAA,CAAE;AACtE,aAAA,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,CAAG;IACjB;AACA,IAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC9B;;;;"}
|
|
1
|
+
{"version":3,"file":"fingerprint.mjs","sources":["../../src/core/fingerprint.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ttsc/metro",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"description": "Metro (React Native / Expo) adapter for ttsc plugins.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/index.mjs",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"src"
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@ttsc/unplugin": "0.
|
|
38
|
+
"@ttsc/unplugin": "^0.20.0"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"@expo/metro-config": "*",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"tinyglobby": "^0.2.16",
|
|
63
63
|
"tslib": "^2.8.1",
|
|
64
64
|
"typescript": "^7.0.2",
|
|
65
|
-
"ttsc": "0.
|
|
65
|
+
"ttsc": "0.20.0"
|
|
66
66
|
},
|
|
67
67
|
"repository": {
|
|
68
68
|
"type": "git",
|