@techierathore/techieflow 1.0.0 → 1.0.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/package.json +1 -1
- package/scripts/validate.mjs +9 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@techierathore/techieflow",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "TechieFlow: a spec-driven development framework for AI coding agents, for Claude Code and OpenCode. One command installs it into any project.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
package/scripts/validate.mjs
CHANGED
|
@@ -81,14 +81,22 @@ check("every {file:} reference in opencode.jsonc resolves", () => {
|
|
|
81
81
|
check("bash -n passes on every .sh file", () => {
|
|
82
82
|
const scripts = filesUnder(root).filter((f) => f.endsWith(".sh"));
|
|
83
83
|
assert(scripts.length > 0, "no .sh files found");
|
|
84
|
+
const version = spawnSync("bash", ["-c", "echo $BASH_VERSION"], { encoding: "utf8" });
|
|
85
|
+
if (version.error) throw new Error(`bash could not be started: ${version.error.message}`);
|
|
86
|
+
const bashVersion = version.stdout.trim();
|
|
84
87
|
const broken = [];
|
|
85
88
|
for (const script of scripts) {
|
|
86
89
|
const result = spawnSync("bash", ["-n", script], { encoding: "utf8" });
|
|
87
90
|
if (result.error) throw new Error(`bash could not be started: ${result.error.message}`);
|
|
88
91
|
if (result.status !== 0) broken.push(`${rel(script)}: ${result.stderr.trim()}`);
|
|
89
92
|
}
|
|
93
|
+
if (broken.length && /^[123]\./.test(bashVersion)) {
|
|
94
|
+
broken.push(`This terminal's bash is ${bashVersion}, Apple's old copy. The framework needs bash 4 or newer.`,
|
|
95
|
+
"On a Mac: install it with `brew install bash`, put /opt/homebrew/bin first on the PATH in ~/.zshrc,",
|
|
96
|
+
"then open a NEW terminal window and run the command again. Check with: which -a bash");
|
|
97
|
+
}
|
|
90
98
|
assert(broken.length === 0, broken.join("\n"));
|
|
91
|
-
console.log(` ${scripts.length} script(s) checked`);
|
|
99
|
+
console.log(` ${scripts.length} script(s) checked with bash ${bashVersion}`);
|
|
92
100
|
});
|
|
93
101
|
|
|
94
102
|
// ---- 4. package contents
|