.eslintrc.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. module.exports = {
  2. 'extends': [
  3. 'airbnb-base',
  4. 'plugin:promise/recommended'
  5. ],
  6. 'parserOptions': {
  7. 'ecmaVersion': 9,
  8. 'ecmaFeatures': {
  9. 'jsx': false
  10. },
  11. 'sourceType': 'module'
  12. },
  13. 'env': {
  14. 'es6': true,
  15. 'node': true,
  16. 'jest': true
  17. },
  18. 'plugins': [
  19. 'import',
  20. 'node',
  21. 'promise'
  22. ],
  23. 'rules': {
  24. 'arrow-parens': 'off',
  25. 'comma-dangle': [
  26. 'error',
  27. 'only-multiline'
  28. ],
  29. 'complexity': ['error', 20],
  30. 'func-names': 'off',
  31. 'global-require': 'off',
  32. 'handle-callback-err': [
  33. 'error',
  34. '^(err|error)$'
  35. ],
  36. 'import/no-unresolved': [
  37. 'error',
  38. {
  39. 'caseSensitive': true,
  40. 'commonjs': true,
  41. 'ignore': ['^[^.]']
  42. }
  43. ],
  44. 'import/prefer-default-export': 'off',
  45. 'linebreak-style': 'off',
  46. 'no-catch-shadow': 'error',
  47. 'no-continue': 'off',
  48. 'no-div-regex': 'warn',
  49. 'no-else-return': 'off',
  50. 'no-param-reassign': 'off',
  51. 'no-plusplus': 'off',
  52. 'no-shadow': 'off',
  53. 'no-multi-assign': 'off',
  54. 'no-underscore-dangle': 'off',
  55. 'node/no-deprecated-api': 'error',
  56. 'node/process-exit-as-throw': 'error',
  57. 'object-curly-spacing': [
  58. 'error',
  59. 'never'
  60. ],
  61. 'operator-linebreak': [
  62. 'error',
  63. 'after',
  64. {
  65. 'overrides': {
  66. ':': 'before',
  67. '?': 'before'
  68. }
  69. }
  70. ],
  71. 'prefer-arrow-callback': 'off',
  72. 'prefer-destructuring': 'off',
  73. 'prefer-template': 'off',
  74. 'quote-props': [
  75. 1,
  76. 'as-needed',
  77. {
  78. 'unnecessary': true
  79. }
  80. ],
  81. 'semi': [
  82. 'error',
  83. 'never'
  84. ],
  85. 'max-len': 'off',
  86. 'no-bitwise': 'off',
  87. 'no-mixed-operators': 'off',
  88. },
  89. 'globals': {
  90. 'window': true,
  91. 'document': true,
  92. 'App': true,
  93. 'Page': true,
  94. 'Component': true,
  95. 'Behavior': true
  96. }
  97. }