/// import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin'; import { TanStackRouterVite } from '@tanstack/router-plugin/vite'; export default defineConfig(() => ({ root: __dirname, cacheDir: '../../node_modules/.vite/apps/backoffice', server: { port: 3003, host: 'localhost', }, preview: { port: 3001, host: 'localhost', }, resolve: { dedupe: ['react', 'react-dom', '@tanstack/react-router', '@tanstack/react-query'], }, plugins: [ TanStackRouterVite({ routeFileIgnorePattern: '_components|_hooks|_hook|_data', }), react(), nxViteTsPaths(), nxCopyAssetsPlugin(['*.md']), ], build: { outDir: '../../dist/apps/backoffice', emptyOutDir: true, reportCompressedSize: true, commonjsOptions: { transformMixedEsModules: true, }, rolldownOptions: { output: { codeSplitting: { groups: [{ name: 'vendor', test: /node_modules/ }] } }, }, }, test: { watch: false, globals: true, environment: 'jsdom', include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], reporters: ['default'], coverage: { reportsDirectory: '../../coverage/apps/backoffice', provider: 'v8' as const, }, }, }));