1{ 2 "publisher": "pigweed", 3 "name": "pigweed", 4 "displayName": "Pigweed", 5 "description": "Visual Studio Code support for Pigweed projects", 6 "icon": "./icon.png", 7 "repository": { 8 "type": "git", 9 "url": "https://pigweed.googlesource.com/pigweed/pigweed" 10 }, 11 "version": "1.3.3", 12 "license": "Apache-2.0", 13 "engines": { 14 "vscode": "^1.75.0" 15 }, 16 "categories": [ 17 "Debuggers", 18 "Formatters", 19 "Linters", 20 "Programming Languages", 21 "Other", 22 "Testing" 23 ], 24 "activationEvents": [ 25 "workspaceContains:**/pigweed.json" 26 ], 27 "main": "./dist/extension.js", 28 "contributes": { 29 "viewsContainers": { 30 "activitybar": [ 31 { 32 "id": "custom-activitybar", 33 "title": "Pigweed VSCode Extension", 34 "icon": "./icon.svg" 35 } 36 ] 37 }, 38 "views": { 39 "custom-activitybar": [ 40 { 41 "type": "webview", 42 "id": "pigweed.webview", 43 "name": "View", 44 "contextualTitle": "View" 45 } 46 ] 47 }, 48 "commands": [ 49 { 50 "command": "pigweed.open-output-panel", 51 "title": "Pigweed: Open Output Panel" 52 }, 53 { 54 "command": "pigweed.file-bug", 55 "title": "Pigweed: File Bug" 56 }, 57 { 58 "command": "pigweed.sync-settings", 59 "title": "Pigweed: Sync Shared Settings" 60 }, 61 { 62 "command": "pigweed.check-extensions", 63 "title": "Pigweed: Check Extensions" 64 }, 65 { 66 "command": "pigweed.launch-terminal", 67 "title": "Pigweed: Launch Activated Terminal" 68 }, 69 { 70 "command": "pigweed.bootstrap-terminal", 71 "title": "Pigweed: Bootstrap Activated Terminal" 72 }, 73 { 74 "command": "pigweed.activate-bazelisk-in-terminal", 75 "title": "Pigweed: Activate Bazelisk in Terminal" 76 }, 77 { 78 "command": "pigweed.refresh-compile-commands", 79 "title": "Pigweed: Refresh Compile Commands" 80 }, 81 { 82 "command": "pigweed.refresh-compile-commands-and-set-target", 83 "title": "Pigweed: Refresh Compile Commands and Set Code Analysis Target" 84 }, 85 { 86 "command": "pigweed.select-target", 87 "title": "Pigweed: Select Code Analysis Target" 88 }, 89 { 90 "command": "pigweed.disable-inactive-file-code-intelligence", 91 "title": "Pigweed: Disable Inactive File Code intelligence" 92 }, 93 { 94 "command": "pigweed.enable-inactive-file-code-intelligence", 95 "title": "Pigweed: Enable Inactive File Code intelligence" 96 }, 97 { 98 "command": "pigweed.set-bazelisk-path", 99 "title": "Pigweed: Set Bazelisk Path" 100 }, 101 { 102 "command": "pigweed.set-bazel-recommended-settings", 103 "title": "Pigweed: Set Bazel Recommended Settings" 104 } 105 ], 106 "configuration": { 107 "title": "Pigweed", 108 "properties": { 109 "pigweed.activateBazeliskInNewTerminals": { 110 "type": "boolean", 111 "default": "false", 112 "description": "When enabled, the path to Bazelisk will be added to the integrated terminal when launched" 113 }, 114 "pigweed.codeAnalysisTarget": { 115 "type": "string", 116 "description": "The build target to use for editor code intelligence" 117 }, 118 "pigweed.codeAnalysisTargetDir": { 119 "type": "string", 120 "description": "The compile commands directory for the selected build target to use for editor code intelligence" 121 }, 122 "pigweed.compDbSearchPaths": { 123 "type": "array", 124 "items": { 125 "type": "object", 126 "properties": { 127 "pathGlob": { 128 "type": "string", 129 "description": "..." 130 }, 131 "targetInferencePattern": { 132 "type": "string", 133 "default": "?", 134 "description": "..." 135 } 136 } 137 }, 138 "default": [], 139 "description": "..." 140 }, 141 "pigweed.disableBazelSettingsRecommendations": { 142 "type": "boolean", 143 "default": "false", 144 "description": "Disable reminders to use Pigweed's Bazel settings recommendations" 145 }, 146 "pigweed.disableBazeliskCheck": { 147 "type": "boolean", 148 "default": "false", 149 "description": "Disable the recommendation to use Bazelisk" 150 }, 151 "pigweed.disableCompileCommandsFileWatcher": { 152 "type": "boolean", 153 "default": "false", 154 "description": "Disable automatically refreshing compile commands" 155 }, 156 "pigweed.disableInactiveFileCodeIntelligence": { 157 "type": "boolean", 158 "default": "true", 159 "description": "By default, Pigweed disables code intelligence for files not in the current target's build graph. Setting this to false disables that behavior." 160 }, 161 "pigweed.enforceExtensionRecommendations": { 162 "type": "boolean", 163 "default": "false", 164 "description": "Require installing and disabling extensions recommended in extensions.json" 165 }, 166 "pigweed.hideInactiveFileIndicators": { 167 "type": "boolean", 168 "default": "false", 169 "description": "When code intelligence is enabled for all files, hide indicators for inactive and orphaned files" 170 }, 171 "pigweed.preserveBazelPath": { 172 "type": "boolean", 173 "default": "false", 174 "description": "When enabled, this extension won't override the specified Bazel path under any circumstances" 175 }, 176 "pigweed.projectRoot": { 177 "type": "string", 178 "description": "The root of the Pigweed project source directory" 179 }, 180 "pigweed.refreshCompileCommandsTarget": { 181 "type": "string", 182 "default": "//:refresh_compile_commands", 183 "description": "The Bazel target to run to refresh compile commands" 184 }, 185 "pigweed.supportBazelTargets": { 186 "type": [ 187 "boolean", 188 "string" 189 ], 190 "enum": [ 191 "auto", 192 true, 193 false 194 ], 195 "default": "auto", 196 "description": "Enable or disable support for Bazel build targets" 197 }, 198 "pigweed.supportCmakeTargets": { 199 "type": [ 200 "boolean", 201 "string" 202 ], 203 "enum": [ 204 "auto", 205 true, 206 false 207 ], 208 "default": "auto", 209 "description": "Enable or disable support for CMake build targets" 210 }, 211 "pigweed.supportGnTargets": { 212 "type": [ 213 "boolean", 214 "string" 215 ], 216 "enum": [ 217 "auto", 218 true, 219 false 220 ], 221 "default": "auto", 222 "description": "Enable or disable support for GN build targets" 223 }, 224 "pigweed.terminalShell": { 225 "type": "string", 226 "default": "bash", 227 "enum": [ 228 "bash", 229 "zsh" 230 ], 231 "description": "The shell to use for the Pigweed activated terminal" 232 } 233 } 234 } 235 }, 236 "scripts": { 237 "clean": "rimraf out dist", 238 "build": "tsc -p ./", 239 "bundle": "webpack --mode production --devtool hidden-source-map", 240 "watch:build": "tsc -watch -p ./", 241 "watch:bundle": "webpack --mode development --watch", 242 "watch:e2e": "tsc -watch -p tsconfig.e2e.json", 243 "lint": "eslint src --ext ts", 244 "prePackage": "tsx scripts/prepostPackage.mts --pre", 245 "doPackage": "vsce package", 246 "doPackagePrerelease": "vsce package --pre-release", 247 "postPackage": "tsx scripts/prepostPackage.mts --post", 248 "package": "npm run clean && npm run build && npm run bundle && npm run prePackage && npm run doPackage && npm run postPackage", 249 "packagePrerelease": "npm run clean && npm run build && npm run bundle && npm run prePackage && npm run doPackagePrerelease && npm run postPackage", 250 "test:unit": "npm run clean && npm run build && vscode-test --label unitTests", 251 "test:e2e": "npm run clean && npm run build && vscode-test --label e2eTests", 252 "test:all": "npm run clean && npm run build && vscode-test" 253 }, 254 "dependencies": { 255 "@bazel/bazelisk": "^1.19.0", 256 "@bazel/buildifier": "^7.1.2", 257 "@vscode-elements/elements-lite": "^0.3.0", 258 "@vscode/codicons": "^0.0.36", 259 "glob": "^10.4.5", 260 "hjson": "^3.2.2", 261 "js-yaml": "^4.1.0", 262 "lit": "^3.2.1", 263 "node_modules-path": "^2.0.8", 264 "yaml": "^2.7.0", 265 "zod": "^3.24.1" 266 }, 267 "devDependencies": { 268 "@types/glob": "^8.1.0", 269 "@types/hjson": "^2.4.6", 270 "@types/jest": "29.5.12", 271 "@types/js-yaml": "^4.0.9", 272 "@types/mocha": "^10.0.1", 273 "@types/node": "^20.14.10", 274 "@types/vscode": "^1.75.0", 275 "@typescript-eslint/eslint-plugin": "^7.16.0", 276 "@typescript-eslint/parser": "^7.16.0", 277 "@vscode/test-cli": "^0.0.10", 278 "@vscode/test-electron": "^2.3.9", 279 "css-loader": "^7.1.2", 280 "eslint": "^8.56.0", 281 "mocha": "^10.2.0", 282 "node-polyfill-webpack-plugin": "^4.0.0", 283 "prettier": "^3.3.2", 284 "rimraf": "^6.0.1", 285 "style-loader": "^4.0.0", 286 "ts-jest": "^29.2.2", 287 "ts-loader": "^9.5.1", 288 "tsx": "^4.16.2", 289 "typescript": "^5.5.3", 290 "webpack": "^5.93.0", 291 "webpack-cli": "^5.1.4" 292 }, 293 "extensionDependencies": [ 294 "BazelBuild.vscode-bazel", 295 "llvm-vs-code-extensions.vscode-clangd", 296 "zxh404.vscode-proto3" 297 ] 298} 299