@limrun/api
Advanced tools
+4
-0
| # Changelog | ||
| ## 0.26.0 (2026-04-18) | ||
| Full Changelog: [v0.25.2...v0.26.0](https://github.com/limrun-inc/typescript-sdk/compare/v0.25.2...v0.26.0) | ||
| ## 0.25.2 (2026-04-17) | ||
@@ -4,0 +8,0 @@ |
@@ -44,3 +44,12 @@ import { type IgnoreFn } from "./folder-sync-ignore.mjs"; | ||
| }; | ||
| /** | ||
| * Encode an xdelta3/VCDIFF patch for `target` relative to `basis` and write it | ||
| * to `outPatch`. Returns the size of the resulting patch in bytes. | ||
| * | ||
| * If the encoder would produce a patch larger than `maxPatchBytes`, it short- | ||
| * circuits with ENOSPC and this function returns -1 without writing a file, so | ||
| * callers can fall back to a full upload cheaply. | ||
| */ | ||
| export declare function encodeXdelta3Patch(basis: string, target: string, outPatch: string, maxPatchBytes: number): Promise<number>; | ||
| export declare function syncFolder(localFolderPath: string, opts: FolderSyncOptions): Promise<SyncFolderResult>; | ||
| //# sourceMappingURL=folder-sync.d.mts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"folder-sync.d.mts","sourceRoot":"","sources":["src/folder-sync.ts"],"names":[],"mappings":"OAMO,EAAE,KAAK,QAAQ,EAAE;AASxB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,qBAAqB,GAAG,mBAAmB,CAAC;IACxD,uFAAuF;IACvF,KAAK,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACvE;;;;;;;;;;;;;OAaG;IACH,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AA8QF,wBAAsB,UAAU,CAC9B,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CA6C3B"} | ||
| {"version":3,"file":"folder-sync.d.mts","sourceRoot":"","sources":["src/folder-sync.ts"],"names":[],"mappings":"OAKO,EAAE,KAAK,QAAQ,EAAE;AASxB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,qBAAqB,GAAG,mBAAmB,CAAC;IACxD,uFAAuF;IACvF,KAAK,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACvE;;;;;;;;;;;;;OAaG;IACH,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AAuQF;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAYD,wBAAsB,UAAU,CAC9B,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CA6C3B"} |
+9
-0
@@ -44,3 +44,12 @@ import { type IgnoreFn } from "./folder-sync-ignore.js"; | ||
| }; | ||
| /** | ||
| * Encode an xdelta3/VCDIFF patch for `target` relative to `basis` and write it | ||
| * to `outPatch`. Returns the size of the resulting patch in bytes. | ||
| * | ||
| * If the encoder would produce a patch larger than `maxPatchBytes`, it short- | ||
| * circuits with ENOSPC and this function returns -1 without writing a file, so | ||
| * callers can fall back to a full upload cheaply. | ||
| */ | ||
| export declare function encodeXdelta3Patch(basis: string, target: string, outPatch: string, maxPatchBytes: number): Promise<number>; | ||
| export declare function syncFolder(localFolderPath: string, opts: FolderSyncOptions): Promise<SyncFolderResult>; | ||
| //# sourceMappingURL=folder-sync.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"folder-sync.d.ts","sourceRoot":"","sources":["src/folder-sync.ts"],"names":[],"mappings":"OAMO,EAAE,KAAK,QAAQ,EAAE;AASxB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,qBAAqB,GAAG,mBAAmB,CAAC;IACxD,uFAAuF;IACvF,KAAK,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACvE;;;;;;;;;;;;;OAaG;IACH,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AA8QF,wBAAsB,UAAU,CAC9B,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CA6C3B"} | ||
| {"version":3,"file":"folder-sync.d.ts","sourceRoot":"","sources":["src/folder-sync.ts"],"names":[],"mappings":"OAKO,EAAE,KAAK,QAAQ,EAAE;AASxB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,qBAAqB,GAAG,mBAAmB,CAAC;IACxD,uFAAuF;IACvF,KAAK,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACvE;;;;;;;;;;;;;OAaG;IACH,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AAuQF;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAYD,wBAAsB,UAAU,CAC9B,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CA6C3B"} |
+45
-36
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.encodeXdelta3Patch = encodeXdelta3Patch; | ||
| exports.syncFolder = syncFolder; | ||
@@ -9,3 +10,2 @@ const tslib_1 = require("./internal/tslib.js"); | ||
| const crypto_1 = tslib_1.__importDefault(require("crypto")); | ||
| const child_process_1 = require("child_process"); | ||
| const folder_sync_watcher_1 = require("./folder-sync-watcher.js"); | ||
@@ -197,33 +197,44 @@ const stream_1 = require("stream"); | ||
| } | ||
| let xdelta3Ready = null; | ||
| async function ensureXdelta3() { | ||
| if (!xdelta3Ready) { | ||
| xdelta3Ready = new Promise((resolve, reject) => { | ||
| const p = (0, child_process_1.spawn)('xdelta3', ['-V']); | ||
| p.on('error', reject); | ||
| p.on('exit', (code) => { | ||
| if (code === 0) | ||
| resolve(); | ||
| else | ||
| reject(new Error(`xdelta3 not available (exit=${code})`)); | ||
| }); | ||
| let xdelta3WasmReady = null; | ||
| async function loadXdelta3Wasm() { | ||
| if (!xdelta3WasmReady) { | ||
| xdelta3WasmReady = (async () => { | ||
| // Dynamic import so the WASM module is only loaded when sync is actually used. | ||
| // Works in both CJS and ESM outputs emitted by tsc-multi. | ||
| const mod = (await Promise.resolve().then(() => tslib_1.__importStar(require('xdelta3-wasm')))); | ||
| await mod.init(); | ||
| return mod; | ||
| })().catch((err) => { | ||
| // Allow retry on a subsequent call if the first init failed. | ||
| xdelta3WasmReady = null; | ||
| throw err; | ||
| }); | ||
| } | ||
| return await xdelta3Ready; | ||
| return await xdelta3WasmReady; | ||
| } | ||
| async function runXdelta3Encode(basis, target, outPatch) { | ||
| await new Promise((resolve, reject) => { | ||
| const p = (0, child_process_1.spawn)('xdelta3', ['-e', '-s', basis, target, outPatch], { | ||
| stdio: ['ignore', 'ignore', 'pipe'], | ||
| }); | ||
| let stderr = ''; | ||
| p.stderr.on('data', (d) => (stderr += d.toString())); | ||
| p.on('error', reject); | ||
| p.on('exit', (code) => { | ||
| if (code === 0) | ||
| resolve(); | ||
| else | ||
| reject(new Error(`xdelta3 encode failed (exit=${code}): ${stderr.trim()}`)); | ||
| }); | ||
| }); | ||
| /** | ||
| * Encode an xdelta3/VCDIFF patch for `target` relative to `basis` and write it | ||
| * to `outPatch`. Returns the size of the resulting patch in bytes. | ||
| * | ||
| * If the encoder would produce a patch larger than `maxPatchBytes`, it short- | ||
| * circuits with ENOSPC and this function returns -1 without writing a file, so | ||
| * callers can fall back to a full upload cheaply. | ||
| */ | ||
| async function encodeXdelta3Patch(basis, target, outPatch, maxPatchBytes) { | ||
| const wasm = await loadXdelta3Wasm(); | ||
| const [basisBuf, targetBuf] = await Promise.all([ | ||
| fs_1.default.promises.readFile(basis), | ||
| fs_1.default.promises.readFile(target), | ||
| ]); | ||
| const basisBytes = new Uint8Array(basisBuf.buffer, basisBuf.byteOffset, basisBuf.byteLength); | ||
| const targetBytes = new Uint8Array(targetBuf.buffer, targetBuf.byteOffset, targetBuf.byteLength); | ||
| const res = wasm.xd3_encode_memory(targetBytes, basisBytes, maxPatchBytes, wasm.xd3_smatch_cfg.DEFAULT); | ||
| if (res.ret === wasm.WASI_ERRNO.ENOSPC) { | ||
| return -1; | ||
| } | ||
| if (res.ret !== 0) { | ||
| throw new Error(`xdelta3 encode failed: ${res.str} (code=${res.ret})`); | ||
| } | ||
| await fs_1.default.promises.writeFile(outPatch, res.output); | ||
| return res.output.byteLength; | ||
| } | ||
@@ -288,3 +299,2 @@ async function cachePut(cacheRoot, relPath, srcFile) { | ||
| const maxPatchBytes = opts.maxPatchBytes ?? 4 * 1024 * 1024; | ||
| await ensureXdelta3(); | ||
| const files = await walkFiles(localFolderPath, opts.ignoreFn); | ||
@@ -322,9 +332,8 @@ const fileMap = new Map(files.map((f) => [f.path, f])); | ||
| const encodeStart = nowMs(); | ||
| await runXdelta3Encode(basisPath, f.absPath, patchPath); | ||
| const patchSize = await encodeXdelta3Patch(basisPath, f.absPath, patchPath, maxPatchBytes); | ||
| const encodeMs = nowMs() - encodeStart; | ||
| deltaEncodeMsTotal += encodeMs; | ||
| const st = await fs_1.default.promises.stat(patchPath); | ||
| if (st.size <= maxPatchBytes) { | ||
| slog('debug', `delta(file): ${path_1.default.posix.basename(f.path)} patchSize=${st.size} encode=${fmtMs(encodeMs)}`); | ||
| bytesSentDelta += st.size; | ||
| if (patchSize >= 0) { | ||
| slog('debug', `delta(file): ${path_1.default.posix.basename(f.path)} patchSize=${patchSize} encode=${fmtMs(encodeMs)}`); | ||
| bytesSentDelta += patchSize; | ||
| return { | ||
@@ -336,3 +345,3 @@ payload: { | ||
| targetSha256: f.sha256.toLowerCase(), | ||
| length: st.size, | ||
| length: patchSize, | ||
| }, | ||
@@ -339,0 +348,0 @@ filePath: patchPath, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"folder-sync.js","sourceRoot":"","sources":["src/folder-sync.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"folder-sync.js","sourceRoot":"","sources":["src/folder-sync.ts"],"names":[],"mappings":"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"} |
+44
-36
@@ -5,3 +5,2 @@ import fs from 'fs'; | ||
| import crypto from 'crypto'; | ||
| import { spawn } from 'child_process'; | ||
| import { watchFolderTree } from "./folder-sync-watcher.mjs"; | ||
@@ -193,33 +192,44 @@ import { Readable } from 'stream'; | ||
| } | ||
| let xdelta3Ready = null; | ||
| async function ensureXdelta3() { | ||
| if (!xdelta3Ready) { | ||
| xdelta3Ready = new Promise((resolve, reject) => { | ||
| const p = spawn('xdelta3', ['-V']); | ||
| p.on('error', reject); | ||
| p.on('exit', (code) => { | ||
| if (code === 0) | ||
| resolve(); | ||
| else | ||
| reject(new Error(`xdelta3 not available (exit=${code})`)); | ||
| }); | ||
| let xdelta3WasmReady = null; | ||
| async function loadXdelta3Wasm() { | ||
| if (!xdelta3WasmReady) { | ||
| xdelta3WasmReady = (async () => { | ||
| // Dynamic import so the WASM module is only loaded when sync is actually used. | ||
| // Works in both CJS and ESM outputs emitted by tsc-multi. | ||
| const mod = (await import('xdelta3-wasm')); | ||
| await mod.init(); | ||
| return mod; | ||
| })().catch((err) => { | ||
| // Allow retry on a subsequent call if the first init failed. | ||
| xdelta3WasmReady = null; | ||
| throw err; | ||
| }); | ||
| } | ||
| return await xdelta3Ready; | ||
| return await xdelta3WasmReady; | ||
| } | ||
| async function runXdelta3Encode(basis, target, outPatch) { | ||
| await new Promise((resolve, reject) => { | ||
| const p = spawn('xdelta3', ['-e', '-s', basis, target, outPatch], { | ||
| stdio: ['ignore', 'ignore', 'pipe'], | ||
| }); | ||
| let stderr = ''; | ||
| p.stderr.on('data', (d) => (stderr += d.toString())); | ||
| p.on('error', reject); | ||
| p.on('exit', (code) => { | ||
| if (code === 0) | ||
| resolve(); | ||
| else | ||
| reject(new Error(`xdelta3 encode failed (exit=${code}): ${stderr.trim()}`)); | ||
| }); | ||
| }); | ||
| /** | ||
| * Encode an xdelta3/VCDIFF patch for `target` relative to `basis` and write it | ||
| * to `outPatch`. Returns the size of the resulting patch in bytes. | ||
| * | ||
| * If the encoder would produce a patch larger than `maxPatchBytes`, it short- | ||
| * circuits with ENOSPC and this function returns -1 without writing a file, so | ||
| * callers can fall back to a full upload cheaply. | ||
| */ | ||
| export async function encodeXdelta3Patch(basis, target, outPatch, maxPatchBytes) { | ||
| const wasm = await loadXdelta3Wasm(); | ||
| const [basisBuf, targetBuf] = await Promise.all([ | ||
| fs.promises.readFile(basis), | ||
| fs.promises.readFile(target), | ||
| ]); | ||
| const basisBytes = new Uint8Array(basisBuf.buffer, basisBuf.byteOffset, basisBuf.byteLength); | ||
| const targetBytes = new Uint8Array(targetBuf.buffer, targetBuf.byteOffset, targetBuf.byteLength); | ||
| const res = wasm.xd3_encode_memory(targetBytes, basisBytes, maxPatchBytes, wasm.xd3_smatch_cfg.DEFAULT); | ||
| if (res.ret === wasm.WASI_ERRNO.ENOSPC) { | ||
| return -1; | ||
| } | ||
| if (res.ret !== 0) { | ||
| throw new Error(`xdelta3 encode failed: ${res.str} (code=${res.ret})`); | ||
| } | ||
| await fs.promises.writeFile(outPatch, res.output); | ||
| return res.output.byteLength; | ||
| } | ||
@@ -284,3 +294,2 @@ async function cachePut(cacheRoot, relPath, srcFile) { | ||
| const maxPatchBytes = opts.maxPatchBytes ?? 4 * 1024 * 1024; | ||
| await ensureXdelta3(); | ||
| const files = await walkFiles(localFolderPath, opts.ignoreFn); | ||
@@ -318,9 +327,8 @@ const fileMap = new Map(files.map((f) => [f.path, f])); | ||
| const encodeStart = nowMs(); | ||
| await runXdelta3Encode(basisPath, f.absPath, patchPath); | ||
| const patchSize = await encodeXdelta3Patch(basisPath, f.absPath, patchPath, maxPatchBytes); | ||
| const encodeMs = nowMs() - encodeStart; | ||
| deltaEncodeMsTotal += encodeMs; | ||
| const st = await fs.promises.stat(patchPath); | ||
| if (st.size <= maxPatchBytes) { | ||
| slog('debug', `delta(file): ${path.posix.basename(f.path)} patchSize=${st.size} encode=${fmtMs(encodeMs)}`); | ||
| bytesSentDelta += st.size; | ||
| if (patchSize >= 0) { | ||
| slog('debug', `delta(file): ${path.posix.basename(f.path)} patchSize=${patchSize} encode=${fmtMs(encodeMs)}`); | ||
| bytesSentDelta += patchSize; | ||
| return { | ||
@@ -332,3 +340,3 @@ payload: { | ||
| targetSha256: f.sha256.toLowerCase(), | ||
| length: st.size, | ||
| length: patchSize, | ||
| }, | ||
@@ -335,0 +343,0 @@ filePath: patchPath, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"folder-sync.mjs","sourceRoot":"","sources":["src/folder-sync.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"folder-sync.mjs","sourceRoot":"","sources":["src/folder-sync.ts"],"names":[],"mappings":"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"} |
+3
-2
| { | ||
| "name": "@limrun/api", | ||
| "version": "0.25.2", | ||
| "version": "0.26.0", | ||
| "description": "The official TypeScript library for the Limrun API", | ||
@@ -33,3 +33,4 @@ "author": "Limrun <contact@limrun.com>", | ||
| "undici": "7.24.7", | ||
| "ws": "^8.18.3" | ||
| "ws": "^8.18.3", | ||
| "xdelta3-wasm": "^1.0.0" | ||
| }, | ||
@@ -36,0 +37,0 @@ "overrides": { |
+64
-32
@@ -5,3 +5,2 @@ import fs from 'fs'; | ||
| import crypto from 'crypto'; | ||
| import { spawn } from 'child_process'; | ||
| import { watchFolderTree } from './folder-sync-watcher'; | ||
@@ -289,30 +288,65 @@ import { type IgnoreFn } from './folder-sync-ignore'; | ||
| let xdelta3Ready: Promise<void> | null = null; | ||
| async function ensureXdelta3(): Promise<void> { | ||
| if (!xdelta3Ready) { | ||
| xdelta3Ready = new Promise<void>((resolve, reject) => { | ||
| const p = spawn('xdelta3', ['-V']); | ||
| p.on('error', reject); | ||
| p.on('exit', (code) => { | ||
| if (code === 0) resolve(); | ||
| else reject(new Error(`xdelta3 not available (exit=${code})`)); | ||
| }); | ||
| // xdelta3 encoder backed by a WASM build of the upstream xdelta3 library. | ||
| // Produces VCDIFF-compatible patches identical to `xdelta3 -e -s basis target`, | ||
| // so the server-side decoder continues to apply them without changes. | ||
| type Xdelta3Wasm = { | ||
| init: () => Promise<void>; | ||
| xd3_encode_memory: ( | ||
| input: Uint8Array, | ||
| source: Uint8Array, | ||
| output_size_max: number, | ||
| smatch_cfg: number, | ||
| ) => { ret: number; str: string; output: Uint8Array }; | ||
| xd3_smatch_cfg: { DEFAULT: number }; | ||
| WASI_ERRNO: { ENOSPC: number }; | ||
| }; | ||
| let xdelta3WasmReady: Promise<Xdelta3Wasm> | null = null; | ||
| async function loadXdelta3Wasm(): Promise<Xdelta3Wasm> { | ||
| if (!xdelta3WasmReady) { | ||
| xdelta3WasmReady = (async () => { | ||
| // Dynamic import so the WASM module is only loaded when sync is actually used. | ||
| // Works in both CJS and ESM outputs emitted by tsc-multi. | ||
| const mod = (await import('xdelta3-wasm')) as unknown as Xdelta3Wasm; | ||
| await mod.init(); | ||
| return mod; | ||
| })().catch((err) => { | ||
| // Allow retry on a subsequent call if the first init failed. | ||
| xdelta3WasmReady = null; | ||
| throw err; | ||
| }); | ||
| } | ||
| return await xdelta3Ready; | ||
| return await xdelta3WasmReady; | ||
| } | ||
| async function runXdelta3Encode(basis: string, target: string, outPatch: string): Promise<void> { | ||
| await new Promise<void>((resolve, reject) => { | ||
| const p = spawn('xdelta3', ['-e', '-s', basis, target, outPatch], { | ||
| stdio: ['ignore', 'ignore', 'pipe'], | ||
| }); | ||
| let stderr = ''; | ||
| p.stderr.on('data', (d) => (stderr += d.toString())); | ||
| p.on('error', reject); | ||
| p.on('exit', (code) => { | ||
| if (code === 0) resolve(); | ||
| else reject(new Error(`xdelta3 encode failed (exit=${code}): ${stderr.trim()}`)); | ||
| }); | ||
| }); | ||
| /** | ||
| * Encode an xdelta3/VCDIFF patch for `target` relative to `basis` and write it | ||
| * to `outPatch`. Returns the size of the resulting patch in bytes. | ||
| * | ||
| * If the encoder would produce a patch larger than `maxPatchBytes`, it short- | ||
| * circuits with ENOSPC and this function returns -1 without writing a file, so | ||
| * callers can fall back to a full upload cheaply. | ||
| */ | ||
| export async function encodeXdelta3Patch( | ||
| basis: string, | ||
| target: string, | ||
| outPatch: string, | ||
| maxPatchBytes: number, | ||
| ): Promise<number> { | ||
| const wasm = await loadXdelta3Wasm(); | ||
| const [basisBuf, targetBuf] = await Promise.all([ | ||
| fs.promises.readFile(basis), | ||
| fs.promises.readFile(target), | ||
| ]); | ||
| const basisBytes = new Uint8Array(basisBuf.buffer, basisBuf.byteOffset, basisBuf.byteLength); | ||
| const targetBytes = new Uint8Array(targetBuf.buffer, targetBuf.byteOffset, targetBuf.byteLength); | ||
| const res = wasm.xd3_encode_memory(targetBytes, basisBytes, maxPatchBytes, wasm.xd3_smatch_cfg.DEFAULT); | ||
| if (res.ret === wasm.WASI_ERRNO.ENOSPC) { | ||
| return -1; | ||
| } | ||
| if (res.ret !== 0) { | ||
| throw new Error(`xdelta3 encode failed: ${res.str} (code=${res.ret})`); | ||
| } | ||
| await fs.promises.writeFile(outPatch, res.output); | ||
| return res.output.byteLength; | ||
| } | ||
@@ -390,3 +424,2 @@ | ||
| const maxPatchBytes = opts.maxPatchBytes ?? 4 * 1024 * 1024; | ||
| await ensureXdelta3(); | ||
@@ -431,12 +464,11 @@ const files = await walkFiles(localFolderPath, opts.ignoreFn); | ||
| const encodeStart = nowMs(); | ||
| await runXdelta3Encode(basisPath, f.absPath, patchPath); | ||
| const patchSize = await encodeXdelta3Patch(basisPath, f.absPath, patchPath, maxPatchBytes); | ||
| const encodeMs = nowMs() - encodeStart; | ||
| deltaEncodeMsTotal += encodeMs; | ||
| const st = await fs.promises.stat(patchPath); | ||
| if (st.size <= maxPatchBytes) { | ||
| if (patchSize >= 0) { | ||
| slog( | ||
| 'debug', | ||
| `delta(file): ${path.posix.basename(f.path)} patchSize=${st.size} encode=${fmtMs(encodeMs)}`, | ||
| `delta(file): ${path.posix.basename(f.path)} patchSize=${patchSize} encode=${fmtMs(encodeMs)}`, | ||
| ); | ||
| bytesSentDelta += st.size; | ||
| bytesSentDelta += patchSize; | ||
| return { | ||
@@ -448,3 +480,3 @@ payload: { | ||
| targetSha256: f.sha256.toLowerCase(), | ||
| length: st.size, | ||
| length: patchSize, | ||
| }, | ||
@@ -451,0 +483,0 @@ filePath: patchPath, |
+1
-1
@@ -1,1 +0,1 @@ | ||
| export const VERSION = '0.25.2'; // x-release-please-version | ||
| export const VERSION = '0.26.0'; // x-release-please-version |
+1
-1
@@ -1,2 +0,2 @@ | ||
| export declare const VERSION = "0.25.2"; | ||
| export declare const VERSION = "0.26.0"; | ||
| //# sourceMappingURL=version.d.mts.map |
+1
-1
@@ -1,2 +0,2 @@ | ||
| export declare const VERSION = "0.25.2"; | ||
| export declare const VERSION = "0.26.0"; | ||
| //# sourceMappingURL=version.d.ts.map |
+1
-1
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.VERSION = void 0; | ||
| exports.VERSION = '0.25.2'; // x-release-please-version | ||
| exports.VERSION = '0.26.0'; // x-release-please-version | ||
| //# sourceMappingURL=version.js.map |
+1
-1
@@ -1,2 +0,2 @@ | ||
| export const VERSION = '0.25.2'; // x-release-please-version | ||
| export const VERSION = '0.26.0'; // x-release-please-version | ||
| //# sourceMappingURL=version.mjs.map |
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
1482172
0.29%21115
0.27%26
-3.7%119
-2.46%7
16.67%+ Added
+ Added