여러 줄 주석이 설명보다 경위(예전·실측·지적)를 적고 있어 읽는 사람이 결론을 찾기 어려웠다. - ts·tsx·js·mjs·css·py 478개: 여러 줄 주석은 첫 문장 한 줄로, 과거형·날짜 문장은 삭제 - 주석 위치는 TypeScript 파서·파이썬 tokenize/ast 로 찾는다 — 문자열 안의 # · /* 는 건드리지 않는다 - eslint·ts·noqa·type: ignore 같은 지시 주석은 그대로 둔다 파이썬 275개 정리 전후 AST 동일, TS 298개 주석 뺀 토큰 동일(빈 JSX 주석 10곳만 차이). site·frontend·admin tsc, site vitest 105 passed Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import tailwindcss from '@tailwindcss/vite';
|
|
import react from '@vitejs/plugin-react';
|
|
import path from 'path';
|
|
import {defineConfig} from 'vite';
|
|
|
|
/** 발행 사이트 렌더러. */
|
|
export default defineConfig(({isSsrBuild}) => ({
|
|
plugins: [react(), tailwindcss()],
|
|
resolve: {
|
|
alias: {
|
|
// 별칭이 '@' 가 아니라 '@site' 인 이유 빌더 미리보기가 **이 렌더러를 그대로** 쓴다(solution/frontend).
|
|
'@site': path.resolve(__dirname, 'src'),
|
|
'@o2o/shared': path.resolve(__dirname, '../shared/src'),
|
|
},
|
|
},
|
|
build: {
|
|
// 프리렌더가 산출물 파일명을 알아야 HTML 에 <script src> 를 박을 수 있다.
|
|
manifest: !isSsrBuild,
|
|
emptyOutDir: true,
|
|
rollupOptions: isSsrBuild
|
|
? undefined // -ssr 로 넘긴 엔트리를 그대로 쓴다.
|
|
: {input: path.resolve(__dirname, 'index.html')},
|
|
},
|
|
// SSR 번들(dist/prerender/prerender.js)에 react·react-dom 등 node_modules 의존성까지 전부 접어 넣는다.
|
|
ssr: {
|
|
noExternal: true,
|
|
},
|
|
server: {
|
|
watch: {usePolling: true, interval: 300},
|
|
},
|
|
}));
|