Skip to content

Commit f3ea79e

Browse files
committed
fix: improve version check
1 parent 79b381c commit f3ea79e

File tree

2 files changed

+24
-9
lines changed

2 files changed

+24
-9
lines changed

bin/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { startShell } from '../src/commands/shell.js';
66
import { PROJECT_NAME, getLatestVersion } from '../src/commons.js';
77

88
async function main() {
9-
const { version } = await getLatestVersion(PROJECT_NAME);
9+
const version = await getLatestVersion(PROJECT_NAME);
1010

1111
const program = new Command();
1212
program

src/commons.js

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -316,15 +316,25 @@ export function getDefaultHomePage(appName, jsFiles = [], cssFiles= []) {
316316
export async function getVersionFromPackage() {
317317
try {
318318
const __filename = fileURLToPath(import.meta.url);
319-
const __dirname = dirname(__filename);
320-
const packageJson = JSON.parse(
321-
await readFile(join(__dirname, 'package.json'), 'utf8')
322-
);
323-
return packageJson.version;
319+
const __dirname = dirname(__filename);
320+
321+
// First try parent directory (dev mode)
322+
try {
323+
const devPackage = JSON.parse(
324+
await readFile(join(__dirname, '..', 'package.json'), 'utf8')
325+
);
326+
return devPackage.version;
327+
} catch (devError) {
328+
// Fallback to current directory (production)
329+
const prodPackage = JSON.parse(
330+
await readFile(join(__dirname, 'package.json'), 'utf8')
331+
);
332+
return prodPackage.version;
333+
}
324334
} catch (error) {
325335
console.error(`Error fetching latest version:`, error.message);
326336
return null;
327-
}
337+
}
328338
}
329339

330340
/**
@@ -334,8 +344,13 @@ export async function getLatestVersion(packageName) {
334344
try {
335345
const response = await fetch(`https://registry.npmjs.org/${packageName}/latest`);
336346
let data = await response.json();
337-
return data;
347+
const currentVersion = await getVersionFromPackage();
348+
if (data.version !== currentVersion){
349+
return `v${currentVersion} (latest: ${data.version})`;
350+
}
351+
return `v${currentVersion}`;
338352
} catch (error) {
339-
return getVersionFromPackage();
353+
console.error(`ERROR: ${error.message}`);
354+
return "<Unknown>";
340355
}
341356
}

0 commit comments

Comments
 (0)