1 Star 0 Fork 0

NativeBase/juiapp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
.eslintrc.js 12.55 KB
一键复制 编辑 原始数据 按行查看 历史
NativeBase 提交于 2024-11-25 23:02 . 🔧 build:
module.exports = {
root: true,
extends: [
'@react-native-community/eslint-config',
'prettier'
// 'prettier/@typescript-eslint',
],
plugins: ['react', 'react-native'],
globals: {
JSX: true,
BigInt: true,
GLOBAL: true,
LOG: true
},
env: {
'react-native/react-native': true
},
rules: {
'react-native/no-inline-styles': 0, // 关闭内联样式警告
eqeqeq: 'error', // 必须使用 === 和 !==
'no-cond-assign': 2,
// 'no-console': ['error', {allow: ['log', 'warn', 'error', 'info']}],
'no-console': [0, { allow: ['log', 'warn', 'error', 'info'] }],
// 禁⽌ function 定义中出现重名参数
'no-dupe-args': 2,
// 禁⽌对象字⾯量中出现重复的 key
'no-dupe-keys': 2,
// 禁⽌重复的 case 标签
'no-duplicate-case': 2,
// 禁⽌空语句块
'no-empty': 2,
// 禁⽌对 catch ⼦句的参数重新赋值
'no-ex-assign': 2,
// 禁⽌不必要的布尔转换
'no-extra-boolean-cast': 2,
// 禁⽌不必要的括号
// (a * b) + c; //报错
'no-extra-parens': 0,
// 强制所有控制语句使⽤⼀致的括号风格
curly: [2, 'all'],
// 禁⽌ catch ⼦句的参数与外层作⽤域中的变量同名
'no-catch-shadow': 0,
// 不允许标签与变量同名
'no-label-var': 2,
// 禁⽤特定的全局变量
'no-restricted-globals': 2,
// 禁⽌ var 声明 与外层作⽤域的变量同名
'no-shadow': 0,
// 禁⽌覆盖受限制的标识符
'no-shadow-restricted-names': 2,
// 禁⽌将变量初始化为 undefined
'no-undef-init': 2,
// 禁⽌将 undefined 作为标识符
'no-undefined': 0,
// 不允许在变量定义之前使⽤它们
'no-use-before-define': 0,
// //////////// // 风格指南 // //////////////
// 指定数组的元素之间要以空格隔开(, 后⾯), never参数: [ 之前和 ] 之后不能带空格, always参数: [ 之前和 ] 之后必须带空格
'array-bracket-spacing': [2, 'never'],
// 禁⽌或强制在单⾏代码块中使⽤空格(禁⽤)
'block-spacing': [1, 'never'],
// 强制使⽤⼀致的缩进 第 ⼆ 个参数为 "tab" 时, 会使⽤tab,
// if while function 后⾯的{必须与if在同⼀⾏, java风格。
'brace-style': [2, '1tbs', { allowSingleLine: true }],
// 控制逗号前后的空格
'comma-spacing': [2, { before: false, after: true }],
'comma-style': [2, 'last'],
// "SwitchCase" (默认: 0) 强制 switch 语句中的 case ⼦句的缩进⽔平
// 以⽅括号取对象属性时, [ 后⾯和 ] 前⾯是否需要空格, 可选参数 never, always
'computed-property-spacing': [2, 'never'],
// ⽤于指统⼀在回调函数中指向this的变量名, 箭头函数中的this已经可以指向外层调⽤者,
// 应该没卵⽤了 // e.g [0,"self"] 指定只能 var that = this. self不能指向其他任何值,
// this也不能赋值给self以外的其他值 "consistent-this": [2, "self", "that", "_self", "_that", "me", "_this"],
// 强制使⽤命名的 function 表达式
'func-names': 0,
// ⽂件末尾强制换⾏
'eol-last': 2,
// 缩进
indent: ['off', 4],
// 要求或禁⽌在函数标识符和其调⽤之间有空格
'func-call-spacing': 2,
// 强制在对象字⾯量的属性中键和值之间使⽤⼀致的间距
'key-spacing': [2, { beforeColon: false, afterColon: true }],
// 要求在注释周围有空⾏ ( 要求在块级注释之前有⼀空⾏)
'lines-around-comment': 0,
'func-style': 0,
// 强制回调函数最⼤嵌套深度 5层
// 'max-nested-callbacks': [2, 5],
'max-nested-callbacks': 0,
// 禁⽌使⽤指定的标识符
'id-blacklist': 0,
// 强制标识符的最新和最⼤长度
'id-length': 0,
// 要求标识符匹配⼀个指定的正则表达式
'id-match': 0,
// 强制在 JSX 属性中⼀致地使⽤双引号或单引号
'jsx-quotes': 0,
// 强制在关键字前后使⽤⼀致的空格 (前后腰需要)
'keyword-spacing': 2,
// 强制⼀⾏的最⼤长度
'max-len': [1, 200, { ignoreUrls: true }],
// 强制最⼤⾏数
'max-lines': 0,
// 强制 function 定义中最多允许的参数数量
// 'max-params': [1, 5],
'max-params': 0,
// 强制 function 块最多允许的的语句数量
'max-statements': [1, 200],
// 强制每⼀⾏中所允许的最⼤语句数量
'max-statements-per-line': 0,
// 要求构造函数⾸字母⼤写 (要求调⽤ new 操作符时有⾸字母⼤⼩的函数, 允许调⽤⾸字母⼤写的函数时没有 new 操作符。)
'new-cap': [2, { newIsCap: true, capIsNew: false }],
// 要求调⽤⽆参构造函数时有圆括号
'new-parens': 2,
// 要求或禁⽌ var 声明语句后有⼀⾏空⾏
'newline-after-var': 0,
// 禁⽌使⽤ Array 构造函数
'no-array-constructor': 2,
// 禁⽤按位运算符
'no-bitwise': 0,
// 要求 return 语句之前有⼀空⾏
'newline-before-return': 0,
// 要求⽅法链中每个调⽤都有⼀个换⾏符
'newline-per-chained-call': 1,
// 禁⽤ continue 语句
'no-continue': 0,
// 禁⽌在代码⾏后使⽤内联注释
'no-inline-comments': 0,
// 禁⽌ if 作为唯⼀的语句出现在 else 语句中
'no-lonely-if': 0,
// 禁⽌混合使⽤不同的操作符
'no-mixed-operators': 0,
// 禁⽌空格和 tab 的混合缩进
'no-mixed-spaces-and-tabs': ['error', 'smart-tabs'],
// 不允许多个空⾏
'no-multiple-empty-lines': [2, { max: 2 }],
// 不允许否定的表达式
'no-negated-condition': 0,
// 不允许使⽤嵌套的三元表达式
'no-nested-ternary': 0,
// 禁⽌使⽤ Object 的构造函数
'no-new-object': 2,
// 禁⽌使⽤⼀元操作符 ++ 和 --
'no-plusplus': 0,
// 禁⽌使⽤特定的语法
'no-restricted-syntax': 0,
// 禁⽌ function 标识符和括号之间出现空格
'no-spaced-func': 2,
// 不允许使⽤三元操作符
'no-ternary': 0,
// 禁⽤⾏尾空格
'no-trailing-spaces': 2,
// 禁⽌标识符中有悬空下划线_bar
'no-underscore-dangle': 0,
// 禁⽌可以在有更简单的可替代的表达式时使⽤三元操作符
'no-unneeded-ternary': 2,
// 禁⽌属性前有空⽩
'no-whitespace-before-property': 2,
// 要求或禁⽌在 var 声明周围换⾏
'one-var-declaration-per-line': 0,
// 要求或禁⽌在可能的情况下要求使⽤简化的赋值操作符
'operator-assignment': 0,
// 强制操作符使⽤⼀致的换⾏符
'operator-linebreak': [2, 'after', { overrides: { '?': 'before', ':': 'before' } }], // 要求或禁⽌块内填充
'padded-blocks': 0,
// 要求对象字⾯量属性名称⽤引号括起来
'quote-props': 0,
// 强制使⽤⼀致的反勾号、双引号或单引号
quotes: [2, 'single', 'avoid-escape'],
// 要求使⽤ JSDoc 注释
'require-jsdoc': 0,
// 要求或禁⽌使⽤分号⽽不是 ASI (这个才是控制⾏尾部分号的, )
// semi: [1, 'always'],
semi: 'off',
// 强制分号之前和之后使⽤⼀致的空格
// 'semi-spacing': [4, {before: false, after: true}],
'semi-spacing': [1, { before: false, after: true }],
// 要求同⼀个声明块中的变量按顺序排列
'sort-vars': 0, // 强制在块之前使⽤⼀致的空格
'space-before-blocks': [2, 'always'],
// 强制在 function的左括号之前使⽤⼀致的空格
'space-before-function-paren': 0,
// 强制在圆括号内使⽤⼀致的空格
'space-in-parens': [2, 'never'],
// 要求操作符周围有空格
'space-infix-ops': 2,
// 强制在⼀元操作符前后使⽤⼀致的空格
'space-unary-ops': [2, { words: true, nonwords: false }],
// 强制在注释中 // 或 /* 使⽤⼀致的空格
'spaced-comment': [
2,
'always',
{
markers: ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!']
}
],
// 要求或禁⽌ Unicode BOM
'unicode-bom': 2,
// 要求正则表达式被括号括起来
'wrap-regex': 0,
// 禁⽌词法声明 (let、const、function 和 class) 出现在 case或default ⼦句中
'no-case-declarations': ['warn'],
// //////////// // ES6.相关 // //////////////
// 要求箭头函数体使⽤⼤括号
'arrow-body-style': 0,
// 要求箭头函数的参数使⽤圆括号
'arrow-parens': 0,
'arrow-spacing': [2, { before: true, after: true }],
// 强制 generator 函数中 * 号周围使⽤⼀致的空格
'generator-star-spacing': [2, { before: true, after: true }],
// 禁⽌修改类声明的变量
'no-class-assign': 2,
// 不允许箭头功能, 在那⾥他们可以混淆的⽐较
'no-confusing-arrow': 0,
// 禁⽌修改 const 声明的变量
'no-const-assign': 2,
// 禁⽌类成员中出现重复的名称
'no-dupe-class-members': 2,
// 每个模块只能使⽤⼀个import
'no-duplicate-imports': 2,
// 禁⽌ Symbolnew 操作符和 new ⼀起使⽤
'no-new-symbol': 2,
// 允许指定模块加载时的进⼝
'no-restricted-imports': 0,
// 禁⽌在构造函数中, 在调⽤ super() 之前使⽤ this 或 super
'no-this-before-super': 2,
// 禁⽌不必要的计算性能键对象的⽂字
'no-useless-computed-key': 0,
// 要求使⽤ let 或 const ⽽不是 var
'no-var': 1,
// 要求或禁⽌对象字⾯量中⽅法和属性使⽤简写语法
'object-shorthand': 0,
// 要求使⽤箭头函数作为回调
'prefer-arrow-callback': 0,
// 要求使⽤ const 声明那些声明后不再被修改的变量
'prefer-const': 0,
// 要求在合适的地⽅使⽤ Reflect ⽅法
'prefer-reflect': 0,
// 要求使⽤扩展运算符⽽⾮ .apply()
'prefer-spread': 0,
// 要求使⽤模板字⾯量⽽⾮字符串连接
'prefer-template': 0,
// Suggest using the rest parameters instead of arguments
'prefer-rest-params': 0,
// 要求generator 函数内有 yield
'require-yield': 2,
// 要求或禁⽌模板字符串中的嵌⼊表达式周围空格的使⽤
'template-curly-spacing': 1,
// 强制在 yield* 表达式中 * 周围使⽤空格
'yield-star-spacing': 2,
// 强制使⽤⼀致的换⾏风格
// 'linebreak-style': [2, 'unix'],
'linebreak-style': 0,
// 在JSX中强制布尔属性符号
'react/jsx-boolean-value': 2,
// 在JSX中验证右括号位置
// "react/jsx-closing-bracket-location": 1,
// 在JSX属性和表达式中加强或禁⽌⼤括号内的空格。
'react/jsx-curly-spacing': [2, { when: 'never', children: true }],
// 在数组或迭代器中验证JSX具有key属性
'react/jsx-key': 2,
// 限制JSX中单⾏上的props的最⼤数量
// 'react/jsx-max-props-per-line': [1, { maximum: 5 }],
'react/jsx-max-props-per-line': [1, { maximum: 10 }],
// 防⽌在JSX中重复的props
'react/jsx-no-duplicate-props': 2,
// 防⽌使⽤未包装的JSX字符串 //
'react/jsx-no-literals': 0,
// 在JSX中禁⽌未声明的变量
'react/jsx-no-undef': 2,
// 为⽤户定义的JSX组件强制使⽤PascalCase
'react/jsx-pascal-case': 0,
// 防⽌反应被错误地标记为未使⽤
'react/jsx-uses-react': 2,
// 防⽌在JSX中使⽤的变量被错误地标记为未使⽤
'react/jsx-uses-vars': 2,
// 防⽌在componentDidMount中使⽤setState
'react/no-did-mount-set-state': 2,
// 防⽌在componentDidUpdate中使⽤setState
'react/no-did-update-set-state': 2,
// 防⽌使⽤未知的DOM属性
'react/no-unknown-property': 2,
// 为React组件强制执⾏ES5或ES6类
'react/prefer-es6-class': 2,
// 防⽌在React组件定义中丢失props验证 //
'react/prop-types': 0,
// 使⽤JSX时防⽌丢失React
'react/react-in-jsx-scope': 2,
// 防⽌没有children的组件的额外结束标签
'react/self-closing-comp': 0,
// 防⽌在数组中遍历中使⽤数组key做索引
// "react/no-array-index-key": 0,
// 不使⽤弃⽤的⽅法
'react/no-deprecated': 2,
// 在JSX属性中强制或禁⽌等号周围的空格
'react/jsx-equals-spacing': 2,
'react/jsx-filename-extension': [2, { extensions: ['.js', '.jsx', '.ts', '.tsx'] }],
// 禁⽌未使⽤的变量
// 将未使用的变量视为警告
// 'no-unused-vars': 3,
// '@typescript-eslint/no-unused-vars': 1,
'@typescript-eslint/no-unused-vars': [1, { vars: 'all', args: 'after-used' }],
'no-unused-vars': [1, { vars: 'all', args: 'after-used' }],
// 'no-unused-vars': [1],
// 其他
'comma-dangle': 'off', // 是否允许对象中出现结尾逗号
'no-empty-function': 1, // 禁止空函数
'no-multi-spaces': 2, // 禁止使用多个空格
'prettier/prettier': 'off',
'object-curly-spacing': ['error', 'always'],
// 强制对象中使用一致的空格
// 'object-curly-spacing': 'always',
// 禁用不必要地嵌套块
'no-lone-blocks': 'off'
},
settings: {
'import/ignore': ['node_modules/react-native/']
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
TypeScript
1
https://gitee.com/NativeBase/juiapp.git
git@gitee.com:NativeBase/juiapp.git
NativeBase
juiapp
juiapp
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385