UNPKG

@just-every/mcp-screenshot-website-fast

Version:

Fast screenshot capture tool for web pages - optimized for Claude Vision API

58 lines (50 loc) 1.82 kB
#!/usr/bin/env node import { fileURLToPath } from 'url'; import { dirname, join } from 'path'; import { existsSync } from 'fs'; import { toImportSpecifier } from './import-path.js'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const args = process.argv.slice(2); async function main() { // Default to 'serve' if no arguments provided (for MCP usage) const command = args[0] || 'serve'; // Check if compiled dist exists const distExists = existsSync(join(__dirname, '..', 'dist')); if (distExists) { // Use compiled JavaScript for production (fast startup) if (command === 'serve') { const servePath = join(__dirname, '..', 'dist', 'serve-restart.js'); await import(toImportSpecifier(servePath)); } else { const cliPath = join(__dirname, '..', 'dist', 'index.js'); await import(toImportSpecifier(cliPath)); } } else { // Fall back to TypeScript with tsx for development try { await import('tsx/esm'); if (command === 'serve') { const servePath = join( __dirname, '..', 'src', 'serve-restart.ts' ); await import(toImportSpecifier(servePath)); } else { const cliPath = join(__dirname, '..', 'src', 'index.ts'); await import(toImportSpecifier(cliPath)); } } catch { console.error( 'Error: Development dependencies not installed. Please run "npm install" first.' ); process.exit(1); } } } main().catch(err => { console.error('Error:', err); process.exit(1); });