{
  "extends": [
    "plugin:@wordpress/eslint-plugin/recommended",
    "plugin:@typescript-eslint/recommended"
  ],

  "ignorePatterns": [
    "node_modules/**",
    "assets/js/**/*.js"
  ],

  "rules": {
    "camelcase": [
      "error",
      {
        "ignoreGlobals": true,
        "properties": "never"
      }
    ],
    "space-in-parens": ["error", "never"],
    "space-before-function-paren": [
      "error",
      {
        "anonymous": "always",
        "named": "never",
        "asyncArrow": "always"
      }
    ],
    "import/no-unresolved": [
      2,
      {
        "ignore": ["^jquery$"]
      }
    ],
    "@typescript-eslint/explicit-module-boundary-types": "off"
  },

  "overrides": [
    {
      "files": ["*.ts", "*.tsx"],
      "rules": {
        "@typescript-eslint/explicit-module-boundary-types": ["error"]
      }
    }
  ],

  "globals": {
    "jQuery": "readonly",
    "<%= opts.functionPrefix %>_options": "writable"
  }
}
