@ashstack/lint (英语)
严格共享 奥克林特 配置:116 关于平版Script的规则,211 有React,268 关于React Introduct,其中82个是自定义建造的. 3个条目,每个条目包含它面前的一: core(), (中文(简体) ), react(), (中文(简体) ), react-native()。 。 。 .
图书馆专用的规则船只在你依赖图书馆时, 所以没有什么关于代码的火你没有.
严相以特从. 一个小时之内写出比任何人都多的代码逐行审查,而linter是唯一能读出所有代码的东西. 每条消息都给固定点取名,这样一个特工就可以在没有第二次提示的情况下对它采取行动.
安装
bun add -d oxlint oxlint-tsgolint @ashstack/lint
// oxlint.config.mts (JSON configs can't resolve npm packages, so TS config only)
import { core } from "@ashstack/lint/core"; // or: /react, /react-native
import { defineConfig } from "oxlint";
export default defineConfig({
extends: [core()],
rules: { "@ashstack/query/no-inline-keys": "off" }, // your overrides always win
});
oxlint --type-aware --deny-warnings .
留着 defineConfig 包装 它是什么类型 rules 块,所以错了
规则选项是一个编译错误,而徘徊规则 id 显示它所做的和
链接到此处的一节。 一个赤裸的 export default { ... } 没有,沉默地
—— 说 satisfies OxlintConfig 如果你不想包起来也行.
类型意识规则需要 oxlint-tsgolint 。节点22.18+.
导入您使用的条目 。 没有软件包根可以导入, 所以没有
装入规则文件, 您无法使用 : @ashstack/lint/core 装入 27 KB 在其中
3个的根再出口将装载137 KB. react 财务报告和审定财务报表 react-native
无论是哪种方式,都装入大部分,因为他们配置了大部分规则.
import { core } from "@ashstack/lint/core";
import { react } from "@ashstack/lint/react";
import { reactNative } from "@ashstack/lint/react-native";
每个条目还有一个默认导出, 并带有自己的选项类型
(单位:千美元)CoreOptions, (中文(简体) ), ReactOptions, (中文(简体) ), ReactNativeOptions) (中文(简体) ).
单曲
嵌入式配置代替上面的配置而不是合并,所以每个工作空间
配置扩展条目本身 。 自己买的 plugins 数组与
输入的,从未换过它:
// apps/backend/oxlint.config.mts — a backend that also renders JSX templates
import { core } from "@ashstack/lint/core";
import { defineConfig } from "oxlint";
export default defineConfig({
extends: [core()],
plugins: ["react", "jsx-a11y"],
rules: { "react/jsx-key": "error" },
});
放下枪 extends 而工作空间只保留它命名的规则,没有
诊断其他的都不见了.
每个条目添加的
core() 是一个严格的 eslint / 打字符 / 独角兽 / 承诺 / 导入基数加 @ashstack/core/ 公约规则. react() 添加反应, jsx- a11y, React 编译器和您- might- not- need- an- effect. react-native() 添加通则 @ashstack/react-native/ 规则:被泄露的制作,取景巢穴,iOS-只键盘事件,远程图像.
自动检测的图书馆专用规则
每个库一个模块:一个规则命名空间,一个切换. 一个模块在库里打开 package.json,搜索到 repo 根.
@ashstack/zod • 妇女 @ashstack/query • 妇女 @ashstack/zustand • 妇女 @ashstack/i18n • 妇女 @ashstack/stylex • 妇女 @ashstack/unistyles • 妇女 @ashstack/legend-list • 妇女 @ashstack/legend-state • 妇女 @ashstack/reanimated • 妇女 @ashstack/turbo-image • 妇女 @ashstack/skia • 妇女 @ashstack/keyboard
检测只设置默认值 。 打开或关闭任何模块,不管你的依赖说:
reactNative({ unistyles: false, i18n: true });
导入禁令仅遵循检测; 按规则名称禁用 .
选择规则
默认情况下,由于他们首先需要团队决定: -ashstack/resact/ prefer-design-system"和`@-ashstack/resact/组件-tsx-只".规则参考
规则.md 包括所有规则,包括选项和实例。 由规则产生并经过CI检查.
许可证
麻省理工学院