From 6c259591ea3b2b32715ebeb38c4cfffa645f7e8a Mon Sep 17 00:00:00 2001 From: Ewan Croft Date: Tue, 4 Aug 2026 05:12:25 +0100 Subject: [PATCH] fix(jasper): read VERSION from package.json instead of a hardcoded constant MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit core/config.ts hardcoded VERSION = "0.5.1" against a package.json at 0.6.0/0.6.1 — same drift pattern as malachite. Read it from package.json at runtime instead so it can't go stale again. Co-Authored-By: Claude Sonnet 5 --- packages/jasper/package.json | 2 +- packages/jasper/src/core/config.ts | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/jasper/package.json b/packages/jasper/package.json index 5986c5f..be5b6ec 100644 --- a/packages/jasper/package.json +++ b/packages/jasper/package.json @@ -1,6 +1,6 @@ { "name": "@ewanc26/jasper", - "version": "0.6.0", + "version": "0.6.1", "description": "Convert Instagram data exports into posts, stories, and videos on Grain or Spark", "author": "Ewan Croft", "license": "AGPL-3.0-only", diff --git a/packages/jasper/src/core/config.ts b/packages/jasper/src/core/config.ts index acd322b..37c0e5f 100644 --- a/packages/jasper/src/core/config.ts +++ b/packages/jasper/src/core/config.ts @@ -2,9 +2,18 @@ * Jasper configuration constants */ +import { readFileSync } from "node:fs"; +import { fileURLToPath } from "node:url"; +import path from "node:path"; import type { Config, Target, TargetConfig } from "./types.js"; -export const VERSION = "0.5.1"; +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const pkg = JSON.parse( + readFileSync(path.join(__dirname, "../../package.json"), "utf-8"), +) as { version: string }; + +// CLI version string, read directly from package.json so it can never drift. +export const VERSION = pkg.version; export const config: Config = { /** Grain lexicon NSID for photos */ -- 2.51.2