OXYGENHUB
# 3b8b25ec33f9 oxygenhub-vscode / package.json
6.8 KiB · JSON · last changed 0.1.0: sign in, hub client with generated types, remote provider, proposals and issues views, review threads on atoms, seal and land through oxy, checks status bar 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.1.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": ["SCM Providers", "Other"],
13
  "keywords": ["oxygen", "oxygenhub", "review", "proposals", "issues"],
14
  "extensionDependencies": ["andymccall.oxygen-vscode"],
15
  "activationEvents": ["workspaceContains:.oxy/format", "onAuthenticationRequest:oxygenhub", "onStartupFinished"],
16
  "main": "./dist/extension.js",
17
  "contributes": {
18
    "authentication": [{ "id": "oxygenhub", "label": "Oxygenhub" }],
19
    "configuration": {
20
      "title": "Oxygenhub",
21
      "properties": {
22
        "oxygenhub.hubs": { "type": "array", "items": { "type": "string" }, "default": [], "description": "Base URLs of hubs you use (learnt from sign in too)." },
23
        "oxygenhub.proposalBookmarkPrefix": { "type": "string", "default": "proposal/", "description": "Prefix of the local bookmark created when checking out a proposal." },
24
        "oxygenhub.autoRefresh": { "type": "number", "default": 60, "description": "Seconds between view refreshes; 0 disables." }
25
      }
26
    },
27
    "viewsContainers": {
28
      "activitybar": [{ "id": "oxygenhub", "title": "Oxygenhub", "icon": "assets/images/oxygenhub.svg" }]
29
    },
30
    "views": {
31
      "oxygenhub": [
32
        { "id": "oxygenhub.proposals", "name": "Proposals" },
33
        { "id": "oxygenhub.issues", "name": "Issues" }
34
      ]
35
    },
36
    "viewsWelcome": [
37
      { "view": "oxygenhub.proposals", "contents": "Sign in to an Oxygenhub to see proposals.\n[Sign in](command:oxygenhub.signIn)" }
38
    ],
39
    "commands": [
40
      { "command": "oxygenhub.signIn", "title": "Sign in", "category": "Oxygenhub" },
41
      { "command": "oxygenhub.signOut", "title": "Sign out", "category": "Oxygenhub" },
42
      { "command": "oxygenhub.refresh", "title": "Refresh", "category": "Oxygenhub", "icon": "$(refresh)" },
43
      { "command": "oxygenhub.openProposal", "title": "Open Proposal", "category": "Oxygenhub" },
44
      { "command": "oxygenhub.openOnHub", "title": "Open on Hub", "category": "Oxygenhub", "icon": "$(link-external)" },
45
      { "command": "oxygenhub.checkoutProposal", "title": "Check Out Proposal", "category": "Oxygenhub", "icon": "$(git-branch)" },
46
      { "command": "oxygenhub.review", "title": "Review…", "category": "Oxygenhub", "icon": "$(comment-discussion)" },
47
      { "command": "oxygenhub.sealApproval", "title": "Seal My Approval (oxy seal --proposal)", "category": "Oxygenhub" },
48
      { "command": "oxygenhub.land", "title": "Land Proposal", "category": "Oxygenhub" },
49
      { "command": "oxygenhub.closeProposal", "title": "Close Proposal", "category": "Oxygenhub" },
50
      { "command": "oxygenhub.createProposal", "title": "Propose Current Bookmark…", "category": "Oxygenhub" },
51
      { "command": "oxygenhub.newIssue", "title": "New Issue…", "category": "Oxygenhub", "icon": "$(add)" },
52
      { "command": "oxygenhub.openIssue", "title": "Open Issue", "category": "Oxygenhub" },
53
      { "command": "oxygenhub.commentIssue", "title": "Comment on Issue…", "category": "Oxygenhub" },
54
      { "command": "oxygenhub.closeIssue", "title": "Close Issue", "category": "Oxygenhub" },
55
      { "command": "oxygenhub.reopenIssue", "title": "Reopen Issue", "category": "Oxygenhub" },
56
      { "command": "oxygenhub.assignMe", "title": "Assign to Me", "category": "Oxygenhub" },
57
      { "command": "oxygenhub.newThread", "title": "Start Review Thread", "category": "Oxygenhub" },
58
      { "command": "oxygenhub.reply", "title": "Reply", "category": "Oxygenhub" },
59
      { "command": "oxygenhub.resolveThread", "title": "Resolve", "category": "Oxygenhub" }
60
    ],
61
    "menus": {
62
      "view/title": [
63
        { "command": "oxygenhub.refresh", "when": "view == oxygenhub.proposals || view == oxygenhub.issues", "group": "navigation" },
64
        { "command": "oxygenhub.createProposal", "when": "view == oxygenhub.proposals", "group": "navigation" },
65
        { "command": "oxygenhub.newIssue", "when": "view == oxygenhub.issues", "group": "navigation" }
66
      ],
67
      "view/item/context": [
68
        { "command": "oxygenhub.openOnHub", "when": "view == oxygenhub.proposals && viewItem == proposal", "group": "inline" },
69
        { "command": "oxygenhub.checkoutProposal", "when": "view == oxygenhub.proposals && viewItem == proposal", "group": "inline" },
70
        { "command": "oxygenhub.review", "when": "view == oxygenhub.proposals && viewItem == proposal", "group": "inline" },
71
        { "command": "oxygenhub.sealApproval", "when": "view == oxygenhub.proposals && viewItem == proposal", "group": "actions@1" },
72
        { "command": "oxygenhub.land", "when": "view == oxygenhub.proposals && viewItem == proposal", "group": "actions@2" },
73
        { "command": "oxygenhub.closeProposal", "when": "view == oxygenhub.proposals && viewItem == proposal", "group": "actions@3" },
74
        { "command": "oxygenhub.openOnHub", "when": "view == oxygenhub.issues && viewItem == issue", "group": "inline" },
75
        { "command": "oxygenhub.commentIssue", "when": "view == oxygenhub.issues && viewItem == issue", "group": "actions@1" },
76
        { "command": "oxygenhub.assignMe", "when": "view == oxygenhub.issues && viewItem == issue", "group": "actions@2" },
77
        { "command": "oxygenhub.closeIssue", "when": "view == oxygenhub.issues && viewItem == issue", "group": "actions@3" },
78
        { "command": "oxygenhub.reopenIssue", "when": "view == oxygenhub.issues && viewItem == issue", "group": "actions@3" }
79
      ],
80
      "comments/commentThread/context": [
81
        { "command": "oxygenhub.reply", "when": "commentController == oxygenhub", "group": "inline" },
82
        { "command": "oxygenhub.newThread", "when": "commentController == oxygenhub && commentThreadIsEmpty", "group": "inline" }
83
      ],
84
      "comments/commentThread/title": [
85
        { "command": "oxygenhub.resolveThread", "when": "commentController == oxygenhub", "group": "navigation" }
86
      ]
87
    }
88
  },
89
  "scripts": {
90
    "types": "cp ../oxygenhub/crates/hub-api/ts/index.d.ts src/hubapi.d.ts",
91
    "build": "esbuild src/extension.ts --bundle --platform=node --format=cjs --external:vscode --outfile=dist/extension.js --sourcemap",
92
    "watch": "npm run build -- --watch",
93
    "typecheck": "tsc --noEmit -p .",
94
    "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",
95
    "test": "node --test \"test/**/*.test.mjs\"",
96
    "check": "npm run typecheck && npm run build && npm test",
97
    "package": "vsce package --no-dependencies"
98
  },
99
  "devDependencies": {
100
    "@types/node": "^24.0.0",
101
    "@types/vscode": "^1.137.0",
102
    "@vscode/vsce": "^4.0.0",
103
    "esbuild": "^0.28.0",
104
    "typescript": "^5.9.0"
105
  }
106
}