/* eslint-disable no-console -- 构建脚本,向终端打印进度是它的正当输出 */ import process from 'node:process' import * as esbuild from 'esbuild' const production = process.argv.includes('--production') const watch = process.argv.includes('--watch') /** @type {import('esbuild').BuildOptions} */ const options = { entryPoints: ['src/extension.ts'], bundle: true, outfile: 'dist/index.cjs', external: ['vscode'], format: 'cjs', platform: 'node', target: 'node20', sourcemap: !production, minify: production, logLevel: 'info', } async function main() { if (watch) { const ctx = await esbuild.context(options) await ctx.watch() console.log('[esbuild] watching...') } else { await esbuild.build(options) } } main().catch((err) => { console.error(err) process.exit(1) })