Skip to content

Commit 85c19be

Browse files
authored
Merge pull request #1274 from rewrite0w0/translate/20250409
translate: 2025-04-09 article
2 parents 81a9dfa + 3f7de04 commit 85c19be

File tree

1 file changed

+193
-0
lines changed

1 file changed

+193
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
---
2+
title: "2025-04-09: express 5.1(정식 출시), Safari 18.4, ESLint bulk suppressions"
3+
author: "azu"
4+
translator: rewrite0w0
5+
layout: post
6+
date: 2025-04-09T03:51:38.606Z
7+
category: JSer
8+
tags:
9+
- safari
10+
- css
11+
- Tools
12+
- nodejs
13+
- express
14+
15+
---
16+
17+
JSer.info #731 - Express 5.1.0가 출시되었습니다.
18+
19+
- [[email protected]: Now the Default on npm with LTS Timeline](https://expressjs.com/2025/03/31/v5-1-latest-release.html)
20+
21+
이 버전은 Express 5.x 시리즈 정식 출시입니다.
22+
npm에서 `express`는 기본 버전도 5.x으로 변경됩니다. 문서가 업데이트 되었고, 4.x부터 5.x으로 이행 지원하기 위한 codemod 마이그레이션도 제공됩니다.
23+
24+
동시에 LTS(Long Term Support)정책도 발표, Express 4.x는 2026년 10월 1일에 지원 종료할 예정입니다.
25+
26+
---
27+
28+
Safari 18.4가 출시되었습니다.
29+
30+
- [WebKit Features in Safari 18.4 | WebKit](https://webkit.org/blog/16574/webkit-features-in-safari-18-4/)
31+
32+
큰 기능으로 Declarative Web Push 지원이 추가되었습니다. 이는 Service Worker를 이용하지 않고 푸쉬 알람 관리하는 새로운 구조입니다.
33+
34+
- [Meet Declarative Web Push | WebKit](https://webkit.org/blog/16535/meet-declarative-web-push/)
35+
36+
37+
CSS 관련으로는 `shape()` 함수, `writing-mode` 옆으로 쓰기 모드, `text-autospace` 지원도 추가되었습니다. Web API에는 Image Capture API 지원, iOS/iPad OS에서 Screen Wake Lock API 지원도 포함되었습니다.
38+
또한, Cookie Store API 지원이 포함되었습니다. JavaScript 관련으로는 ES2025 Iterator Helpers 지원, Stage 3 `Error.isError` 지원도 추가되었습니다.
39+
40+
---
41+
42+
다음 글에서는, ESLint의 bulk suppressions 기능에 대해 해설합니다
43+
44+
- [Introducing bulk suppressions - ESLint - Pluggable JavaScript Linter](https://eslint.org/blog/2025/04/introducing-bulk-suppressions/)
45+
46+
bulk suppression는 의존 코드 기반으로 ESLint 도입할 때 과제를 해결하기 위한 신기능입니다.
47+
bulk suppressions 사용하면, 기존 모든 규칙 위반을 제어하면서, 새롭게 추가된 파일이나 코드에 대해서만 규칙을 적용할 수 있습니다.
48+
구체적으로는 `eslint-suppressions.json` 생성, 그 파일에 기록된 위반만을 무시하는 구조입니다.
49+
이로 인하여, 새롭게 작성된 코드는 추가한 Lint 규칙을 적용하면서, 기존 코드는 계단적으로 이행할 수 있습니다.
50+
51+
----
52+
53+
{% include inline-support.html %}
54+
55+
----
56+
<h1 class="site-genre">헤드라인</h1>
57+
58+
----
59+
60+
## [email protected]: Now the Default on npm with LTS Timeline
61+
[expressjs.com/2025/03/31/v5-1-latest-release.html](https://expressjs.com/2025/03/31/v5-1-latest-release.html "[email protected]: Now the Default on npm with LTS Timeline")
62+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">express</span> <span class="jser-tag">ReleaseNote</span></p>
63+
64+
Express 5.1.0 출시.
65+
express 5.x 정식 출시 버전.
66+
문서 업데이트, codemod으로 마이그레이션 도구 제공.
67+
또한, LTS Policy 관련 정의되어, 4.x는 2026-10-01에 지원 종료됨.
68+
69+
----
70+
71+
## WebKit Features in Safari 18.4 | WebKit
72+
[webkit.org/blog/16574/webkit-features-in-safari-18-4/](https://webkit.org/blog/16574/webkit-features-in-safari-18-4/ "WebKit Features in Safari 18.4 | WebKit")
73+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">safari</span> <span class="jser-tag">ReleaseNote</span></p>
74+
75+
Safari 18.4 출시.
76+
Declarative Web Push 지원.
77+
CSS `shape()`/`writing-mode`로 옆으로 쓰기 모드/`text-autospace` 지원.
78+
HTML `<input type="color" />` 개선.
79+
Web Inspector의 Local Overrides로 일부 데이터만 변경가능, `console.screenshot()` API 추가.
80+
Image Capture API 지원, Screen Wake Lock API가 iOS/iPad OS에서도 동작하도록, Cookie Store API 지원.
81+
ES2025 Iterator Helpers 지원, Stage 3 `Error.isError` 지원.
82+
83+
----
84+
85+
## Introducing bulk suppressions - ESLint - Pluggable JavaScript Linter
86+
[eslint.org/blog/2025/04/introducing-bulk-suppressions/](https://eslint.org/blog/2025/04/introducing-bulk-suppressions/ "Introducing bulk suppressions - ESLint - Pluggable JavaScript Linter")
87+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">ESLint</span> <span class="jser-tag">article</span></p>
88+
89+
ESLint의 bulk suppressions 관련하여.
90+
한 번에 모든 에러를 제어하고, 새로 추가된 파일에 대하여 Lint 에러 표현하는 구조.
91+
92+
----
93+
<h1 class="site-genre">읽을거리</h1>
94+
95+
----
96+
97+
## Meet Declarative Web Push | WebKit
98+
[webkit.org/blog/16535/meet-declarative-web-push/](https://webkit.org/blog/16535/meet-declarative-web-push/ "Meet Declarative Web Push | WebKit")
99+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">safari</span> <span class="jser-tag">article</span></p>
100+
101+
Safari 18.4에서 지원되는 Declarative Web Push 관련해서.
102+
Safari는 ITP 대응하기 위해, 일정시간 접근이 없는 Service Worker(SW)도 삭제했지만, Web Push는 SW에 의존했었기에 푸쉬를 사용하지 못했던 경우가 있었다.
103+
Declarative Web Push는 Service Worker을 이용하지 않고 푸쉬 알람 관리 가능
104+
105+
- [explainers/DeclarativeWebPush at main · WebKit/explainers](https://github.com/WebKit/explainers/tree/main/DeclarativeWebPush "explainers/DeclarativeWebPush at main · WebKit/explainers")
106+
107+
----
108+
109+
## Modern Cookie Management with the Cookie Store API
110+
[www.telerik.com/blogs/modern-cookie-management-cookie-store-api](https://www.telerik.com/blogs/modern-cookie-management-cookie-store-api "Modern Cookie Management with the Cookie Store API")
111+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">WebPlatformAPI</span> <span class="jser-tag">article</span></p>
112+
113+
Cookie Store API 관련.
114+
`document.cookie`과 차이나 Cookie Store API 사용한 Cookie 읽고 쓰기 관련하여
115+
116+
117+
----
118+
119+
## Introducing bulk suppressions - ESLint - Pluggable JavaScript Linter
120+
[eslint.org/blog/2025/04/introducing-bulk-suppressions/](https://eslint.org/blog/2025/04/introducing-bulk-suppressions/ "Introducing bulk suppressions - ESLint - Pluggable JavaScript Linter")
121+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">ESLint</span> <span class="jser-tag">article</span></p>
122+
123+
ESLint bulk suppressions 관련하여.
124+
한 번에 모든 에러를 제어해, 새로 추가된 파일에 대해 Lint 에러 표현하는 구조.
125+
126+
127+
----
128+
129+
## 다시 이해하는 ArrayBuffer - JavaScript으로 바이너리 데이터 다루는 방법 - ICS MEDIA
130+
[ics.media/entry/250408/](https://ics.media/entry/250408/ "다시 이해하는 ArrayBuffer - JavaScript으로 바이너리 데이터 다루는 방법 - ICS MEDIA")
131+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">article</span></p>
132+
133+
ArrayBuffer과 TypedArray 관련 해설 글.
134+
통상 배열(Array)과 차이나 TypedArray 사용 방법에 대하여
135+
136+
137+
----
138+
<h1 class="site-genre">슬라이드, 영상</h1>
139+
140+
----
141+
142+
## React Query API Design – Lessons Learned - Dominik Dorfmeister - YouTube
143+
[www.youtube.com/watch?v&#x3D;l3PxErcKeAI](https://www.youtube.com/watch?v=l3PxErcKeAI "React Query API Design – Lessons Learned - Dominik Dorfmeister - YouTube")
144+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">slide</span> <span class="jser-tag">video</span></p>
145+
146+
React Query의 API 디자인으로부터 배운 것을 발표.
147+
148+
149+
----
150+
<h1 class="site-genre">소프트웨어, 도구, 라이브러리</h1>
151+
152+
----
153+
154+
## harrysolovay/standard-json-schema: Turn standard types into JSON schemas
155+
[github.com/harrysolovay/standard-json-schema](https://github.com/harrysolovay/standard-json-schema "harrysolovay/standard-json-schema: Turn standard types into JSON schemas")
156+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">TypeScript</span> <span class="jser-tag">JSON</span> <span class="jser-tag">library</span></p>
157+
158+
Standard Schema를 JSON Schema으로 변환하는 Adaptor 라이브러리.
159+
zod/arktype/valibot/typebox으로 대응하고 있고, 각각 peerDependencies로 정의
160+
161+
- [\[Feature Request\] support \`toJSONSchema\` · Issue #21 · standard-schema/standard-schema](https://github.com/standard-schema/standard-schema/issues/21 "\[Feature Request\] support \&#x60;toJSONSchema\&#x60; · Issue #21 · standard-schema/standard-schema")
162+
163+
----
164+
165+
## bytecodealliance/StarlingMonkey: The StarlingMonkey JS runtime
166+
[github.com/bytecodealliance/StarlingMonkey](https://github.com/bytecodealliance/StarlingMonkey "bytecodealliance/StarlingMonkey: The StarlingMonkey JS runtime")
167+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">WebAssembly</span></p>
168+
169+
Wasm 최적환 된 SpiderMonkey 기반 JavaScript 엔진
170+
171+
172+
----
173+
174+
## holepunchto/bare: Small and modular JavaScript runtime for desktop and mobile
175+
[github.com/holepunchto/bare](https://github.com/holepunchto/bare "holepunchto/bare: Small and modular JavaScript runtime for desktop and mobile")
176+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">nodejs</span> <span class="jser-tag">Tools</span></p>
177+
178+
임베디드 모바일에서 사용 목적 JavaScript Runtime.
179+
libjs JavaScript 엔진에 의존하지 않는 Binding 정의해서, 엔진으로는 V8/JSC/QuickJS/JerryScript 이용 가능.
180+
CJS/ESM 모듈의 구조나 Native Addon 구조, 경량 스레드 지원
181+
182+
- [Bare | Fast, Lightweight Runtime for Modular JavaScript Apps](https://bare.pears.com/ "Bare | Fast, Lightweight Runtime for Modular JavaScript Apps")
183+
184+
----
185+
186+
## toss/es-git: A modern Git library built for Node.js with blazing-fast installation and rock-solid stability, powered by N-API.
187+
[github.com/toss/es-git](https://github.com/toss/es-git "toss/es-git: A modern Git library built for Node.js with blazing-fast installation and rock-solid stability, powered by N-API.")
188+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">Rust</span> <span class="jser-tag">git </span> <span class="jser-tag">library</span></p>
189+
190+
Node.js의 N-API를 사용한 Git binding 라이브러리
191+
192+
193+
----

0 commit comments

Comments
 (0)