import { defineConfig } from 'vitest/config'; import react from '@vitejs/plugin-react'; import path from 'path'; import { fileURLToPath } from 'node:url'; // import { storybookTest } from '@storybook/addon-vitest/vitest-plugin'; const dirname = typeof __dirname !== 'undefined' ? __dirname : path.dirname(fileURLToPath(import.meta.url)); // More info at: https://storybook.js.org/docs/next/writing-tests/integrations/vitest-addon export default defineConfig({ plugins: [react()], test: { globals: true, environment: 'jsdom', setupFiles: ['./src/test/setup.ts', './src/mocks/test-setup.ts'], coverage: { provider: 'v8', reporter: ['text', 'json', 'html'], exclude: [ 'node_modules/', 'src/test/', '**/*.d.ts', '**/*.config.*', '**/coverage/**', '**/dist/**', '**/.{idea,git,cache,output,temp}/**', '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build}.config.*', ], thresholds: { global: { branches: 80, functions: 80, lines: 80, statements: 80, }, }, }, // projects: [ // { // extends: true, // plugins: [ // // The plugin will run tests for the stories defined in your Storybook config // // See options at: https://storybook.js.org/docs/next/writing-tests/integrations/vitest-addon#storybooktest // // storybookTest({ // // configDir: path.join(dirname, '.storybook'), // // }), // ], // test: { // name: 'storybook', // browser: { // enabled: true, // headless: true, // provider: 'playwright', // instances: [ // { // browser: 'chromium', // }, // ], // }, // setupFiles: ['.storybook/vitest.setup.ts'], // }, // }, // { // extends: true, // plugins: [ // // The plugin will run tests for the stories defined in your Storybook config // // See options at: https://storybook.js.org/docs/next/writing-tests/integrations/vitest-addon#storybooktest // // storybookTest({ // // configDir: path.join(dirname, '.storybook'), // // }), // ], // test: { // name: 'storybook', // browser: { // enabled: true, // headless: true, // provider: 'playwright', // instances: [ // { // browser: 'chromium', // }, // ], // }, // setupFiles: ['.storybook/vitest.setup.ts'], // }, // }, // { // extends: true, // plugins: [ // // The plugin will run tests for the stories defined in your Storybook config // // See options at: https://storybook.js.org/docs/next/writing-tests/integrations/vitest-addon#storybooktest // // storybookTest({ // // configDir: path.join(dirname, '.storybook'), // // }), // ], // test: { // name: 'storybook', // browser: { // enabled: true, // headless: true, // provider: 'playwright', // instances: [ // { // browser: 'chromium', // }, // ], // }, // setupFiles: ['.storybook/vitest.setup.ts'], // }, // }, // { // extends: true, // plugins: [ // // The plugin will run tests for the stories defined in your Storybook config // // See options at: https://storybook.js.org/docs/next/writing-tests/integrations/vitest-addon#storybooktest // // storybookTest({ // // configDir: path.join(dirname, '.storybook'), // // }), // ], // test: { // name: 'storybook', // browser: { // enabled: true, // headless: true, // provider: 'playwright', // instances: [ // { // browser: 'chromium', // }, // ], // }, // setupFiles: ['.storybook/vitest.setup.ts'], // }, // }, // { // extends: true, // plugins: [ // // The plugin will run tests for the stories defined in your Storybook config // // See options at: https://storybook.js.org/docs/next/writing-tests/integrations/vitest-addon#storybooktest // // storybookTest({ // // configDir: path.join(dirname, '.storybook'), // // }), // ], // test: { // name: 'storybook', // browser: { // enabled: true, // headless: true, // provider: 'playwright', // instances: [ // { // browser: 'chromium', // }, // ], // }, // setupFiles: ['.storybook/vitest.setup.ts'], // }, // }, // ], }, resolve: { alias: { '@': path.resolve(__dirname, './src'), '@components': path.resolve(__dirname, './src/components'), '@pages': path.resolve(__dirname, './src/pages'), '@hooks': path.resolve(__dirname, './src/hooks'), '@services': path.resolve(__dirname, './src/services'), '@types': path.resolve(__dirname, './src/types'), '@utils': path.resolve(__dirname, './src/utils'), '@stores': path.resolve(__dirname, './src/stores'), '@locales': path.resolve(__dirname, './src/locales'), }, }, });