diff --git a/package.json b/package.json index a176abdb8..add8c0bf0 100644 --- a/package.json +++ b/package.json @@ -3,9 +3,7 @@ "version": "0.2.1", "description": "MCP server for Chrome DevTools", "type": "module", - "bin": { - "chrome-devtools-mcp": "./build/src/index.js" - }, + "bin": "./build/src/index.js", "main": "index.js", "scripts": { "build": "tsc && node --experimental-strip-types --no-warnings=ExperimentalWarning scripts/post-build.ts", diff --git a/src/index.ts b/src/index.ts index 8a5d520ca..ed374861d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -84,6 +84,23 @@ export const cliOptions = { }, }; +function readPackageJson(): {version?: string} { + const currentDir = import.meta.dirname; + const packageJsonPath = path.join(currentDir, '..', '..', 'package.json'); + if (!fs.existsSync(packageJsonPath)) { + return {}; + } + try { + const json = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8')); + assert.strict(json['name'], 'chrome-devtools-mcp'); + return json; + } catch { + return {}; + } +} + +const version = readPackageJson().version ?? 'unknown'; + const yargsInstance = yargs(hideBin(process.argv)) .scriptName('npx chrome-devtools-mcp@latest') .options(cliOptions) @@ -111,26 +128,11 @@ const yargsInstance = yargs(hideBin(process.argv)) export const args = yargsInstance .wrap(Math.min(120, yargsInstance.terminalWidth())) .help() + .version(version) .parseSync(); const logFile = args.logFile ? saveLogsToFile(args.logFile) : undefined; -function readPackageJson(): {version?: string} { - const currentDir = import.meta.dirname; - const packageJsonPath = path.join(currentDir, '..', '..', 'package.json'); - if (!fs.existsSync(packageJsonPath)) { - return {}; - } - try { - const json = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8')); - assert.strict(json['name'], 'chrome-devtools-mcp'); - return json; - } catch { - return {}; - } -} - -const version = readPackageJson().version ?? 'unknown'; logger(`Starting Chrome DevTools MCP Server v${version}`); const server = new McpServer( {