UNPKG

@metricinsights/pp-dev

Version:
66 lines (53 loc) 1.79 kB
#!/usr/bin/env node import { performance } from 'node:perf_hooks'; if (!import.meta.url.includes('node_modules')) { try { // only available as dev dependency await import('source-map-support').then((r) => r.install?.() || r.default.install()); } catch (e) { /* empty */ } } global.__pp_dev_start_time = performance.now(); // check debug mode first before requiring the CLI. const debugIndex = process.argv.findIndex((arg) => /^(?:-d|--debug)$/.test(arg)); const filterIndex = process.argv.findIndex((arg) => /^(?:-f|--filter)$/.test(arg)); const profileIndex = process.argv.indexOf('--profile'); if (debugIndex > 0) { let value = process.argv[debugIndex + 1]; if (!value || value.startsWith('-')) { value = 'pp-dev:*,vite:*'; } else { // support debugging multiple flags with comma-separated list value = value .split(',') .map((v) => `pp-dev:${v},vite:${v}`) .join(','); } process.env.DEBUG = `${process.env.DEBUG ? process.env.DEBUG + ',' : ''}${value}`; if (filterIndex > 0) { const filter = process.argv[filterIndex + 1]; if (filter && !filter.startsWith('-')) { process.env.PP_DEV_DEBUG_FILTER = filter; process.env.VITE_DEBUG_FILTER = filter; } } } function start() { return import('../dist/esm/cli.js'); } if (profileIndex > 0) { process.argv.splice(profileIndex, 1); const next = process.argv[profileIndex]; if (next && !next.startsWith('-')) { process.argv.splice(profileIndex, 1); } const inspector = await import('node:inspector').then((r) => r.default); const session = (global.__pp_dev_profile_session = new inspector.Session()); session.connect(); session.post('Profiler.enable', () => { session.post('Profiler.start', start); }); } else { start(); }