extends: - chartjs - plugin:es/restrict-to-es2018 - plugin:markdown/recommended settings: es: aggressive: true env: es6: true browser: true node: true parserOptions: ecmaVersion: 2022 sourceType: module ecmaFeatures: impliedStrict: true modules: true plugins: ['html', 'es'] rules: class-methods-use-this: "off" complexity: ["warn", 10] max-statements: ["warn", 30] no-empty-function: "off" no-use-before-define: ["error", { "functions": false }] # disable everything, except Rest/Spread Properties in ES2018 es/no-import-meta: "off" es/no-async-iteration: "error" es/no-malformed-template-literals: "error" es/no-regexp-lookbehind-assertions: "error" es/no-regexp-named-capture-groups: "error" es/no-regexp-s-flag: "error" es/no-regexp-unicode-property-escapes: "error" es/no-dynamic-import: "off" overrides: - files: ['**/*.ts'] parser: '@typescript-eslint/parser' plugins: - '@typescript-eslint' extends: - chartjs - plugin:@typescript-eslint/recommended rules: complexity: ["warn", 10] max-statements: ["warn", 30] # Replace stock eslint rules with typescript-eslint equivalents for proper # TypeScript support. indent: "off" "@typescript-eslint/indent": ["error", 2] no-use-before-define: "off" '@typescript-eslint/no-use-before-define': "error" no-shadow: "off" '@typescript-eslint/no-shadow': "error" space-before-function-paren: "off" '@typescript-eslint/space-before-function-paren': [2, never]