Files
superwork/vscode/package.json
T
cruldra ef0750b4ef 🐛 fix(vscode): 刷新按钮加载态可见,图标随重拉转圈
刷新按钮此前只发消息重拉数据,看板已有列表时界面毫无变化,用户
无法判断点击是否生效。消息协议里的 issues/loading 从未被发送。

loadAndPush 现在在开跑前推 issues/loading,并在 finally 里推新增的
issues/loaded,保证成功、报错、缺 token 提前返回都能收尾;webhook
触发的自动重拉同样走这条链路。webview 据此维护 refreshing 状态,
刷新图标转圈并在期间禁用按钮。

Claude-Session: https://claude.ai/code/session_01REdhpbaNyqWASF2HWsnTFv
2026-09-13 08:22:38 +08:00

128 lines
3.3 KiB
JSON

{
"publisher": "clurdra",
"name": "superpowers-vscode-clurdra",
"displayName": "Superpowers-clurdra",
"version": "0.2.126",
"packageManager": "pnpm@10.27.0",
"description": "Superpowers specs and plans Kanban explorer",
"author": "clurdra",
"license": "MIT",
"homepage": "https://github.com/cruldra/superpowers-vscode#readme",
"repository": {
"type": "git",
"url": "https://github.com/cruldra/superpowers-vscode"
},
"bugs": {
"url": "https://github.com/cruldra/superpowers-vscode/issues"
},
"categories": [
"Other"
],
"main": "./dist/index.cjs",
"icon": "res/icon.png",
"files": [
"LICENSE.md",
"dist/**/*",
"prompts/*.md",
"res/*"
],
"engines": {
"vscode": "^1.97.0"
},
"activationEvents": [
"onView:superpowers.kanban",
"onCommand:superpowers.openKanban",
"onCommand:superpowers.setGiteaToken",
"onUri"
],
"contributes": {
"viewsContainers": {
"activitybar": [
{
"id": "superpowers",
"title": "Superpowers",
"icon": "res/icon.svg"
}
]
},
"views": {
"superpowers": [
{
"id": "superpowers.kanban",
"name": "Kanban"
}
]
},
"viewsWelcome": [
{
"view": "superpowers.kanban",
"contents": "在编辑器主区打开 Superpowers Kanban 看板。\n[Open Kanban Board](command:superpowers.openKanban)"
}
],
"commands": [
{
"command": "superpowers.openKanban",
"title": "Open Superpowers Kanban",
"category": "Superpowers"
},
{
"command": "superpowers.refresh",
"title": "Refresh Issues (Gitea + YouTrack)",
"category": "Superpowers"
},
{
"command": "superpowers.setGiteaToken",
"title": "Set Gitea Token",
"category": "Superpowers"
}
],
"menus": {
"view/title": [
{
"command": "superpowers.openKanban",
"when": "view == superpowers.kanban",
"group": "navigation"
},
{
"command": "superpowers.refresh",
"when": "view == superpowers.kanban",
"group": "navigation"
},
{
"command": "superpowers.setGiteaToken",
"when": "view == superpowers.kanban",
"group": "navigation"
}
]
}
},
"scripts": {
"build": "pnpm --filter webview-ui build && node esbuild.mjs --production",
"dev": "concurrently \"pnpm --filter webview-ui dev\" \"node esbuild.mjs --watch\"",
"typecheck": "tsc --noEmit && pnpm --filter webview-ui typecheck",
"lint": "eslint .",
"test": "vitest",
"vscode:prepublish": "pnpm build",
"release": "bumpp",
"ext:package": "pnpm build && vsce package --no-dependencies",
"ext:publish:vsce": "npm_config_proxy= npm_config_https_proxy= vsce publish --skip-duplicate"
},
"dependencies": {
"diff": "^9.0.0"
},
"devDependencies": {
"@antfu/eslint-config": "^6.7.3",
"@types/diff": "^8.0.0",
"@types/node": "^25.0.3",
"@types/vscode": "^1.97.0",
"@vscode/vsce": "^3.9.1",
"bumpp": "^10.3.2",
"concurrently": "^9.1.0",
"esbuild": "^0.25.0",
"eslint": "^9.39.2",
"ovsx": "^0.10.7",
"typescript": "^5.9.3",
"vitest": "^4.0.16"
}
}