Skip to content

Commit 546f04a

Browse files
authored
Merge pull request #1268 from rewrite0w0/translate/20250312
Translate/20250312
2 parents c8d1b62 + 65969a0 commit 546f04a

File tree

1 file changed

+208
-0
lines changed

1 file changed

+208
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
---
2+
title: "2025-03-12: React Aria March 5, 2025, Firefox 136.0, TypeScript 컴포넌트를 Go로 이식"
3+
author: "azu"
4+
translator: rewrite0w0
5+
layout: post
6+
date: 2025-03-12T03:37:21.235Z
7+
category: JSer
8+
tags:
9+
- React
10+
- TypeScript
11+
- Vue
12+
- Electron
13+
- pnpm
14+
15+
---
16+
17+
JSer.info #728 - React Aria March 5, 2025 출시되었다
18+
19+
- [March 5, 2025 Release – React Spectrum Releases](https://react-spectrum.adobe.com/releases/2025-03-05.html)
20+
21+
Toast/Tree/Virtualizer 컴포넌트를 추가, Autocomplete를 Menu/Select와 조합해서 이용할 수 있도록 되었다.
22+
또한, `<Pressable>`/`<Focusable>` 추가, `usePress` 리팩터링이 포함되어있다.
23+
그 외로는, 문서를 Tailwind v4에 대응
24+
25+
---
26+
27+
Firefox 136.0 출시되었다
28+
29+
- [Firefox 136.0, See All New Features, Updates and Fixes](https://www.mozilla.org/en-US/firefox/136.0/releasenotes/)
30+
- [Firefox 136 for developers - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/136)
31+
32+
HTML의 `autocorrect` 속성을 지원, `Intl.DurationFormat` 지원, Data URLs 최대 크기를 32MB에서 Chrome과 같은 512MB로 변경되었다.
33+
Cookie Storage API 지원, HTTPS-First로 변경되었다.
34+
실험적 기능으로, `Error.captureStackTrace()` 지원, `Clear-Site-Data` 헤더 지원, SVG의 `<discard>` 요소 지원이 포함되었다.
35+
36+
----
37+
38+
TypeScript 컴파일러를 Go언어로 포팅하는 계획이 공개되었다.
39+
40+
- [A 10x Faster TypeScript - TypeScript](https://devblogs.microsoft.com/typescript/typescript-native-port/)
41+
42+
TypeScript 자료형 체크나 LSP 성능 개선하기 위해서, TypeScript 컴파일러를 Go언어로 포팅할 계획이 공개되었다.
43+
이식한 native판을 TypeScript 7로 출시할 예정이며, native판이 안정될 떄까지는 JS 버전도 관리될 예정이다.
44+
TypeScript 7가 출시된 이후도, 이행 문제가 없을때까지는 JS 버전을 관리하며, 99.99%는 그대로 이행할 수 있는 것을 목표로 하고 있다.
45+
46+
- https://github.com/microsoft/typescript-go
47+
48+
> "Why a port instead of a rewrite? What's the difference? · microsoft/typescript-go · Discussion #410"
49+
> https://github.com/microsoft/typescript-go/discussions/411
50+
51+
왜 다시 작성하지 않고 이행을 선택했는가는, TypeScript 컴파일러 코드 기반 크기나, TypeScript 사양이 따로 있는 것이 아니라 레퍼런스 구현만이라는 이유도 들고 있다.
52+
53+
> Why Go? #411
54+
> https://github.com/microsoft/typescript-go/discussions/411
55+
56+
Go를 선택할 이유로, GC가 있다는 이유와 의미론적 코드 구조가 JS와 닮았고, 이식성 높은 것을 이유로 들고 있다.
57+
58+
- [TypeScript is being ported to Go | interview with Anders Hejlsberg - YouTube](https://www.youtube.com/watch?v=10qowKUW82U)
59+
60+
C#은 OOP 언어라서, 기존 TypeScript 컴파일러 코드를 이행하기에는, 구조 변경할 이유가 있었기에 선택하기에는 어려운 면이 있었다.
61+
그리고, TypeScript 컴파일러는 GC에 의존하고 있어서, Rust 언어는 선택하기 어려운 면이 있었다.
62+
다시 작성했다면, 처음부터 GC/순환참조 그래프에 의존하지 않는 구조로 하고 싶다는 이야기.
63+
64+
또한, 구체적인 출시 스케쥴은 미정이지만, 기본적으로는 이행이 부드럽게 이뤄지는 것을 목표로 하고 있다.
65+
66+
----
67+
68+
{% include inline-support.html %}
69+
70+
----
71+
72+
<h1 class="site-genre">헤드라인</h1>
73+
74+
----
75+
76+
## March 5, 2025 Release – React Spectrum Releases
77+
[react-spectrum.adobe.com/releases/2025-03-05.html](https://react-spectrum.adobe.com/releases/2025-03-05.html "March 5, 2025 Release – React Spectrum Releases")
78+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>
79+
80+
React Aria March 5, 2025 출시.
81+
Toast/Tree/Virtualizer 컴포넌트를 추가, Autocomplete를 Menu/Select와 조합해서 이용하도록.
82+
`<Pressable>`/`<Focusable>` 추가,
83+
`usePress` 리팩터링.
84+
문서를 Tailwind v4에 대응
85+
86+
87+
----
88+
89+
## Electron 35.0.0 | Electron
90+
[www.electronjs.org/blog/electron-35-0](https://www.electronjs.org/blog/electron-35-0 "Electron 35.0.0 | Electron")
91+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Electron</span> <span class="jser-tag">ReleaseNote</span></p>
92+
93+
Electron 35.0.0 출시.
94+
Chromium 134/Node.js 22.14.0/V8 13.5으로 업데이트, Service Worker Preload Scripts 지원
95+
96+
97+
----
98+
99+
## Release v3.16.0 · nuxt/nuxt
100+
[github.com/nuxt/nuxt/releases/tag/v3.16.0](https://github.com/nuxt/nuxt/releases/tag/v3.16.0 "Release v3.16.0 · nuxt/nuxt")
101+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Vue</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>
102+
103+
Nuxt.js v3.16.0 출시.
104+
`create-nuxt` 패키지 추가, 성능 개선, delayed/lazy hydration 지원
105+
106+
107+
----
108+
109+
## Release pnpm 10.6 · pnpm/pnpm
110+
[github.com/pnpm/pnpm/releases/tag/v10.6.0](https://github.com/pnpm/pnpm/releases/tag/v10.6.0 "Release pnpm 10.6 · pnpm/pnpm")
111+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">pnpm</span> <span class="jser-tag">ReleaseNote</span></p>
112+
113+
pnpm v10.6.0 출시.
114+
`.npmrc` 설정을 전부 `pnpm-workspace.yaml`에 입력하도록
115+
116+
117+
----
118+
119+
## Release v1.51.0 · microsoft/playwright
120+
[github.com/microsoft/playwright/releases/tag/v1.51.0](https://github.com/microsoft/playwright/releases/tag/v1.51.0 "Release v1.51.0 · microsoft/playwright")
121+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">playwright</span> <span class="jser-tag">ReleaseNote</span></p>
122+
123+
playwright v1.51.0 출시.
124+
`browserContext.storageState()`가 IndexedDB 지원, `filter({ visible })` 추가, `expect(page).toHaveURL(fn)` 지원.
125+
LLM 대상 Copy prompt 레포트에 추가
126+
127+
128+
----
129+
130+
## Release @ark-ui/react@5.0.0 · chakra-ui/ark
131+
[github.com/chakra-ui/ark/releases/tag/%40ark-ui%2Freact%405.0.0](https://github.com/chakra-ui/ark/releases/tag/%40ark-ui%2Freact%405.0.0 "Release @ark-ui/[email protected] · chakra-ui/ark")
132+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">Vue</span> <span class="jser-tag">Solid</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>
133+
134+
Ark UI v5 출시.
135+
성능과 Bundle Size 개선, 컴포넌트에 기본값을 지정하는 옵션 추가
136+
137+
138+
----
139+
140+
## Firefox 136.0, See All New Features, Updates and Fixes
141+
[www.mozilla.org/en-US/firefox/136.0/releasenotes/](https://www.mozilla.org/en-US/firefox/136.0/releasenotes/ "Firefox 136.0, See All New Features, Updates and Fixes")
142+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Firefox</span> <span class="jser-tag">ReleaseNote</span></p>
143+
144+
Firefox 136 출시.
145+
HTML의 `autocorrect` 속성 지원, `Intl.DurationFormat` 지원, Data URLs 최대 크기를 32MB에서 Chrome와 같은 512MB로 변경.
146+
Cookie Storage API 지원, HTTPS-First로 변경.
147+
실험적 기능으로, `Error.captureStackTrace()` 지원, `Clear-Site-Data` 헤더 지원, SVG의 `<discard>` 요소 지원
148+
149+
- [Firefox 136 for developers - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/136 "Firefox 136 for developers - Mozilla | MDN")
150+
151+
----
152+
153+
## Bun v1.2.5 | Bun Blog
154+
[bun.sh/blog/bun-v1.2.5](https://bun.sh/blog/bun-v1.2.5 "Bun v1.2.5 | Bun Blog")
155+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Bun</span> <span class="jser-tag">ReleaseNote</span></p>
156+
157+
Bun v1.2.5 출시.
158+
Node-API와 호환성 개선, `node:timers` 추가, `Bun.CSRF` 추가.
159+
dev server가 svelte 지원, CSS modules 지원
160+
161+
162+
----
163+
<h1 class="site-genre">읽을거리</h1>
164+
165+
----
166+
167+
## A 10x Faster TypeScript - TypeScript
168+
[devblogs.microsoft.com/typescript/typescript-native-port/](https://devblogs.microsoft.com/typescript/typescript-native-port/ "A 10x Faster TypeScript - TypeScript")
169+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">article</span> <span class="jser-tag">performance</span></p>
170+
171+
TypeScript의 자료형 체크나 LSP 퍼포먼스 개선하기 위해, TypeScript 컴파일러나 LSP 도구를 Go언어로 포팅하는 이야기.
172+
이식된 native판을 TypeScript 7로 출시할 예정, native판이 안정될 때까지는 JS 버전도 관리될 예정.
173+
174+
175+
----
176+
177+
## Split Route Modules | Remix
178+
[remix.run/blog/split-route-modules](https://remix.run/blog/split-route-modules "Split Route Modules | Remix")
179+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">article</span></p>
180+
181+
React Router v7.2.0에 추가된 Split Route Modules 관련하여.
182+
183+
184+
----
185+
<h1 class="site-genre">소프트웨어, 도구, 라이브러리</h1>
186+
187+
----
188+
189+
## microsoft/typescript-go: Staging repo for development of native port of TypeScript
190+
[github.com/microsoft/typescript-go](https://github.com/microsoft/typescript-go "microsoft/typescript-go: Staging repo for development of native port of TypeScript")
191+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">golang</span> <span class="jser-tag">Tools</span></p>
192+
193+
TypeScript를 Go 언어로 포팅 구현.
194+
자료형 체크 이외는 병렬로 처리 가능. 자료형 체크는 몇 몇 블록으로 나눠서 처리하도록 되어있음.
195+
196+
- [A 10x faster TypeScript - YouTube](https://www.youtube.com/embed/pNlq-EVld70?si=OaEgTg6ROtfYDYLt "A 10x faster TypeScript - YouTube")
197+
198+
----
199+
200+
## Pikku - A Function-First Framework for Node.js | Pikku
201+
[pikku.dev/](https://pikku.dev/ "Pikku - A Function-First Framework for Node.js | Pikku")
202+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">library</span> <span class="jser-tag">server</span></p>
203+
204+
TypeScript로 작성된 웹 프레임워크.
205+
단순 함수 핸들러를 정의. TypeScript 코드에서 JSON 스키마 생성해 검증하고, 클라이언트 코드도 자동적으로 생성
206+
207+
208+
----

0 commit comments

Comments
 (0)