JSer.info #632 - 브라우저에서 코드 편집과 프리뷰가 가능한 Sandpack 2.0가 출시되었습니다.
Sandpack 2.0에는, Node.js 코드를 브라우저에서 실행할 수 있는 Nodebox 기능이 추가되었습니다.
지난주, API로 이용가능했던 WebContainers와 구조는 닮았습니다.
Sandpack에는, 완벽한 Node.js 에뮬레이터라기보다, Node.js로 작성된 도구나, 애플리케이션 실행을 목적으로 하고 있습니다.
또한, SharedArrayBuffer
등 cross origin isolation한 환경에서 밖에 사용할 수 없던 API를 피함으로, 다양한 곳에서 동작할 수 있습니다.
한 편 WebContainers는, SharedArrayBuffer
가 필요하므로, COOP/COEP 헤더를 설정한 페이지가 필요로합니다.
Safari 16.4 Beta가 출시되었습니다.
Safari 16.4 Beta에서, 주요한 변경만 나열해도, 상당할 정도의 기능 추가가 포함되어있습니다.
- CSS Typed Object Model API 지원, Constructable Stylesheets 지원
- Declarative Shadow DOM, EmentInternals, Imperative Slot API 지원
- RegExp lookbehind assertions,
import.meta.resolve
,Atomics.waitAsync
, Import Maps 지원 - iframe
loading=lazy
,Clear-Site-Data
HTTP 헤더 지원 - AudioSession Web API 서브셋 지원, Web Codecs API 일부를 지원
- WebAssembly SIMD, OffscreenCanvas(2D만), Compression Streams API 지원
- Fetch Metadata Request Headers, Scroll to Text Fragment 지원
- Screen Orientation API, Screen Wake Lock API, UserActivation API 지원
- 홈 화면에서 추가한 Web 애플리케이션 한정 푸쉬 알림, Badge APIを지원
- Web Inspector 개선, WebDriver에서 Shadow Roots 지원, Cookie의 SameSite 속성 지원
- Lockdown 모드에서 캐시 API 무효화 등
홈 화면에서 추가한 Web 애플리케이션 한정 푸쉬 알림, Badge API 등 흔히 말하는 PWA에 대해, 다음 글에 해설되어 있습니다.
React.js 다큐멘터리가 공개되었습니다.
Facebook에서 React 탄생에서 현재까지를 돌아보는 형식으로, React 역사를 소개하고 있습니다.
또한, React 유저 시점에서 쓴 글도 공개되었습니다.
To support JSer.info
- 😘 Recommend JSer.info to your friends!
- ❤️ Support @azu on GitHub Sponsors/JSer.info Sponsors
- 🐦 Follow @jser_info on X(Twitter)
헤드라인
Firefox 110.0, See All New Features, Updates and Fixes
www.mozilla.org/en-US/firefox/110.0/releasenotes/
Firefox 110 출시.
Container Queries 지원, Error stack
프로퍼티가 serialize(직렬화)된 경우에 포함되도록 변경.
ReadableStream가 Async Iterable로 이용할 수 있도록 등
Announcing Sandpack 2.0 and a Node.js runtime for any browser
codesandbox.io/blog/announcing-sandpack-2
Sandpack 2.0 출시.
브라우저에서 Node.js 코드를 실행할 수 있는 Nodebox 추가.
WebContainers와 차이로, Nodebox는 샘플코드 실행이 목적이므로, 완전한 Node.js 에뮬레이터가 아닌 점. 한편으로 SharedArrayBuffer
를 사용하지 않으므로 다양한 환경에서 동작하는 점 등이 있다.
Release v0.200.0 · facebook/flow
github.com/facebook/flow/releases/tag/v0.200.0
Flow v0.200.0 출시.
generics-escape 문제 개선, 엄격하게 자료형 체크, 수치와 날짜 비교를 허용하지 않도록 등.
flow autofix
에 missing-local-annot
를 추가 등
Release v9.5.0 · npm/cli
github.com/npm/cli/releases/tag/v9.5.0
npm v9.5.0 출시.
npm publish --provenance
지원. 현시점에는 GitHub Actions에서만 한정적 지원하며, OIDC를 사용해서 CI로 publish 지원하기 위한 구조.
- Automated publishing of npm packages from CI/CD · Issue #625 · npm/statusboard
- RFC for linking packages to their source and build by feelepxyz · Pull Request #626 · npm/rfcs
Thursday February 16 2023 Security Releases | Node.js
nodejs.org/en/blog/vulnerability/february-2023-security-releases/
Node.js 보안 업데이트.
Node.js v18.14.1 (LTS)/v19.6.1 (Current)/v16.19.1 (LTS)/v14.21.3 (LTS)가 각각 출시되었다.
Release v3.0.0 · honojs/hono
github.com/honojs/hono/releases/tag/v3.0.0
Hono 3.0.0 출시.
req
를 Request
오브젝트 확장한 HonoRequest
오브젝트로 변경, StaticRouter 폐지, Validator 변경.
zod와 조합해서 router에서 리스폰스 자료형 정의를 작성할 수 있는 jsonT
와 이를 이용하는 클라이언트 hono/client
추가.
wintercg의 Runtime Keys의 이름을 반환하는 runtime()
추가 등
Release v5.0.0-alpha.0 · chaijs/chai
github.com/chaijs/chai/releases/tag/v5.0.0-alpha.0
chai v5.0.0-alpha.0 출시.
Pure ESM 패키지 변경.
Node.js 16 미만 지원 종료, IE 지원 종료 등
Safari 16.4 Beta Release Notes | Apple Developer Documentation
developer.apple.com/documentation/safari-release-notes/safari-16_4-release-notes
Safari 16.4 Beta 출시.
- CSS Typed Object Model API 지원, Constructable Stylesheets 지원
- Declarative Shadow DOM, EmentInternals, Imperative Slot API 지원
- RegExp lookbehind assertions,
import.meta.resolve
,Atomics.waitAsync
, Import Maps 지원 - iframe
loading=lazy
,Clear-Site-Data
HTTP 헤더 지원 - AudioSession Web API 서브셋 지원, Web Codecs API 일부를 지원
- WebAssembly SIMD, OffscreenCanvas(2D만), Compression Streams API 지원
- Fetch Metadata Request Headers, Scroll to Text Fragment 지원
- Screen Orientation API, Screen Wake Lock API, UserActivation API 지원
- 홈 화면에서 추가한 Web 애플리케이션 한정 푸쉬 알림, Badge APIを지원
- Web Inspector 개선, WebDriver에서 Shadow Roots 지원, Cookie의 SameSite 속성 지원
- Lockdown 모드에서 캐시 API 무효화 등
읽을거리
State of React Native 2022
results.stateofreactnative.com/
React Native 개발자 앙케이트 State of React Native 2022 결과가 공개되었다.
My talk on CSS runtime performance | Read the Tea Leaves
nolanlawson.com/2023/01/17/my-talk-on-css-runtime-performance/
CSS의 Runtime Performance에 대한 영상.
CSS Selector 동작과 비용, 레이아웃 퍼포먼스와 CSS Containment, 디버그 방법에 대하여
How to Inspect Interactions in the Browser
www.builder.io/blog/inspect-interactions-in-the-browser
Chrome DevTools의 Emulate a focused page를 사용해 Hover나 Focus 중에 나오는 요소를 Inspect하는 방법에 대하여
Popover API - JavaScript없이, HTML만으로 팝오버 UI
zenn.dev/yusukehirao/articles/popover-api-and-attributes
HTML의 popover
속성에 대하여.
Try out CSS Nesting today | WebKit
webkit.org/blog/13813/try-css-nesting-today-in-safari-technology-preview/
CSS Nesting를 Safari Technology Preview에서 이용할 수 있게되어, 사용 방법에 대한 소개 글
슬라이드, 영상
React.js: The Documentary - YouTube
www.youtube.com/watch?v=8pDqJVdNa44
React 다큐멘터리.
Facebook에서 React 탄생, Bolt.js 선택, 오픈소스 공개와 최초의 실패, 설계 원칙, 외부에서 Contributor 채용, React팀에 대하여
소프트웨어, 도구, 라이브러리
codesandbox/nodebox-runtime: The open source version of the nodebox repository, a Node.js runtime for the browser
github.com/codesandbox/nodebox-runtime
Node.js 코드를 브라우저에서 동작시키기 위해 Node.js 호환 런타임을 구현한 라이브러리.