diff --git a/common/tsconfig/tsconfig.json b/common/tsconfig/tsconfig.json index 6db7d705b..2c767ee99 100644 --- a/common/tsconfig/tsconfig.json +++ b/common/tsconfig/tsconfig.json @@ -26,6 +26,6 @@ "paths": { "pkce-challenge": ["./node_modules/pkce-challenge/dist/index.node"] }, - "types": ["node", "vitest/globals"] + "types": ["node"] } } diff --git a/common/vitest-config/package.json b/common/vitest-config/package.json index 3ae59937e..acdfb5638 100644 --- a/common/vitest-config/package.json +++ b/common/vitest-config/package.json @@ -1,14 +1,16 @@ { "name": "@modelcontextprotocol/vitest-config", "private": true, - "main": "vitest.config.mjs", "type": "module", "exports": { - ".": "./vitest.config.js" + ".": "./vitest.config.ts" }, "dependencies": { "typescript": "catalog:devTools" }, + "peerDependencies": { + "vitest": "catalog:devTools" + }, "repository": { "type": "git", "url": "https://github.com/modelcontextprotocol/typescript-sdk.git" diff --git a/common/vitest-config/vitest.config.js b/common/vitest-config/vitest.config.js deleted file mode 100644 index a2209e9f9..000000000 --- a/common/vitest-config/vitest.config.js +++ /dev/null @@ -1,25 +0,0 @@ -import { defineConfig } from 'vitest/config'; -import tsconfigPaths from 'vite-tsconfig-paths'; -import path from 'node:path'; -import url from 'node:url'; - -const ignorePatterns = ['**/dist/**']; -const __dirname = path.dirname(url.fileURLToPath(import.meta.url)); - -export default defineConfig({ - test: { - globals: true, - environment: 'node', - include: ['test/**/*.test.ts'], - exclude: ignorePatterns, - deps: { - moduleDirectories: ['node_modules', path.resolve(__dirname, '../../packages'), path.resolve(__dirname, '../../common')] - } - }, - poolOptions: { - threads: { - useAtomics: true - } - }, - plugins: [tsconfigPaths()] -}); diff --git a/common/vitest-config/vitest.config.ts b/common/vitest-config/vitest.config.ts new file mode 100644 index 000000000..3d88c5f18 --- /dev/null +++ b/common/vitest-config/vitest.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from 'vitest/config'; +import tsconfigPaths from 'vite-tsconfig-paths'; + +export default defineConfig({ + test: { + globals: true, + environment: 'node', + include: ['test/**/*.test.ts'] + }, + plugins: [tsconfigPaths()] +}); diff --git a/examples/client/env.d.ts b/examples/client/env.d.ts new file mode 100644 index 000000000..9896c472f --- /dev/null +++ b/examples/client/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/examples/client/package.json b/examples/client/package.json index d77d6faf2..89934c345 100644 --- a/examples/client/package.json +++ b/examples/client/package.json @@ -43,6 +43,7 @@ "@modelcontextprotocol/tsconfig": "workspace:^", "@modelcontextprotocol/eslint-config": "workspace:^", "@modelcontextprotocol/vitest-config": "workspace:^", - "tsdown": "catalog:devTools" + "tsdown": "catalog:devTools", + "vitest": "catalog:devTools" } } diff --git a/examples/client/vitest.config.js b/examples/client/vitest.config.ts similarity index 100% rename from examples/client/vitest.config.js rename to examples/client/vitest.config.ts diff --git a/examples/server/env.d.ts b/examples/server/env.d.ts new file mode 100644 index 000000000..9896c472f --- /dev/null +++ b/examples/server/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/examples/server/package.json b/examples/server/package.json index f86cc1375..34c743226 100644 --- a/examples/server/package.json +++ b/examples/server/package.json @@ -52,6 +52,7 @@ "@modelcontextprotocol/vitest-config": "workspace:^", "@types/cors": "catalog:devTools", "@types/express": "catalog:devTools", - "tsdown": "catalog:devTools" + "tsdown": "catalog:devTools", + "vitest": "catalog:devTools" } } diff --git a/examples/server/vitest.config.js b/examples/server/vitest.config.ts similarity index 100% rename from examples/server/vitest.config.js rename to examples/server/vitest.config.ts diff --git a/examples/shared/env.d.ts b/examples/shared/env.d.ts new file mode 100644 index 000000000..9896c472f --- /dev/null +++ b/examples/shared/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/examples/shared/vitest.config.js b/examples/shared/vitest.config.ts similarity index 100% rename from examples/shared/vitest.config.js rename to examples/shared/vitest.config.ts diff --git a/package.json b/package.json index 8c756f032..cc5ea7a70 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,6 @@ "typedoc": "catalog:devTools", "typescript": "catalog:devTools", "typescript-eslint": "catalog:devTools", - "vitest": "catalog:devTools", "ws": "catalog:devTools", "zod": "catalog:runtimeShared" }, diff --git a/packages/client/env.d.ts b/packages/client/env.d.ts new file mode 100644 index 000000000..9896c472f --- /dev/null +++ b/packages/client/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/packages/client/vitest.config.js b/packages/client/vitest.config.ts similarity index 80% rename from packages/client/vitest.config.js rename to packages/client/vitest.config.ts index 2012fa59e..a24e99d61 100644 --- a/packages/client/vitest.config.js +++ b/packages/client/vitest.config.ts @@ -3,6 +3,6 @@ import { mergeConfig } from 'vitest/config'; export default mergeConfig(baseConfig, { test: { - setupFiles: ['./vitest.setup.js'] + setupFiles: ['./vitest.setup.ts'] } }); diff --git a/packages/client/vitest.setup.js b/packages/client/vitest.setup.ts similarity index 100% rename from packages/client/vitest.setup.js rename to packages/client/vitest.setup.ts diff --git a/packages/core/env.d.ts b/packages/core/env.d.ts new file mode 100644 index 000000000..9896c472f --- /dev/null +++ b/packages/core/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/packages/core/vitest.config.js b/packages/core/vitest.config.ts similarity index 100% rename from packages/core/vitest.config.js rename to packages/core/vitest.config.ts diff --git a/packages/middleware/express/env.d.ts b/packages/middleware/express/env.d.ts new file mode 100644 index 000000000..9896c472f --- /dev/null +++ b/packages/middleware/express/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/packages/middleware/express/vitest.config.js b/packages/middleware/express/vitest.config.ts similarity index 100% rename from packages/middleware/express/vitest.config.js rename to packages/middleware/express/vitest.config.ts diff --git a/packages/middleware/hono/env.d.ts b/packages/middleware/hono/env.d.ts new file mode 100644 index 000000000..9896c472f --- /dev/null +++ b/packages/middleware/hono/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/packages/middleware/hono/vitest.config.js b/packages/middleware/hono/vitest.config.ts similarity index 100% rename from packages/middleware/hono/vitest.config.js rename to packages/middleware/hono/vitest.config.ts diff --git a/packages/middleware/node/env.d.ts b/packages/middleware/node/env.d.ts new file mode 100644 index 000000000..9896c472f --- /dev/null +++ b/packages/middleware/node/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/packages/middleware/node/vitest.config.js b/packages/middleware/node/vitest.config.ts similarity index 100% rename from packages/middleware/node/vitest.config.js rename to packages/middleware/node/vitest.config.ts diff --git a/packages/server/env.d.ts b/packages/server/env.d.ts new file mode 100644 index 000000000..9896c472f --- /dev/null +++ b/packages/server/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/packages/server/vitest.config.js b/packages/server/vitest.config.ts similarity index 100% rename from packages/server/vitest.config.js rename to packages/server/vitest.config.ts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2099eab0f..99d8b80fc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -218,9 +218,6 @@ importers: typescript-eslint: specifier: catalog:devTools version: 8.51.0(eslint@9.39.2)(typescript@5.9.3) - vitest: - specifier: catalog:devTools - version: 4.0.16(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) ws: specifier: catalog:devTools version: 8.18.3 @@ -276,6 +273,9 @@ importers: typescript: specifier: catalog:devTools version: 5.9.3 + vitest: + specifier: catalog:devTools + version: 4.0.16(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) devDependencies: '@modelcontextprotocol/tsconfig': specifier: workspace:^ @@ -311,6 +311,9 @@ importers: tsdown: specifier: catalog:devTools version: 0.18.4(@typescript/native-preview@7.0.0-dev.20260105.1)(typescript@5.9.3) + vitest: + specifier: catalog:devTools + version: 4.0.16(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) examples/server: dependencies: @@ -366,6 +369,9 @@ importers: tsdown: specifier: catalog:devTools version: 0.18.4(@typescript/native-preview@7.0.0-dev.20260105.1)(typescript@5.9.3) + vitest: + specifier: catalog:devTools + version: 4.0.16(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) examples/shared: dependencies: @@ -871,6 +877,9 @@ importers: express: specifier: catalog:runtimeServerOnly version: 5.2.1 + vitest: + specifier: catalog:devTools + version: 4.0.16(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) zod: specifier: catalog:runtimeShared version: 4.3.5 diff --git a/test/conformance/env.d.ts b/test/conformance/env.d.ts new file mode 100644 index 000000000..9896c472f --- /dev/null +++ b/test/conformance/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/test/conformance/package.json b/test/conformance/package.json index 253afd9a7..43ff45bfc 100644 --- a/test/conformance/package.json +++ b/test/conformance/package.json @@ -49,6 +49,7 @@ "@modelcontextprotocol/test-helpers": "workspace:^", "cors": "catalog:runtimeServerOnly", "express": "catalog:runtimeServerOnly", + "vitest": "catalog:devTools", "zod": "catalog:runtimeShared" } } diff --git a/test/conformance/vitest.config.js b/test/conformance/vitest.config.ts similarity index 100% rename from test/conformance/vitest.config.js rename to test/conformance/vitest.config.ts diff --git a/test/helpers/env.d.ts b/test/helpers/env.d.ts new file mode 100644 index 000000000..9896c472f --- /dev/null +++ b/test/helpers/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/test/helpers/vitest.config.js b/test/helpers/vitest.config.ts similarity index 100% rename from test/helpers/vitest.config.js rename to test/helpers/vitest.config.ts diff --git a/test/integration/env.d.ts b/test/integration/env.d.ts new file mode 100644 index 000000000..9896c472f --- /dev/null +++ b/test/integration/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/test/integration/vitest.config.js b/test/integration/vitest.config.ts similarity index 100% rename from test/integration/vitest.config.js rename to test/integration/vitest.config.ts