text: // Copyright (C) 2018-2021 Intel Corporation
  //
  // SPDX-License-Identifier: MIT
  
  module.exports = {
      root: true,
      env: {
          node: true,
          browser: true,
          es6: true,
      },
      parserOptions: {
          sourceType: 'module',
          ecmaVersion: 2018,
      },
      ignorePatterns: [
          '.eslintrc.js',
          'lint-staged.config.js',
      ],
      plugins: ['security', 'no-unsanitized', 'eslint-plugin-header', 'import'],
      extends: [
          'eslint:recommended', 'plugin:security/recommended', 'plugin:no-unsanitized/DOM',
          'airbnb-base', 'plugin:import/errors', 'plugin:import/warnings',
          'plugin:import/typescript',
      ],
      rules: {
          'header/header': [2, 'line', [{
              pattern: ' {1}Copyright \\(C\\) (?:20\\d{2}-)?2021 Intel Corporation',
              template: ' Copyright (C) 2021 Intel Corporation'
          }, '', ' SPDX-License-Identifier: MIT']],
          'no-plusplus': 0,
          'no-continue': 0,
          'no-console': 0,
          'no-param-reassign': ['error', { 'props': false }],
          'no-restricted-syntax': [0, { selector: 'ForOfStatement' }],
          'no-await-in-loop': 0,
          'indent': ['error', 4, { 'SwitchCase': 1 }],
          'max-len': ['error', { code: 120, ignoreStrings: true }],
          'func-names': 0,
          'valid-typeof': 0,
          'no-useless-constructor': 0, // sometimes constructor is necessary to generate right documentation in cvat-core
          'quotes': ['error', 'single'],
          'lines-between-class-members': 0,
          'class-methods-use-this': 0,
          'no-underscore-dangle': ['error', { allowAfterThis: true }],
          'max-classes-per-file': 0,
          'operator-linebreak': ['error', 'after'],
          'newline-per-chained-call': 0,
          'global-require': 0,
          'arrow-parens': ['error', 'always'],
          'security/detect-object-injection': 0, // the rule is relevant for user input data on the node.js environment
          'import/order': ['error', {'groups': ['builtin', 'external', 'internal']}],
          'import/prefer-default-export': 0, // works incorrect with interfaces
      },
  };
  