OXYGENHUB
# 5888949525ec oxygenhub-vscode / package.json
10.8 KiB · JSON · last changed Reach self-signed hubs with the remote's CA (0.7.0) 1 month ago source blame history raw
1
{
2
  "name": "oxygenhub-vscode",
3
  "displayName": "OxygenHub",
4
  "description": "Proposals, reviews, issues and checks from an OxygenHub, in the editor. Builds on the Oxygen extension.",
5
  "version": "0.7.0",
6
  "publisher": "andymccall",
7
  "license": "MIT OR Apache-2.0",
8
  "icon": "assets/images/oxygenhub.png",
9
  "engines": {
10
    "vscode": "^1.137.0"
11
  },
12
  "categories": [
13
    "SCM Providers",
14
    "Other"
15
  ],
16
  "keywords": [
17
    "oxygen",
18
    "oxygenhub",
19
    "review",
20
    "proposals",
21
    "issues"
22
  ],
23
  "extensionDependencies": [
24
    "oxygen.oxygen-vscode"
25
  ],
26
  "activationEvents": [
27
    "workspaceContains:.oxy/format",
28
    "onAuthenticationRequest:oxygenhub",
29
    "onStartupFinished"
30
  ],
31
  "main": "./dist/extension.js",
32
  "contributes": {
33
    "authentication": [
34
      {
35
        "id": "oxygenhub",
36
        "label": "OxygenHub"
37
      }
38
    ],
39
    "configuration": {
40
      "title": "OxygenHub",
41
      "properties": {
42
        "oxygenhub.hubs": {
43
          "type": "array",
44
          "items": {
45
            "type": "string"
46
          },
47
          "default": [],
48
          "description": "Base URLs of hubs you use (learnt from sign in too)."
49
        },
50
        "oxygenhub.caFiles": {
51
          "type": "object",
52
          "additionalProperties": {
53
            "type": "string"
54
          },
55
          "default": {},
56
          "description": "CA certificate files for hubs with self-signed certificates, by base URL, e.g. {\"https://earth.example:7343\": \"~/.config/oxy/earth-ca.pem\"}. Checkouts whose remote names a CA (remote.NAME.ca) need no entry."
57
        },
58
        "oxygenhub.proposalBookmarkPrefix": {
59
          "type": "string",
60
          "default": "proposal/",
61
          "description": "Prefix of the local bookmark created when checking out a proposal."
62
        },
63
        "oxygenhub.autoRefresh": {
64
          "type": "number",
65
          "default": 60,
66
          "description": "Seconds between view refreshes; 0 disables."
67
        },
68
        "oxygenhub.announceNotifications": {
69
          "type": "boolean",
70
          "default": true,
71
          "description": "Show a message when new notifications arrive (checked on the autoRefresh interval)."
72
        }
73
      }
74
    },
75
    "viewsContainers": {
76
      "activitybar": [
77
        {
78
          "id": "oxygenhub",
79
          "title": "OxygenHub",
80
          "icon": "assets/images/oxygenhub-activity.svg"
81
        }
82
      ]
83
    },
84
    "views": {
85
      "oxygenhub": [
86
        {
87
          "id": "oxygenhub.proposals",
88
          "name": "Proposals"
89
        },
90
        {
91
          "id": "oxygenhub.issues",
92
          "name": "Issues"
93
        },
94
        {
95
          "id": "oxygenhub.releases",
96
          "name": "Releases"
97
        }
98
      ]
99
    },
100
    "viewsWelcome": [
101
      {
102
        "view": "oxygenhub.proposals",
103
        "contents": "Sign in to an OxygenHub to see proposals.\n[Sign in](command:oxygenhub.signIn)"
104
      }
105
    ],
106
    "commands": [
107
      {
108
        "command": "oxygenhub.signIn",
109
        "title": "Sign in",
110
        "category": "OxygenHub"
111
      },
112
      {
113
        "command": "oxygenhub.signOut",
114
        "title": "Sign out",
115
        "category": "OxygenHub"
116
      },
117
      {
118
        "command": "oxygenhub.refresh",
119
        "title": "Refresh",
120
        "category": "OxygenHub",
121
        "icon": "$(refresh)"
122
      },
123
      {
124
        "command": "oxygenhub.inbox",
125
        "title": "Open Inbox",
126
        "category": "OxygenHub",
127
        "icon": "$(bell)"
128
      },
129
      {
130
        "command": "oxygenhub.openProposal",
131
        "title": "Open Proposal",
132
        "category": "OxygenHub"
133
      },
134
      {
135
        "command": "oxygenhub.openOnHub",
136
        "title": "Open on Hub",
137
        "category": "OxygenHub",
138
        "icon": "$(link-external)"
139
      },
140
      {
141
        "command": "oxygenhub.openProposalFile",
142
        "title": "Open Proposal File Diff",
143
        "category": "OxygenHub"
144
      },
145
      {
146
        "command": "oxygenhub.openProposalChanges",
147
        "title": "View Changes",
148
        "category": "OxygenHub",
149
        "icon": "$(diff-multiple)"
150
      },
151
      {
152
        "command": "oxygenhub.checkoutProposal",
153
        "title": "Check Out Proposal",
154
        "category": "OxygenHub",
155
        "icon": "$(git-branch)"
156
      },
157
      {
158
        "command": "oxygenhub.review",
159
        "title": "Review\u2026",
160
        "category": "OxygenHub",
161
        "icon": "$(comment-discussion)"
162
      },
163
      {
164
        "command": "oxygenhub.sealApproval",
165
        "title": "Seal My Approval (oxy seal --proposal)",
166
        "category": "OxygenHub"
167
      },
168
      {
169
        "command": "oxygenhub.land",
170
        "title": "Land Proposal",
171
        "category": "OxygenHub"
172
      },
173
      {
174
        "command": "oxygenhub.closeProposal",
175
        "title": "Close Proposal",
176
        "category": "OxygenHub"
177
      },
178
      {
179
        "command": "oxygenhub.createProposal",
180
        "title": "Propose Current Bookmark\u2026",
181
        "category": "OxygenHub"
182
      },
183
      {
184
        "command": "oxygenhub.newIssue",
185
        "title": "New Issue\u2026",
186
        "category": "OxygenHub",
187
        "icon": "$(add)"
188
      },
189
      {
190
        "command": "oxygenhub.draftRelease",
191
        "title": "Draft Release\u2026",
192
        "category": "OxygenHub",
193
        "icon": "$(tag)"
194
      },
195
      {
196
        "command": "oxygenhub.issueFromSelection",
197
        "title": "New Issue from Selection\u2026",
198
        "category": "OxygenHub"
199
      },
200
      {
201
        "command": "oxygenhub.openIssue",
202
        "title": "Open Issue",
203
        "category": "OxygenHub"
204
      },
205
      {
206
        "command": "oxygenhub.commentIssue",
207
        "title": "Comment on Issue\u2026",
208
        "category": "OxygenHub"
209
      },
210
      {
211
        "command": "oxygenhub.closeIssue",
212
        "title": "Close Issue",
213
        "category": "OxygenHub"
214
      },
215
      {
216
        "command": "oxygenhub.reopenIssue",
217
        "title": "Reopen Issue",
218
        "category": "OxygenHub"
219
      },
220
      {
221
        "command": "oxygenhub.assignMe",
222
        "title": "Assign to Me",
223
        "category": "OxygenHub"
224
      },
225
      {
226
        "command": "oxygenhub.newThread",
227
        "title": "Start Review Thread",
228
        "category": "OxygenHub"
229
      },
230
      {
231
        "command": "oxygenhub.reply",
232
        "title": "Reply",
233
        "category": "OxygenHub"
234
      },
235
      {
236
        "command": "oxygenhub.resolveThread",
237
        "title": "Resolve",
238
        "category": "OxygenHub"
239
      }
240
    ],
241
    "menus": {
242
      "view/title": [
243
        {
244
          "command": "oxygenhub.refresh",
245
          "when": "view == oxygenhub.proposals || view == oxygenhub.issues || view == oxygenhub.releases",
246
          "group": "navigation"
247
        },
248
        {
249
          "command": "oxygenhub.createProposal",
250
          "when": "view == oxygenhub.proposals",
251
          "group": "navigation"
252
        },
253
        {
254
          "command": "oxygenhub.newIssue",
255
          "when": "view == oxygenhub.issues",
256
          "group": "navigation"
257
        },
258
        {
259
          "command": "oxygenhub.draftRelease",
260
          "when": "view == oxygenhub.releases",
261
          "group": "navigation"
262
        }
263
      ],
264
      "view/item/context": [
265
        {
266
          "command": "oxygenhub.openProposalChanges",
267
          "when": "view == oxygenhub.proposals && viewItem == proposal",
268
          "group": "inline"
269
        },
270
        {
271
          "command": "oxygenhub.openOnHub",
272
          "when": "view == oxygenhub.proposals && viewItem == proposal",
273
          "group": "inline"
274
        },
275
        {
276
          "command": "oxygenhub.checkoutProposal",
277
          "when": "view == oxygenhub.proposals && viewItem == proposal",
278
          "group": "inline"
279
        },
280
        {
281
          "command": "oxygenhub.review",
282
          "when": "view == oxygenhub.proposals && viewItem == proposal",
283
          "group": "inline"
284
        },
285
        {
286
          "command": "oxygenhub.sealApproval",
287
          "when": "view == oxygenhub.proposals && viewItem == proposal",
288
          "group": "actions@1"
289
        },
290
        {
291
          "command": "oxygenhub.land",
292
          "when": "view == oxygenhub.proposals && viewItem == proposal",
293
          "group": "actions@2"
294
        },
295
        {
296
          "command": "oxygenhub.closeProposal",
297
          "when": "view == oxygenhub.proposals && viewItem == proposal",
298
          "group": "actions@3"
299
        },
300
        {
301
          "command": "oxygenhub.openOnHub",
302
          "when": "view == oxygenhub.issues && viewItem == issue",
303
          "group": "inline"
304
        },
305
        {
306
          "command": "oxygenhub.commentIssue",
307
          "when": "view == oxygenhub.issues && viewItem == issue",
308
          "group": "actions@1"
309
        },
310
        {
311
          "command": "oxygenhub.assignMe",
312
          "when": "view == oxygenhub.issues && viewItem == issue",
313
          "group": "actions@2"
314
        },
315
        {
316
          "command": "oxygenhub.closeIssue",
317
          "when": "view == oxygenhub.issues && viewItem == issue",
318
          "group": "actions@3"
319
        },
320
        {
321
          "command": "oxygenhub.reopenIssue",
322
          "when": "view == oxygenhub.issues && viewItem == issue",
323
          "group": "actions@3"
324
        },
325
        {
326
          "command": "oxygenhub.draftRelease",
327
          "when": "view == oxygenhub.releases && viewItem == releaseRepo",
328
          "group": "inline"
329
        }
330
      ],
331
      "comments/commentThread/context": [
332
        {
333
          "command": "oxygenhub.reply",
334
          "when": "commentController == oxygenhub",
335
          "group": "inline"
336
        },
337
        {
338
          "command": "oxygenhub.newThread",
339
          "when": "commentController == oxygenhub && commentThreadIsEmpty",
340
          "group": "inline"
341
        }
342
      ],
343
      "comments/commentThread/title": [
344
        {
345
          "command": "oxygenhub.resolveThread",
346
          "when": "commentController == oxygenhub",
347
          "group": "navigation"
348
        }
349
      ],
350
      "commandPalette": [
351
        {
352
          "command": "oxygenhub.openProposalFile",
353
          "when": "false"
354
        }
355
      ],
356
      "editor/context": [
357
        {
358
          "command": "oxygenhub.issueFromSelection",
359
          "when": "resourceScheme == file",
360
          "group": "9_oxygenhub@1"
361
        }
362
      ]
363
    }
364
  },
365
  "scripts": {
366
    "types": "cp ../oxygenhub/crates/hub-api/ts/index.d.ts src/hubapi.d.ts",
367
    "build": "esbuild src/extension.ts --bundle --platform=node --format=cjs --external:vscode --outfile=dist/extension.js --sourcemap",
368
    "watch": "npm run build -- --watch",
369
    "typecheck": "tsc --noEmit -p .",
370
    "pretest": "esbuild src/hub.ts --bundle --platform=node --format=esm --outfile=out/hub.mjs && esbuild src/provider.ts --bundle --platform=node --format=esm --outfile=out/provider.mjs && esbuild src/refs.ts --bundle --platform=node --format=esm --outfile=out/refs.mjs",
371
    "test": "node --test \"test/**/*.test.mjs\"",
372
    "check": "npm run typecheck && npm run build && npm test",
373
    "package": "vsce package --no-dependencies"
374
  },
375
  "devDependencies": {
376
    "@types/node": "^24.0.0",
377
    "@types/vscode": "^1.137.0",
378
    "@vscode/vsce": "^4.0.0",
379
    "esbuild": "^0.28.0",
380
    "typescript": "^5.9.0"
381
  }
382
}