{
	"name": "bun-vscode",
	"version": "0.0.8",
	"author": "oven",
	"repository": {
		"type": "git",
		"url": "https://github.com/oven-sh/bun"
	},
	"main": "dist/extension.js",
	"devDependencies": {
		"@types/vscode": "^1.60.0",
		"@vscode/debugadapter": "^1.56.0",
		"@vscode/debugadapter-testsupport": "^1.56.0",
		"@vscode/vsce": "^2.20.1",
		"bun-types": "^0.7.3",
		"esbuild": "^0.19.2",
		"typescript": "^5.0.0"
	},
	"description": "The Visual Studio Code extension for Bun.",
	"displayName": "Bun for Visual Studio Code",
	"engines": {
		"vscode": "^1.60.0"
	},
	"extensionKind": [
		"workspace"
	],
	"galleryBanner": {
		"color": "#3B3738",
		"theme": "dark"
	},
	"homepage": "https://bun.sh/",
	"icon": "assets/icon.png",
	"keywords": [
		"bun",
		"node.js",
		"javascript",
		"typescript",
		"vscode"
	],
	"license": "MIT",
	"publisher": "oven",
	"scripts": {
		"build": "node scripts/build.mjs",
		"pretest": "bun run build",
		"test": "node scripts/test.mjs",
		"prepublish": "npm version patch && bun run build",
		"publish": "cd extension && bunx vsce publish"
	},
	"workspaceTrust": {
		"request": "never"
	},
	"workspaces": [
		"../bun-debug-adapter-protocol",
		"../bun-inspector-protocol"
	],
	"activationEvents": [
		"onLanguage:javascript",
		"onLanguage:javascriptreact",
		"onLanguage:typescript",
		"onLanguage:typescriptreact",
		"workspaceContains:**/.lockb",
		"onDebugResolve:bun",
		"onDebugDynamicConfigurations:bun"
	],
	"browser": "dist/web-extension.js",
	"bugs": {
		"url": "https://github.com/oven-sh/bun/issues"
	},
	"capabilities": {
		"untrustedWorkspaces": {
			"supported": false,
			"description": "This extension needs to be able to run your code using Bun."
		}
	},
	"categories": [
		"Programming Languages",
		"Debuggers",
		"Testing"
	],
	"contributes": {
		"configuration": {
			"title": "Bun",
			"properties": {
				"bun.runtime": {
					"type": "string",
					"description": "A path to the `bun` executable. By default, the extension looks for `bun` in the `PATH`, but if set, it will use the specified path instead.",
					"scope": "window",
					"default": null
				},
				"bun.debugTerminal.enabled": {
					"type": "boolean",
					"description": "If Bun should be added to the JavaScript Debug Terminal.",
					"scope": "window",
					"default": true
				},
				"bun.debugTerminal.stopOnEntry": {
					"type": "boolean",
					"description": "If Bun should stop on entry when used in the JavaScript Debug Terminal.",
					"scope": "window",
					"default": false
				}
			}
		},
		"commands": [
			{
				"command": "extension.bun.runFile",
				"title": "Run File",
				"shortTitle": "Run",
				"category": "Bun",
				"enablement": "!inDebugMode",
				"icon": "$(play)"
			},
			{
				"command": "extension.bun.debugFile",
				"title": "Debug File",
				"shortTitle": "Debug",
				"category": "Bun",
				"enablement": "!inDebugMode",
				"icon": "$(debug-alt)"
			}
		],
		"menus": {
			"editor/title/run": [
				{
					"command": "extension.bun.runFile",
					"when": "resourceLangId == javascript || resourceLangId == javascriptreact || resourceLangId == typescript || resourceLangId == typescriptreact",
					"group": "navigation@1"
				},
				{
					"command": "extension.bun.debugFile",
					"when": "resourceLangId == javascript || resourceLangId == javascriptreact || resourceLangId == typescript || resourceLangId == typescriptreact",
					"group": "navigation@2"
				}
			],
			"commandPalette": [
				{
					"command": "extension.bun.runFile",
					"when": "resourceLangId == javascript || resourceLangId == javascriptreact || resourceLangId == typescript || resourceLangId == typescriptreact"
				},
				{
					"command": "extension.bun.debugFile",
					"when": "resourceLangId == javascript || resourceLangId == javascriptreact || resourceLangId == typescript || resourceLangId == typescriptreact"
				}
			]
		},
		"breakpoints": [
			{
				"language": "javascript"
			},
			{
				"language": "javascriptreact"
			},
			{
				"language": "typescript"
			},
			{
				"language": "typescriptreact"
			}
		],
		"debuggers": [
			{
				"type": "bun",
				"label": "Bun",
				"languages": [
					"javascript",
					"javascriptreact",
					"typescript",
					"typescriptreact"
				],
				"runtime": "node",
				"program": "dist/adapter.js",
				"configurationAttributes": {
					"launch": {
						"required": [
							"program"
						],
						"properties": {
							"runtime": {
								"type": "string",
								"description": "The path to Bun.",
								"default": "bun"
							},
							"runtimeArgs": {
								"type": "array",
								"description": "The command-line arguments passed to Bun.",
								"items": {
									"type": "string"
								},
								"default": []
							},
							"program": {
								"type": "string",
								"description": "The path to a JavaScript or TypeScript file.",
								"default": "${file}"
							},
							"args": {
								"type": "array",
								"description": "The command-line arguments passed to the program.",
								"items": {
									"type": "string"
								},
								"default": []
							},
							"cwd": {
								"type": "string",
								"description": "The working directory.",
								"default": "${workspaceFolder}"
							},
							"env": {
								"type": "object",
								"description": "The environment variables passed to Bun.",
								"default": {}
							},
							"strictEnv": {
								"type": "boolean",
								"description": "If environment variables should not be inherited from the parent process.",
								"default": false
							},
							"stopOnEntry": {
								"type": "boolean",
								"description": "If a breakpoint should be set at the first line.",
								"default": false
							},
							"noDebug": {
								"type": "boolean",
								"description": "If the debugger should be disabled.",
								"default": false
							},
							"watchMode": {
								"type": [
									"boolean",
									"string"
								],
								"description": "If the process should be restarted when files change.",
								"enum": [
									true,
									false,
									"hot"
								],
								"default": false
							}
						}
					},
					"attach": {
						"properties": {
							"url": {
								"type": "string",
								"description": "The URL of the Bun process to attach to."
							},
							"noDebug": {
								"type": "boolean",
								"description": "If the debugger should be disabled.",
								"default": false
							},
							"stopOnEntry": {
								"type": "boolean",
								"description": "If a breakpoint should when the program is attached.",
								"default": false
							}
						}
					}
				}
			}
		],
		"languages": [
			{
				"id": "bun.lockb",
				"aliases": [
					"bun.lockb"
				],
				"extensions": [
					".lockb"
				],
				"icon": {
					"dark": "assets/icon-small.png",
					"light": "assets/icon-small.png"
				}
			}
		],
		"jsonValidation": [
			{
				"fileMatch": "package.json",
				"url": "./assets/package.json"
			}
		],
		"customEditors": [
			{
				"viewType": "bun.lockb",
				"displayName": "bun.lockb",
				"selector": [
					{
						"filenamePattern": "*.lockb"
					}
				],
				"priority": "default"
			}
		]
	},
	"__metadata": {
		"id": "2c58c6a8-c23c-4913-899e-17c90b15274e",
		"publisherId": "b54c1447-f7ba-421e-be69-48e03c08f0d9",
		"publisherDisplayName": "oven",
		"targetPlatform": "universal",
		"isApplicationScoped": false,
		"isPreReleaseVersion": false,
		"hasPreReleaseVersion": false,
		"installedTimestamp": 1739002444437,
		"pinned": false,
		"preRelease": false,
		"source": "gallery"
	}
}