Files
jsc-marketplace/plugins/jsc-companion/hooks/companion/verify.ts
T

17 lines
607 B
TypeScript

// 辨識「驗證類」指令(測試、型別檢查、build),失敗後轉成功才值得角色反應
const VERIFY: RegExp[] = [
/^(?:bun|npm|pnpm|yarn)\s+(?:run\s+)?(?:test|build|typecheck|lint)\b/,
/^(?:bun|npm|pnpm|yarn)\s+test\b/,
/^(?:pytest|tsc|vitest|jest|mypy|ruff)\b/,
/^cargo\s+(?:test|build|check)\b/,
/^go\s+(?:test|build|vet)\b/,
]
// 以 && ; | 拆開複合指令,任何一段是驗證指令就算
export function isVerifyCommand(command: string): boolean {
return command
.split(/&&|\|\||;|\|/)
.map(s => s.trim())
.some(s => VERIFY.some(re => re.test(s)))
}