Files
lingxi/.lintstagedrc.mjs
T
Stev_Wang 04f49690f4
ci / 质量门禁 (push) Canceled after 0s
feat(a0): 完成工程骨架与契约基线
- 建立 pnpm workspace + Turborepo 单仓、ESLint 9/Prettier/commitlint/husky 门禁
- NestJS + Fastify API:统一错误体、trace_id、Zod 管道、/health 真实依赖探活、OpenAPI 3.1 契约
- Prisma 基线:outbox_events/idempotency_keys/system_configs 与首版迁移、幂等种子
- shared 契约包:错误码、权限点、ULID、游标分页、命名/时间工具
- ui 包与 Web 壳层:Semi + Remix 图标统一出口、Cloud Blue 视觉、登录/工作台/错误页
- worker 骨架、Playwright 冒烟、Gitea CI、OpenAPI 快照与 oasdiff 回退脚本
- 补充 A0 实施报告与本地开发说明
2026-11-02 17:01:50 +08:00

19 lines
671 B
JavaScript

const quote = (file) => JSON.stringify(file);
// 生成的声明文件(如 openapi.d.ts)被 ESLint 忽略,跳过 lint 只做格式化,
// 避免 lint-staged 因 "File ignored" 警告而阻断提交。
const lintScripts = (filenames) => {
const lintable = filenames.filter((file) => !file.endsWith('.d.ts'));
const commands = [];
if (lintable.length > 0) {
commands.push(`eslint --fix --max-warnings=0 ${lintable.map(quote).join(' ')}`);
}
commands.push(`prettier --write ${filenames.map(quote).join(' ')}`);
return commands;
};
export default {
'*.{ts,tsx,js,mjs,cjs}': lintScripts,
'*.{json,md,css,scss,yml,yaml}': ['prettier --write'],
};