Files
sheeteasyAI/vite.config.ts
2025-06-24 14:15:09 +09:00

85 lines
1.9 KiB
TypeScript

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"],
},
});