JS frameworks, React/Vue/Svelte, and runtime updates Compiled for immediate developer deployment.
calendar_todaysummarizeWeek 14-2026
article
TypeScript 7 Project Corsa: Go 컴파일러 실전 마이그레이션 가이드
TAG: 타입스크립트
Microsoft의 TypeScript 7.0은 'Corsa'라는 코드명 하에 기존 JavaScript 자체 호스팅 컴파일러를 Go로 완전히 재작성하여 tsgo라는 네이티브 바이너리를 제공합니다. 실제 프로젝트 벤치마크에서 8~10배의 타입 검사 속도 향상이 확인되었으며, VS Code의 150만 줄 코드베이스 기준으로 89초에서 8.7초로 단축되었고 메모리 사용량도 약 3배 감소했습니다. Watch 모드는 이제 네이티브 파일시스템 이벤트를 사용하여 100ms 이하의 재빌드가 가능합니다. 마이그레이션 경로는 마지막 JS 기반 릴리스인 TypeScript 6.0을 거치며, 이 버전은 모든 deprecation을 경고로 표시합니다.주요 변경 사항으로는 strict 모드 기본 활성화, --target es5 제거, baseUrl, node10 모듈 해석 방식 및 AMD/UMD/SystemJS 출력 제거 등이 있습니다. 현재 @typescript/native-preview 패키지로 미리 체험할 수 있습니다.
fireup.pro 엔지니어링 팀은 대규모 TypeScript 모노레포에서 Biome과 ESLint를 결합한 하이브리드 아키텍처를 도입하여 pre-commit 훅 실행 시간을 27.2초에서 1.8초로 92.6% 단축했습니다. npm 의존성이 없는 Rust 기반 포매터 및 린터인 Biome이 TypeScript와 React 린팅, 포매팅, import 정렬, JSON 처리 등 90%의 작업을 처리합니다. 110만 개 이상의 JSDoc 주석 검증, Promise param-names 규칙, 미지원 커스텀 규칙을 위해 최소한의 ESLint 설정은 유지됩니다. Prettier는 Tailwind CSS 클래스 정렬에만 사용합니다. 벤치마크 결과 포매팅은 25배, 린팅은 15배 빠르며 코드 품질 저하, 개발자 워크플로우 변경, CI/CD 파이프라인 수정 없이 개선이 이루어졌습니다.
Neciu Dan이 React에서 불필요한 useEffect 훅을 제거하기 위한 체계적인 의사결정 트리를 제시합니다. 핵심 질문은 '외부 시스템과 동기화하고 있는가?'입니다. 7가지 일반적인 잘못된 사용법을 다룹니다: 데이터 변환(인라인 파생 또는 useMemo 사용), 사용자 이벤트 처리(이벤트 핸들러 사용), prop 변경 시 상태 초기화(key prop 사용), 데이터 페칭(캐싱, 중복 제거, stale-while-revalidate가 내장된 TanStack Query 사용), 부모 컴포넌트에 알리기(핸들러에서 직접 콜백 호출), 이펙트 체이닝(하나의 이벤트 핸들러에서 상태 업데이트 일괄 처리), 외부 스토어 구독(tearing 방지를 위한 useSyncExternalStore 사용). eslint-plugin-react-you-might-not-need-an-effect 플러그인과 패턴을 자동으로 적용하는 Claude Code 스킬도 소개합니다.
TanStack Router는 단일 router.state 객체를 alien-signals 기반의 TanStack Store를 활용한 소규모 전용 스토어 그래프로 교체했습니다. 기존에는 위치, 매치 라이프사이클, 내비게이션 상태, 사이드 이펙트 등 모든 반응형 상태가 하나의 넓은 반응형 표면을 통해 흘렀기 때문에 많은 소비자들이 실제로 필요한 것보다 더 많은 상태를 구독했습니다. 이번 리팩터링은 모델을 역전시켜 작은 스토어들이 진실의 원천이 되고, router.state는 하위 호환 공개 API를 위한 파생 스냅샷으로 변경되었습니다. 내부적으로 useMatch는 이제 LRU 캐시를 사용하는 getMatchStoreByRouteId를 통해 라우트별 스토어를 직접 구독하여 내비게이션 중 훨씬 적은 구독을 트리거합니다. React와 Vue는 번들 크기가 소폭 증가하고, Solid는 tanstack/store 의존성이 제거되어 감소합니다.
Node.js 25.9.0이 Current 릴리스 라인에 여러 semver-minor 추가 사항과 함께 출시되었습니다. 테스트 러너의 MockModuleOptions는 defaultExport와 namedExports를 단일 exports 속성으로 통합하며, npx codemod @nodejs/mock-module-exports를 통해 자동 마이그레이션이 가능합니다. AsyncLocalStorage는 async_hooks를 통해 using 스코프를 지원하고, CLI에는 --max-heap-size 플래그가 추가되었습니다. crypto 모듈에 TurboSHAKE와 KangarooTwelve Web Cryptography 알고리즘이 추가됩니다. Single Executable Applications(SEA)은 ESM 엔트리포인트에 대한 코드 캐시를 지원합니다. stream 모듈에 실험적인 stream/iter 구현이 추가되고, REPL은 커스터마이즈 가능한 오류 처리를 도입하며 node:domain 의존성을 제거합니다.
2026년 4월 Svelte 업데이트에서는 Svelte 5 및 SvelteKit 전반에 걸쳐 개발자 경험 개선이 이루어졌습니다. OpenCode와의 Svelte MCP 통합이 sv@0.12.6에서 sv의 .opencode/ 폴더 안에 생성된 svelte.json 플러그인 설정을 제공합니다. svelte@5.54.0에서 svelte.config.js가 css, runes, customElement에 대한 함수 기반 옵션을 지원하여 단일 설정 소스가 확보되었습니다. svelte@5.55.0에서는 svelte/motion이 TweenOptions, SpringOptions, SpringUpdateOptions, Updater 타입을 내보냅니다. SvelteKit kit@2.54.0은 error boundary에서 서버 측 오류를 잡을 수 있게 하며, kit@2.55.0은 matcher가 있는 라우트의 파라미터 타입을 $app/types 및 $app/state에서 더 좁혀 타입 안전성을 향상시킵니다.
Syntax 팟캐스트의 Wes Bos, Scott Tolinski, CJ가 Vite를 만든 회사 Void Zero가 발표한 풀스택 JavaScript 프레임워크 VOID를 상세히 분석합니다. VOID는 Cloudflare 런타임에 긴밀하게 결합된 Vite 플러그인으로 제공되며, D1(SQLite) 또는 Hyperdrive(Postgres) 기반의 Drizzle ORM, 키-값 스토리지, Better Auth, 서버 액션, 엔드투엔드 타입 안전 fetch, Cloudflare Queues 및 Crons를 포함한 배터리 포함 스택을 제공합니다. React, Vue, Svelte, Solid를 지원하는 프론트엔드 불가지론적 프레임워크로, 로더와 액션을 위한 별도의 서버 파일을 사용합니다. Evan You는 Cloudflare 종속성을 의도적인 것으로 공개적으로 인정하며 VOID를 Cloudflare용 Vercel 수준의 DX로 포지셔닝합니다. 호스트들은 컴포넌트 수준의 데이터 로딩, 셀프호스팅 가능성, 그리고 대부분의 팀에게 종속성 트레이드오프가 적합한지 논의합니다.
Microsoft의 TypeScript 7.0은 'Corsa'라는 코드명 하에 기존 JavaScript 자체 호스팅 컴파일러를 Go로 완전히 재작성하여 tsgo라는 네이티브 바이너리를 제공합니다. 실제 프로젝트 벤치마크에서 8~10배의 타입 검사 속도 향상이 확인되었으며, VS Code의 150만 줄 코드베이스 기준으로 89초에서 8.7초로 단축되었고 메모리 사용량도 약 3배 감소했습니다. Watch 모드는 이제 네이티브 파일시스템 이벤트를 사용하여 100ms 이하의 재빌드가 가능합니다. 마이그레이션 경로는 마지막 JS 기반 릴리스인 TypeScript 6.0을 거치며, 이 버전은 모든 deprecation을 경고로 표시합니다.주요 변경 사항으로는 strict 모드 기본 활성화, --target es5 제거, baseUrl, node10 모듈 해석 방식 및 AMD/UMD/SystemJS 출력 제거 등이 있습니다. 현재 @typescript/native-preview 패키지로 미리 체험할 수 있습니다.
Syntax 팟캐스트의 Wes Bos, Scott Tolinski, CJ가 Vite를 만든 회사 Void Zero가 발표한 풀스택 JavaScript 프레임워크 VOID를 상세히 분석합니다. VOID는 Cloudflare 런타임에 긴밀하게 결합된 Vite 플러그인으로 제공되며, D1(SQLite) 또는 Hyperdrive(Postgres) 기반의 Drizzle ORM, 키-값 스토리지, Better Auth, 서버 액션, 엔드투엔드 타입 안전 fetch, Cloudflare Queues 및 Crons를 포함한 배터리 포함 스택을 제공합니다. React, Vue, Svelte, Solid를 지원하는 프론트엔드 불가지론적 프레임워크로, 로더와 액션을 위한 별도의 서버 파일을 사용합니다. Evan You는 Cloudflare 종속성을 의도적인 것으로 공개적으로 인정하며 VOID를 Cloudflare용 Vercel 수준의 DX로 포지셔닝합니다. 호스트들은 컴포넌트 수준의 데이터 로딩, 셀프호스팅 가능성, 그리고 대부분의 팀에게 종속성 트레이드오프가 적합한지 논의합니다.
fireup.pro 엔지니어링 팀은 대규모 TypeScript 모노레포에서 Biome과 ESLint를 결합한 하이브리드 아키텍처를 도입하여 pre-commit 훅 실행 시간을 27.2초에서 1.8초로 92.6% 단축했습니다. npm 의존성이 없는 Rust 기반 포매터 및 린터인 Biome이 TypeScript와 React 린팅, 포매팅, import 정렬, JSON 처리 등 90%의 작업을 처리합니다. 110만 개 이상의 JSDoc 주석 검증, Promise param-names 규칙, 미지원 커스텀 규칙을 위해 최소한의 ESLint 설정은 유지됩니다. Prettier는 Tailwind CSS 클래스 정렬에만 사용합니다. 벤치마크 결과 포매팅은 25배, 린팅은 15배 빠르며 코드 품질 저하, 개발자 워크플로우 변경, CI/CD 파이프라인 수정 없이 개선이 이루어졌습니다.
Neciu Dan이 React에서 불필요한 useEffect 훅을 제거하기 위한 체계적인 의사결정 트리를 제시합니다. 핵심 질문은 '외부 시스템과 동기화하고 있는가?'입니다. 7가지 일반적인 잘못된 사용법을 다룹니다: 데이터 변환(인라인 파생 또는 useMemo 사용), 사용자 이벤트 처리(이벤트 핸들러 사용), prop 변경 시 상태 초기화(key prop 사용), 데이터 페칭(캐싱, 중복 제거, stale-while-revalidate가 내장된 TanStack Query 사용), 부모 컴포넌트에 알리기(핸들러에서 직접 콜백 호출), 이펙트 체이닝(하나의 이벤트 핸들러에서 상태 업데이트 일괄 처리), 외부 스토어 구독(tearing 방지를 위한 useSyncExternalStore 사용). eslint-plugin-react-you-might-not-need-an-effect 플러그인과 패턴을 자동으로 적용하는 Claude Code 스킬도 소개합니다.
TanStack Router는 단일 router.state 객체를 alien-signals 기반의 TanStack Store를 활용한 소규모 전용 스토어 그래프로 교체했습니다. 기존에는 위치, 매치 라이프사이클, 내비게이션 상태, 사이드 이펙트 등 모든 반응형 상태가 하나의 넓은 반응형 표면을 통해 흘렀기 때문에 많은 소비자들이 실제로 필요한 것보다 더 많은 상태를 구독했습니다. 이번 리팩터링은 모델을 역전시켜 작은 스토어들이 진실의 원천이 되고, router.state는 하위 호환 공개 API를 위한 파생 스냅샷으로 변경되었습니다. 내부적으로 useMatch는 이제 LRU 캐시를 사용하는 getMatchStoreByRouteId를 통해 라우트별 스토어를 직접 구독하여 내비게이션 중 훨씬 적은 구독을 트리거합니다. React와 Vue는 번들 크기가 소폭 증가하고, Solid는 tanstack/store 의존성이 제거되어 감소합니다.
Node.js 25.9.0이 Current 릴리스 라인에 여러 semver-minor 추가 사항과 함께 출시되었습니다. 테스트 러너의 MockModuleOptions는 defaultExport와 namedExports를 단일 exports 속성으로 통합하며, npx codemod @nodejs/mock-module-exports를 통해 자동 마이그레이션이 가능합니다. AsyncLocalStorage는 async_hooks를 통해 using 스코프를 지원하고, CLI에는 --max-heap-size 플래그가 추가되었습니다. crypto 모듈에 TurboSHAKE와 KangarooTwelve Web Cryptography 알고리즘이 추가됩니다. Single Executable Applications(SEA)은 ESM 엔트리포인트에 대한 코드 캐시를 지원합니다. stream 모듈에 실험적인 stream/iter 구현이 추가되고, REPL은 커스터마이즈 가능한 오류 처리를 도입하며 node:domain 의존성을 제거합니다.
2026년 4월 Svelte 업데이트에서는 Svelte 5 및 SvelteKit 전반에 걸쳐 개발자 경험 개선이 이루어졌습니다. OpenCode와의 Svelte MCP 통합이 sv@0.12.6에서 sv의 .opencode/ 폴더 안에 생성된 svelte.json 플러그인 설정을 제공합니다. svelte@5.54.0에서 svelte.config.js가 css, runes, customElement에 대한 함수 기반 옵션을 지원하여 단일 설정 소스가 확보되었습니다. svelte@5.55.0에서는 svelte/motion이 TweenOptions, SpringOptions, SpringUpdateOptions, Updater 타입을 내보냅니다. SvelteKit kit@2.54.0은 error boundary에서 서버 측 오류를 잡을 수 있게 하며, kit@2.55.0은 matcher가 있는 라우트의 파라미터 타입을 $app/types 및 $app/state에서 더 좁혀 타입 안전성을 향상시킵니다.
14주차 JavaScript의 최대 이슈는 TypeScript 7 "Project Corsa"로, 컴파일러를 Go로 재작성하여 tsgo라는 바이너리로 제공합니다. VS Code의 150만 줄 코드베이스 기준 실제 벤치마크에서 타입 검사가 89초에서 8.7초로 단축되는 8~10배의 속도 향상과 약 3배의 메모리 감소가 확인되었습니다. 네이티브 프리뷰는 npm의 @typescript/native-preview로 이미 체험 가능하며, TypeScript 6.0이 마이그레이션 브릿지 역할을 합니다.
프레임워크 측면에서 TanStack Router는 모놀리식 router.state 객체를 TanStack Store의 alien-signals를 기반으로 한 전용 스토어의 signal graph로 교체하여 내비게이션 중 발생하는 반응형 구독 수를 크게 줄였습니다. Svelte도 버전 5.54.0 및 5.55.0에서 함수 기반 svelte.config.js 옵션, svelte/motion의 새 타입 내보내기 등 여러 편의성 개선을 출시하였고, SvelteKit 2.54–2.55는 서버 측 error boundary 지원과 더 좁은 param 타입을 추가했습니다.
툴링도 큰 발전이 있었습니다. fireup.pro 팀은 Rust 기반 Biome이 90%의 작업을 처리하는 Biome + ESLint 하이브리드 아키텍처를 도입하여 대규모 TypeScript 모노레포의 pre-commit 훅 실행 시간을 27.2초에서 1.8초로 단축했습니다. Node.js 25.9.0은 TurboSHAKE 및 KangarooTwelve 암호화 알고리즘, AsyncLocalStorage의 using 스코프 지원, Single Executable Applications의 ESM 코드 캐시를 추가했습니다.
Key Takeaways
TypeScript 7(Project Corsa)은 컴파일러를 Go로 재작성한 tsgo를 통해 8~10배 빠른 타입 검사와 3배 낮은 메모리를 제공합니다. npm의 @typescript/native-preview로 지금 바로 체험할 수 있습니다.
TanStack Router의 signal graph 리팩터링은 단일 router.state를 alien-signals 기반 스토어로 교체하여 불필요한 구독을 줄이고 내비게이션 성능을 향상시킵니다.
Biome + ESLint 하이브리드 툴링은 대규모 TypeScript 모노레포에서 워크플로우 변경 없이 pre-commit 훅을 27초에서 1.8초로 단축했습니다(린팅 15배, 포매팅 25배 빠름).