非纯格式的改动: - 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
37 lines
835 B
JavaScript
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)
|
|
})
|