From c2e7d5adfcb4f484069d595729a8d34f413926cd Mon Sep 17 00:00:00 2001 From: Haewon Kam Date: Wed, 7 Oct 2026 12:06:28 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20webforai.kr=20=EB=B2=88=EB=93=A4?= =?UTF-8?q?=EC=97=90=EC=84=9C=20Supabase=20=EC=A0=91=EC=86=8D=20=EC=A0=95?= =?UTF-8?q?=EB=B3=B4=EB=A5=BC=20=EB=BA=80=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit lib/supabase.ts 의 최상단 createClient() 가 부수효과로 남아, 쓰는 곳이 없는 공개 배포에도 Supabase URL·anon 키가 실렸다. 이 키로 marketing_reports 등 실제 병원 데이터 테이블을 읽을 수 있었다. supabase 모듈을 부수효과 없는 모듈로 표시해 쓰지 않으면 번들에서 빠지게 한다. infinith-demo 빌드는 그대로 쓴다. Co-Authored-By: Claude Opus 5.5 --- vite.config.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vite.config.ts b/vite.config.ts index 48c8ada..a367ade 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -113,7 +113,9 @@ export default defineConfig(({mode}) => { treeshake: { // src/data(목업·진단 데이터)와 src/services 는 import 만으로 할 일이 없는 모듈이다. 쓰는 곳이 없으면 번들에서 뺀다. // 파생 목업의 최상단 객체 펼치기를 부수효과로 보고 실제 병원 목업이 공개 번들에 남던 문제를 막는다. - moduleSideEffects: (id: string) => !/[\\/]src[\\/](data|services)[\\/]/.test(id), + // src/lib/supabase 도 같다. 최상단 createClient() 때문에 공개 배포에 Supabase 접속 정보가 남았다 (2026-10-07). + moduleSideEffects: (id: string) => + !/[\\/]src[\\/](data|services)[\\/]/.test(id) && !/[\\/]src[\\/]lib[\\/]supabase\.ts$/.test(id), }, }, },