release: Phase 3 완료 (React 19 + MapLibre GL JS 전환) #2

병합
htlee develop 에서 main 로 11 commits 를 머지했습니다 2026-02-15 17:53:44 +09:00
Showing only changes of commit 4c291bb08f - Show all commits

파일 보기

@ -5,14 +5,14 @@
민간용 데모 버전으로, OSM + OpenSeaMap 기반 지도와 AIS API 폴링 방식의 선박 데이터를 사용. 민간용 데모 버전으로, OSM + OpenSeaMap 기반 지도와 AIS API 폴링 방식의 선박 데이터를 사용.
## 기술 스택 ## 기술 스택
- **언어**: TypeScript (strict 모드, JS→TS 전환 완료) - **언어**: TypeScript (strict 모드)
- **프레임워크**: React 18 + Vite 5 - **프레임워크**: React 19 + Vite 7
- **지도 엔진**: OpenLayers 9 + Deck.gl 9 (MapLibre 전환 예정) - **지도 엔진**: OpenLayers 9 + Deck.gl 9 (MapLibre 전환 예정)
- **상태관리**: Zustand 4 - **상태관리**: Zustand 5
- **HTTP**: Axios - **HTTP**: Axios
- **스타일**: SASS - **스타일**: SASS
- **라우팅**: React Router DOM 6 - **라우팅**: React Router DOM 6 (v7 future flag 적용)
- **Lint**: ESLint 8 + @typescript-eslint - **Lint**: ESLint 9 flat config + typescript-eslint 8
## 빌드 / 실행 ## 빌드 / 실행
```bash ```bash
@ -54,15 +54,15 @@ src/
└── workers/ # Web Worker (signalWorker) └── workers/ # Web Worker (signalWorker)
``` ```
## TypeScript 설정 ## TypeScript / Lint 설정
- `tsconfig.json`: composite 프로젝트 (tsconfig.app.json + tsconfig.node.json) - `tsconfig.json`: composite 프로젝트 (tsconfig.app.json + tsconfig.node.json)
- `.eslintrc.cjs`: @typescript-eslint/recommended, react-hooks, react-refresh - `eslint.config.js`: ESLint 9 flat config (typescript-eslint 8, react-hooks 7)
- pre-commit hook: `npx eslint src/ --ext .ts,.tsx --quiet` - pre-commit hook: `npx eslint src/ --quiet`
- 타입 체크: `npx tsc -b --noEmit` - 타입 체크: `npx tsc -b --noEmit`
## Git 저장소 ## Git 저장소
- **Remote**: https://gitea.gc-si.dev/gc/ship-gis.git - **Remote**: https://gitea.gc-si.dev/gc/ship-gis.git
- **브랜치**: main (보호), develop (작업 브랜치), chore/typescript-migration (TS 전환) - **브랜치**: main (보호), develop (작업 브랜치), chore/react19-vite7 (Step 1)
## 팀 워크플로우 ## 팀 워크플로우
- 버전: v1.2.0 - 버전: v1.2.0
@ -73,11 +73,10 @@ src/
상세 계획: `/Users/lht/.claude/plans/glittery-zooming-feigenbaum.md` 상세 계획: `/Users/lht/.claude/plans/glittery-zooming-feigenbaum.md`
### Step 1: React 19 + Vite 7 + ESLint 9 업그레이드 ### Step 1: React 19 + Vite 7 + ESLint 9 업그레이드 (완료)
- 브랜치: `chore/react19-vite7` (develop 기반) - 브랜치: `chore/react19-vite7` (develop 병합 대기)
- React 18→19, Vite 5→7, ESLint 8→9 flat config - React 19.2.4, Vite 7.3.1, ESLint 9.39.2, Zustand 5.0.11
- 미사용 패키지 제거 (@stomp/stompjs, sockjs-client, flatgeobuf) - sockjs-client, flatgeobuf 제거 (@stomp/stompjs는 리플레이 모듈 사용으로 유지)
- react-router-dom v6.x 유지
### Step 2: OpenLayers → MapLibre GL JS 전환 ### Step 2: OpenLayers → MapLibre GL JS 전환
- 브랜치: `refactor/maplibre-migration` (Step 1 병합 후) - 브랜치: `refactor/maplibre-migration` (Step 1 병합 후)