@lark-apaas/openclaw-scripts-diagnose-cli 0.1.1-alpha.27 → 0.1.1-alpha.28
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/dist/index.cjs +26 -7
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1582,29 +1582,48 @@ async function installOpenclaw(openclawTag, ossFileMap, opts = {}) {
|
|
|
1582
1582
|
if (!pkg) throw new Error("install-openclaw: role=cli,name=openclaw not found in manifest");
|
|
1583
1583
|
const targetDir = opts.targetDir ?? node_path.default.join(homeBase, pkg.installPath);
|
|
1584
1584
|
const bakDir = targetDir + ".bak";
|
|
1585
|
+
const stagingDir = targetDir + ".new";
|
|
1585
1586
|
const tarball = await downloadWithCache(pkg, ossFileMap, opts);
|
|
1586
1587
|
console.error(`[install-openclaw] tag=${openclawTag} shasum=${pkg.shasum.slice(0, 12)}...`);
|
|
1588
|
+
if (node_fs.default.existsSync(stagingDir)) node_fs.default.rmSync(stagingDir, {
|
|
1589
|
+
recursive: true,
|
|
1590
|
+
force: true
|
|
1591
|
+
});
|
|
1587
1592
|
if (node_fs.default.existsSync(bakDir)) node_fs.default.rmSync(bakDir, {
|
|
1588
1593
|
recursive: true,
|
|
1589
1594
|
force: true
|
|
1590
1595
|
});
|
|
1596
|
+
node_fs.default.mkdirSync(node_path.default.dirname(targetDir), { recursive: true });
|
|
1597
|
+
node_fs.default.mkdirSync(stagingDir);
|
|
1598
|
+
try {
|
|
1599
|
+
execCaptureErr(`tar -xzf '${tarball}' -C '${stagingDir}' --strip-components=1`);
|
|
1600
|
+
if (!node_fs.default.existsSync(node_path.default.join(stagingDir, "package.json"))) throw new Error("extracted tarball missing package.json");
|
|
1601
|
+
} catch (e) {
|
|
1602
|
+
try {
|
|
1603
|
+
node_fs.default.rmSync(stagingDir, {
|
|
1604
|
+
recursive: true,
|
|
1605
|
+
force: true
|
|
1606
|
+
});
|
|
1607
|
+
} catch {}
|
|
1608
|
+
throw e;
|
|
1609
|
+
}
|
|
1591
1610
|
const hadExisting = node_fs.default.existsSync(targetDir);
|
|
1592
|
-
if (hadExisting) moveSafe(targetDir, bakDir);
|
|
1593
1611
|
try {
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
if (!node_fs.default.existsSync(node_path.default.join(targetDir, "package.json"))) throw new Error("extracted tarball missing package.json");
|
|
1612
|
+
if (hadExisting) moveSafe(targetDir, bakDir);
|
|
1613
|
+
moveSafe(stagingDir, targetDir);
|
|
1597
1614
|
} catch (e) {
|
|
1615
|
+
if (hadExisting && !node_fs.default.existsSync(targetDir) && node_fs.default.existsSync(bakDir)) try {
|
|
1616
|
+
moveSafe(bakDir, targetDir);
|
|
1617
|
+
} catch {}
|
|
1598
1618
|
try {
|
|
1599
|
-
node_fs.default.rmSync(
|
|
1619
|
+
node_fs.default.rmSync(stagingDir, {
|
|
1600
1620
|
recursive: true,
|
|
1601
1621
|
force: true
|
|
1602
1622
|
});
|
|
1603
1623
|
} catch {}
|
|
1604
|
-
if (hadExisting && node_fs.default.existsSync(bakDir)) moveSafe(bakDir, targetDir);
|
|
1605
1624
|
throw e;
|
|
1606
1625
|
}
|
|
1607
|
-
if (node_fs.default.existsSync(bakDir)) node_fs.default.rmSync(bakDir, {
|
|
1626
|
+
if (hadExisting && node_fs.default.existsSync(bakDir)) node_fs.default.rmSync(bakDir, {
|
|
1608
1627
|
recursive: true,
|
|
1609
1628
|
force: true
|
|
1610
1629
|
});
|
package/package.json
CHANGED