INNER CODE UNIT · JavaScript
p
tiliondev/fortress · sdk/node/index.js:61
const p = line.trim().split(/\s+/);
if (p.length === 2 && p[1].replace(/^\*/, "") === asset) return p[0].toLowerCase();
}
} catch { /* none */ }
return null;
}
async function ensureNative(plat, host, tag) {
const { asset, kind, launcher } = ASSETS[plat];
const root = join(CACHE, tag, plat); // cache per release tag so channels don't collide
const launcherPath = join(root, launcher);
if (existsSync(launcherPath)) return launcherPath;
mkdirSync(root, { recursive: true });
const archive = join(root, asset);
process.stderr.write(`[tilion-fortress] downloading ${host}/${asset} ...\n`);
const res = await fetch(`${host}/${asset}`);
if (!res.ok) throw new Error(`download failed: ${res.status}`);
await pipeline(res.body, createWriteStream(archive));