gaia-framework 1.57.1 → 1.57.2
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/README.md +2 -2
- package/bin/gaia-framework.js +27 -19
- package/gaia-install.sh +1 -1
- package/package.json +14 -5
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# GAIA — Generative Agile Intelligence Architecture
|
|
2
2
|
|
|
3
|
-
[]()
|
|
4
4
|
[]()
|
|
5
5
|
[]()
|
|
6
6
|
[]()
|
|
@@ -460,7 +460,7 @@ The single source of truth is `_gaia/_config/global.yaml`:
|
|
|
460
460
|
|
|
461
461
|
```yaml
|
|
462
462
|
framework_name: "GAIA"
|
|
463
|
-
framework_version: "1.
|
|
463
|
+
framework_version: "1.57.2"
|
|
464
464
|
user_name: "your-name"
|
|
465
465
|
project_name: "your-project"
|
|
466
466
|
```
|
package/bin/gaia-framework.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
7
7
|
|
|
8
8
|
const { execSync, execFileSync } = require("child_process");
|
|
9
|
-
const { mkdtempSync, rmSync, existsSync, readFileSync
|
|
9
|
+
const { mkdtempSync, rmSync, existsSync, readFileSync } = require("fs");
|
|
10
10
|
const { join } = require("path");
|
|
11
11
|
const { tmpdir } = require("os");
|
|
12
12
|
|
|
@@ -35,9 +35,9 @@ function findBash() {
|
|
|
35
35
|
|
|
36
36
|
// 1. Try Git for Windows FIRST (preferred — simpler path mapping)
|
|
37
37
|
const gitBashPaths = [
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
join(process.env.ProgramFiles || "C:\\Program Files", "Git", "bin", "bash.exe"),
|
|
39
|
+
join(process.env["ProgramFiles(x86)"] || "C:\\Program Files (x86)", "Git", "bin", "bash.exe"),
|
|
40
|
+
join(process.env.LOCALAPPDATA || "", "Programs", "Git", "bin", "bash.exe"),
|
|
41
41
|
];
|
|
42
42
|
|
|
43
43
|
for (const p of gitBashPaths) {
|
|
@@ -52,7 +52,10 @@ function findBash() {
|
|
|
52
52
|
execSync("bash --version", { stdio: "ignore" });
|
|
53
53
|
// Detect WSL vs Git Bash by checking uname
|
|
54
54
|
try {
|
|
55
|
-
const uname = execSync('bash -c "uname -r"', {
|
|
55
|
+
const uname = execSync('bash -c "uname -r"', {
|
|
56
|
+
encoding: "utf8",
|
|
57
|
+
stdio: ["pipe", "pipe", "ignore"],
|
|
58
|
+
}).trim();
|
|
56
59
|
if (/microsoft|wsl/i.test(uname)) {
|
|
57
60
|
bashType = "wsl";
|
|
58
61
|
} else {
|
|
@@ -61,7 +64,10 @@ function findBash() {
|
|
|
61
64
|
} catch {
|
|
62
65
|
// Can't detect — try MSYSTEM env which Git Bash sets
|
|
63
66
|
try {
|
|
64
|
-
const msys = execSync('bash -c "echo $MSYSTEM"', {
|
|
67
|
+
const msys = execSync('bash -c "echo $MSYSTEM"', {
|
|
68
|
+
encoding: "utf8",
|
|
69
|
+
stdio: ["pipe", "pipe", "ignore"],
|
|
70
|
+
}).trim();
|
|
65
71
|
bashType = msys ? "gitbash" : "wsl";
|
|
66
72
|
} catch {
|
|
67
73
|
bashType = "wsl"; // Assume WSL if detection fails — safer path mapping
|
|
@@ -96,10 +102,7 @@ function ensureGit() {
|
|
|
96
102
|
try {
|
|
97
103
|
execSync("git --version", { stdio: "ignore" });
|
|
98
104
|
} catch {
|
|
99
|
-
fail(
|
|
100
|
-
"git is required but was not found.\n" +
|
|
101
|
-
" Install git: https://git-scm.com/downloads"
|
|
102
|
-
);
|
|
105
|
+
fail("git is required but was not found.\n" + " Install git: https://git-scm.com/downloads");
|
|
103
106
|
}
|
|
104
107
|
}
|
|
105
108
|
|
|
@@ -144,12 +147,9 @@ Examples:
|
|
|
144
147
|
|
|
145
148
|
function main(deps) {
|
|
146
149
|
// Dependency injection for testability — defaults to real modules
|
|
147
|
-
const _exec = deps && deps.execSync || execSync;
|
|
148
|
-
const
|
|
149
|
-
const
|
|
150
|
-
const _exists = deps && deps.existsSync || existsSync;
|
|
151
|
-
const _join = deps && deps.join || join;
|
|
152
|
-
const _tmpdir = deps && deps.tmpdir || tmpdir;
|
|
150
|
+
const _exec = (deps && deps.execSync) || execSync;
|
|
151
|
+
const _exists = (deps && deps.existsSync) || existsSync;
|
|
152
|
+
const _join = (deps && deps.join) || join;
|
|
153
153
|
|
|
154
154
|
const args = process.argv.slice(2);
|
|
155
155
|
|
|
@@ -191,8 +191,14 @@ function main(deps) {
|
|
|
191
191
|
|
|
192
192
|
// Register cleanup for all exit scenarios
|
|
193
193
|
process.on("exit", cleanup);
|
|
194
|
-
process.on("SIGINT", () => {
|
|
195
|
-
|
|
194
|
+
process.on("SIGINT", () => {
|
|
195
|
+
cleanup();
|
|
196
|
+
process.exit(130);
|
|
197
|
+
});
|
|
198
|
+
process.on("SIGTERM", () => {
|
|
199
|
+
cleanup();
|
|
200
|
+
process.exit(143);
|
|
201
|
+
});
|
|
196
202
|
|
|
197
203
|
info("Cloning GAIA framework from GitHub...");
|
|
198
204
|
|
|
@@ -233,7 +239,9 @@ function main(deps) {
|
|
|
233
239
|
|
|
234
240
|
try {
|
|
235
241
|
// Convert all passthrough args that look like paths (contain backslash or drive letter)
|
|
236
|
-
const posixArgs = passthrough.map(
|
|
242
|
+
const posixArgs = passthrough.map((a) =>
|
|
243
|
+
IS_WINDOWS && /[\\:]/.test(a) && !a.startsWith("--") ? toPosixPath(a) : a
|
|
244
|
+
);
|
|
237
245
|
const posixScript = toPosixPath(scriptPath);
|
|
238
246
|
|
|
239
247
|
// Debug: on Windows, log the resolved paths if --verbose is passed
|
package/gaia-install.sh
CHANGED
|
@@ -6,7 +6,7 @@ set -euo pipefail
|
|
|
6
6
|
# Installs, updates, validates, and reports on GAIA installations.
|
|
7
7
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
8
8
|
|
|
9
|
-
readonly VERSION="1.57.
|
|
9
|
+
readonly VERSION="1.57.2"
|
|
10
10
|
readonly GITHUB_REPO="https://github.com/jlouage/Gaia-framework.git"
|
|
11
11
|
readonly MANIFEST_REL="_gaia/_config/manifest.yaml"
|
|
12
12
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gaia-framework",
|
|
3
|
-
"version": "1.57.
|
|
3
|
+
"version": "1.57.2",
|
|
4
4
|
"description": "GAIA — Generative Agile Intelligence Architecture installer",
|
|
5
5
|
"bin": {
|
|
6
6
|
"gaia-framework": "./bin/gaia-framework.js"
|
|
@@ -15,7 +15,11 @@
|
|
|
15
15
|
"test:shell": "node -e \"if(process.platform==='win32'){console.log('BATS tests skipped on Windows');process.exit(0)}\" && bats test/shell/",
|
|
16
16
|
"test:all": "vitest run && node -e \"if(process.platform==='win32'){console.log('BATS tests skipped on Windows');process.exit(0)}\" && bats test/shell/",
|
|
17
17
|
"test:tier2": "vitest run --config vitest.config.tier2.js",
|
|
18
|
-
"fixtures:check": "node test/fixtures/sync-check.js"
|
|
18
|
+
"fixtures:check": "node test/fixtures/sync-check.js",
|
|
19
|
+
"lint": "eslint bin/**/*.js test/**/*.js",
|
|
20
|
+
"lint:fix": "eslint --fix bin/**/*.js test/**/*.js",
|
|
21
|
+
"format:check": "prettier --check \"bin/**/*.js\" \"test/**/*.js\"",
|
|
22
|
+
"format": "prettier --write \"bin/**/*.js\" \"test/**/*.js\""
|
|
19
23
|
},
|
|
20
24
|
"keywords": [
|
|
21
25
|
"gaia",
|
|
@@ -39,10 +43,15 @@
|
|
|
39
43
|
"gaia-install.sh"
|
|
40
44
|
],
|
|
41
45
|
"devDependencies": {
|
|
42
|
-
"
|
|
46
|
+
"@eslint/js": "^9.39.4",
|
|
43
47
|
"@vitest/coverage-v8": "^3.1.0",
|
|
44
|
-
"
|
|
48
|
+
"csv-parse": "^5.6.0",
|
|
49
|
+
"eslint": "^9.39.4",
|
|
50
|
+
"eslint-config-prettier": "^10.1.8",
|
|
45
51
|
"fast-xml-parser": "^5.2.0",
|
|
46
|
-
"
|
|
52
|
+
"globals": "^17.4.0",
|
|
53
|
+
"js-yaml": "^4.1.0",
|
|
54
|
+
"prettier": "^3.8.1",
|
|
55
|
+
"vitest": "^3.1.0"
|
|
47
56
|
}
|
|
48
57
|
}
|