text: 'use strict';
  
  module.exports = {
    root: true,
    parser: 'babel-eslint',
    parserOptions: {
      ecmaVersion: 2018,
      sourceType: 'module',
      ecmaFeatures: {
        legacyDecorators: true
      }
    },
    plugins: [
      'ember'
    ],
    extends: [
      'eslint:recommended',
      'plugin:ember/recommended'
    ],
    env: {
      browser: true
    },
    globals: {
      galite: false,
      percySnapshot: true,
      Prism: false
    },
    rules: {
      'ember/order-in-components': 'error',
      'ember/order-in-controllers': 'error',
      'ember/order-in-models': 'error',
      'ember/order-in-routes': 'error',
      'no-useless-escape': 'off'
    },
    overrides: [
      // node files
      {
        files: [
          '.eslintrc.js',
          '.stylelintrc.js',
          '.template-lintrc.js',
          'ember-cli-build.js',
          'testem.js',
          'blueprints/*/index.js',
          'config/**/*.js',
          'lib/*/index.js',
          'server/**/*.js'
        ],
        parserOptions: {
          sourceType: 'script'
        },
        env: {
          browser: false,
          node: true
        },
        plugins: ['node'],
        extends: ['plugin:node/recommended'],
        rules: {
          // this can be removed once the following is fixed
          // https://github.com/mysticatea/eslint-plugin-node/issues/77
          'node/no-unpublished-require': 'off'
        }
      }
    ]
  };
  