.eslintrc.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /* global module */
  2. module.exports = {
  3. "env": {
  4. "browser": true,
  5. "es6": true
  6. },
  7. "extends": "eslint:recommended",
  8. "rules": {
  9. // Possible Errors
  10. "no-async-promise-executor": "error",
  11. "no-await-in-loop": "error",
  12. "no-class-assign": "error",
  13. "no-confusing-arrow": "error",
  14. "no-const-assign": "error",
  15. "no-dupe-class-members": "error",
  16. "no-duplicate-imports": "error",
  17. "no-template-curly-in-string": "error",
  18. "no-useless-computed-key": "error",
  19. "no-useless-constructor": "error",
  20. "no-useless-rename": "error",
  21. "require-atomic-updates": "error",
  22. // Best practices
  23. "strict": "error",
  24. "no-var": "error",
  25. // Stylistic Issues
  26. "arrow-spacing": "error",
  27. "capitalized-comments": [
  28. "warn",
  29. "always",
  30. {
  31. "ignoreConsecutiveComments": true
  32. },
  33. ],
  34. "keyword-spacing": "error",
  35. "lines-around-comment": [
  36. "error",
  37. {
  38. "beforeBlockComment": true,
  39. "beforeLineComment": true,
  40. "allowBlockStart": true,
  41. "allowClassStart": true,
  42. "allowObjectStart": true,
  43. "allowArrayStart": true,
  44. },
  45. ],
  46. "no-multiple-empty-lines": [
  47. "error",
  48. {
  49. "max": 1,
  50. },
  51. ],
  52. "padded-blocks": [
  53. "error",
  54. "never",
  55. ],
  56. "padding-line-between-statements": [
  57. "error",
  58. {
  59. // always before return
  60. "blankLine": "always",
  61. "prev": "*",
  62. "next": "return",
  63. },
  64. {
  65. // always before block-like expressions
  66. "blankLine": "always",
  67. "prev": "*",
  68. "next": "block-like",
  69. },
  70. {
  71. // always after variable declaration
  72. "blankLine": "always",
  73. "prev": [ "const", "let", "var" ],
  74. "next": "*",
  75. },
  76. {
  77. // not necessary between variable declaration
  78. "blankLine": "any",
  79. "prev": [ "const", "let", "var" ],
  80. "next": [ "const", "let", "var" ],
  81. },
  82. ],
  83. "space-before-blocks": "error",
  84. }
  85. };