helixevo 0.2.17 → 0.2.18
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/dashboard/app/api/upgrade/route.ts +3 -0
- package/dashboard/next.config.mjs +13 -3
- package/dist/cli.js +11 -4
- package/package.json +1 -1
|
@@ -44,6 +44,9 @@ function copyDashboardFiles(sourceDir: string, newVersion: string): void {
|
|
|
44
44
|
|
|
45
45
|
// Write version marker
|
|
46
46
|
writeFileSync(join(HELIX_DASHBOARD_DIR, '.helixevo-version'), newVersion)
|
|
47
|
+
|
|
48
|
+
// Also write .env.local — survives copyToHelix overwrites from old CLIs
|
|
49
|
+
writeFileSync(join(HELIX_DASHBOARD_DIR, '.env.local'), `HELIXEVO_VERSION=${newVersion}\n`)
|
|
47
50
|
}
|
|
48
51
|
|
|
49
52
|
export async function POST() {
|
|
@@ -5,12 +5,22 @@ import { fileURLToPath } from 'url'
|
|
|
5
5
|
const __dirname = dirname(fileURLToPath(import.meta.url))
|
|
6
6
|
|
|
7
7
|
function getVersion() {
|
|
8
|
-
// 1. Check env
|
|
8
|
+
// 1. Check .env.local (written by upgrade API, survives old CLI overwrites)
|
|
9
|
+
const envLocal = join(__dirname, '.env.local')
|
|
10
|
+
if (existsSync(envLocal)) {
|
|
11
|
+
try {
|
|
12
|
+
const content = readFileSync(envLocal, 'utf-8')
|
|
13
|
+
const match = content.match(/HELIXEVO_VERSION=(.+)/)
|
|
14
|
+
if (match?.[1]?.trim()) return match[1].trim()
|
|
15
|
+
} catch {}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// 2. Check env var (set by CLI when spawning dashboard)
|
|
9
19
|
if (process.env.HELIXEVO_VERSION && process.env.HELIXEVO_VERSION !== '0.0.0') {
|
|
10
20
|
return process.env.HELIXEVO_VERSION
|
|
11
21
|
}
|
|
12
22
|
|
|
13
|
-
//
|
|
23
|
+
// 3. Check .helixevo-version marker (written by copyToHelix)
|
|
14
24
|
const markerFile = join(__dirname, '.helixevo-version')
|
|
15
25
|
if (existsSync(markerFile)) {
|
|
16
26
|
try {
|
|
@@ -19,7 +29,7 @@ function getVersion() {
|
|
|
19
29
|
} catch {}
|
|
20
30
|
}
|
|
21
31
|
|
|
22
|
-
//
|
|
32
|
+
// 4. Check parent package.json (dev: dashboard/ -> repo root)
|
|
23
33
|
const candidates = [
|
|
24
34
|
join(__dirname, '..', 'package.json'),
|
|
25
35
|
join(__dirname, 'package.json'),
|
package/dist/cli.js
CHANGED
|
@@ -12482,12 +12482,19 @@ function getInstalledDashboardVersion() {
|
|
|
12482
12482
|
}
|
|
12483
12483
|
}
|
|
12484
12484
|
function copyToHelix(sourceDir) {
|
|
12485
|
+
let sourceVersion = VERSION;
|
|
12486
|
+
try {
|
|
12487
|
+
const srcRoot = join15(sourceDir, "..", "package.json");
|
|
12488
|
+
const pkg2 = JSON.parse(readFileSync8(srcRoot, "utf-8"));
|
|
12489
|
+
if (pkg2.name === "helixevo" && pkg2.version)
|
|
12490
|
+
sourceVersion = pkg2.version;
|
|
12491
|
+
} catch {}
|
|
12485
12492
|
const installedVersion = getInstalledDashboardVersion();
|
|
12486
|
-
if (installedVersion ===
|
|
12493
|
+
if (installedVersion === sourceVersion) {
|
|
12487
12494
|
return HELIX_DASHBOARD_DIR;
|
|
12488
12495
|
}
|
|
12489
12496
|
if (installedVersion) {
|
|
12490
|
-
console.log(` Updating dashboard: v${installedVersion} → v${
|
|
12497
|
+
console.log(` Updating dashboard: v${installedVersion} → v${sourceVersion}`);
|
|
12491
12498
|
} else {
|
|
12492
12499
|
console.log(" Setting up dashboard at ~/.helix/dashboard...");
|
|
12493
12500
|
}
|
|
@@ -12504,7 +12511,7 @@ function copyToHelix(sourceDir) {
|
|
|
12504
12511
|
}
|
|
12505
12512
|
const items = readdirSync2(sourceDir, { withFileTypes: true });
|
|
12506
12513
|
for (const item of items) {
|
|
12507
|
-
if (item.name === "node_modules" || item.name === ".next" || item.name === "package-lock.json")
|
|
12514
|
+
if (item.name === "node_modules" || item.name === ".next" || item.name === "package-lock.json" || item.name === ".env.local")
|
|
12508
12515
|
continue;
|
|
12509
12516
|
const src = join15(sourceDir, item.name);
|
|
12510
12517
|
const dest = join15(HELIX_DASHBOARD_DIR, item.name);
|
|
@@ -12521,7 +12528,7 @@ function copyToHelix(sourceDir) {
|
|
|
12521
12528
|
const nextCache = join15(HELIX_DASHBOARD_DIR, ".next");
|
|
12522
12529
|
if (existsSync10(nextCache))
|
|
12523
12530
|
rmSync2(nextCache, { recursive: true });
|
|
12524
|
-
writeFileSync9(join15(HELIX_DASHBOARD_DIR, ".helixevo-version"),
|
|
12531
|
+
writeFileSync9(join15(HELIX_DASHBOARD_DIR, ".helixevo-version"), sourceVersion);
|
|
12525
12532
|
return HELIX_DASHBOARD_DIR;
|
|
12526
12533
|
}
|
|
12527
12534
|
function ensureSkillGraph() {
|
package/package.json
CHANGED