.eslintrc.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // http://eslint.org/docs/user-guide/configuring
  2. module.exports = {
  3. root: true,
  4. parser: 'babel-eslint',
  5. parserOptions: {
  6. sourceType: 'module'
  7. },
  8. env: {
  9. browser: true,
  10. },
  11. extends: 'airbnb-base',
  12. // required to lint *.vue files
  13. plugins: [
  14. 'html'
  15. ],
  16. // check if imports actually resolve
  17. 'settings': {
  18. 'import/resolver': {
  19. 'webpack': {
  20. 'config': 'scripts/webpack.conf.js'
  21. }
  22. }
  23. },
  24. // add your custom rules here
  25. 'rules': {
  26. // don't require .vue extension when importing
  27. 'import/extensions': ['error', 'always', {
  28. 'js': 'never',
  29. 'vue': 'never'
  30. }],
  31. // allow debugger during development
  32. 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
  33. 'no-console': ['error', {
  34. allow: ['error', 'warn'],
  35. }],
  36. 'no-param-reassign': ['error', {
  37. props: false,
  38. }],
  39. 'array-callback-return': ['off'],
  40. 'consistent-return': ['off'],
  41. 'no-use-before-define': ['error', 'nofunc'],
  42. 'object-shorthand': ['error', 'always'],
  43. 'no-mixed-operators': ['error', {allowSamePrecedence: true}],
  44. 'no-bitwise': ['error', {int32Hint: true}],
  45. 'no-underscore-dangle': ['off'],
  46. 'arrow-parens': 0,
  47. },
  48. globals: {
  49. browser: true,
  50. zip: true,
  51. },
  52. }