Skip to content
Snippets Groups Projects
.eslintrc.yml 4.3 KiB
Newer Older
  • Learn to ignore specific revisions
  • env:
      browser: true
      es6: true
    
    # See https://github.com/OCA/odoo-community.org/issues/37#issuecomment-470686449
    parserOptions:
      ecmaVersion: 2019
    
    overrides:
      - files:
          - "**/*.esm.js"
        parserOptions:
          sourceType: module
    
    # Globals available in Odoo that shouldn't produce errorings
    globals:
      _: readonly
      $: readonly
      fuzzy: readonly
      jQuery: readonly
      moment: readonly
      odoo: readonly
      openerp: readonly
      owl: readonly
    
    # Styling is handled by Prettier, so we only need to enable AST rules;
    # see https://github.com/OCA/maintainer-quality-tools/pull/618#issuecomment-558576890
    rules:
      accessor-pairs: warn
      array-callback-return: warn
      callback-return: warn
      capitalized-comments:
        - warn
        - always
        - ignoreConsecutiveComments: true
          ignoreInlineComments: true
      complexity:
        - warn
        - 15
      constructor-super: warn
      dot-notation: warn
      eqeqeq: warn
      global-require: warn
      handle-callback-err: warn
      id-blacklist: warn
      id-match: warn
      init-declarations: error
      max-depth: warn
      max-nested-callbacks: warn
      max-statements-per-line: warn
      no-alert: warn
      no-array-constructor: warn
      no-caller: warn
      no-case-declarations: warn
      no-class-assign: warn
      no-cond-assign: error
      no-const-assign: error
      no-constant-condition: warn
      no-control-regex: warn
      no-debugger: error
      no-delete-var: warn
      no-div-regex: warn
      no-dupe-args: error
      no-dupe-class-members: error
      no-dupe-keys: error
      no-duplicate-case: error
      no-duplicate-imports: error
      no-else-return: warn
      no-empty-character-class: warn
      no-empty-function: error
      no-empty-pattern: error
      no-empty: warn
      no-eq-null: error
      no-eval: error
      no-ex-assign: error
      no-extend-native: warn
      no-extra-bind: warn
      no-extra-boolean-cast: warn
      no-extra-label: warn
      no-fallthrough: warn
      no-func-assign: error
      no-global-assign: error
      no-implicit-coercion:
        - warn
        - allow: ["~"]
      no-implicit-globals: warn
      no-implied-eval: warn
      no-inline-comments: warn
      no-inner-declarations: warn
      no-invalid-regexp: warn
      no-irregular-whitespace: warn
      no-iterator: warn
      no-label-var: warn
      no-labels: warn
      no-lone-blocks: warn
      no-lonely-if: error
      no-mixed-requires: error
      no-multi-str: warn
      no-native-reassign: error
      no-negated-condition: warn
      no-negated-in-lhs: error
      no-new-func: warn
      no-new-object: warn
      no-new-require: warn
      no-new-symbol: warn
      no-new-wrappers: warn
      no-new: warn
      no-obj-calls: warn
      no-octal-escape: warn
      no-octal: warn
      no-param-reassign: warn
      no-path-concat: warn
      no-process-env: warn
      no-process-exit: warn
      no-proto: warn
      no-prototype-builtins: warn
      no-redeclare: warn
      no-regex-spaces: warn
      no-restricted-globals: warn
      no-restricted-imports: warn
      no-restricted-modules: warn
      no-restricted-syntax: warn
      no-return-assign: error
      no-script-url: warn
      no-self-assign: warn
      no-self-compare: warn
      no-sequences: warn
      no-shadow-restricted-names: warn
      no-shadow: warn
      no-sparse-arrays: warn
      no-sync: warn
      no-this-before-super: warn
      no-throw-literal: warn
      no-undef-init: warn
      no-undef: error
      no-unmodified-loop-condition: warn
      no-unneeded-ternary: error
      no-unreachable: error
      no-unsafe-finally: error
      no-unused-expressions: error
      no-unused-labels: error
      no-unused-vars: error
      no-use-before-define: error
      no-useless-call: warn
      no-useless-computed-key: warn
      no-useless-concat: warn
      no-useless-constructor: warn
      no-useless-escape: warn
      no-useless-rename: warn
      no-void: warn
      no-with: warn
      operator-assignment: [error, always]
      prefer-const: warn
      radix: warn
      require-yield: warn
      sort-imports: warn
      spaced-comment: [error, always]
      strict: [error, function]
      use-isnan: error
      valid-jsdoc:
        - warn
        - prefer:
            arg: param
            argument: param
            augments: extends
            constructor: class
            exception: throws
            func: function
            method: function
            prop: property
            return: returns
            virtual: abstract
            yield: yields
          preferType:
            array: Array
            bool: Boolean
            boolean: Boolean
            number: Number
            object: Object
            str: String
            string: String
          requireParamDescription: false
          requireReturn: false
          requireReturnDescription: false
          requireReturnType: false
      valid-typeof: warn
      yoda: warn