{
  "name": "coc-eslint",
  "version": "3.1.2",
  "description": "Eslint extension for coc.nvim",
  "main": "lib/index.js",
  "publisher": "chemzqm",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/neoclide/coc-eslint.git"
  },
  "keywords": [
    "coc.nvim",
    "eslint"
  ],
  "engines": {
    "coc": "^0.0.82"
  },
  "scripts": {
    "clean": "rimraf lib",
    "build": "node esbuild.js",
    "prepare": "node esbuild.js",
    "test": "npm run test:integration:nvim && npm run test:integration:vim",
    "test:integration": "coc-test \"test/**/*.test.ts\"",
    "test:integration:nvim": "coc-test --nvim \"test/**/*.test.ts\"",
    "test:integration:vim": "coc-test --vim \"test/**/*.test.ts\""
  },
  "coc-test": {
    "entryFile": "src/extension.ts"
  },
  "activationEvents": [
    "*"
  ],
  "contributes": {
    "commands": [
      {
        "title": "Fix all auto-fixable Problems",
        "category": "ESLint",
        "command": "eslint.executeAutofix"
      },
      {
        "title": "Create ESLint configuration",
        "category": "ESLint",
        "command": "eslint.createConfig"
      },
      {
        "title": "Show Output Channel",
        "category": "ESLint",
        "command": "eslint.showOutputChannel"
      },
      {
        "title": "Migrate Settings",
        "category": "ESLint",
        "command": "eslint.migrateSettings"
      },
      {
        "title": "Restart ESLint Server",
        "category": "ESLint",
        "command": "eslint.restart"
      },
      {
        "title": "Revalidate all open files",
        "category": "ESLint",
        "command": "eslint.revalidate"
      },
      {
        "title": "Lint current project and set errors & warnings to quickfix list of vim.",
        "category": "ESLint",
        "command": "eslint.lintProject"
      }
    ],
    "configuration": {
      "type": "object",
      "title": "Eslint",
      "properties": {
        "eslint.enable": {
          "scope": "resource",
          "type": "boolean",
          "default": true,
          "deprecationMessage": "Use configuration eslint.validate is recommended.",
          "description": "Controls whether eslint is enabled or not."
        },
        "eslint.packageManager": {
          "scope": "resource",
          "type": "string",
          "enum": [
            "npm",
            "yarn",
            "pnpm"
          ],
          "default": "npm",
          "description": "The package manager you use to install node modules."
        },
        "eslint.alwaysShowStatus": {
          "type": "boolean",
          "default": false,
          "description": "Always show the ESlint status bar item.",
          "scope": "application"
        },
        "eslint.fixOnSaveTimeout": {
          "type": "integer",
          "description": "Timeout in miliseconds when run auto fix on save.",
          "default": 1000
        },
        "eslint.nodeEnv": {
          "scope": "resource",
          "type": [
            "string",
            "null"
          ],
          "default": null,
          "markdownDescription": "The value of `NODE_ENV` to use when running eslint tasks."
        },
        "eslint.nodePath": {
          "scope": "machine-overridable",
          "type": [
            "string",
            "null"
          ],
          "default": null,
          "markdownDescription": "A path added to `NODE_PATH` when resolving the eslint module."
        },
        "eslint.options": {
          "scope": "resource",
          "type": "object",
          "default": {},
          "markdownDescription": "The eslint options object to provide args normally passed to eslint when executed from a command line (see https://eslint.org/docs/developer-guide/nodejs-api#eslint-class)."
        },
        "eslint.trace.server": {
          "scope": "window",
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "off",
                "messages",
                "verbose"
              ],
              "default": "off"
            },
            {
              "type": "object",
              "properties": {
                "verbosity": {
                  "type": "string",
                  "enum": [
                    "off",
                    "messages",
                    "verbose"
                  ],
                  "default": "off"
                },
                "format": {
                  "type": "string",
                  "enum": [
                    "text",
                    "json"
                  ],
                  "default": "text"
                }
              }
            }
          ],
          "default": "off",
          "description": "Traces the communication between VSCode and the eslint linter service."
        },
        "eslint.run": {
          "scope": "resource",
          "type": "string",
          "enum": [
            "onSave",
            "onType"
          ],
          "default": "onType",
          "description": "Run the linter on save (onSave) or on type (onType)"
        },
        "eslint.autoFixOnSave": {
          "scope": "resource",
          "type": "boolean",
          "default": false,
          "deprecationMessage": "Not used any more, use \"editor.codeActionsOnSave\" instead, use `CocCommand eslint.migrateSettings` to fix it.",
          "description": "Turns auto fix on save on or off."
        },
        "eslint.quiet": {
          "scope": "resource",
          "type": "boolean",
          "default": false,
          "description": "Turns on quiet mode, which ignores warnings and info diagnostics."
        },
        "eslint.bulkSuppression.enable": {
          "type": "boolean",
          "scope": "resource",
          "default": false,
          "description": "Show file-level bulk-suppressed violations. Requires ESLint 10.1 or later."
        },
        "eslint.bulkSuppression.location": {
          "type": "string",
          "scope": "resource",
          "description": "Path to the suppressions file relative to the workspace."
        },
        "eslint.bulkSuppression.severity": {
          "type": "string",
          "scope": "resource",
          "enum": [
            "error",
            "warn",
            "info",
            "hint"
          ],
          "default": "info",
          "description": "Diagnostic severity for bulk-suppressed violations."
        },
        "eslint.onIgnoredFiles": {
          "scope": "resource",
          "type": "string",
          "enum": [
            "warn",
            "off"
          ],
          "default": "off",
          "description": "Whether ESLint should issue a warning on ignored files."
        },
        "eslint.useESLintClass": {
          "scope": "resource",
          "type": "boolean",
          "default": false,
          "description": "Since version 7 ESLint offers a new API call ESLint. Use it even if the old CLIEngine is available. From version 8 on forward on ESLint class is available."
        },
        "eslint.experimental.useFlatConfig": {
          "scope": "resource",
          "type": "boolean",
          "default": false,
          "deprecationMessage": "Use ESLint version 8.57 or later and eslint.useFlatConfig instead.",
          "description": "Enables support of experimental Flat Config (aka eslint.config.js, supported by ESLint version 8.21 or later)."
        },
        "eslint.useRealpaths": {
          "scope": "resource",
          "type": "boolean",
          "default": false,
          "description": "Whether ESLint should use real paths when resolving files. This is useful when working with symlinks or when the casing of file paths is inconsistent."
        },
        "eslint.workingDirectories": {
          "scope": "resource",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string",
                    "enum": [
                      "auto",
                      "location"
                    ],
                    "default": "location"
                  }
                },
                "required": [
                  "mode"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "directory": {
                    "type": "string",
                    "description": "The working directory to use if a file's path starts with this directory."
                  },
                  "!cwd": {
                    "type": "boolean",
                    "description": "Set to true if ESLint shouldn't change the working directory."
                  }
                },
                "required": [
                  "directory"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "pattern": {
                    "type": "string",
                    "description": "A glob pattern to match a working directory."
                  },
                  "!cwd": {
                    "type": "boolean",
                    "description": "Set to true if ESLint shouldn't change the working directory."
                  }
                },
                "required": [
                  "pattern"
                ]
              }
            ]
          },
          "markdownDescription": "Specifies how the working directories ESLint is using are computed. ESLint resolves configuration files (e.g. `eslintrc`, `.eslintignore`) relative to a working directory so it is important to configure this correctly."
        },
        "eslint.validate": {
          "scope": "resource",
          "type": [
            "array",
            "null"
          ],
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "properties": {
                  "language": {
                    "type": "string",
                    "description": "The language id to be validated by ESLint."
                  },
                  "autoFix": {
                    "type": "boolean",
                    "description": "Whether auto fixes are provided for the language."
                  }
                },
                "deprecationMessage": "Auto Fix is enabled by default. Use the single string form."
              }
            ]
          },
          "default": null,
          "description": "An array of language ids which should be validated by ESLint. If not installed ESLint will show an error."
        },
        "eslint.probe": {
          "scope": "resource",
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": [
            "astro",
            "civet",
            "javascript",
            "javascriptreact",
            "typescript",
            "typescriptreact",
            "css",
            "glimmer-js",
            "glimmer-ts",
            "html",
            "mdx",
            "svelte",
            "vue",
            "markdown",
            "json",
            "jsonc",
            "graphql"
          ],
          "description": "An array of language ids for which the extension should probe if support is installed."
        },
        "eslint.runtime": {
          "scope": "machine-overridable",
          "type": [
            "string",
            "null"
          ],
          "default": null,
          "markdownDescription": "The location of the node binary to run ESLint under."
        },
        "eslint.debug": {
          "scope": "window",
          "type": "boolean",
          "default": false,
          "markdownDescription": "Enables ESLint debug mode (same as `--debug` on the command line)"
        },
        "eslint.execArgv": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": null,
          "markdownDescription": "Additional exec argv argument passed to the runtime. This can for example be used to control the maximum heap space using --max_old_space_size"
        },
        "eslint.codeAction.disableRuleComment": {
          "scope": "resource",
          "type": "object",
          "default": {
            "enable": true,
            "location": "separateLine"
          },
          "properties": {
            "enable": {
              "type": "boolean",
              "default": true,
              "description": "Show the disable code actions."
            },
            "location": {
              "type": "string",
              "enum": [
                "separateLine",
                "sameLine"
              ],
              "default": "separateLine",
              "description": "Configure the disable rule code action to insert the comment on the same line or a new line."
            }
          },
          "additionalProperties": false,
          "markdownDescription": "Show disable lint rule in the quick fix menu."
        },
        "eslint.codeAction.showDocumentation": {
          "scope": "resource",
          "type": "object",
          "default": {
            "enable": true
          },
          "properties": {
            "enable": {
              "type": "boolean",
              "default": true,
              "description": "Show the documentation code actions."
            }
          },
          "additionalProperties": false,
          "markdownDescription": "Show open lint rule documentation web page in the quick fix menu."
        },
        "eslint.codeActionsOnSave.mode": {
          "scope": "resource",
          "type": "string",
          "enum": [
            "all",
            "problems"
          ],
          "enumDescriptions": [
            "Fixes all possible problems in the file. This option might take some time.",
            "Only fixes reported problems that have non overlapping textual edits. This options runs a lot faster."
          ],
          "default": "all",
          "markdownDescription": "Specifies the code action mode. Possible values are 'all' and 'problems'."
        },
        "eslint.codeActionsOnSave.rules": {
          "scope": "resource",
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": null,
          "markdownDescription": "The rules that should be executed when computing the code actions on save or formatting a file. Defaults to the rules configured via the ESLint configuration"
        },
        "eslint.codeActionsOnSave.options": {
          "scope": "resource",
          "type": "object",
          "default": {},
          "markdownDescription": "The ESLint options object to use on save. Rules configured with eslint.codeActionsOnSave.rules take priority."
        },
        "eslint.format.enable": {
          "scope": "resource",
          "type": "boolean",
          "default": false,
          "description": "Enables ESLint as a formatter."
        },
        "eslint.rules.customizations": {
          "items": {
            "properties": {
              "severity": {
                "enum": [
                  "downgrade",
                  "error",
                  "info",
                  "default",
                  "upgrade",
                  "warn",
                  "off"
                ],
                "type": "string"
              },
              "rule": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "scope": "resource",
          "type": "array",
          "description": "Override the severity of one or more rules reported by this extension, regardless of the project's ESLint config. Use globs to apply default severities for multiple rules."
        },
        "eslint.lintTask.options": {
          "scope": "resource",
          "type": "array",
          "default": [
            "."
          ],
          "description": "Command line options applied when running the task for linting the whole workspace (see https://eslint.org/docs/user-guide/command-line-interface).",
          "items": {
            "type": "string"
          }
        },
        "eslint.lintTask.command": {
          "scope": "resource",
          "type": [
            "string",
            "null"
          ],
          "default": null,
          "description": "The command used to lint the whole workspace. When unset, coc-eslint detects the workspace ESLint executable."
        },
        "eslint.problems.shortenToSingleLine": {
          "type": "boolean",
          "default": false,
          "description": "Shortens the text spans of underlined problems to their first related line.",
          "scope": "resource"
        },
        "eslint.migration.2_x": {
          "scope": "application",
          "type": "string",
          "enum": [
            "off",
            "on"
          ],
          "default": "on",
          "description": "Whether ESlint should migrate auto fix on save settings."
        },
        "eslint.useFlatConfig": {
          "scope": "resource",
          "type": [
            "boolean",
            "null"
          ],
          "default": null,
          "markdownDescription": "Controls whether flat config should be used or not. This setting requires ESLint version 8.57 or later and is interpreted according to the [ESLint Flat Config rollout plan](https://eslint.org/blog/2023/10/flat-config-rollout-plans/). This means:\n\n - *8.57.0 <= ESLint version < 9.x*: setting is honored and defaults to false\n- *9.0.0 <= ESLint version < 10.x*: settings is honored and defaults to true\n- *10.0.0 <= ESLint version*: setting is ignored. Flat configs are the default and can't be turned off."
        },
        "eslint.ignoreUntitled": {
          "scope": "resource",
          "type": "boolean",
          "default": false,
          "description": "If true, untitled files won't be validated by ESLint."
        },
        "eslint.timeBudget.onValidation": {
          "scope": "resource",
          "type": "object",
          "properties": {
            "warn": {
              "type": "number",
              "default": 4000,
              "minimum": 0,
              "markdownDescription": "The time budget in milliseconds to spend on validation before showing a warning."
            },
            "error": {
              "type": "number",
              "default": 8000,
              "minimum": 0,
              "markdownDescription": "The time budget in milliseconds to spend on validation before showing an error."
            }
          },
          "default": {
            "warn": 4000,
            "error": 8000
          },
          "markdownDescription": "The time budget in milliseconds to spend on validation before showing a warning or error."
        },
        "eslint.timeBudget.onFixes": {
          "scope": "resource",
          "type": "object",
          "properties": {
            "warn": {
              "type": "number",
              "default": 3000,
              "minimum": 0,
              "markdownDescription": "The time budget in milliseconds to spend on computing fixes before showing a warning."
            },
            "error": {
              "type": "number",
              "default": 6000,
              "minimum": 0,
              "markdownDescription": "The time budget in milliseconds to spend on computing fixes before showing an error."
            }
          },
          "default": {
            "warn": 3000,
            "error": 6000
          },
          "markdownDescription": "The time budget in milliseconds to spend on computing fixes before showing a warning or error."
        }
      }
    },
    "jsonValidation": [
      {
        "fileMatch": ".eslintrc",
        "url": "https://json.schemastore.org/eslintrc"
      },
      {
        "fileMatch": ".eslintrc.json",
        "url": "https://json.schemastore.org/eslintrc"
      },
      {
        "fileMatch": "package.json",
        "url": "./package-json-schema.json"
      }
    ]
  },
  "author": "chemzqm@gmail.com",
  "license": "MIT",
  "devDependencies": {
    "@types/node": "^22.19",
    "@types/semver": "^7.5.8",
    "coc.nvim": "^0.0.83-next.26",
    "semver": "^7.6.0",
    "esbuild": "^0.28.2",
    "coc-test": "^0.1.6",
    "typescript": "^6.0.3",
    "vscode-languageserver": "10.1.0",
    "vscode-languageserver-textdocument": "1.0.11",
    "vscode-languageserver-protocol": "3.17.6-next.10",
    "vscode-uri": "^3.0.8"
  },
  "directories": {
    "lib": "lib",
    "test": "test"
  },
  "type": "commonjs",
  "bugs": {
    "url": "https://github.com/neoclide/coc-eslint/issues"
  },
  "homepage": "https://github.com/neoclide/coc-eslint#readme"
}
