diff --git a/packages/language-tools/vscode/.vscode-test.js b/packages/language-tools/vscode/.vscode-test.js deleted file mode 100644 index ea03d3262169..000000000000 --- a/packages/language-tools/vscode/.vscode-test.js +++ /dev/null @@ -1,13 +0,0 @@ -const { defineConfig } = require('@vscode/test-cli'); - -module.exports = defineConfig([ - { - label: 'unitTests', - files: 'test/**/*.test.js', - version: 'stable', - mocha: { - ui: 'tdd', - timeout: 20000, - }, - }, -]); diff --git a/packages/language-tools/vscode/.vscode-test.mjs b/packages/language-tools/vscode/.vscode-test.mjs new file mode 100644 index 000000000000..ce993f0aaac3 --- /dev/null +++ b/packages/language-tools/vscode/.vscode-test.mjs @@ -0,0 +1,14 @@ +import { defineConfig } from '@vscode/test-cli'; + +export default defineConfig([ + { + label: 'unitTests', + files: 'test/**/*.test.mts', + version: 'stable', + mocha: { + ui: 'tdd', + timeout: 20000, + require: ['tsx'], + }, + }, +]); diff --git a/packages/language-tools/vscode/package.json b/packages/language-tools/vscode/package.json index 3690e71e38ff..c5e50506dd56 100644 --- a/packages/language-tools/vscode/package.json +++ b/packages/language-tools/vscode/package.json @@ -243,7 +243,8 @@ "test": "pnpm test:vscode && pnpm test:grammar", "test:vscode": "vscode-test", "test:grammar": "pnpm build:grammar && node ./test/grammar/test.mjs", - "update-grammar-snapshots": "node ./test/grammar/test.mjs --updateSnapshot" + "update-grammar-snapshots": "node ./test/grammar/test.mjs --updateSnapshot", + "typecheck:tests": "tsc --build tsconfig.test.json" }, "devDependencies": { "@astrojs/language-server": "^2.16.6", @@ -262,6 +263,7 @@ "kleur": "^4.1.5", "mocha": "^11.7.5", "ovsx": "^0.10.10", + "tsx": "^4.21.0", "vscode-languageclient": "^9.0.1", "vscode-tmgrammar-test": "^0.1.3" }, diff --git a/packages/language-tools/vscode/test/extension.test.js b/packages/language-tools/vscode/test/extension.test.mts similarity index 82% rename from packages/language-tools/vscode/test/extension.test.js rename to packages/language-tools/vscode/test/extension.test.mts index 69b83560c5f5..d27d9ac37fcf 100644 --- a/packages/language-tools/vscode/test/extension.test.js +++ b/packages/language-tools/vscode/test/extension.test.mts @@ -1,5 +1,6 @@ -const assert = require('node:assert'); -const vscode = require('vscode'); +import 'mocha'; +import assert from 'node:assert'; +import vscode from 'vscode'; suite('Extension Test Suite', () => { vscode.window.showInformationMessage('Start all tests.'); diff --git a/packages/language-tools/vscode/tsconfig.test.json b/packages/language-tools/vscode/tsconfig.test.json new file mode 100644 index 000000000000..3ad1bbfc413f --- /dev/null +++ b/packages/language-tools/vscode/tsconfig.test.json @@ -0,0 +1,13 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": ["test/**/*.mts", "test/**/*.ts", ".vscode-test.*"], + "exclude": ["test/fixtures/**"], + "compilerOptions": { + "types": ["node"], + "allowJs": true, + "noUnusedLocals": false, + "noUnusedParameters": false, + "rewriteRelativeImportExtensions": true + }, + "references": [{ "path": "../../astro/tsconfig.test.json" }] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e025dd418317..0f2b301179e0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6772,6 +6772,9 @@ importers: ovsx: specifier: ^0.10.10 version: 0.10.10 + tsx: + specifier: ^4.21.0 + version: 4.21.0 vscode-languageclient: specifier: ^9.0.1 version: 9.0.1