.eslintrc.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. module.exports = {
  2. 'extends': [
  3. 'airbnb-base/legacy',
  4. ],
  5. 'parserOptions': {
  6. 'sourceType': 'module',
  7. 'ecmaVersion': 2017,
  8. },
  9. 'env': {
  10. 'node': true,
  11. 'es6': true,
  12. },
  13. "rules": {
  14. // The one assertion of personal preference: no spaces before parentheses
  15. // of anonymous functions
  16. 'space-before-function-paren': ['error', {
  17. anonymous: 'never',
  18. named: 'never',
  19. asyncArrow: 'always',
  20. }],
  21. // Temporarily disabled rules
  22. //
  23. // no-use-before-define is a good rule, but it would make the diff for
  24. // linting the code even more inscrutible than it already is.
  25. 'no-use-before-define': 'off',
  26. // Relax some rules
  27. 'no-cond-assign': ['error', 'except-parens'],
  28. 'no-unused-vars': ['error', {
  29. 'args': 'none',
  30. }],
  31. // Disable some overly-strict airbnb style rules
  32. 'no-underscore-dangle': 'off',
  33. 'no-param-reassign': 'off',
  34. 'class-methods-use-this': 'off',
  35. 'function-paren-newline': 'off',
  36. 'no-plusplus': 'off',
  37. 'object-curly-spacing': 'off',
  38. 'no-multi-assign': 'off',
  39. 'no-else-return': 'off',
  40. // While technically useless from the point of view of the regex parser,
  41. // escaping characters inside character classes is more consistent. I
  42. // would say that they make the regular expression more readable, if the
  43. // idea of readable regular expressions wasn't absurd on its face.
  44. 'no-useless-escape': 'off',
  45. // I'm inclined to reverse this rule to be ['error', 'always'], but not just yet
  46. // IE 8 is a thing of the past and trailing commas are useful.
  47. 'comma-dangle': 'off',
  48. },
  49. 'globals': {
  50. 'nunjucks': false,
  51. },
  52. };