Skip to content

Commit 75abdee

Browse files
committed
WIP - add vm
1 parent f379b44 commit 75abdee

36 files changed

+10184
-3827
lines changed

.devcontainer/devcontainer.json

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"name": "VS Code Extension Development",
3+
"image": "mcr.microsoft.com/vscode/devcontainers/typescript-node:18",
4+
"customizations": {
5+
"vscode": {
6+
"extensions": [
7+
"dbaeumer.vscode-eslint",
8+
"ms-vscode.vscode-typescript-tslint-plugin",
9+
"github.vscode-pull-request-github",
10+
"eamodio.gitlens"
11+
],
12+
"settings": {
13+
"typescript.tsdk": "node_modules/typescript/lib",
14+
"editor.formatOnSave": true,
15+
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
16+
"editor.codeActionsOnSave": {
17+
"source.fixAll.eslint": true
18+
}
19+
}
20+
}
21+
},
22+
"features": {
23+
"ghcr.io/devcontainers/features/node:1": {
24+
"version": "18"
25+
},
26+
"ghcr.io/devcontainers/features/git:1": {}
27+
},
28+
"postCreateCommand": "npm install",
29+
"remoteUser": "node"
30+
}

.github/workflows/ci.yml

Lines changed: 86 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,87 +1,87 @@
1-
name: CI/CD
2-
3-
on:
4-
push:
5-
branches: [ main ]
6-
pull_request:
7-
branches: [ main ]
8-
# Allow manual trigger
9-
workflow_dispatch:
10-
11-
jobs:
12-
test:
13-
name: Test Extension
14-
runs-on: windows-latest
15-
timeout-minutes: 15
16-
17-
steps:
18-
- uses: actions/checkout@v4
19-
20-
- name: Setup Node.js
21-
uses: actions/setup-node@v4
22-
with:
23-
node-version: '20'
24-
cache: 'pnpm'
25-
26-
- name: Install pnpm
27-
uses: pnpm/action-setup@v2
28-
with:
29-
version: 8
30-
run_install: false
31-
32-
- name: Get pnpm store directory
33-
shell: bash
34-
run: |
35-
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_ENV
36-
37-
- name: Cache pnpm modules
38-
uses: actions/cache@v3
39-
with:
40-
path: ${{ env.STORE_PATH }}
41-
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
42-
restore-keys: |
43-
${{ runner.os }}-pnpm-store-
44-
45-
- name: Install dependencies
46-
run: pnpm install
47-
48-
- name: Run Tests
49-
run: |
50-
pnpm test
51-
env:
52-
NODE_OPTIONS: --force-node-api-uncaught-exceptions-policy=true
53-
DISPLAY: :99.0
54-
55-
publish:
56-
name: Publish Extension
57-
needs: test # Only run if tests pass
58-
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
59-
runs-on: ubuntu-latest
60-
61-
steps:
62-
- uses: actions/checkout@v4
63-
64-
- name: Setup Node.js
65-
uses: actions/setup-node@v4
66-
with:
67-
node-version: '20'
68-
cache: 'pnpm'
69-
70-
- name: Install pnpm
71-
uses: pnpm/action-setup@v2
72-
with:
73-
version: 8
74-
run_install: false
75-
76-
- name: Install dependencies
77-
run: pnpm install
78-
79-
- name: Build Extension
80-
run: pnpm run build
81-
82-
- name: Publish to Visual Studio Marketplace
83-
if: success()
84-
run: |
85-
pnpm vsce publish -p ${{ secrets.VSCE_PAT }}
86-
env:
1+
name: CI/CD
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
# Allow manual trigger
9+
workflow_dispatch:
10+
11+
jobs:
12+
test:
13+
name: Test Extension
14+
runs-on: windows-latest
15+
timeout-minutes: 15
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: Setup Node.js
21+
uses: actions/setup-node@v4
22+
with:
23+
node-version: '20'
24+
cache: 'pnpm'
25+
26+
- name: Install pnpm
27+
uses: pnpm/action-setup@v2
28+
with:
29+
version: 8
30+
run_install: false
31+
32+
- name: Get pnpm store directory
33+
shell: bash
34+
run: |
35+
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_ENV
36+
37+
- name: Cache pnpm modules
38+
uses: actions/cache@v3
39+
with:
40+
path: ${{ env.STORE_PATH }}
41+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
42+
restore-keys: |
43+
${{ runner.os }}-pnpm-store-
44+
45+
- name: Install dependencies
46+
run: pnpm install
47+
48+
- name: Run Tests
49+
run: |
50+
pnpm test
51+
env:
52+
NODE_OPTIONS: --force-node-api-uncaught-exceptions-policy=true
53+
DISPLAY: :99.0
54+
55+
publish:
56+
name: Publish Extension
57+
needs: test # Only run if tests pass
58+
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
59+
runs-on: ubuntu-latest
60+
61+
steps:
62+
- uses: actions/checkout@v4
63+
64+
- name: Setup Node.js
65+
uses: actions/setup-node@v4
66+
with:
67+
node-version: '20'
68+
cache: 'pnpm'
69+
70+
- name: Install pnpm
71+
uses: pnpm/action-setup@v2
72+
with:
73+
version: 8
74+
run_install: false
75+
76+
- name: Install dependencies
77+
run: pnpm install
78+
79+
- name: Build Extension
80+
run: pnpm run build
81+
82+
- name: Publish to Visual Studio Marketplace
83+
if: success()
84+
run: |
85+
pnpm vsce publish -p ${{ secrets.VSCE_PAT }}
86+
env:
8787
VSCE_PAT: ${{ secrets.VSCE_PAT }}

.gitignore

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
node_modules/
2-
.env
3-
dist/
4-
out/
5-
*.vsix
6-
.DS_Store
7-
.pnpm-store/
8-
concatenated_code.txt
9-
.npmignore
10-
.vscode/
11-
.vscode-test/
12-
tsconfig.json
13-
webpack.config.js
14-
.gitignore
1+
node_modules/
2+
.env
3+
dist/
4+
out/
5+
*.vsix
6+
.DS_Store
7+
.pnpm-store/
8+
concatenated_code.txt
9+
.npmignore
10+
.vscode/
11+
.vscode-test/
12+
tsconfig.json
13+
webpack.config.js
14+
.gitignore
1515
.env

.vscode/launch.json

Lines changed: 53 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,54 @@
1-
{
2-
"version": "0.2.0",
3-
"configurations": [
4-
{
5-
"name": "Run Extension (No Tests)",
6-
"type": "extensionHost",
7-
"request": "launch",
8-
"args": [
9-
"--extensionDevelopmentPath=${workspaceFolder}"
10-
],
11-
"outFiles": [
12-
"${workspaceFolder}/out/**/*.js"
13-
]
14-
},
15-
{
16-
"name": "Run Extension with Tests",
17-
"type": "extensionHost",
18-
"request": "launch",
19-
"args": [
20-
"--extensionDevelopmentPath=${workspaceFolder}",
21-
"--extensionTestsPath=${workspaceFolder}/out/test/suite/index"
22-
],
23-
"outFiles": [
24-
"${workspaceFolder}/out/**/*.js"
25-
]
26-
},
27-
{
28-
"name": "Extension Tests",
29-
"type": "extensionHost",
30-
"request": "launch",
31-
"runtimeExecutable": "${execPath}",
32-
"args": [
33-
"--extensionDevelopmentPath=${workspaceFolder}",
34-
"--extensionTestsPath=${workspaceFolder}/out/test/suite/index",
35-
"--disable-extensions",
36-
"--disable-gpu"
37-
],
38-
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
39-
"preLaunchTask": "npm: compile-tests"
40-
},
41-
{
42-
"name": "Extension",
43-
"type": "extensionHost",
44-
"request": "launch",
45-
"args": [
46-
"--extensionDevelopmentPath=${workspaceFolder}",
47-
"--disable-extensions",
48-
"--disable-gpu"
49-
],
50-
"outFiles": ["${workspaceFolder}/dist/**/*.js"],
51-
"preLaunchTask": "npm: watch"
52-
}
53-
]
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "Run Extension (No Tests)",
6+
"type": "extensionHost",
7+
"request": "launch",
8+
"args": [
9+
"--extensionDevelopmentPath=${workspaceFolder}"
10+
],
11+
"outFiles": [
12+
"${workspaceFolder}/out/**/*.js"
13+
]
14+
},
15+
{
16+
"name": "Run Extension with Tests",
17+
"type": "extensionHost",
18+
"request": "launch",
19+
"args": [
20+
"--extensionDevelopmentPath=${workspaceFolder}",
21+
"--extensionTestsPath=${workspaceFolder}/out/test/suite/index"
22+
],
23+
"outFiles": [
24+
"${workspaceFolder}/out/**/*.js"
25+
]
26+
},
27+
{
28+
"name": "Extension Tests",
29+
"type": "extensionHost",
30+
"request": "launch",
31+
"runtimeExecutable": "${execPath}",
32+
"args": [
33+
"--extensionDevelopmentPath=${workspaceFolder}",
34+
"--extensionTestsPath=${workspaceFolder}/out/test/suite/index",
35+
"--disable-extensions",
36+
"--disable-gpu"
37+
],
38+
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
39+
"preLaunchTask": "npm: compile-tests"
40+
},
41+
{
42+
"name": "Extension",
43+
"type": "extensionHost",
44+
"request": "launch",
45+
"args": [
46+
"--extensionDevelopmentPath=${workspaceFolder}",
47+
"--disable-extensions",
48+
"--disable-gpu"
49+
],
50+
"outFiles": ["${workspaceFolder}/dist/**/*.js"],
51+
"preLaunchTask": "npm: watch"
52+
}
53+
]
5454
}

0 commit comments

Comments
 (0)