text: // https://eslint.org/docs/user-guide/configuring
  
  module.exports = {
      root: true,
      parserOptions: {
          parser: 'babel-eslint',
          sourceType: 'module'
      },
      env: {
          browser: true,
          node: true,
          es6: true,
          mocha: 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'],
      // required to lint *.vue files
      plugins: [
          'vue'
      ],
      // check if imports actually resolve
      settings: {
          'import/resolver': {
              webpack: {
                  config: 'client/build/webpack.base.conf.js'
              }
          }
      },
      // add your custom rules here
      rules: {
          "one-var": 0,
          "one-var-declaration-per-line": 0,
          "new-cap": 0,
          "consistent-return": 0,
          "no-param-reassign": 0,
          "comma-dangle": 0,
          "import/named": 0,
          "arrow-parens": 0,
          "import/no-unresolved": [
              2,
              {
                  "commonjs": true
              }
          ],
          "no-shadow": [
              "error",
              {
                  "allow": [
                      "req",
                      "res",
                      "err"
                  ]
              }
          ],
          "valid-jsdoc": [
              "error",
              {
                  "requireReturn": true,
                  "requireReturnType": true,
                  "requireParamDescription": false,
                  "requireReturnDescription": true
              }
          ],
          "require-jsdoc": [
              "error",
              {
                  "require": {
                      "FunctionDeclaration": true,
                      "MethodDefinition": true,
                      "ClassDeclaration": true
                  }
              }
          ],
          "import/prefer-default-export": 0,
          // don't require .vue extension when importing
          'import/extensions': ['error', 'always', {
              js: 'never',
              vue: 'never'
          }],
          'max-len': 'off',
          // 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
              ]
          }],
          // allow optionalDependencies
          'import/no-extraneous-dependencies': ['error', {
              optionalDependencies: ['client/test/unit/index.js']
          }],
          // allow debugger during development
          'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
      }
  }