diff --git a/vite.config.mts b/vite.config.mts index 808b823892..d0c765347f 100644 --- a/vite.config.mts +++ b/vite.config.mts @@ -1,5 +1,3 @@ -/// - import fs from 'node:fs/promises'; import path from 'node:path'; @@ -11,12 +9,7 @@ import { analyzer } from 'vite-bundle-analyzer'; import RailsPlugin from 'vite-plugin-rails'; import { VitePWA } from 'vite-plugin-pwa'; -import { - configDefaults, - defineConfig, - ViteUserConfig, - UserConfigFnPromise, -} from 'vitest/config'; +import { defineConfig, UserConfigFnPromise, UserConfig } from 'vite'; import postcssPresetEnv from 'postcss-preset-env'; import { MastodonServiceWorkerLocales } from './config/vite/plugin-sw-locales'; @@ -24,7 +17,7 @@ import { MastodonServiceWorkerLocales } from './config/vite/plugin-sw-locales'; const jsRoot = path.resolve(__dirname, 'app/javascript'); const entrypointRoot = path.resolve(jsRoot, 'entrypoints'); -const config: UserConfigFnPromise = async ({ mode, command }) => { +export const config: UserConfigFnPromise = async ({ mode, command }) => { const entrypointFiles = await fs.readdir(entrypointRoot); const entrypoints: Record = entrypointFiles.reduce( (acc, file) => { @@ -143,24 +136,7 @@ const config: UserConfigFnPromise = async ({ mode, command }) => { optimizeLodashImports() as PluginOption, !!process.env.ANALYZE_BUNDLE_SIZE && analyzer({ analyzerMode: 'static' }), ], - test: { - environment: 'jsdom', - include: [ - ...configDefaults.include, - '**/__tests__/**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}', - ], - exclude: [ - ...configDefaults.exclude, - '**/node_modules/**', - 'vendor/**', - 'config/**', - 'log/**', - 'public/**', - 'tmp/**', - ], - globals: true, - }, - } satisfies ViteUserConfig; + } satisfies UserConfig; }; export default defineConfig(config); diff --git a/vitest.config.mts b/vitest.config.mts new file mode 100644 index 0000000000..7ad3fc99f0 --- /dev/null +++ b/vitest.config.mts @@ -0,0 +1,26 @@ +import { configDefaults, defineConfig } from 'vitest/config'; + +import { config as viteConfig } from './vite.config.mjs'; + +export default defineConfig(async (context) => { + return { + ...(await viteConfig(context)), + test: { + environment: 'jsdom', + include: [ + ...configDefaults.include, + '**/__tests__/**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}', + ], + exclude: [ + ...configDefaults.exclude, + '**/node_modules/**', + 'vendor/**', + 'config/**', + 'log/**', + 'public/**', + 'tmp/**', + ], + globals: true, + }, + }; +});