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
25 changes: 14 additions & 11 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
with:
node-version: 22
- run: npm run build
test:
test-vitest:
strategy:
fail-fast: false
matrix:
Expand All @@ -49,11 +49,15 @@ jobs:
node-version: ${{ matrix.node }}
- uses: actions/cache@v4
with:
path: node_modules/.vite/vitest
key: test-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}-${{ github.sha }}
restore-keys: test-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}
- run: npm run test
e2e:
path: |
node_modules/.vite/vitest
packages/*/dist
packages/*/tsconfig.build.tsbuildinfo
tsconfig.tsbuildinfo
key: test-vitest-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}-${{ github.sha }}
restore-keys: test-vitest-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}
- run: npm run test:vitest
test-vscode:
strategy:
fail-fast: false
matrix:
Expand All @@ -68,18 +72,17 @@ jobs:
- uses: actions/cache@v4
with:
path: |
node_modules/.vite/vitest
packages/*/dist
packages/*/tsconfig.build.tsbuildinfo
tsconfig.tsbuildinfo
key: e2e-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}-${{ github.sha }}
restore-keys: e2e-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}
key: test-vscode-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}-${{ github.sha }}
restore-keys: test-vscode-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}
- uses: actions/cache@v4
with:
path: .vscode-test
key: vscode-test-${{ runner.arch }}-${{ runner.os }}-vscode-${{ env.VSCODE_VERSION }}

- run: xvfb-run -a npm run e2e
- run: xvfb-run -a npm run test:vscode
if: runner.os == 'Linux'
- run: npm run e2e
- run: npm run test:vscode
if: runner.os != 'Linux'
12 changes: 7 additions & 5 deletions .vscode-test.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,30 @@ const { defineConfig } = require('@vscode/test-cli');

const baseConfig = /** @type {const} */ ({
extensionDevelopmentPath: 'packages/vscode',
workspaceFolder: 'examples/1-basic',
version: process.env.VSCODE_VERSION ?? 'stable',
mocha: {
timeout: 10000,
require: ['tsx/cjs'],
require: ['tsx/cjs', './scripts/vscode-test-setup.ts'],
},
});

module.exports = defineConfig([
{
...baseConfig,
files: 'packages/vscode/e2e/open-css-file.test.ts',
label: 'open-css-file',
files: 'packages/vscode/vscode-test/open-css-file.test.ts',
workspaceFolder: 'examples/1-basic',
},
{
...baseConfig,
files: 'packages/vscode/e2e/open-ts-file.test.ts',
label: 'open-ts-file',
files: 'packages/vscode/vscode-test/open-ts-file.test.ts',
workspaceFolder: 'examples/1-basic',
},
{
...baseConfig,
files: 'packages/vscode/e2e/request-forwarding-to-tsserver.test.ts',
label: 'request-forwarding-to-tsserver',
files: 'packages/vscode/vscode-test/request-forwarding-to-tsserver.test.ts',
workspaceFolder: 'examples/4-multiple-tsconfig',
},
]);
11 changes: 11 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,17 @@
"TSS_DEBUG": "5859"
}
},
{
"name": "vscode:test",
"type": "extensionHost",
"request": "launch",
"testConfiguration": "${workspaceFolder}/.vscode-test.cjs",
"args": ["--profile-temp"],
"outFiles": ["${workspaceFolder}/packages/vscode/dist/**/*"],
"presentation": {
"group": "vscode:test"
}
},
{
"name": "Attach debugger to tsserver",
"type": "node",
Expand Down
8 changes: 3 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,9 @@
"lint:tsc": "tsc -b",
"lint:eslint": "eslint .",
"lint:prettier": "prettier --cache --check .",
"test": "vitest --run --project unit",
"e2e": "run-s -c e2e:build e2e:vitest e2e:vscode",
"e2e:build": "npm run build",
"e2e:vitest": "vitest --run --project e2e",
"e2e:vscode": "vscode-test"
"test": "run-s -c test:*",
"test:vitest": "vitest --run",
"test:vscode": "vscode-test"
},
"prettier": "@mizdra/prettier-config-mizdra",
"devDependencies": {
Expand Down
File renamed without changes.
9 changes: 9 additions & 0 deletions scripts/vitest-e2e-test-setup.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { execSync } from 'node:child_process';
import type { TestProject } from 'vitest/node';

export default function setup(project: TestProject) {
execSync('npm run build', { stdio: 'inherit' });
project.onTestsRerun(() => {
execSync('npm run build', { stdio: 'inherit' });
});
}
9 changes: 9 additions & 0 deletions scripts/vscode-test-setup.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { execSync } from 'node:child_process';
// eslint-disable-next-line no-restricted-imports
import { resolve } from 'node:path';

const root = resolve(__dirname, '..');

export function mochaGlobalSetup() {
execSync('npm run build', { stdio: 'inherit', cwd: root });
}
4 changes: 2 additions & 2 deletions vitest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ export default defineConfig({
{
test: {
name: 'e2e',
include: ['packages/*/e2e/**/*.test.ts'],
exclude: ['packages/vscode/e2e/**'],
include: ['packages/*/e2e-test/**/*.test.ts'],
globalSetup: ['./scripts/vitest-e2e-test-setup.ts'],
},
},
],
Expand Down