.eslintrc 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. {
  2. // 以当前目录为根目录,不再向上查找 .eslintrc.js
  3. "root": true,
  4. "parser": "babel-eslint",
  5. "parserOptions": {
  6. "sourceType": "module"
  7. },
  8. "env": {
  9. "es6": true,
  10. "node": false,
  11. "browser": true
  12. },
  13. "plugins": [
  14. "html",
  15. "prettier"
  16. ],
  17. "extends": [
  18. "eslint:recommended",
  19. "plugin:prettier/recommended"
  20. ],
  21. "globals": {
  22. "toastr":false,
  23. "$": false,
  24. "turf": false,
  25. "haoutil": false,
  26. "mars3d": false,
  27. "L": false,
  28. "Cesium": false,
  29. "THREE": false,
  30. "map":false,
  31. "echarts":false,
  32. "initLayerManager":false,
  33. "initGraphicManager":false,
  34. "localforage":false,
  35. "JB":false,
  36. "Ammo":false
  37. },
  38. // ""0""表示忽略问题,等同于"off";
  39. // ""1""表示给出警告,等同于"warn";
  40. // ""2""表示直接报错,等同于"error"。
  41. "rules": {
  42. // require 必须在全局作用域下
  43. "global-require": "off",
  44. //强制一致的缩进风格
  45. "indent": "off",
  46. //不允许出现console语句
  47. "no-console": "off",
  48. //强制驼峰命名规则
  49. "camelcase": "off",
  50. //块内行首行尾是否空行
  51. "padded-blocks": "off",
  52. // 不能有声明后未被使用的变量或参数
  53. "no-unused-vars": "off",
  54. //一行最后不允许有空格
  55. "no-trailing-spaces": "off",
  56. // 强制使用有效的 JSDoc 注释
  57. "valid-jsdoc": "off",
  58. // @fixable 禁止使用 var
  59. "no-var": "off",
  60. //不允许Object.prototype
  61. "no-prototype-builtins": "off",
  62. // 使用 === 替代 ==
  63. "eqeqeq": "off",
  64. //不允许混用tab和空格
  65. "no-mixed-spaces-and-tabs": "error",
  66. // 禁止在非赋值或条件语句中使用 new 操作符
  67. "no-new": "error",
  68. // 禁止对 String,Number 和 Boolean 使用 new 操作符
  69. "no-new-wrappers": "error",
  70. // 要求 return 语句要么总是指定返回的值,要么不指定
  71. "consistent-return": "off",
  72. // switch 语句强制 default 分支,也可添加 // no default 注释取消此次警告
  73. "default-case": "off",
  74. // 禁止自我赋值
  75. "no-self-assign": "error",
  76. // 禁止自身比较
  77. "no-self-compare": "error",
  78. // 将 var 定义的变量视为块作用域,禁止在块外使用
  79. "block-scoped-var": "error",
  80. // for in 内部必须有 hasOwnProperty
  81. "guard-for-in": "off",
  82. // switch 的 case 内有变量定义的时候,必须使用大括号将 case 内变成一个代码块
  83. "no-case-declarations": "error",
  84. // 禁止修改原生对象
  85. "no-extend-native": "error",
  86. // @fixable 禁止出现没必要的 bind
  87. "no-extra-bind": "error",
  88. // @fixable 禁止出现没必要的 label
  89. "no-extra-label": "error",
  90. // switch 的 case 内必须有 break, return 或 throw
  91. "no-fallthrough": "error",
  92. // @fixable 表示小数时,禁止省略 0,比如 .5
  93. "no-floating-decimal": "error",
  94. // 禁止对全局变量赋值
  95. "no-global-assign": "error",
  96. // 禁止使用 \ 来换行字符串
  97. "no-multi-str": "error",
  98. // constructor 中必须有 super
  99. "constructor-super": "error",
  100. // 禁止对使用 const 定义的常量重新赋值
  101. "no-const-assign": "error",
  102. // 禁止重复定义类
  103. "no-dupe-class-members": "error",
  104. // 禁止重复 import 模块
  105. "no-duplicate-imports": "error",
  106. // 禁止出现没必要的 constructor,比如 constructor(value) { super(value) }
  107. "no-useless-constructor": "error",
  108. "sort-imports": ["error", {
  109. "ignoreCase": false ,
  110. "ignoreMemberSort": false,
  111. "memberSyntaxSortOrder": ["none", "all", "multiple", "single"],
  112. "ignoreDeclarationSort":true
  113. }],
  114. // 强制所有控制语句使用一致的括号风格
  115. // @fixable if 后面必须要有 {,除非是单行 if
  116. "curly": [
  117. "error",
  118. "all"
  119. ],
  120. //@fixable 链式调用的时候,点号必须放在第二行开头处,禁止放在第一行结尾处
  121. "dot-location": [
  122. "off",
  123. "property"
  124. ],
  125. // 控制逗号在行尾出现还是在行首出现 (默认行尾)
  126. // http://eslint.org/docs/rules/comma-style
  127. "comma-style": [
  128. "error",
  129. "last"
  130. ],
  131. //函数定义时括号前的空格
  132. "space-before-function-paren": [
  133. "off",
  134. "always"
  135. ],
  136. //空行最多不能超过两行
  137. "no-multiple-empty-lines": [
  138. "error",
  139. {
  140. "max": 3
  141. }
  142. ],
  143. // @fixable 大括号内的首尾必须有换行
  144. "object-curly-newline": [
  145. "error",
  146. {
  147. "multiline": true,
  148. "consistent": true
  149. }
  150. ],
  151. //"SwitchCase" (默认:0) 强制 switch 语句中的 case 子句的缩进水平
  152. // 以方括号取对象属性时,[ 后面和 ] 前面是否需要空格, 可选参数 never, always
  153. "computed-property-spacing": [
  154. "error",
  155. "never"
  156. ]
  157. }
  158. }