• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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