@limrun/api 0.39.4 → 0.39.6
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/CHANGELOG.md +8 -0
- package/folder-sync-ignore.d.mts +38 -0
- package/folder-sync-ignore.d.mts.map +1 -1
- package/folder-sync-ignore.d.ts +38 -0
- package/folder-sync-ignore.d.ts.map +1 -1
- package/folder-sync-ignore.js +107 -12
- package/folder-sync-ignore.js.map +1 -1
- package/folder-sync-ignore.mjs +107 -12
- package/folder-sync-ignore.mjs.map +1 -1
- package/folder-sync.d.mts +6 -0
- package/folder-sync.d.mts.map +1 -1
- package/folder-sync.d.ts +6 -0
- package/folder-sync.d.ts.map +1 -1
- package/folder-sync.js +153 -13
- package/folder-sync.js.map +1 -1
- package/folder-sync.mjs +153 -13
- package/folder-sync.mjs.map +1 -1
- package/instance-client.d.mts +1 -0
- package/instance-client.d.mts.map +1 -1
- package/instance-client.d.ts +1 -0
- package/instance-client.d.ts.map +1 -1
- package/instance-client.js +3 -2
- package/instance-client.js.map +1 -1
- package/instance-client.mjs +3 -2
- package/instance-client.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/xcode-instances-helpers.d.mts +6 -0
- package/resources/xcode-instances-helpers.d.mts.map +1 -1
- package/resources/xcode-instances-helpers.d.ts +6 -0
- package/resources/xcode-instances-helpers.d.ts.map +1 -1
- package/resources/xcode-instances-helpers.js +7 -25
- package/resources/xcode-instances-helpers.js.map +1 -1
- package/resources/xcode-instances-helpers.mjs +7 -25
- package/resources/xcode-instances-helpers.mjs.map +1 -1
- package/src/folder-sync-ignore.ts +128 -12
- package/src/folder-sync.ts +189 -17
- package/src/instance-client.ts +11 -1
- package/src/resources/xcode-instances-helpers.ts +13 -29
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
package/folder-sync.js
CHANGED
|
@@ -13,6 +13,9 @@ const events_1 = require("events");
|
|
|
13
13
|
const zlib = tslib_1.__importStar(require("zlib"));
|
|
14
14
|
const proxy_transport_1 = require("./internal/proxy-transport.js");
|
|
15
15
|
const direct_instance_errors_1 = require("./internal/direct-instance-errors.js");
|
|
16
|
+
/** Full uploads at or above this size get an info-level notice so "sync is
|
|
17
|
+
* stuck" turns into "a GB-scale file is being uploaded". */
|
|
18
|
+
const LARGE_UPLOAD_NOTICE_BYTES = 64 * 1024 * 1024;
|
|
16
19
|
const noopLogger = (_level, _msg) => {
|
|
17
20
|
// Intentionally empty: callers (e.g. ios-client.ts) should provide their own logger
|
|
18
21
|
// to control verbosity and integrate with the SDK's logging setup.
|
|
@@ -161,7 +164,25 @@ async function sha256FileHex(filePath) {
|
|
|
161
164
|
stream.on('end', () => resolve(hash.digest('hex')));
|
|
162
165
|
});
|
|
163
166
|
}
|
|
164
|
-
|
|
167
|
+
/**
|
|
168
|
+
* Validates a symlink's readlink target at sync time: it must be relative,
|
|
169
|
+
* backslash-free, and lexically resolve inside the sync root when joined
|
|
170
|
+
* with the link's directory (the daemon enforces the same policy on apply,
|
|
171
|
+
* so failing here is the same failure with a better message).
|
|
172
|
+
*/
|
|
173
|
+
function validateSymlinkTarget(rel, target) {
|
|
174
|
+
if (target.includes('\\')) {
|
|
175
|
+
throw new Error(`symlink ${rel} -> ${target} target contains a backslash, which the daemon rejects; ` +
|
|
176
|
+
'remove the link or pass --ignore to skip it');
|
|
177
|
+
}
|
|
178
|
+
const resolved = path_1.default.posix.normalize(path_1.default.posix.join(path_1.default.posix.dirname(rel), target));
|
|
179
|
+
if (resolved === '.' || resolved === '..' || resolved.startsWith('../')) {
|
|
180
|
+
throw new Error(`symlink ${rel} -> ${target} points outside the sync root; ` +
|
|
181
|
+
'run the sync from the repo root that contains the target, remove the link, ' +
|
|
182
|
+
'or pass --ignore to skip it');
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
async function walkFiles(root, ignoreFn, syncSymlinks, log) {
|
|
165
186
|
const rootResolved = path_1.default.resolve(root);
|
|
166
187
|
const rootStat = await fs_1.default.promises.stat(rootResolved);
|
|
167
188
|
if (rootStat.isFile()) {
|
|
@@ -196,6 +217,38 @@ async function walkFiles(root, ignoreFn) {
|
|
|
196
217
|
stack.push(abs);
|
|
197
218
|
continue;
|
|
198
219
|
}
|
|
220
|
+
if (ent.isSymbolicLink()) {
|
|
221
|
+
if (!syncSymlinks)
|
|
222
|
+
continue;
|
|
223
|
+
// Symlinks ship as link entries with the literal target: a
|
|
224
|
+
// symlinked directory arrives here too and is sent as a link, not
|
|
225
|
+
// traversed (git semantics). The target string is the content.
|
|
226
|
+
// Probe both forms: a symlink named e.g. `Pods` or `build` may point
|
|
227
|
+
// at a directory, so directory-only excludes (`Pods/`, `build/`)
|
|
228
|
+
// must match it and skip before validation rejects an out-of-root
|
|
229
|
+
// target.
|
|
230
|
+
if (ignoreFn(rel) || ignoreFn(rel + '/'))
|
|
231
|
+
continue;
|
|
232
|
+
const target = (await fs_1.default.promises.readlink(abs)).split(path_1.default.sep).join('/');
|
|
233
|
+
// An absolute target can never resolve remotely and no sync root
|
|
234
|
+
// can contain it; skip it like pre-symlink clients did (with a
|
|
235
|
+
// warning) instead of failing a previously working sync.
|
|
236
|
+
if (path_1.default.posix.isAbsolute(target) || path_1.default.win32.isAbsolute(target)) {
|
|
237
|
+
log?.('warn', `skipping symlink ${rel} -> ${target}: absolute targets cannot resolve remotely`);
|
|
238
|
+
continue;
|
|
239
|
+
}
|
|
240
|
+
validateSymlinkTarget(rel, target);
|
|
241
|
+
const sha256 = crypto_1.default.createHash('sha256').update(target).digest('hex');
|
|
242
|
+
out.push({
|
|
243
|
+
path: rel,
|
|
244
|
+
size: Buffer.byteLength(target),
|
|
245
|
+
sha256,
|
|
246
|
+
absPath: abs,
|
|
247
|
+
mode: 0,
|
|
248
|
+
linkTarget: target,
|
|
249
|
+
});
|
|
250
|
+
continue;
|
|
251
|
+
}
|
|
199
252
|
if (!ent.isFile())
|
|
200
253
|
continue;
|
|
201
254
|
// Check custom ignores for files
|
|
@@ -217,7 +270,9 @@ async function collectAdditionalFiles(additionalFiles) {
|
|
|
217
270
|
}
|
|
218
271
|
const out = [];
|
|
219
272
|
for (const additionalFile of additionalFiles) {
|
|
220
|
-
|
|
273
|
+
// Canonicalize user-supplied remote paths ("./netrc" -> "netrc") so the
|
|
274
|
+
// manifest key matches what the daemon applies and echoes in needFull.
|
|
275
|
+
const remotePath = path_1.default.posix.normalize(additionalFile.remotePath);
|
|
221
276
|
const absPath = path_1.default.resolve(additionalFile.localPath);
|
|
222
277
|
const st = await fs_1.default.promises.stat(absPath);
|
|
223
278
|
if (!st.isFile()) {
|
|
@@ -316,9 +371,44 @@ async function encodeXdelta3Patch(basis, target, outPatch, maxPatchBytes) {
|
|
|
316
371
|
}
|
|
317
372
|
return bytesWritten;
|
|
318
373
|
}
|
|
319
|
-
async function cachePut(cacheRoot, relPath, srcFile) {
|
|
320
|
-
const
|
|
374
|
+
async function cachePut(cacheRoot, relPath, srcFile, linkTarget, checkedDirs) {
|
|
375
|
+
const segments = relPath.split('/');
|
|
376
|
+
const dst = path_1.default.join(cacheRoot, segments.join(path_1.default.sep));
|
|
377
|
+
// Remove any ancestor that is not a real directory before mkdir/write: a
|
|
378
|
+
// path that previously synced as a symlink (or a regular file that became
|
|
379
|
+
// a directory) leaves a stale cache inode, and writing children through a
|
|
380
|
+
// symlink would corrupt the link target's cached entries while mkdir over
|
|
381
|
+
// a file throws after the server already applied. Only relevant when
|
|
382
|
+
// symlink sync is on; the caller passes checkedDirs (which also memoizes
|
|
383
|
+
// ancestors already confirmed real, so the sorted walk skips shared
|
|
384
|
+
// prefixes) then and omits it otherwise to skip the sweep entirely.
|
|
385
|
+
if (checkedDirs) {
|
|
386
|
+
let ancestor = cacheRoot;
|
|
387
|
+
for (let i = 0; i < segments.length - 1; i++) {
|
|
388
|
+
ancestor = path_1.default.join(ancestor, segments[i]);
|
|
389
|
+
if (checkedDirs.has(ancestor))
|
|
390
|
+
continue;
|
|
391
|
+
const ast = await fs_1.default.promises.lstat(ancestor).catch(() => null);
|
|
392
|
+
if (ast && !ast.isDirectory()) {
|
|
393
|
+
await fs_1.default.promises.rm(ancestor, { recursive: true, force: true });
|
|
394
|
+
}
|
|
395
|
+
else if (ast) {
|
|
396
|
+
checkedDirs.add(ancestor);
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
}
|
|
321
400
|
await fs_1.default.promises.mkdir(path_1.default.dirname(dst), { recursive: true });
|
|
401
|
+
// Replace the destination inode when its type doesn't match what we're
|
|
402
|
+
// writing: a stale symlink (copyFile would follow it) or a stale directory
|
|
403
|
+
// (copyFile onto a dir throws EISDIR) left by a since-changed path.
|
|
404
|
+
const st = await fs_1.default.promises.lstat(dst).catch(() => null);
|
|
405
|
+
if (st && (st.isSymbolicLink() || st.isDirectory() || linkTarget !== undefined)) {
|
|
406
|
+
await fs_1.default.promises.rm(dst, { recursive: true, force: true });
|
|
407
|
+
}
|
|
408
|
+
if (linkTarget !== undefined) {
|
|
409
|
+
await fs_1.default.promises.symlink(linkTarget, dst);
|
|
410
|
+
return;
|
|
411
|
+
}
|
|
322
412
|
await fs_1.default.promises.copyFile(srcFile, dst);
|
|
323
413
|
}
|
|
324
414
|
function cacheGet(cacheRoot, relPath) {
|
|
@@ -423,7 +513,7 @@ async function syncFolderOnce(localFolderPath, opts, reason, attempt = 0) {
|
|
|
423
513
|
const totalStart = nowMs();
|
|
424
514
|
const log = opts.log ?? noopLogger;
|
|
425
515
|
const slog = (level, msg) => log(level, `syncFolder: ${msg}`);
|
|
426
|
-
const files = await walkFiles(localFolderPath, opts.ignoreFn);
|
|
516
|
+
const files = await walkFiles(localFolderPath, opts.ignoreFn, opts.syncSymlinks ?? false, slog);
|
|
427
517
|
const additionalFiles = await collectAdditionalFiles(opts.additionalFiles);
|
|
428
518
|
const allFiles = [...files, ...additionalFiles].sort((a, b) => a.path.localeCompare(b.path));
|
|
429
519
|
const fileMap = new Map(allFiles.map((f) => [f.path, f]));
|
|
@@ -437,11 +527,30 @@ async function syncFolderOnce(localFolderPath, opts, reason, attempt = 0) {
|
|
|
437
527
|
let httpSendMsTotal = 0;
|
|
438
528
|
let deltaEncodeMsTotal = 0;
|
|
439
529
|
// Build payload list by comparing against local basis cache (single-flight/watch assumes server matches cache).
|
|
530
|
+
// lstat, never stat/existsSync: those follow symlinks and misreport a
|
|
531
|
+
// basis symlink (dangling or pointing at another cached file) as the
|
|
532
|
+
// file itself.
|
|
440
533
|
const encodeLimit = concurrencyLimit();
|
|
441
534
|
const changed = [];
|
|
442
535
|
for (const f of allFiles) {
|
|
443
536
|
const basisPath = cacheGet(opts.basisCacheDir, f.path);
|
|
444
|
-
|
|
537
|
+
const basisStat = await fs_1.default.promises.lstat(basisPath).catch(() => null);
|
|
538
|
+
if (!basisStat) {
|
|
539
|
+
changed.push(f);
|
|
540
|
+
continue;
|
|
541
|
+
}
|
|
542
|
+
if (f.linkTarget !== undefined) {
|
|
543
|
+
if (!basisStat.isSymbolicLink()) {
|
|
544
|
+
changed.push(f);
|
|
545
|
+
continue;
|
|
546
|
+
}
|
|
547
|
+
const basisTarget = (await fs_1.default.promises.readlink(basisPath)).split(path_1.default.sep).join('/');
|
|
548
|
+
if (basisTarget !== f.linkTarget) {
|
|
549
|
+
changed.push(f);
|
|
550
|
+
}
|
|
551
|
+
continue;
|
|
552
|
+
}
|
|
553
|
+
if (!basisStat.isFile()) {
|
|
445
554
|
changed.push(f);
|
|
446
555
|
continue;
|
|
447
556
|
}
|
|
@@ -450,9 +559,15 @@ async function syncFolderOnce(localFolderPath, opts, reason, attempt = 0) {
|
|
|
450
559
|
changed.push(f);
|
|
451
560
|
}
|
|
452
561
|
}
|
|
453
|
-
|
|
562
|
+
// Symlink entries travel in the manifest only, with no payloads.
|
|
563
|
+
const changedFiles = changed.filter((f) => f.linkTarget === undefined);
|
|
564
|
+
// Grows in the needFull retry below; sized here so the summary counts
|
|
565
|
+
// every path that actually shipped this sync.
|
|
566
|
+
const changedPaths = new Set(changed.map((f) => f.path));
|
|
567
|
+
const encodedPayloads = await mapLimit(changedFiles, encodeLimit, async (f) => {
|
|
454
568
|
const basisPath = cacheGet(opts.basisCacheDir, f.path);
|
|
455
|
-
|
|
569
|
+
const basisStat = f.size >= MIN_XDELTA_TARGET_BYTES ? await fs_1.default.promises.lstat(basisPath).catch(() => null) : null;
|
|
570
|
+
if (basisStat?.isFile()) {
|
|
456
571
|
const basisSha = await sha256FileHex(basisPath);
|
|
457
572
|
const tmpDir = await fs_1.default.promises.mkdtemp(path_1.default.join(os_1.default.tmpdir(), 'limulator-xdelta3-'));
|
|
458
573
|
const patchPath = path_1.default.join(tmpDir, 'patch.xdelta3');
|
|
@@ -484,6 +599,9 @@ async function syncFolderOnce(localFolderPath, opts, reason, attempt = 0) {
|
|
|
484
599
|
}
|
|
485
600
|
}
|
|
486
601
|
slog('debug', `full(file): ${f.path} size=${f.size}`);
|
|
602
|
+
if (f.size >= LARGE_UPLOAD_NOTICE_BYTES) {
|
|
603
|
+
slog('info', `uploading large file ${f.path} (${fmtBytes(f.size)})`);
|
|
604
|
+
}
|
|
487
605
|
bytesSentFull += f.size;
|
|
488
606
|
return {
|
|
489
607
|
payload: {
|
|
@@ -504,7 +622,8 @@ async function syncFolderOnce(localFolderPath, opts, reason, attempt = 0) {
|
|
|
504
622
|
path: f.path,
|
|
505
623
|
size: f.size,
|
|
506
624
|
sha256: f.sha256.toLowerCase(),
|
|
507
|
-
mode
|
|
625
|
+
// Symlink entries carry the target; regular files carry the mode bits.
|
|
626
|
+
...(f.linkTarget !== undefined ? { link: f.linkTarget } : { mode: f.mode }),
|
|
508
627
|
})),
|
|
509
628
|
payloads: encodedPayloads.map((p) => p.payload),
|
|
510
629
|
};
|
|
@@ -527,11 +646,28 @@ async function syncFolderOnce(localFolderPath, opts, reason, attempt = 0) {
|
|
|
527
646
|
// Retry once if server needs full for some paths (basis mismatch).
|
|
528
647
|
if (!resp.ok && resp.needFull && resp.needFull.length > 0) {
|
|
529
648
|
const need = new Set(resp.needFull);
|
|
649
|
+
// A daemon that predates symlink support json-drops the `link` field and
|
|
650
|
+
// asks for these entries as full files. Streaming absPath would FOLLOW
|
|
651
|
+
// the link and silently materialize target content remotely, so fail loud
|
|
652
|
+
// instead. (New daemons never put symlink entries in needFull.)
|
|
653
|
+
const needFullLinks = [...need].filter((p) => fileMap.get(p)?.linkTarget !== undefined);
|
|
654
|
+
if (needFullLinks.length > 0) {
|
|
655
|
+
throw new Error("this instance's build daemon does not support symlinks yet (needs an updated limbuild); " +
|
|
656
|
+
`recreate the instance or retry later. Paths: ${needFullLinks.join(', ')}`);
|
|
657
|
+
}
|
|
530
658
|
const retryPayloads = [];
|
|
531
659
|
for (const p of need) {
|
|
532
660
|
const entry = fileMap.get(p);
|
|
533
661
|
if (!entry)
|
|
534
662
|
continue;
|
|
663
|
+
// The retry uploads real bytes: count them (and surface large files)
|
|
664
|
+
// exactly like first-pass fulls, or a fresh-daemon resync of a warm
|
|
665
|
+
// cache reports "sent=0B" while gigabytes upload.
|
|
666
|
+
if (entry.size >= LARGE_UPLOAD_NOTICE_BYTES) {
|
|
667
|
+
slog('info', `uploading large file ${entry.path} (${fmtBytes(entry.size)})`);
|
|
668
|
+
}
|
|
669
|
+
bytesSentFull += entry.size;
|
|
670
|
+
changedPaths.add(entry.path);
|
|
535
671
|
retryPayloads.push({
|
|
536
672
|
payload: {
|
|
537
673
|
kind: 'full',
|
|
@@ -541,10 +677,9 @@ async function syncFolderOnce(localFolderPath, opts, reason, attempt = 0) {
|
|
|
541
677
|
},
|
|
542
678
|
filePath: entry.absPath,
|
|
543
679
|
});
|
|
544
|
-
bytesSentFull += entry.size;
|
|
545
680
|
}
|
|
546
681
|
if (retryPayloads.length > 0) {
|
|
547
|
-
slog('
|
|
682
|
+
slog('info', `daemon requested a full upload for ${retryPayloads.length} files (no matching basis); retrying once`);
|
|
548
683
|
const retryMeta = {
|
|
549
684
|
...meta,
|
|
550
685
|
id: genId('sync'),
|
|
@@ -573,7 +708,8 @@ async function syncFolderOnce(localFolderPath, opts, reason, attempt = 0) {
|
|
|
573
708
|
}
|
|
574
709
|
const tookMs = nowMs() - totalStart;
|
|
575
710
|
const totalBytes = bytesSentFull + bytesSentDelta;
|
|
576
|
-
slog('
|
|
711
|
+
slog('info', `sync complete: files=${allFiles.length} changed=${changedPaths.size} sent=${fmtBytes(totalBytes)} in ${fmtMs(tookMs)}`);
|
|
712
|
+
slog('debug', `sync timing syncWork=${fmtMs(syncWorkMs)} total=${fmtMs(tookMs)}`);
|
|
577
713
|
const out = { bytesSent: totalBytes };
|
|
578
714
|
if (resp.installedAppPath) {
|
|
579
715
|
out.installedAppPath = resp.installedAppPath;
|
|
@@ -582,8 +718,12 @@ async function syncFolderOnce(localFolderPath, opts, reason, attempt = 0) {
|
|
|
582
718
|
out.installedBundleId = resp.bundleId;
|
|
583
719
|
}
|
|
584
720
|
// Update local cache optimistically: after a successful sync, cache reflects current local tree.
|
|
721
|
+
// The stale-symlink-ancestor sweep only matters when symlink sync is on
|
|
722
|
+
// (otherwise the cache never holds a symlink); checkedDirs memoizes ancestors
|
|
723
|
+
// across the sorted walk.
|
|
724
|
+
const checkedDirs = opts.syncSymlinks ? new Set() : undefined;
|
|
585
725
|
for (const f of allFiles) {
|
|
586
|
-
await cachePut(opts.basisCacheDir, f.path, f.absPath);
|
|
726
|
+
await cachePut(opts.basisCacheDir, f.path, f.absPath, f.linkTarget, checkedDirs);
|
|
587
727
|
}
|
|
588
728
|
return out;
|
|
589
729
|
}
|
package/folder-sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folder-sync.js","sourceRoot":"","sources":["src/folder-sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"folder-sync.js","sourceRoot":"","sources":["src/folder-sync.ts"],"names":[],"mappings":"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"}
|