.eslintrc.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // https://eslint.org/docs/user-guide/configuring
  2. module.exports = {
  3. root: true,
  4. parserOptions: {
  5. parser: 'babel-eslint'
  6. },
  7. env: {
  8. browser: true,
  9. },
  10. // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
  11. // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
  12. extends: ['plugin:vue/essential', 'airbnb-base'],
  13. // required to lint *.vue files
  14. plugins: [
  15. 'vue'
  16. ],
  17. // check if imports actually resolve
  18. settings: {
  19. 'import/resolver': {
  20. webpack: {
  21. config: 'build/webpack.base.conf.js'
  22. }
  23. }
  24. },
  25. // add your custom rules here
  26. rules: {
  27. // don't require .vue extension when importing
  28. 'import/extensions': ['error', 'always', {
  29. js: 'never',
  30. vue: 'never'
  31. }],
  32. // disallow reassignment of function parameters
  33. // disallow parameter object manipulation except for specific exclusions
  34. 'no-param-reassign': ['error', {
  35. props: true,
  36. ignorePropertyModificationsFor: [
  37. 'state', // for vuex state
  38. 'acc', // for reduce accumulators
  39. 'e' // for e.returnvalue
  40. ]
  41. }],
  42. // allow optionalDependencies
  43. 'import/no-extraneous-dependencies': ['error', {
  44. optionalDependencies: ['test/unit/index.js']
  45. }],
  46. // allow debugger during development
  47. 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
  48. }
  49. }