eslint基本配置
2020-06-12 本文已影响0人
WangLizhi
module.exports = {
// 环境 一个环境定义了一组预定义的全局变量。 参考链接:http://eslint.cn/docs/user-guide/configuring
env: {
browser: true,
es2020: true,
},
// 配置原文建中未定义的全局变量 exp: jquery undersocre ;
globals: {
underscore: 'writable', // 允许重写变量
jQuery: 'readonly', // 只读变量
Promise: 'off', // 禁用全局变量
},
// 编码规范
extends: ['plugin:react/recommended', 'airbnb'],
// 解析器
parser: '@typescript-eslint/parser', //default:espree. paramete: esprima | Babel-ESLint | @typescript-eslint/parser;
// 解析器选项
parserOptions: {
// 指定使用额外的语言特性
ecmaFeatures: {
globalReturn: false, // 允许在全局作用使用return语句
impliedStrict: false, // 启用严格模式(strict mode) >= ECMAScript 5版本;
jsx: true, // 启用JSX
experimentalObjectRestSpread: false, // 启用实验性的 object rest/spread properties 支持. 不推荐开启;
},
ecmaVersion: 11, // 制定当前使用ECMAScript语法的版本 parameter:2020年份 or 11版本号;
sourceType: 'module', // parameter: 'script' or 'module';
},
// 插件可以提供处理器
plugins: ['react', '@typescript-eslint'],
// plugins: ['react', '@typescript-eslint', 'a-plugin'],
// 配置指定处理器 格式为:插件名/处理器名
processor: 'a-plugin/a-processor',
// 为特定类型的文件指定处理器
overrides: [
{
files: ['*.md'], // 指定文件 可设置多个类型
processsor: 'a-plugin/markdown',
},
{
files: ['**/*.md/*.js'],
rules: {
strict: 'off',
},
},
],
// 配置检查规则
rules: {
eqeqeq: 'off', // "off"或者0 关闭规则
'no-console': 'warn', // "warn"或者1 将规则打开为警告(不影响退出代码)
curly: 'error', // "error"或者2 将规则打开为错误(触发时退出代码为1)
quotes: ['error', 'double'], // 如果规则具有其他选项,则可以使用数组文字语法来指定它们
},
};