|
18 | 18 | "type": "commonjs", |
19 | 19 | "main": "./dist/extension.js", |
20 | 20 | "scripts": { |
21 | | - "build": "tsc --noEmit && node esbuild.mjs", |
22 | | - "build:production": "tsc --noEmit && node esbuild.mjs --production", |
| 21 | + "build": "pnpm build:webviews && tsc --noEmit && node esbuild.mjs", |
| 22 | + "build:production": "NODE_ENV=production pnpm build:webviews && tsc --noEmit && node esbuild.mjs --production", |
| 23 | + "build:webviews": "pnpm -r --filter \"./packages/*\" build", |
23 | 24 | "fmt": "prettier --write --cache --cache-strategy content .", |
24 | 25 | "fmt:check": "prettier --check --cache --cache-strategy content .", |
25 | 26 | "lint": "eslint --cache --cache-strategy content .", |
|
31 | 32 | "test:ci": "CI=true pnpm test", |
32 | 33 | "test:integration": "tsc -p test --outDir out && node esbuild.mjs && vscode-test", |
33 | 34 | "vscode:prepublish": "pnpm build:production", |
34 | | - "watch": "node esbuild.mjs --watch" |
| 35 | + "watch:all": "concurrently -n extension,webviews \"pnpm watch:extension\" \"pnpm watch:webviews\"", |
| 36 | + "watch:extension": "node esbuild.mjs --watch", |
| 37 | + "watch:webviews": "pnpm -r --filter \"./packages/*\" --parallel dev" |
35 | 38 | }, |
36 | 39 | "contributes": { |
37 | 40 | "configuration": { |
|
194 | 197 | "visibility": "visible", |
195 | 198 | "icon": "media/logo-white.svg", |
196 | 199 | "when": "coder.authenticated && coder.isOwner" |
| 200 | + }, |
| 201 | + { |
| 202 | + "type": "webview", |
| 203 | + "id": "coder.tasksPanel", |
| 204 | + "name": "Tasks", |
| 205 | + "icon": "media/logo-white.svg", |
| 206 | + "when": "coder.authenticated && coder.devMode" |
197 | 207 | } |
198 | 208 | ] |
199 | 209 | }, |
|
202 | 212 | "view": "myWorkspaces", |
203 | 213 | "contents": "Coder is a platform that provisions remote development environments. \n[Login](command:coder.login)", |
204 | 214 | "when": "!coder.authenticated && coder.loaded" |
| 215 | + }, |
| 216 | + { |
| 217 | + "view": "coder.tasksPanel", |
| 218 | + "contents": "[Login](command:coder.login) to view tasks.", |
| 219 | + "when": "!coder.authenticated && coder.loaded" |
205 | 220 | } |
206 | 221 | ], |
207 | 222 | "commands": [ |
|
458 | 473 | "@types/ws": "^8.18.1", |
459 | 474 | "@typescript-eslint/eslint-plugin": "^8.53.0", |
460 | 475 | "@typescript-eslint/parser": "^8.53.1", |
| 476 | + "@vitejs/plugin-react-swc": "^3.8.0", |
461 | 477 | "@vitest/coverage-v8": "^4.0.16", |
462 | 478 | "@vscode/test-cli": "^0.0.12", |
463 | 479 | "@vscode/test-electron": "^2.5.2", |
464 | 480 | "@vscode/vsce": "^3.7.1", |
465 | 481 | "bufferutil": "^4.1.0", |
466 | 482 | "coder": "github:coder/coder#main", |
| 483 | + "concurrently": "^9.2.1", |
467 | 484 | "dayjs": "^1.11.19", |
468 | 485 | "electron": "^40.0.0", |
469 | 486 | "esbuild": "^0.27.2", |
|
472 | 489 | "eslint-import-resolver-typescript": "^4.4.4", |
473 | 490 | "eslint-plugin-import-x": "^4.16.1", |
474 | 491 | "eslint-plugin-package-json": "^0.88.1", |
| 492 | + "eslint-plugin-react": "^7.37.0", |
| 493 | + "eslint-plugin-react-hooks": "^5.0.0", |
475 | 494 | "globals": "^17.0.0", |
476 | 495 | "jsonc-eslint-parser": "^2.4.2", |
477 | 496 | "memfs": "^4.56.4", |
478 | 497 | "prettier": "^3.7.4", |
479 | 498 | "typescript": "^5.9.3", |
480 | 499 | "typescript-eslint": "^8.53.1", |
481 | 500 | "utf-8-validate": "^6.0.6", |
| 501 | + "vite": "^6.0.0", |
482 | 502 | "vitest": "^4.0.16" |
483 | 503 | }, |
484 | 504 | "extensionPack": [ |
|
0 commit comments