From 6bbd7775525e970dc86415de42104a27fe54ba4f Mon Sep 17 00:00:00 2001 From: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com> Date: Tue, 23 Sep 2025 11:45:46 +0200 Subject: [PATCH] chore: fix --version weird error --- apps/cli/src/utils/auto-update.ts | 16 +++++++++------- scripts/modules/commands.js | 20 +------------------- tsdown.config.ts | 10 ++++++++++ 3 files changed, 20 insertions(+), 26 deletions(-) diff --git a/apps/cli/src/utils/auto-update.ts b/apps/cli/src/utils/auto-update.ts index e3d32742..b8559c33 100644 --- a/apps/cli/src/utils/auto-update.ts +++ b/apps/cli/src/utils/auto-update.ts @@ -7,7 +7,6 @@ import https from 'https'; import chalk from 'chalk'; import ora from 'ora'; import boxen from 'boxen'; -import packageJson from '../../../../package.json' with { type: 'json' }; export interface UpdateInfo { currentVersion: string; @@ -16,15 +15,18 @@ export interface UpdateInfo { } /** - * Get current version from package.json + * Get current version from build-time injected environment variable */ function getCurrentVersion(): string { - try { - return packageJson.version; - } catch (error) { - console.warn('Could not read package.json for version info'); - return '0.0.0'; + // Version is injected at build time via TM_PUBLIC_VERSION + const version = process.env.TM_PUBLIC_VERSION; + if (version && version !== 'unknown') { + return version; } + + // Fallback for development or if injection failed + console.warn('Could not read version from TM_PUBLIC_VERSION, using fallback'); + return '0.0.0'; } /** diff --git a/scripts/modules/commands.js b/scripts/modules/commands.js index d4b46e9f..62d679e0 100644 --- a/scripts/modules/commands.js +++ b/scripts/modules/commands.js @@ -5079,25 +5079,7 @@ function setupCLI() { const programInstance = new Command() .name('dev') .description('AI-driven development task management') - .version(() => { - // Read version directly from package.json ONLY - try { - const packageJsonPath = path.join(process.cwd(), 'package.json'); - if (fs.existsSync(packageJsonPath)) { - const packageJson = JSON.parse( - fs.readFileSync(packageJsonPath, 'utf8') - ); - return packageJson.version; - } - } catch (error) { - // Silently fall back to 'unknown' - log( - 'warn', - 'Could not read package.json for version info in .version()' - ); - } - return 'unknown'; // Default fallback if package.json fails - }) + .version(process.env.TM_PUBLIC_VERSION || 'unknown') .helpOption('-h, --help', 'Display help') .addHelpCommand(false); // Disable default help command diff --git a/tsdown.config.ts b/tsdown.config.ts index 53f82618..5b9f0db1 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -7,6 +7,16 @@ dotenvLoad(); // Get all TM_PUBLIC_* env variables for build-time injection const getBuildTimeEnvs = () => { const envs: Record = {}; + + // Inject package.json version at build time + try { + const packageJson = JSON.parse(require('fs').readFileSync('package.json', 'utf8')); + envs['TM_PUBLIC_VERSION'] = packageJson.version || 'unknown'; + } catch (error) { + console.warn('Could not read package.json version during build:', error); + envs['TM_PUBLIC_VERSION'] = 'unknown'; + } + for (const [key, value] of Object.entries(process.env)) { if (key.startsWith('TM_PUBLIC_')) { // Return the actual value, not JSON.stringify'd