text: // https://eslint.org/docs/user-guide/configuring
  
  module.exports = {
    root: true,
    parserOptions: {
      parser: 'babel-eslint',
    },
    env: {
      browser: true,
      'cypress/globals': true,
    },
    // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
    // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
    extends: ['plugin:vue/essential', 'airbnb-base', 'plugin:vue-a11y/base'],
    // required to lint *.vue files
    plugins: ['vue', 'vue-a11y', 'cypress'],
    // check if imports actually resolve
    settings: {
      'import/resolver': {
        webpack: {
          config: 'build/webpack.config.common.js',
        },
      },
    },
    // add your custom rules here
    rules: {
      // don't require .vue extension when importing
      'import/extensions': [
        'error',
        'always',
        {
          js: 'never',
          vue: 'never',
        },
      ],
      // disallow reassignment of function parameters
      // disallow parameter object manipulation except for specific exclusions
      'no-param-reassign': [
        'error',
        {
          props: true,
          ignorePropertyModificationsFor: [
            'state', // for vuex state
            'acc', // for reduce accumulators
            'e', // for e.returnvalue
          ],
        },
      ],
      'no-underscore-dangle': 'off',
      semi: 'off',
      'max-len': 'off',
      'arrow-parens': 'off',
      'comma-dangle': 'off',
      'brace-style': 'off',
      indent: 'off',
      // allow optionalDependencies
      'import/no-extraneous-dependencies': [
        'error',
        {
          optionalDependencies: ['test/unit/index.js'],
        },
      ],
      'vue-a11y/no-autofocus': 'off',
      'vue-a11y/click-events-have-key-events': 'off',
      'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
      // allow debugger during development
      'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
      'no-confusing-arrow': 'off',
    },
    globals: {
      ga: true,
    },
  }
  