Fork me on GitHub

2023-03-29: Safari 16.4, Deno와 Cloudflare Workers의 Node.js 호환성, pnpm 8.0.0

Translator: rewrite0w0(Oh TaeJun) Edit on GitHub See Revisions

JSer.info #637 - Safari 16.4가 출시되었습니다.

Beta판 당시 2023-02-20: Sandpack 2.0, Safari 16.4 Beta, React 다큐멘터리 - JSer.info에서 소개했습니다만, 많은 변경점이 있습니다.

  • margin-trim 프로퍼티, lh unit, 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 무효화

Deno v1.32가 출시되었습니다.

Deno v1.32에는 TypeScript 5.0, V8 11.2로 업데이트와 Node.js 호환성 개선이 있습니다.
Deno에서 package.json 지원 등, Node.js 호환성 향상에 대하여 다음 글에서 확인할 수 있습니다.

또한, 비슷한 이야기로 Cloudflare Workers에서 Node.js의 API 일부를 사용할 수 있도록 되었습니다.
nodejs_compat 플러그를 유효로함으로 EventEmitter, Buffer, assert, util 등 Node.js의 API를 사용할 수 있습니다.


pnpm v8.0.0가 출시되었습니다.

Node.js 14 지원종료, 기본 설정 변경되었습니다.
이에, peerDependencies가 기본 설치되는 등 변경이 생겼습니다.
그 외로는 Lockfile 형식과 버전 업데이트 등도 포함되었습니다.


To support JSer.info


헤드라인


Release Notes for Safari Technology Preview 166 | WebKit

webkit.org/blog/13964/release-notes-for-safari-technology-preview-166/

safari ReleaseNote

Safari Technology Preview 166 출시.
CSSの@counter-style 지원, JS 정규표현에서 v 플래그 구현, HTML popover 속성 지원.
HTTP 103 Early Hints 대응 등


Release v8.0.0-rc.0 · pnpm/pnpm

github.com/pnpm/pnpm/releases/tag/v8.0.0-rc.0

pnpm ReleaseNote

pnpm v8.0.0-rc.0 출시.
Node.js 14 지원 종료, 기본 설정 변경, Lockfile 형식 변경 등


ECMAScript proposal updates @ 2023-03 | ECMAScript Daily

ecmascript-daily.github.io/ecmascript/2023/03/26/ecmascript-proposal-update

ECMAScript proposal news

2023년 3월 TC39 미팅으로 ECMAScript Proposal 상태 변경 모음.


Deno 1.32: Enhanced Node.js Compatibility

deno.com/blog/v1.32

deno ReleaseNote

Deno v1.32 출시.
TypeScript 5.0, V8 11.2으로 업데이트.
Node.js와 호환성 개선, deno compile가 Web Worker와 Dynamic Import 지원, unstable한 WebGPU 지원 삭제 등.
std/encoding의 csv/yaml/toml/json/jsonc/front_matter를 std/ 톱 레벨로 이동 등.


Release v0.17.14 · evanw/esbuild

github.com/evanw/esbuild/releases/tag/v0.17.14

JavaScript Tools ReleaseNote

esbuild v0.17.14 출시.
TypeScript 5 const parameter 지원, CSS nesting 지원 등


Release v8.0.0 · pnpm/pnpm

github.com/pnpm/pnpm/releases/tag/v8.0.0

pnpm ReleaseNote

pnpm v8.0.0 출시.
Node.js 14 지원종료, 기본 설정 변경, peerDependencies 기본으로 설치.
Lockfile 형식과 버전 업데이트 등


WebKit Features in Safari 16.4 | WebKit

webkit.org/blog/13966/webkit-features-in-safari-16-4/

safari ReleaseNote

Safari 16.4 출시.

  • margin-trim 프로퍼티, lh unit, 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 무효화 등

관련자료:


moon v1.0 - Official release! Project constraints, tagging, and more! | moonrepo

moonrepo.dev/blog/moon-v1.0

monorepo Rust JavaScript Tools ReleaseNote

monorepo관리 도구 moon v1.0 출시.
프로젝트 태그 붙임 지원, 태그 사용한 프로젝트 간 제약 지원, 환경 변수 갈아끼우기 지원 등


읽을거리


Node.js compatibility for Cloudflare Workers – starting with Async Context Tracking, EventEmitter, Buffer, assert, and util

blog.cloudflare.com/workers-node-js-asynclocalstorage/

cloudflare node.js article

Cloudflare Workers에 Node.js의 Core Modules 일부 구현한 이야기.
nodejs_compat 플러그가 유효인 경우에 AsyncLocalStorage/EventEmitter/Buffer/Assert 등 이용 가능하다


The origin private file system - Chrome Developers

developer.chrome.com/articles/origin-private-file-system/

browser JavaScript article

Origin private file system 관련하여.
메인 스레드, Web Worker에서 이용, 기본적 API와 유스케이스에 대해 다룸.


Introducing Nuxt DevTools · Nuxt

nuxt.com/blog/introducing-nuxt-devtools

Vue article

Nuxt DevTools 소개.
Nuxt 페이지, 컴포넌트, 자동 임포트, Modules, Assets, Plugins, Hooks, 설정, 상태 등 디버그 가능한 도구


웹사이트, 서비스, 문서


Hello, Superflare

superflare.dev/

cloudflare node.js JavaScript library

Cloudflare Workers/Pages 특화한 애플리케이션 도구 킷.
D1 Database, R2 Storage, Cloudflare Queues, 세션 관리, Durable Objects 사용한 Broadcasting를 지원.
또한 DB의 마이그레이션 관리, Remix 등 프레임워크와 연계도 가능


mamiksik/parrot-intellij: AI Commit Messages Autocomplete for InteliJ

github.com/mamiksik/parrot-intellij

JetBrains plugin LanguageModel

커밋메세지를 자동생성하는 JetBrains/VSCode 확장.
커밋메세지를 학습한 모델을 이용


소프트웨어, 도구, 라이브러리


gvergnaud/hotscript: A library of composable functions for the type-level! Transform your TypeScript types in any way you want using functions you already know.

github.com/gvergnaud/hotscript

TypeScript library

TypeScript 자료형 레벨 고차함수 라이브러리.
자료형으로 패턴 매치를 작성, 이용할 수 있도록 자료형 함수를 제공하는 라이브러리


sinclairnick/brail: 💌 Transactional email that feels different

github.com/sinclairnick/brail

React mail library Tools

React 메일 작성할 수 있는 메일 툴 킷.
메일 지향 UI 컴포넌트, Linter, 컴포넌트로 HTML 메일 작성하는 제네레이터, tRPC 사용한 API, DevTools 등이 포함


mayank99/ecsstatic: the predefinite CSS-in-JS library for vite

github.com/mayank99/ecsstatic

CSS vite

CSS-in-JS 라이브러리.
css 태그 함수를 사용해서 CSS 작성, Vite로 컴파일한다.
Sass도 대응


도서


PEAKS|Jest로 시작하는 테스트 입문

peaks.cc/books/testing_with_jest

JavaScript testing book

Jest 사용한 테스트 입문서


Pull Request to this article
JSer.info Slackに参加する