Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
906fb8f
feat: add task assignment for VS Code extension bundling optimization…
IanMayo Aug 29, 2025
1398c41
feat: add find command to permissions in settings.local.json
IanMayo Aug 29, 2025
89674b7
feat: add comprehensive analysis for VS Code extension bundling optim…
IanMayo Aug 29, 2025
29d05d1
Merge branch 'main' into issue-9-investigate-vs-code-extension-bundli…
IanMayo Aug 29, 2025
a9766b8
fix: preserve workspace/tests files in bundling analysis - essential …
IanMayo Aug 29, 2025
1f88056
feat: add permission for git pull command in settings
IanMayo Aug 29, 2025
c638515
feat: add APM task assignment for VS Code extension bundling optimiza…
IanMayo Aug 29, 2025
253c668
feat: add additional Bash commands for improved task automation in se…
IanMayo Aug 29, 2025
99ac2ac
feat: update package.json to use esbuild for bundling and add esbuild…
IanMayo Aug 29, 2025
c7cac08
feat: update CLAUDE.md to reflect esbuild usage for bundling and impr…
IanMayo Aug 29, 2025
4bc3646
fix: update WebSocket close condition to use numeric value for clarity
IanMayo Aug 29, 2025
61221b1
Refactor code structure for improved readability and maintainability
IanMayo Aug 29, 2025
684d165
fix: reorganize scripts section in package.json for clarity and consi…
IanMayo Aug 29, 2025
900713a
create new location for paris matcher to change
IanMayo Aug 29, 2025
b5c378b
fix: optimize feature update logic for Paris point color changes
IanMayo Aug 29, 2025
bd29d03
feat: add permission for git pull command in settings
IanMayo Aug 29, 2025
f8329cb
Merge branch 'main' into issue-9-investigate-vs-code-extension-bundli…
IanMayo Aug 29, 2025
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
6 changes: 6 additions & 0 deletions .claude/settings.local.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@
"Bash(gh label:*)",
"Bash(gh issue:*)",
"WebSearch",
"Bash(find:*)",
"Bash(git pull:*)",
"Bash(pip install:*)",
"Bash(time npm run compile)",
"Bash(time npm run vscode:prepublish)",
"Bash(yarn install)",
"Bash(git pull:*)"
]
},
Expand Down
6 changes: 3 additions & 3 deletions .devcontainer/install-extension.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ fi

# Fallback: build locally
echo "Building extension locally..."
npm install
npm run compile
npx @vscode/vsce package --out extension.vsix
yarn install
yarn compile
yarn dlx @vscode/vsce package --out extension.vsix

if [ -f "extension.vsix" ]; then
code --install-extension extension.vsix --force
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/build-extension.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,18 @@ jobs:
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache: 'yarn'

- name: Install dependencies
run: npm ci
run: yarn install --frozen-lockfile

- name: Compile TypeScript
run: npm run compile
run: yarn compile

- name: Install vsce
run: |
# Install vsce with fallback to local installation
npm install -g @vscode/vsce || npm install @vscode/vsce
yarn global add @vscode/vsce || yarn add @vscode/vsce

- name: Package extension
run: |
Expand Down
4 changes: 2 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"preLaunchTask": "npm: compile"
"preLaunchTask": "yarn: compile"
},
{
"name": "Extension Tests",
Expand All @@ -25,7 +25,7 @@
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
],
"preLaunchTask": "npm: compile"
"preLaunchTask": "yarn: compile"
}
]
}
10 changes: 6 additions & 4 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "compile",
"label": "yarn: compile",
"type": "shell",
"command": "yarn compile",
"group": "build",
"presentation": {
"panel": "shared",
Expand All @@ -12,8 +13,9 @@
"problemMatcher": "$tsc"
},
{
"type": "npm",
"script": "watch",
"label": "yarn: watch",
"type": "shell",
"command": "yarn watch",
"isBackground": true,
"group": {
"kind": "build",
Expand Down
9 changes: 8 additions & 1 deletion .vscodeignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
.vscode/**
.vscode-test/**
src/**
out/**
.gitignore
.yarnrc
vsc-extension-quickstart.md
**/tsconfig.json
**/.eslintrc.json
**/*.map
**/*.ts
**/*.ts
**/__pycache__/**
Dockerfile
Memory_Bank.md
prompts/**
# Preserve workspace/tests/ - essential Python integration examples
# Preserve sample .rep and .plot.json files for testing
18 changes: 14 additions & 4 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,20 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co

## Development Commands

- `npm install` - Install dependencies
- `npm run compile` - Compile TypeScript to JavaScript
- `npm run watch` - Watch mode compilation for development
- `npm run vscode:prepublish` - Prepare for publishing (runs compile)
- `yarn install` - Install dependencies
- `yarn compile` - Bundle extension with esbuild (includes sourcemap for development)
- `yarn watch` - Watch mode bundling with esbuild for development
- `yarn vscode:prepublish` - Prepare for publishing (minified esbuild bundle)
- `yarn typecheck` - Type check TypeScript without compilation

### Build System

The extension uses **esbuild** for fast bundling instead of traditional TypeScript compilation:
- Source files in `src/` are bundled into a single `dist/extension.js` file
- Bundle includes all dependencies except VS Code API (externalized)
- Development builds include sourcemaps for debugging
- Production builds are minified for optimal performance
- Build time: ~20ms (compared to previous slower TypeScript compilation)

## Testing

Expand Down
7 changes: 4 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ FROM codercom/code-server:latest
# Set the working directory
WORKDIR /home/coder

# Install Node.js, npm, and Python (required for VS Code extension builds and testing)
# Install Node.js, yarn, and Python (required for VS Code extension builds and testing)
USER root
RUN apt-get update && apt-get install -y \
curl \
Expand All @@ -13,6 +13,7 @@ RUN apt-get update && apt-get install -y \
python3-venv \
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -y nodejs \
&& npm install -g yarn \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

Expand All @@ -30,11 +31,11 @@ COPY --chown=coder:coder . /home/coder/project/

# Build the VS Code extension
WORKDIR /home/coder/project
RUN npm install && npm run compile
RUN yarn install && yarn compile

# Install vsce for packaging the extension (as root, then switch back)
USER root
RUN npm install -g @vscode/vsce
RUN yarn global add @vscode/vsce
USER coder

# Package the extension as .vsix
Expand Down
Loading
Loading