SuperClaude/bin/checkEnv.js
NomenAK 6afa3b0f9c 🚀 Prepare for dual PyPI/NPM release v4.0
- Fix version consistency (PyPI: 4.0.0, NPM: 4.0.3)
- Update license format to PEP 639 compliance
- Restore NPM package components (bin/ and package.json)
- Fix NPM package name to @superclaude-org/superclaude
- Add comprehensive RELEASE_INSTRUCTIONS.md
- Update .gitignore to include NPM files
- Ready for production release on both PyPI and NPM

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-22 20:39:46 +02:00

37 lines
841 B
JavaScript

const { spawnSync } = require("child_process");
function run(cmd, args = [], opts = {}) {
return spawnSync(cmd, args, {
stdio: opts.stdio || "pipe",
shell: true
});
}
function checkCommand(cmd, args = ["--version"]) {
const result = run(cmd, args);
return result.status === 0;
}
function detectPython() {
const candidates = ["python3", "python", "py"];
for (let c of candidates) {
if (checkCommand(c)) return c;
}
return null;
}
function detectPip() {
const candidates = ["pip3", "pip", "py -m pip"];
for (let c of candidates) {
if (checkCommand(c.split(" ")[0])) return c;
}
return null;
}
function isSuperClaudeInstalled(pipCmd) {
const result = run(pipCmd, ["show", "SuperClaude"]);
return result.status === 0;
}
module.exports = { run, detectPython, detectPip, isSuperClaudeInstalled };