@kybernesis/create 0.24.0 → 0.24.1
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/upgrade.js +14 -1
- package/package.json +1 -1
package/dist/upgrade.js
CHANGED
|
@@ -989,6 +989,10 @@ export async function upgrade(options = {}) {
|
|
|
989
989
|
installedMajorMinor &&
|
|
990
990
|
targetMajorMinor &&
|
|
991
991
|
(installedMajorMinor[0] !== targetMajorMinor[0] || installedMajorMinor[1] !== targetMajorMinor[1]));
|
|
992
|
+
// eve already at the pin but saved as a range (an agent scaffolded before
|
|
993
|
+
// the pin was exact, or installed by hand): pin it in place. The version
|
|
994
|
+
// does not move, so this is not a change to plan or approve.
|
|
995
|
+
const loosePin = Boolean(eveTarget && eveInstalled === eveTarget && targets.some((target) => target.name === "eve" && target.currentRange !== eveTarget));
|
|
992
996
|
const changed = [...new Set(targets
|
|
993
997
|
.filter((target) => target.installedVersion !== target.targetVersion && !(target.name === "eve" && versionLt(target.targetVersion, target.installedVersion)))
|
|
994
998
|
.map((target) => `${target.name}@${target.targetVersion}`))];
|
|
@@ -1009,6 +1013,15 @@ export async function upgrade(options = {}) {
|
|
|
1009
1013
|
}
|
|
1010
1014
|
repairLocalQueueTimeouts(cwd, deps);
|
|
1011
1015
|
if (changed.length === 0) {
|
|
1016
|
+
if (loosePin) {
|
|
1017
|
+
const pinned = commandResult("npm", ["install", "--save-exact", `eve@${eveTarget}`], cwd);
|
|
1018
|
+
if (pinned.status !== 0) {
|
|
1019
|
+
console.log(red(`\nCould not pin eve exactly to ${eveTarget}:\n${pinned.stderr.trim()}`));
|
|
1020
|
+
process.exitCode = 1;
|
|
1021
|
+
return;
|
|
1022
|
+
}
|
|
1023
|
+
console.log(` ${green("✓")} eve pinned exactly to ${eveTarget} ${dim("(was a range)")}`);
|
|
1024
|
+
}
|
|
1012
1025
|
console.log(`\n${green("Everything is at latest certified versions.")}\n`);
|
|
1013
1026
|
repairBuzzSetup(cwd, deps);
|
|
1014
1027
|
repairRemovedDefaultTools(cwd);
|
|
@@ -1043,7 +1056,7 @@ export async function upgrade(options = {}) {
|
|
|
1043
1056
|
}
|
|
1044
1057
|
// Outside a clean install, eve goes in with --save-exact for the same
|
|
1045
1058
|
// reason rewriteManifest pins it: npm would save a caret by default.
|
|
1046
|
-
const eveChange = changed.find((spec) => spec.startsWith("eve@"));
|
|
1059
|
+
const eveChange = changed.find((spec) => spec.startsWith("eve@")) ?? (loosePin ? `eve@${eveTarget}` : undefined);
|
|
1047
1060
|
const others = changed.filter((spec) => spec !== eveChange);
|
|
1048
1061
|
/**
|
|
1049
1062
|
* A third-party extension whose declared peer range trails the certified
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kybernesis/create",
|
|
3
|
-
"version": "0.24.
|
|
3
|
+
"version": "0.24.1",
|
|
4
4
|
"description": "The Kybernesis agent scaffolder and FDE toolkit: one command to a governed, remembering, multiplayer, self-testing eve agent \u2014 plus doctor and upgrade.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|