Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ jobs:

- run: pnpm install

- run: pnpm prettier --check .
- run: pnpm typecheck

- run: pnpm format:check

- run: pnpm lint

Expand Down
9 changes: 5 additions & 4 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,14 @@ Comments explain what code does or why it exists:
## Build and Test Commands

- Build: `pnpm build`
- Watch mode: `pnpm watch` (or `pnpm watch:all`)
- Watch mode: `pnpm watch`
- Package: `pnpm package`
- Format: `pnpm fmt`
- Format check: `pnpm fmt:check`
- Type check: `pnpm typecheck`
- Format: `pnpm format`
- Format check: `pnpm format:check`
- Lint: `pnpm lint`
- Lint with auto-fix: `pnpm lint:fix`
- All unit tests: `pnpm test` (or `pnpm test:all`)
- All unit tests: `pnpm test`
- Extension tests: `pnpm test:extension`
- Webview tests: `pnpm test:webview`
- CI mode: `pnpm test:ci`
Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ Key patterns:
### Development

```bash
pnpm watch:all # Rebuild extension and webviews on changes
pnpm watch # Rebuild extension and webviews on changes
```

Press F5 to launch the Extension Development Host. Use "Developer: Reload Webviews"
Expand Down Expand Up @@ -128,8 +128,8 @@ The project uses Vitest with separate test configurations for extension and webv
```bash
pnpm test:extension # Extension tests (runs in Electron with mocked VS Code APIs)
pnpm test:webview # Webview tests (runs in jsdom)
pnpm test:all # Both extension and webview tests
pnpm test:ci # CI mode (same as test:all with CI=true)
pnpm test # Both extension and webview tests
pnpm test:ci # CI mode (same as test with CI=true)
```

Test files are organized by type:
Expand Down
40 changes: 20 additions & 20 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,20 @@
"build": "pnpm build:webviews && tsc --noEmit && node esbuild.mjs",
"build:production": "NODE_ENV=production pnpm build:webviews && tsc --noEmit && node esbuild.mjs --production",
"build:webviews": "pnpm -r --filter \"./packages/*\" build",
"fmt": "prettier --write --cache --cache-strategy content .",
"fmt:check": "prettier --check --cache --cache-strategy content .",
"format": "prettier --write --cache --cache-strategy content .",
"format:check": "prettier --check --cache --cache-strategy content .",
"lint": "eslint --cache --cache-strategy content .",
"lint:fix": "pnpm lint --fix",
"package": "vsce package --no-dependencies",
"package:prerelease": "vsce package --pre-release --no-dependencies",
"test": "CI=true pnpm test:extension && CI=true pnpm test:webview",
"test:ci": "pnpm test",
"test:extension": "ELECTRON_RUN_AS_NODE=1 electron node_modules/vitest/vitest.mjs --project extension",
"test:integration": "tsc -p test --outDir out && node esbuild.mjs && vscode-test",
"test:integration": "tsc -p test --outDir out --noCheck && node esbuild.mjs && vscode-test",
"test:webview": "vitest --project webview",
"typecheck": "concurrently -g \"tsc --noEmit\" \"tsc --noEmit -p test\"",
"vscode:prepublish": "pnpm build:production",
"watch": "pnpm watch:all",
"watch:all": "concurrently -n extension,webviews \"pnpm watch:extension\" \"pnpm watch:webviews\"",
"watch": "concurrently -n extension,webviews \"pnpm watch:extension\" \"pnpm watch:webviews\"",
"watch:extension": "node esbuild.mjs --watch",
"watch:webviews": "pnpm -r --filter \"./packages/*\" --parallel dev"
},
Expand Down Expand Up @@ -448,7 +448,7 @@
},
"dependencies": {
"@peculiar/x509": "^1.14.3",
"axios": "1.13.4",
"axios": "1.13.5",
"date-fns": "^4.1.0",
"eventsource": "^4.1.0",
"find-process": "^2.0.0",
Expand All @@ -466,7 +466,7 @@
"@eslint/js": "^9.39.2",
"@eslint/markdown": "^7.5.1",
"@testing-library/react": "^16.3.2",
"@tsconfig/node20": "^20.1.8",
"@tsconfig/node20": "^20.1.9",
"@types/mocha": "^10.0.10",
"@types/node": "^20",
"@types/proper-lockfile": "^4.1.4",
Expand All @@ -476,43 +476,43 @@
"@types/ua-parser-js": "0.7.39",
"@types/vscode": "^1.95.0",
"@types/ws": "^8.18.1",
"@typescript-eslint/eslint-plugin": "^8.53.1",
"@typescript-eslint/parser": "^8.53.1",
"@typescript-eslint/eslint-plugin": "^8.54.0",
"@typescript-eslint/parser": "^8.54.0",
"@vitejs/plugin-react-swc": "catalog:",
"@vitest/coverage-v8": "^4.0.16",
"@vitest/coverage-v8": "^4.0.18",
"@vscode/test-cli": "^0.0.12",
"@vscode/test-electron": "^2.5.2",
"@vscode/vsce": "^3.7.1",
"bufferutil": "^4.1.0",
"coder": "github:coder/coder#main",
"concurrently": "^9.2.1",
"dayjs": "^1.11.19",
"electron": "^40.0.0",
"esbuild": "^0.27.2",
"electron": "^40.2.1",
"esbuild": "^0.27.3",
"eslint": "^9.39.2",
"eslint-config-prettier": "^10.1.8",
"eslint-import-resolver-typescript": "^4.4.4",
"eslint-plugin-import-x": "^4.16.1",
"eslint-plugin-package-json": "^0.88.2",
"eslint-plugin-react": "^7.37.0",
"eslint-plugin-react-hooks": "^5.0.0",
"globals": "^17.0.0",
"jsdom": "^27.4.0",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1",
"globals": "^17.3.0",
"jsdom": "^28.0.0",
"jsonc-eslint-parser": "^2.4.2",
"memfs": "^4.56.10",
"prettier": "^3.7.4",
"prettier": "^3.8.1",
"react": "catalog:",
"react-dom": "catalog:",
"typescript": "catalog:",
"typescript-eslint": "^8.53.1",
"typescript-eslint": "^8.54.0",
"utf-8-validate": "^6.0.6",
"vite": "catalog:",
"vitest": "^4.0.16"
"vitest": "^4.0.18"
},
"extensionPack": [
"ms-vscode-remote.remote-ssh"
],
"packageManager": "pnpm@10.27.0",
"packageManager": "pnpm@10.28.2",
"engines": {
"vscode": "^1.95.0",
"node": ">= 20"
Expand Down
Loading