{
  "extends": [
    "airbnb-base",
    "plugin:prettier/recommended",
    "plugin:yml/recommended"
  ],
  "root": true,
  "env": {
    "browser": true,
    "es6": true,
    "node": true
  },
  "parserOptions": {
    "ecmaVersion": 2020
  },
  "globals": {
    "Drupal": true,
    "drupalSettings": true,
    "drupalTranslations": true,
    "jQuery": true,
    "_": true,
    "Cookies": true,
    "Backbone": true,
    "htmx": true,
    "loadjs": true,
    "Shepherd": true,
    "Sortable": true,
    "once": true,
    "CKEditor5": true,
    "tabbable": true,
    "transliterate": true,
    "bodyScrollLock": true,
    "FloatingUIDOM": true
  },
  "rules": {
    "prettier/prettier": "error",
    "consistent-return": ["off"],
    "no-underscore-dangle": ["off"],
    "max-nested-callbacks": ["warn", 4],
    "import/no-mutable-exports": ["warn"],
    "no-plusplus": ["warn", {
      "allowForLoopAfterthoughts": true
    }],
    "no-param-reassign": ["off"],
    "no-prototype-builtins": ["off"],
    "valid-jsdoc": ["warn", {
      "prefer": {
        "returns": "return",
        "property": "prop"
      },
      "requireReturn": false
    }],
    "no-unused-vars": ["warn", {
      "vars": "all",
      "args": "after-used",
      "ignoreRestSiblings": true,
      "argsIgnorePattern": "^_|event|settings|error"
    }],
    "operator-linebreak": ["error", "after", { "overrides": { "?": "ignore", ":": "ignore" } }],
    "yml/indent": ["error", 2],
    "no-unused-expressions": ["off"],
    "func-names": ["off"],
    "no-nested-ternary": ["off"],
    "no-void": ["off"],
    "no-use-before-define": ["error", {
      "functions": false,
      "classes": true,
      "variables": true
    }]
  }
}
