@cratis/eslint-plugin-arc (英语)
ESLint对消费Cratis Arc的项目进行规则. 在克拉提斯河上作曲
基础配置, @cratis/eslint-config。 。 。 .
| 规则/处理器 | 它会做什么 |
|---|---|
skip-generated-proxies (处理器) | 跳过 Arc生成的代理文件批发. 他们携带一个 // @generated by Cratis 标题(和 a) **DO NOT EDIT** 因此,任何关于它们的发现都是不可采取行动的。 被键入头部,因为代名词与手写相混合 .ts。 。 。 . |
no-hooks-in-view-model | 否定 在 MVVM 视图模型( 命名的类) 内进行反钩呼叫 *ViewModel) (中文(简体) ). 一个取景模型必须是平坦的,无反应的类;注入克拉提斯抽象而不是叫钩. |
no-direct-mobx-react-import | 取消直接从 mobx-react 或者说 mobx-react-lite。 MobX 绑定是内部细节 @cratis/arc.react.mvvm,用于再出口 observer (被制裁的叶子观察界)——从那里导入,这样绑定可以进化而不会破坏消费者. |
安装
yarn add -D @cratis/eslint-plugin-arc @cratis/eslint-config eslint
使用
// eslint.config.mjs
import cratis from '@cratis/eslint-config';
import arc from '@cratis/eslint-plugin-arc';
export default [
...cratis.configs.consumer,
...arc.configs.recommended,
// …your project rules
];
no-hooks-in-view-model 选项
'@cratis/arc/no-hooks-in-view-model': ['error', {
classSuffix: 'ViewModel', // class-name suffix that marks a view model
hookPattern: '^use[A-Z]', // bare-identifier calls treated as hooks
additionalHooks: ['injectQuery'], // extra call names to forbid
}]
仅使用光识别器调用( E)useState(...)成员呼唤
this.useDefaults() 不是,所以视图模型方法 仅仅从 use 这是安全的.