@alxwlw/oxlint-配置
阿尔克瑟尔·林克恩 克林特 1.x +克林特-特斯克林特,用于重置
类型脚本 7 (typescript-eslint直到
TS 7.1和上游不会支持7.0;tsgolint嵌入了打字符-go,所以
归宿 typescript 版本与林廷无关.
预设
| 预设 | 扩展 | 添加数 |
|---|---|---|
base | —— 说 | 正确性类别,全类型意识集(tsgolint),简单输入类型 |
node | base | stack/naming-convention (在选择器设置上) |
nest | node | stack/require-nest-di-decorator· ; typescript/require-await 关闭(最新的警卫合同); typescript/consistent-type-imports 关闭(安全进口) |
react | base | 反应- hoks 经典配对 + eslint- plugin- 反应推荐 + jsx- a11y 推荐端口 |
next | react | 奥克林特 nextjs 插件 |
library | - (重叠) | stack/tsdoc-syntax tS/TSX; 读取最接近的 tsdoc.json |
base 故意带一个 严格分类
键入字符串 recommendedTypeChecked 默认, 在错误级别上验证
生产中no-unnecessary-condition, (中文(简体) ), no-deprecated, (中文(简体) ),
restrict-template-expressions(中文(简体) ). 较高级仍为a/
单独闸门(oxlint不格式化); 依赖- cruiser 仍为
结构/循环引擎(import/no-cycle 离我远点.
使用量
// .oxlintrc.json (repo root)
{
"extends": ["./node_modules/@alxwlw/oxlint-config/nest.jsonc"],
"ignorePatterns": ["**/dist/**", "**/*.generated.*"],
}
oxlint --type-aware --report-unused-disable-directives --config .oxlintrc.json .
发布 API 层的软件包 library 其预设后覆盖( 不)
能够自行使用—— stack 插件来自预设 :
// .oxlintrc.json of the publishing package
{
"extends": [
"./node_modules/@alxwlw/oxlint-config/node.jsonc",
"./node_modules/@alxwlw/oxlint-config/library.jsonc",
],
}
声明您自己的TSDoc 标签 tsdoc.json 而不是切换规则; 文件需要标准 "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json" (没有它 tsdoc -配置报告) Unsupported JSON "$schema" value) (中文(简体) ).
覆盖在预设之后是故意的: 它不扩展 base因此无法
切换回什么 nest 或者说 react 关了.
对于混合回放中的浏览器代码, 丢入嵌入 .oxlintrc.json 扩展
react.jsonc 输入前端根 – 牛林自动发现 / 每个嵌入的配置
亚树(一个被嵌入的配置 REPLACES 是该亚树的根, 这就是为什么
react.jsonc 扩展 base.jsonc 页:1.
尖端(所有经验验证)
--type-aware是负载的. 没有旗帜 每一个typescript/*类型意识规则是 SILENTLY 跳出 — 没有错误, 没有警告 。 把旗子放进去 重罚的任务;oxlint-tsgolint必须安装(可选的对等点).- 构建
.d.ts在知道类型之前 在项目参考单列中 (单位:千美元)tsc --build首先; 罐子月任务lint没有类型检查依赖性,因此适用于项目参考重置:未解决的进口产品error- 类型值 开火no-unsafe-*规则是幽灵. plugins交叉合并extends——添加插件列表的消费者 只有新的一个。 预设再次重复了完整的列表,所以每个列表读作: 一个文件( 见react.jsonc(三);oxlint-config.test.ts让他们完整.- 永远不要跑
--fix-suggestions自动化: 茨克林特语require-await"建议"改写了公众签名(Promise<T>→T) (中文(简体) ). 平面--fix安全; 外部nest(转出)consistent-type-imports关闭)consistent-type-imports×import/no-duplicates修补器可以 在一个导入对上相撞——秒--fix传球会汇合. - 程序外文件 (测试、工具配置文件、普通JS)
tsgolint推断出严格的程序;
base.jsonc闪光镜disableTypeChecked——扩展在 消费针对特定方案外树的回购(scripts/, (中文(简体) ),e2e/, (中文(简体) ), 捆绑前端子目录). 工具配置文件是一个明确的列表 (vite/vitest/playwright/.);制作src/**/*.config.ts继续检查类型. import type转换可以打破NestJS DI数字 :nest.jsonc关机typescript/consistent-type-imports- 牛林没有模型emitDecoratorMetadata,而规则的自定义用于转换导入 由 cr- param 类型注入到import type(最后DI失败) 启动时 tsc 和 lint 保持绿色 。 巢穴消费者不再需要了 自己的覆盖; aimport type在 Nest 代码中注入类是一个错误 只有开始捕获。 明确@Inject(Class)(这罐子) 该公约仍然是明确依赖性的任择方法.
这个 stack JS 插件
./plugin 输出内部规则(ESLint rule API, 由 oxlint 运行)
jsPlugins 主机 – 需要通过 npm CLI 运行克林特, 每个月亮
任务 :
stack/require-nest-di-decorator从私人ESLint规则移植 原件;见NOTICE因为来源。 两人已经不在了 锁上后会漂流.stack/naming-convention—— canon 命名选择器集的端口; 选项{ "leadingUnderscore": "none" | "allow" | "allowSingleOrDouble" }页:1 重置为 a_- 私人节制标记.stack/tsdoc-syntax——由本机启用library覆盖; 读取最近的tsdoc.json(如斯林特-插管-tsdoc).@microsoft/tsdoc- 支持的TSDoc验证 (slint-plugin-tsdoc 0.5要求:eslint装入时包, 哪个 牛林消费者不再安装).