evolveguard-cli
Advanced tools
| /** | ||
| * Reads the CLI's own version from package.json at runtime, relative to this | ||
| * module's location, instead of a hardcoded string. | ||
| * | ||
| * A hardcoded VERSION constant silently drifts from the version actually | ||
| * published to npm/PyPI every time a release bumps package.json without | ||
| * remembering to update the constant too (this happened across the 0.1.1, | ||
| * 0.1.2, and 0.1.3 releases: `evolveguard --version` and every human-readable | ||
| * command header kept printing "0.1.0"). Reading it from package.json makes | ||
| * that class of drift impossible going forward. | ||
| */ | ||
| export declare function getVersion(): string; |
| "use strict"; | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
| Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
| }) : function(o, v) { | ||
| o["default"] = v; | ||
| }); | ||
| var __importStar = (this && this.__importStar) || function (mod) { | ||
| if (mod && mod.__esModule) return mod; | ||
| var result = {}; | ||
| if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
| __setModuleDefault(result, mod); | ||
| return result; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.getVersion = getVersion; | ||
| const fs = __importStar(require("node:fs")); | ||
| const path = __importStar(require("node:path")); | ||
| /** | ||
| * Reads the CLI's own version from package.json at runtime, relative to this | ||
| * module's location, instead of a hardcoded string. | ||
| * | ||
| * A hardcoded VERSION constant silently drifts from the version actually | ||
| * published to npm/PyPI every time a release bumps package.json without | ||
| * remembering to update the constant too (this happened across the 0.1.1, | ||
| * 0.1.2, and 0.1.3 releases: `evolveguard --version` and every human-readable | ||
| * command header kept printing "0.1.0"). Reading it from package.json makes | ||
| * that class of drift impossible going forward. | ||
| */ | ||
| function getVersion() { | ||
| try { | ||
| const pkgPath = path.join(__dirname, '..', '..', 'package.json'); | ||
| const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8')); | ||
| return pkg.version ?? '0.0.0'; | ||
| } | ||
| catch { | ||
| return '0.0.0'; | ||
| } | ||
| } |
+15
-0
@@ -11,2 +11,17 @@ # Changelog | ||
| ## 0.1.4 -- 2026-08-08 (npm only) | ||
| ### Fixed | ||
| - `evolveguard --version` and every human-readable command header (`EvolveGuard v... | ||
| -- Baseline Recorded/Regression Check/Report`) printed a hardcoded `0.1.0` on the | ||
| npm/TypeScript CLI, unchanged since the initial release even though the package | ||
| itself had shipped 0.1.1, 0.1.2, and 0.1.3 -- confirmed live via a clean | ||
| `npm install -g evolveguard-cli@latest` and running `--version`. Root cause: `cli.ts` | ||
| and `formatters.ts` each declared their own `const VERSION = '0.1.0'` literal instead | ||
| of reading the installed package's actual version. Both now read the version from | ||
| `package.json` at runtime (`src/evolveguard-cli/version.ts`), matching the pattern | ||
| already used on the Python/PyPI side (`importlib.metadata`), so this can't drift on | ||
| future releases. The PyPI package was not affected and was not re-released. | ||
| ## [Python 0.1.0] - 2026-07-17 | ||
@@ -13,0 +28,0 @@ |
@@ -36,3 +36,4 @@ #!/usr/bin/env node | ||
| const formatters_1 = require("./formatters"); | ||
| const VERSION = '0.1.0'; | ||
| const version_1 = require("./version"); | ||
| const VERSION = (0, version_1.getVersion)(); | ||
| const DEFAULT_REPORT_PATH = './evolveguard-report.json'; | ||
@@ -39,0 +40,0 @@ function defaultBaselinePath(skillPath) { |
@@ -6,3 +6,4 @@ "use strict"; | ||
| exports.formatReport = formatReport; | ||
| const VERSION = '0.1.0'; | ||
| const version_1 = require("./version"); | ||
| const VERSION = (0, version_1.getVersion)(); | ||
| function formatRecordResult(baseline, baselinePath) { | ||
@@ -9,0 +10,0 @@ const lines = []; |
+1
-1
| { | ||
| "name": "evolveguard-cli", | ||
| "version": "0.1.3", | ||
| "version": "0.1.4", | ||
| "description": "Regression-testing CLI for self-edited Claude Agent Skills (SKILL.md, MEMORY.md): golden-transcript record/replay against a skill's own declared and inferred capability surface, zero hosted infrastructure.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
96261
3.97%32
6.67%1441
4.57%7
16.67%