Files
superwork/vscode/esbuild.mjs
T
cruldra dae1232f19 🎨 style(vscode): 清零 lint 欠账
非纯格式的改动:
- logger:info 级日志原先走 console.log(no-console 禁止),改为通过 VS Code
  LogOutputChannel(Output 面板 "Superpowers")输出 info/warn/error,并在
  activate 时注册 dispose
- esbuild.mjs:顶层 await 收进 async main(),失败时退出码 1;构建脚本打印
  进度属正当输出,文件级关闭 no-console 并注明原因
- KanbanPanel 资源路径正则:去掉 `\.\/[^"]+` 分支(已被 `[^"/][^"]*` 完全
  覆盖),匹配结果不变
- webhook/server:onError/onListening 互相引用,改为函数声明消除先用后定义
- SettingsModal:删掉针对未启用规则 react-hooks/exhaustive-deps 的失效
  disable 注释,effect 依赖 [open] 保持不变(按打开时机重置表单是有意的)
- issues.ts 提示词里两处全角空格换成普通空格
- 其余为 node:process / node:buffer 显式导入与 switch 拆行

Claude-Session: https://claude.ai/code/session_01HTMgwaE3woqM5yvsHiuSAa
2026-08-31 22:33:11 +08:00

37 lines
835 B
JavaScript

/* 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)
})