Fork me on GitHub

2023-03-29のJS: Safari 16.4、DenoとCloudflare WorkersのNode.js互換性、pnpm 8.0.0

Edit on GitHub 編集履歴を見る

JSer.info #637 - Safari 16.4がリリースされました。

Beta版時の2023-02-20のJS: 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.resolveAtomics.waitAsync、Import Mapsのサポート
  • iframeのloading=lazyClear-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フラグを有効にすることで、EventEmitterBufferassertutilなどのNode.jsのAPIが使えるようになります。


pnpm v8.0.0がリリースされました。

Node.js 14のサポート終了、デフォルト設定の変更がされています。
これにより、peerDependenciesをデフォルトでインストールするようになるなどの挙動が変更されています。
そのほかには、Lockfileの形式とバージョンをアップデートなども含まれています。


JSer.infoをサポートするには

JSer.info Sponsors

JSer.info SponsorsGitHub Sponsorsとして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のサポート終了、デフォルト設定の変更、ロックファイルの形式の変更など


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.resolveAtomics.waitAsync、Import Mapsのサポート
  • iframeのloading=lazyClear-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を使ったテストの入門書


この記事へ修正リクエストをする
JSer.info Slackに参加する