rules:
  camelcase:
    - error
    - properties: never
      allow: [^vfunc_, ^on_]
  consistent-return: error
  eqeqeq:
    - error
    - smart
  key-spacing:
    - error
    - mode: minimum
      beforeColon: false
      afterColon: true
  prefer-arrow-callback: error
  jsdoc/require-param-description: off
  jsdoc/require-jsdoc:
    - error
    - exemptEmptyFunctions: true
      publicOnly:
        esm: true

overrides:
  - files:
      - js/**
      - tests/shell/**
    excludedFiles:
      - js/portalHelper/*
      - js/extensions/*
    globals:
      global: readonly
      _: readonly
      C_: readonly
      N_: readonly
      ngettext: readonly
  - files: subprojects/extensions-app/js/**
    globals:
      _: readonly
      C_: readonly
      N_: readonly
