Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

eslint-config-soda

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-config-soda - npm Package Compare versions

Comparing version 0.0.2 to 0.1.0

4

browser.js
module.exports = {
parser: 'babel-eslint',
extends: [

@@ -17,4 +16,3 @@ 'eslint-config-soda/rules/esnext',

'eslint-config-soda/rules/browser'
],
parser: 'babel-eslint'
]
};

@@ -18,4 +18,3 @@ module.exports = {

'eslint-config-soda/rules/node'
],
parser: 'babel-eslint'
]
};
module.exports = {
parser: 'babel-eslint',
extends: [

@@ -16,4 +15,3 @@ 'eslint-config-soda/rules/esnext',

'eslint-config-soda/rules/node'
],
parser: 'babel-eslint'
]
};
{
"name": "eslint-config-soda",
"version": "0.0.2",
"version": "0.1.0",
"description": "ESLint configurations for my personal projects",

@@ -5,0 +5,0 @@ "main": "index.js",

module.exports = {
// parser: 'babel-eslint', // seems eslint can't process this setting when it's in a subpath
parser: 'babel-eslint', // seems eslint can't process this setting when it's in a subpath
env: {

@@ -4,0 +4,0 @@ es6: false

module.exports = {
// parser: 'babel-eslint', // seems eslint can't process this setting when it's in a subpath
parser: 'babel-eslint', // seems eslint can't process this setting when it's in a subpath
plugins: [

@@ -4,0 +4,0 @@ 'react'

module.exports = {
// Stylistic Issues
rules: {
// Stylistic Issues
// 使用分号
'semi': [1, 'always'],
// 使用分号
'semi': [1, 'always'],
// 分号前不得有空格,分号后(如果有内容)必须有空格
'semi-spacing': [1, { before: false, after: true }],
// 分号前不得有空格,分号后(如果有内容)必须有空格
'semi-spacing': [1, { before: false, after: true }],
// 逗号只能出现在行中或行末,不能出现在行首
'comma-style': [1, 'last'],
// 逗号只能出现在行中或行末,不能出现在行首
'comma-style': [1, 'last'],
// 逗号前不得有空格,逗号后(如果有内容)必须有空格
'comma-spacing': [1, { before: false, after: true }],
// 逗号前不得有空格,逗号后(如果有内容)必须有空格
'comma-spacing': [1, { before: false, after: true }],
// 如果在点号 . 处换行,点号应当在下一行行首
'dot-location': [1, 'property'],
// 如果在点号 . 处换行,点号应当在下一行行首
'dot-location': [1, 'property'],
// 如果在操作符(比如 +)处换行,操作符应当在下一行行首
// 对于一长串字符串的拼接,感觉在行末更舒服
'operator-linebreak': 0, // [1, before]
// 如果在操作符(比如 +)处换行,操作符应当在下一行行首
// 对于一长串字符串的拼接,感觉在行末更舒服
'operator-linebreak': 0, // [1, before]
// 在变量定义后应当跟着一行空行
// 目前尚有 bug 所以暂时关闭这个检查
'newline-after-var': 0, // [1, always]
// 在变量定义后应当跟着一行空行
// 目前尚有 bug 所以暂时关闭这个检查
'newline-after-var': 0, // [1, always]
// 一律使用单引号,除非字符串的值中有单引号
'quotes': [1, 'single', 'avoid-escape'],
// 一律使用单引号,除非字符串的值中有单引号
'quotes': [1, 'single', 'avoid-escape'],
// 采用 4 个空格缩进,可以使代码看起来更整洁点
'indent': [1, 4], // eslint-disable-line no-magic-numbers
// 采用 4 个空格缩进,可以使代码看起来更整洁点
'indent': [1, 4], // eslint-disable-line no-magic-numbers
// 严禁空格和 Tab 混用
'no-mixed-spaces-and-tabs': 2,
// 严禁空格和 Tab 混用
'no-mixed-spaces-and-tabs': 2,
// 禁止多个连续空格
// 例外:对象属性、变量定义和 import 语句
'no-multi-spaces': [1, { exceptions: { Property: true, VariableDeclaration: true, ImportDeclaration: true } }],
// 禁止多个连续空格
// 例外:对象属性、变量定义和 import 语句
'no-multi-spaces': [1, { exceptions: { Property: true, VariableDeclaration: true, ImportDeclaration: true } }],
// 行末空格应当被去除
'no-trailing-spaces': 1,
// 行末空格应当被去除
'no-trailing-spaces': 1,
// 调用函数时,函数名和括号间不能有空格
'no-spaced-func': 1,
// 调用函数时,函数名和括号间不能有空格
'no-spaced-func': 1,
// 中缀操作符两侧都需要有空格(a|0 这种强制转换 a 为 int32 类型的操作除外)
'space-infix-ops': [1, { int32Hint: false }],
// 中缀操作符两侧都需要有空格(a|0 这种强制转换 a 为 int32 类型的操作除外)
'space-infix-ops': [1, { int32Hint: false }],
// 单词形式的单目操作符(new、delete、void、typeof 等)后面应当跟有空格
// 符号形式的单目操作符(++、--、-、+、!、!! 等)后面不应有空格
'space-unary-ops': [1, { words: true, nonwords: false }],
// 单词形式的单目操作符(new、delete、void、typeof 等)后面应当跟有空格
// 符号形式的单目操作符(++、--、-、+、!、!! 等)后面不应有空格
'space-unary-ops': [1, { words: true, nonwords: false }],
// 关键词 if / else / for / while / do / switch / try / catch / finally / with 之后需要跟空格
// 比如 if (cond) 不能写成 if(cond)
'space-after-keywords': [1, 'always'],
// 关键词 if / else / for / while / do / switch / try / catch / finally / with 之后需要跟空格
// 比如 if (cond) 不能写成 if(cond)
'space-after-keywords': [1, 'always'],
// else, while 之类的关键词前面必须有空格
// 比如 if (a) { b() } else { c(); }
'space-before-keywords': [1, 'always'],
// else, while 之类的关键词前面必须有空格
// 比如 if (a) { b() } else { c(); }
'space-before-keywords': [1, 'always'],
// 对上一个规则的补充,针对 return / throw / case
'space-return-throw-case': 1,
// 对上一个规则的补充,针对 return / throw / case
'space-return-throw-case': 1,
// 函数定义的 () 前不应有空格
// 示例:function() {}、function foo() {}
'space-before-function-paren': [1, 'never'],
// 函数定义的 () 前不应有空格
// 示例:function() {}、function foo() {}
'space-before-function-paren': [1, 'never'],
// 代码块的花括号 { 前面应当有个空格
'space-before-blocks': [1, 'always'],
// 代码块的花括号 { 前面应当有个空格
'space-before-blocks': [1, 'always'],
// single line blocks 的 { 之后以及 } 之前应当有空格
// 比如 function foo() { return 0; }
'block-spacing': [1, 'always'],
// single line blocks 的 { 之后以及 } 之前应当有空格
// 比如 function foo() { return 0; }
'block-spacing': [1, 'always'],
// 花括号 { 一律在行末,除非表达式只有一行
'brace-style': [1, '1tbs', { allowSingleLine: true }],
// 花括号 { 一律在行末,除非表达式只有一行
'brace-style': [1, '1tbs', { allowSingleLine: true }],
// ( 右侧和 ) 左侧不应有空格
'space-in-parens': [1, 'never'],
// ( 右侧和 ) 左侧不应有空格
'space-in-parens': [1, 'never'],
// object literal 的 { 后以及 } 前都应有空格
'object-curly-spacing': [1, 'always'],
// object literal 的 { 后以及 } 前都应有空格
'object-curly-spacing': [1, 'always'],
// 对于数组的话,个人觉得不带空格更美观
'array-bracket-spacing': [1, 'never'],
// 对于数组的话,个人觉得不带空格更美观
'array-bracket-spacing': [1, 'never'],
// computed property 的方括号中是否需要带空格无所谓,属性名太复杂时加空格保证可读性,简单的话就不加了
'computed-property-spacing': 0,
// computed property 的方括号中是否需要带空格无所谓,属性名太复杂时加空格保证可读性,简单的话就不加了
'computed-property-spacing': 0,
// 定义对象属性时,冒号前不应有空格,冒号后必须有空格;在需要对齐的场合,padding 空格加在冒号右侧,但不强制要求对齐
'key-spacing': [1, { beforeColon: false, afterColon: true }],
// 定义对象属性时,冒号前不应有空格,冒号后必须有空格;在需要对齐的场合,padding 空格加在冒号右侧,但不强制要求对齐
'key-spacing': [1, { beforeColon: false, afterColon: true }],
// 用于注释的 // 和 /* 后面应当有个空格
'spaced-comment': [1, 'always'],
// 用于注释的 // 和 /* 后面应当有个空格
'spaced-comment': [1, 'always'],
// 在多行注释开始前要有一个空行(在代码块开头、对象字面量和数组字面量的开头结尾时除外)
'lines-around-comment': [1, {
beforeBlockComment: true,
allowBlockStart: true,
allowObjectStart: true,
allowObjectEnd: true,
allowArrayStart: true,
allowArrayEnd: true
}],
// 在多行注释开始前要有一个空行(在代码块开头、对象字面量和数组字面量的开头结尾时除外)
'lines-around-comment': [1, {
beforeBlockComment: true,
allowBlockStart: true,
allowObjectStart: true,
allowObjectEnd: true,
allowArrayStart: true,
allowArrayEnd: true
}],
// 代码块首尾不应有空行
'padded-blocks': [1, 'never'],
// 代码块首尾不应有空行
'padded-blocks': [1, 'never'],
// 最多可以有连续 5 个空行
// At the end of file, one and only one newline is required
'no-multiple-empty-lines': [1, { max: 5, maxEOF: 1 }],
// 最多可以有连续 5 个空行
// At the end of file, one and only one newline is required
'no-multiple-empty-lines': [1, { max: 5, maxEOF: 1 }],
// 必须用 LF 作为换行符
'linebreak-style': [2, 'unix'],
// 必须用 LF 作为换行符
'linebreak-style': [2, 'unix'],
// 非空文件应当以换行结尾(UNIX 惯例)
'eol-last': 1,
// 非空文件应当以换行结尾(UNIX 惯例)
'eol-last': 1,
// else 语句中如果有且仅有一个 if 判断
// 即,形如 else { if () {} } 的语句,应当用 else if 代替
'no-lonely-if': 1,
// else 语句中如果有且仅有一个 if 判断
// 即,形如 else { if () {} } 的语句,应当用 else if 代替
'no-lonely-if': 1,
// 定义 object literal 时,属性名如非必要,不应加引号,不过需要优先保证一致性(即,如果有一个属性名必须加引号,则其它属性名也要加)
'quote-props': [1, 'consistent-as-needed'],
// 定义 object literal 时,属性名如非必要,不应加引号,不过需要优先保证一致性(即,如果有一个属性名必须加引号,则其它属性名也要加)
'quote-props': [1, 'consistent-as-needed'],
// 以下划线开头的变量命名个人感觉并无不妥
'no-underscore-dangle': 0,
// 以下划线开头的变量命名个人感觉并无不妥
'no-underscore-dangle': 0,
// 采用驼峰命名法(不检查对象属性的命名,考虑到可能会和后端数据通信等情况)
'camelcase': [1, { properties: 'never' }],
// 采用驼峰命名法(不检查对象属性的命名,考虑到可能会和后端数据通信等情况)
'camelcase': [1, { properties: 'never' }],
// 如果要把 this 赋给一个临时的变量,那这个变量必须命名为 self,而不是 that 或者其他什么
// ES6+ 的项目请使用箭头函数,不需要这个规则,参见 smells/no-this-assign 规则
'consistent-this': [1, 'self'],
// 如果要把 this 赋给一个临时的变量,那这个变量必须命名为 self,而不是 that 或者其他什么
// ES6+ 的项目请使用箭头函数,不需要这个规则,参见 smells/no-this-assign 规则
'consistent-this': [1, 'self'],
// 不要求每个函数都有 function name,函数表达式里还是允许匿名函数的,不过给函数表达式加上函数名有利于输出更清晰的 stack trace
'func-names': 0,
// 不要求每个函数都有 function name,函数表达式里还是允许匿名函数的,不过给函数表达式加上函数名有利于输出更清晰的 stack trace
'func-names': 0,
// 使用函数表达式还是函数声明来定义函数,随开发者喜好而定,不作要求
'func-style': 0,
// 使用函数表达式还是函数声明来定义函数,随开发者喜好而定,不作要求
'func-style': 0,
// 对标示符长度不作限制,考虑到有些人写过 Objective-C,习惯长变量名……
'id-length': 0,
// 对标示符长度不作限制,考虑到有些人写过 Objective-C,习惯长变量名……
'id-length': 0,
// 构造器函数必须以大写字母开头、以大写字母开头的函数只能作为构造器函数被调用(除了内置类型比如 Array 这些)
'new-cap': [1, { newIsCap: true, capIsNew: true }],
// 构造器函数必须以大写字母开头、以大写字母开头的函数只能作为构造器函数被调用(除了内置类型比如 Array 这些)
'new-cap': [1, { newIsCap: true, capIsNew: true }],
// 虽然 JavaScript 允许在 new 的时候函数名后面不带括号,不过这个风格看起来不大舒服,所以还是要求必须加上括号
'new-parens': 1,
// 虽然 JavaScript 允许在 new 的时候函数名后面不带括号,不过这个风格看起来不大舒服,所以还是要求必须加上括号
'new-parens': 1,
// 允许使用 continue 语句
'no-continue': 0,
// 允许使用 continue 语句
'no-continue': 0,
// 允许行内注释
'no-inline-comments': 0,
// 允许行内注释
'no-inline-comments': 0,
// 允许使用三目运算符
'no-ternary': 0,
// 允许使用三目运算符
'no-ternary': 0,
// 但不要嵌套三目运算,这样可读性很差
'no-nested-ternary': 1,
// 但不要嵌套三目运算,这样可读性很差
'no-nested-ternary': 1,
// 没必要的三目运算也应该去掉,比如 var a = (x === 2) ? true : false;
'no-unneeded-ternary': 1,
// 没必要的三目运算也应该去掉,比如 var a = (x === 2) ? true : false;
'no-unneeded-ternary': 1,
// 允许 ++ 和 --
'no-plusplus': 0,
// 允许 ++ 和 --
'no-plusplus': 0,
// 有的规范建议正则表达式用括号括起来,以增加可读性
// 不过个人认为没必要
'wrap-regex': 0,
// 有的规范建议正则表达式用括号括起来,以增加可读性
// 不过个人认为没必要
'wrap-regex': 0,
// 变量声明主要考虑可读性,不必强制在一个 var 语句或者多个语句中声明
'one-var': 0,
// 变量声明主要考虑可读性,不必强制在一个 var 语句或者多个语句中声明
'one-var': 0,
// 变量声明的顺序由作者自行考虑,不强制
'sort-vars': 0,
// 变量声明的顺序由作者自行考虑,不强制
'sort-vars': 0,
// operator assignment shorthand 如 += 等,在可读性好的时候再用,不强制统一风格
'operator-assignment': 0,
// operator assignment shorthand 如 += 等,在可读性好的时候再用,不强制统一风格
'operator-assignment': 0,
// 这个规则用于置顶代码中标示符的命名规范
// 个人觉得有点不必要……而且真正想要规范的部分是无法简单地用正则表达出来的(比如 button 必须缩写为 btn 之类的规范)
'id-match': 0
// 这个规则用于置顶代码中标示符的命名规范
// 个人觉得有点不必要……而且真正想要规范的部分是无法简单地用正则表达出来的(比如 button 必须缩写为 btn 之类的规范)
'id-match': 0
}
};
module.exports = {
// 禁止使用未经声明的变量,在 typeof 表达式中除外
'no-undef': [2, { typeof: false }],
rules: {
// 禁止使用未经声明的变量,在 typeof 表达式中除外
'no-undef': [2, { typeof: false }],
// 只能把 var 定义的变量当做块级变量来用,避免因为 variable hoisting 带来的难以察觉的 bug,同时方便将来迁移到 ES6 的 let/const
'block-scoped-var': 1,
// 只能把 var 定义的变量当做块级变量来用,避免因为 variable hoisting 带来的难以察觉的 bug,同时方便将来迁移到 ES6 的 let/const
'block-scoped-var': 1,
// 除函数以外,所有变量在使用前都应被定义
'no-use-before-define': [2, 'nofunc'],
// 除函数以外,所有变量在使用前都应被定义
'no-use-before-define': [2, 'nofunc'],
// 个人觉得,在声明时是否初始化变量不是特别重要
'init-declarations': 0,
// 个人觉得,在声明时是否初始化变量不是特别重要
'init-declarations': 0,
// IE8- 中,catch 语句的参数会覆盖上层作用域的同名变量,对于需要兼容低版本浏览器的项目需要注意
'no-catch-shadow': 2,
// IE8- 中,catch 语句的参数会覆盖上层作用域的同名变量,对于需要兼容低版本浏览器的项目需要注意
'no-catch-shadow': 2,
// 只有对象属性才能被 delete http://jslinterrors.com/only-properties-should-be-deleted/
'no-delete-var': 2,
// 只有对象属性才能被 delete http://jslinterrors.com/only-properties-should-be-deleted/
'no-delete-var': 2,
// (为了可读性)标签名不应与变量名重名
'no-label-var': 2,
// (为了可读性)标签名不应与变量名重名
'no-label-var': 2,
// 全局属性(NaN / Infinity / undefined)以及严格模式下的 restricted names (包括 eval / arguments)不可被覆盖
'no-shadow-restricted-names': 2,
// 全局属性(NaN / Infinity / undefined)以及严格模式下的 restricted names (包括 eval / arguments)不可被覆盖
'no-shadow-restricted-names': 2,
// 禁止跟上层作用域中的变量重名
// 如果代码写在最外层作用域的话,建议开启 builtinGlobal: true,以避免与 window 下的全局属性重名
// 否则的话不必开启,不然的话连 self 这个变量名都没法用了……
'no-shadow': [2, { builtinGlobals: false, hoist: 'functions' }],
// 禁止跟上层作用域中的变量重名
// 如果代码写在最外层作用域的话,建议开启 builtinGlobal: true,以避免与 window 下的全局属性重名
// 否则的话不必开启,不然的话连 self 这个变量名都没法用了……
'no-shadow': [2, { builtinGlobals: false, hoist: 'functions' }],
// 没必要把变量初始化为 undefined
'no-undef-init': 2,
// 没必要把变量初始化为 undefined
'no-undef-init': 2,
// 考虑到 undefined 可能被覆盖,一般不建议直接使用它
// foo === undefined 应该改用 typeof foo === 'undefined'
'no-undefined': 1,
// 考虑到 undefined 可能被覆盖,一般不建议直接使用它
// foo === undefined 应该改用 typeof foo === 'undefined'
'no-undefined': 1,
// 定义过的变量都要被用到,不然的话很可能是没重构完导致的错误
'no-unused-vars': [1, { vars: 'all', args: 'after-used' }],
// 定义过的变量都要被用到,不然的话很可能是没重构完导致的错误
'no-unused-vars': [1, { vars: 'all', args: 'after-used' }],
'no-magic-numbers': [1, { ignore: [-1, 0, 1, 2] }]
'no-magic-numbers': [1, { ignore: [-1, 0, 1, 2] }]
}
};
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc