{
	"name": "vscode-eslint",
	"displayName": "ESLint",
	"description": "Integrates ESLint JavaScript into VS Code.",
	"version": "3.0.24",
	"author": "Microsoft Corporation",
	"license": "MIT",
	"repository": {
		"type": "git",
		"url": "https://github.com/Microsoft/vscode-eslint.git"
	},
	"bugs": {
		"url": "https://github.com/Microsoft/vscode-eslint/issues"
	},
	"publisher": "dbaeumer",
	"icon": "eslint_icon.png",
	"categories": [
		"Programming Languages",
		"Linters"
	],
	"keywords": [
		"multi-root ready"
	],
	"engines": {
		"vscode": "^1.90.0"
	},
	"activationEvents": [
		"onStartupFinished"
	],
	"extensionKind": [
		"workspace"
	],
	"enabledApiProposals": [],
	"main": "./client/out/extension",
	"capabilities": {
		"virtualWorkspaces": {
			"supported": false,
			"description": "Using ESLint is not possible in virtual workspaces."
		},
		"untrustedWorkspaces": {
			"supported": false,
			"description": "The extension requires workspace trust because it loads configuration files and code from the workspace and executes it."
		}
	},
	"contributes": {
		"configuration": {
			"type": "object",
			"title": "ESLint",
			"properties": {
				"eslint.enable": {
					"scope": "resource",
					"type": "boolean",
					"default": true,
					"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.",
					"deprecationMessage": "The setting is deprecated. The Package Manager is automatically detected now."
				},
				"eslint.problems.shortenToSingleLine": {
					"type": "boolean",
					"default": false,
					"description": "Shortens the text spans of underlined problems to their first related line.",
					"scope": "resource"
				},
				"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,
					"description": "Turns auto fix on save on or off.",
					"deprecationMessage": "The setting is deprecated. Use editor.codeActionsOnSave instead with a source.fixAll.eslint member."
				},
				"eslint.quiet": {
					"scope": "resource",
					"type": "boolean",
					"default": false,
					"description": "Turns on quiet mode, which ignores warnings and info diagnostics."
				},
				"eslint.onIgnoredFiles": {
					"scope": "resource",
					"type": "string",
					"enum": [
						"warn",
						"off"
					],
					"default": "off",
					"description": "Whether ESLint should issue a warning on ignored files."
				},
				"eslint.migration.2_x": {
					"scope": "application",
					"type": "string",
					"enum": [
						"off",
						"on"
					],
					"default": "on",
					"description": "Whether ESlint should migrate auto fix on save settings."
				},
				"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.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.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). Requires ESLint version >= 8.21 < 8.57.0)."
				},
				"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."
									},
									"changeProcessCWD": {
										"type": "boolean",
										"description": "Whether the process's cwd should be changed as well."
									}
								},
								"deprecationMessage": "Use the new !cwd form.",
								"required": [
									"directory"
								]
							},
							{
								"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.ignoreUntitled": {
					"scope": "resource",
					"type": "boolean",
					"default": false,
					"description": "If true, untitled files won't be validated by ESLint."
				},
				"eslint.probe": {
					"scope": "resource",
					"type": "array",
					"items": {
						"type": "string"
					},
					"default": [
						"astro",
						"civet",
						"javascript",
						"javascriptreact",
						"typescript",
						"typescriptreact",
						"html",
						"mdx",
						"vue",
						"markdown",
						"json",
						"jsonc",
						"css",
						"glimmer-js",
						"glimmer-ts",
						"svelte"
					],
					"description": "An array of language ids for which the extension should probe if support is installed."
				},
				"eslint.provideLintTask": {
					"scope": "resource",
					"type": "boolean",
					"default": false,
					"deprecationMessage": "This option is deprecated. Use eslint.lintTask.enable instead.",
					"description": "Controls whether a task for linting the whole workspace will be available."
				},
				"eslint.lintTask.enable": {
					"scope": "resource",
					"type": "boolean",
					"default": false,
					"description": "Controls whether a task for linting the whole workspace will be available."
				},
				"eslint.lintTask.command": {
					"scope": "resource",
					"type": "string",
					"default": "eslint",
					"markdownDescription": "The command to run the task for linting the whole workspace. Defaults to the found eslint binary for the workspace, or 'eslint' if no binary could be found."
				},
				"eslint.lintTask.options": {
					"scope": "resource",
					"type": "string",
					"default": ".",
					"markdownDescription": "Command line options applied when running the task for linting the whole workspace (see https://eslint.org/docs/user-guide/command-line-interface)."
				},
				"eslint.runtime": {
					"scope": "machine-overridable",
					"type": [
						"string",
						"null"
					],
					"default": null,
					"markdownDescription": "The location of the node binary to run ESLint under."
				},
				"eslint.execArgv": {
					"scope": "machine-overridable",
					"anyOf": [
						{
							"type": "array",
							"items": {
								"type": "string"
							}
						},
						{
							"type": "null"
						}
					],
					"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.debug": {
					"scope": "window",
					"type": "boolean",
					"default": false,
					"markdownDescription": "Enables ESLint debug mode (same as `--debug` on the command line)"
				},
				"eslint.codeAction.disableRuleComment": {
					"scope": "resource",
					"type": "object",
					"default": {
						"enable": true,
						"location": "separateLine",
						"commentStyle": "line"
					},
					"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."
						},
						"commentStyle": {
							"type": "string",
							"enum": [
								"line",
								"block"
							],
							"default": "line",
							"definition": "The comment style to use when disabling a rule on a specific 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.",
						"Fixes only reported problems that have non-overlapping textual edits. This option runs a lot faster."
					],
					"default": "all",
					"markdownDescription": "Specifies the code action mode. Possible values are 'all' and 'problems'."
				},
				"eslint.codeActionsOnSave.rules": {
					"scope": "resource",
					"anyOf": [
						{
							"type": "array",
							"items": {
								"type": "string"
							}
						},
						{
							"type": "null"
						}
					],
					"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 (see https://eslint.org/docs/developer-guide/nodejs-api#eslint-class). `eslint.codeActionsOnSave.rules`, if specified, will take priority over any rule options here."
				},
				"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.notebooks.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": "A special rules customization section for text cells in notebook documents."
				},
				"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."
				}
			}
		},
		"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"
			}
		],
		"taskDefinitions": [
			{
				"type": "eslint"
			}
		],
		"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"
			}
		],
		"languages": [
			{
				"id": "ignore",
				"extensions": [
					".eslintignore"
				]
			},
			{
				"id": "jsonc",
				"filenames": [
					".eslintrc.json"
				]
			}
		]
	},
	"scripts": {
		"vscode:prepublish": "npm run webpack",
		"webpack": "npm run clean && webpack --mode production --config ./client/webpack.config.js && webpack --mode production --config ./server/webpack.config.js",
		"webpack:dev": "npm run clean && webpack --mode none --config ./client/webpack.config.js && webpack --mode none --config ./server/webpack.config.js",
		"esbuild": "npm run clean && node ./esbuild.js",
		"compile": "tsc -b",
		"compile:client": "tsc -b ./client/tsconfig.json",
		"compile:server": "tsc -b ./server/tsconfig.json",
		"watch": "tsc -b -w",
		"test": "cd client && npm test && cd ..",
		"lint": "node ./build/bin/all.js run lint",
		"clean": "rimraf client/out && rimraf server/out",
		"postinstall": "node ./build/bin/all.js install",
		"symlink:lsp": "node ./build/bin/symlink.js"
	},
	"devDependencies": {
		"@types/mocha": "^10.0.10",
		"@types/node": "^20.17.9",
		"eslint": "^9.28.0",
		"@stylistic/eslint-plugin": "^4.4.1",
		"@typescript-eslint/eslint-plugin": "^8.34.0",
		"@typescript-eslint/parser": "^8.34.0",
		"merge-options": "^3.0.4",
		"mocha": "^11.6.0",
		"rimraf": "^6.0.1",
		"ts-loader": "^9.5.2",
		"typescript": "^5.8.3",
		"webpack": "^5.105.0",
		"webpack-cli": "^6.0.1",
		"shelljs": "^0.10.0",
		"esbuild": "^0.25.5"
	},
	"__metadata": {
		"installedTimestamp": 1772643295476,
		"targetPlatform": "undefined",
		"size": 892958
	}
}