{ "name": "bun-vscode", "version": "0.0.4", "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" }, "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.path": { "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 } } }, "commands": [ { "command": "extension.bun.runFile", "title": "Run Bun", "shortTitle": "Run", "category": "Bun", "enablement": "!inDebugMode", "icon": "$(play)" }, { "command": "extension.bun.debugFile", "title": "Debug Bun", "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" } ] }, "description": "The Visual Studio Code extension for Bun.", "displayName": "Bun for Visual Studio Code", "engines": { "vscode": "^1.60.0" }, "extensionKind": [ "workspace" ], "galleryBanner": { "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": "bun run build && npm version patch", "publish": "cd extension && bunx vsce publish" }, "workspaceTrust": { "request": "never" }, "workspaces": [ "../bun-debug-adapter-protocol", "../bun-inspector-protocol" ] }