@jentrix/cli 0.5.8 → 0.5.9
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/main.js +50 -7
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -20962,7 +20962,7 @@ function refreshAccessToken(input) {
|
|
|
20962
20962
|
|
|
20963
20963
|
// src/client.ts
|
|
20964
20964
|
var CLI_NAME = "stacks-cli";
|
|
20965
|
-
var CLI_VERSION = "0.5.
|
|
20965
|
+
var CLI_VERSION = "0.5.9";
|
|
20966
20966
|
var DEAD_TOKEN_MESSAGE = "authentication failed (HTTP 401): the token is dead or expired \u2014 mint a new PAT at /account/tokens on your Jentrix server and update STACKS_TOKEN (or --token / the config file).";
|
|
20967
20967
|
var RELOGIN_MESSAGE = "OAuth session expired and could not be refreshed \u2014 run `jentrix login` to sign in again.";
|
|
20968
20968
|
function originOf2(url2) {
|
|
@@ -27913,18 +27913,39 @@ var NPM_INSTALL_TIMEOUT_MS2 = 3e5;
|
|
|
27913
27913
|
var SUPERSEDED = ["@jentrix/stacks-cli", "@jentrix/stacks-runner"];
|
|
27914
27914
|
var CLI_SPEC = `@jentrix/cli@${CLI_VERSION}`;
|
|
27915
27915
|
var RUNNER_SPEC2 = `@jentrix/runner@${CLI_VERSION}`;
|
|
27916
|
+
function compareVersions(a, b) {
|
|
27917
|
+
const parts = (v) => {
|
|
27918
|
+
const m = /^(\d+)\.(\d+)\.(\d+)/.exec(v.trim());
|
|
27919
|
+
return m ? [Number(m[1]), Number(m[2]), Number(m[3])] : [0, 0, 0];
|
|
27920
|
+
};
|
|
27921
|
+
const [x, y] = [parts(a), parts(b)];
|
|
27922
|
+
for (let i = 0; i < 3; i++) {
|
|
27923
|
+
if (x[i] !== y[i]) return x[i] - y[i];
|
|
27924
|
+
}
|
|
27925
|
+
return 0;
|
|
27926
|
+
}
|
|
27916
27927
|
function say(deps2, text = "") {
|
|
27917
27928
|
deps2.writeOut(text);
|
|
27918
27929
|
}
|
|
27919
27930
|
async function installToolchain(deps2) {
|
|
27920
27931
|
const npm = await deps2.resolveNpm();
|
|
27921
27932
|
let global = await deps2.globalInstall();
|
|
27922
|
-
|
|
27933
|
+
const installedVersion = global.cliVersion;
|
|
27934
|
+
const behind = global.cliDir !== null && (installedVersion === null || compareVersions(installedVersion, CLI_VERSION) < 0);
|
|
27935
|
+
const upgradable = behind && !global.runningFromGlobal;
|
|
27936
|
+
if (global.cliDir && !upgradable) {
|
|
27923
27937
|
say(
|
|
27924
27938
|
deps2,
|
|
27925
|
-
`jentrix ${
|
|
27939
|
+
`jentrix ${installedVersion ?? "(unreadable version)"} is already installed (${global.cliDir}).`
|
|
27926
27940
|
);
|
|
27927
|
-
|
|
27941
|
+
if (behind) {
|
|
27942
|
+
say(deps2, ` ${CLI_VERSION} is available \u2014 upgrade with:`);
|
|
27943
|
+
say(deps2, ` npm install -g ${CLI_SPEC} ${RUNNER_SPEC2}`);
|
|
27944
|
+
} else if (installedVersion && compareVersions(installedVersion, CLI_VERSION) > 0) {
|
|
27945
|
+
say(deps2, ` Newer than this ${CLI_VERSION} runner \u2014 left alone.`);
|
|
27946
|
+
} else {
|
|
27947
|
+
say(deps2, " Upgrade it any time with: npm update -g @jentrix/cli");
|
|
27948
|
+
}
|
|
27928
27949
|
} else {
|
|
27929
27950
|
if (!npm) {
|
|
27930
27951
|
deps2.writeErr(
|
|
@@ -27933,7 +27954,10 @@ async function installToolchain(deps2) {
|
|
|
27933
27954
|
return EXIT_CODES.INVALID_INPUT;
|
|
27934
27955
|
}
|
|
27935
27956
|
await deps2.invoke(npm, ["rm", "-g", ...SUPERSEDED], void 0, 6e4);
|
|
27936
|
-
say(
|
|
27957
|
+
say(
|
|
27958
|
+
deps2,
|
|
27959
|
+
upgradable ? `Upgrading jentrix ${installedVersion ?? "?"} \u2192 ${CLI_VERSION} (npm -g)\u2026` : `Installing ${CLI_SPEC} + ${RUNNER_SPEC2} (npm -g)\u2026`
|
|
27960
|
+
);
|
|
27937
27961
|
const installed = await deps2.invoke(
|
|
27938
27962
|
npm,
|
|
27939
27963
|
["install", "-g", CLI_SPEC, RUNNER_SPEC2],
|
|
@@ -27957,7 +27981,10 @@ async function installToolchain(deps2) {
|
|
|
27957
27981
|
);
|
|
27958
27982
|
return EXIT_CODES.INTERNAL;
|
|
27959
27983
|
}
|
|
27960
|
-
say(
|
|
27984
|
+
say(
|
|
27985
|
+
deps2,
|
|
27986
|
+
upgradable ? `Upgraded to ${global.cliVersion ?? CLI_VERSION}.` : "Installed the CLI and the session runner."
|
|
27987
|
+
);
|
|
27961
27988
|
}
|
|
27962
27989
|
if (!global.runnerDir) {
|
|
27963
27990
|
if (!npm) {
|
|
@@ -28876,12 +28903,28 @@ registerSetupCommand(
|
|
|
28876
28903
|
const candidate = join6(root, "@jentrix", name);
|
|
28877
28904
|
return existsSync6(join6(candidate, "package.json")) ? candidate : null;
|
|
28878
28905
|
};
|
|
28906
|
+
const cliDir = dir("cli");
|
|
28907
|
+
const versionOf = (packageDir) => {
|
|
28908
|
+
if (!packageDir) return null;
|
|
28909
|
+
try {
|
|
28910
|
+
const raw = readFileSync7(join6(packageDir, "package.json"), "utf8");
|
|
28911
|
+
const parsed = JSON.parse(raw);
|
|
28912
|
+
const value = typeof parsed === "object" && parsed !== null ? parsed.version : void 0;
|
|
28913
|
+
return typeof value === "string" ? value : null;
|
|
28914
|
+
} catch {
|
|
28915
|
+
return null;
|
|
28916
|
+
}
|
|
28917
|
+
};
|
|
28879
28918
|
return {
|
|
28880
|
-
cliDir
|
|
28919
|
+
cliDir,
|
|
28920
|
+
cliVersion: versionOf(cliDir),
|
|
28881
28921
|
runnerDir: dir("runner"),
|
|
28882
28922
|
binDir,
|
|
28883
28923
|
binDirOnPath: Boolean(
|
|
28884
28924
|
binDir && (process.env.PATH ?? "").split(delimiter2).some((entry) => entry && resolve4(entry) === resolve4(binDir))
|
|
28925
|
+
),
|
|
28926
|
+
runningFromGlobal: Boolean(
|
|
28927
|
+
cliDir && resolve4(cliDir) === resolve4(PACKAGE_ROOT)
|
|
28885
28928
|
)
|
|
28886
28929
|
};
|
|
28887
28930
|
},
|