import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; // https://vite.dev/config/ export default defineConfig({ plugins: [react()], // Node.js 호환성 문제 해결 define: { global: "globalThis", }, // Node.js 모듈 호환성 설정 resolve: { alias: { stream: "stream-browserify", buffer: "buffer", }, }, // 의존성 최적화 설정 optimizeDeps: { exclude: [ // 중복 로딩 방지를 위해 redi와 univer 관련 제외 "@wendellhu/redi", "@univerjs/core", "@univerjs/design", "@univerjs/ui", "@univerjs/sheets", "@univerjs/sheets-ui", "@univerjs/docs", "@univerjs/docs-ui", "@univerjs/engine-render", "@univerjs/engine-formula", "@univerjs/sheets-formula", "@univerjs/sheets-formula-ui", "@univerjs/sheets-numfmt", "@univerjs/sheets-numfmt-ui", "@univerjs/facade", ], }, // 빌드 설정 build: { rollupOptions: { external: [], output: { manualChunks: { // Univer 관련 라이브러리를 별도 청크로 분리 "univer-core": [ "@univerjs/core", "@univerjs/design", "@univerjs/engine-render", "@univerjs/engine-formula", ], "univer-sheets": [ "@univerjs/sheets", "@univerjs/sheets-ui", "@univerjs/sheets-formula", "@univerjs/sheets-formula-ui", "@univerjs/sheets-numfmt", "@univerjs/sheets-numfmt-ui", ], "univer-docs": ["@univerjs/docs", "@univerjs/docs-ui"], "univer-ui": ["@univerjs/ui", "@univerjs/facade"], }, }, }, }, // 서버 설정 server: { fs: { strict: false, }, }, // @ts-ignore - vitest config test: { globals: true, environment: "jsdom", setupFiles: ["./src/setupTests.ts"], }, });