Skip to content

2022-10-25のJS: Node.js 19、npm 9、Safari 16.1(Web Push) #1015

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 23 commits into from
Oct 25, 2022
Merged
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
---
title: "2022-10-25のJS: Node.js 19、npm 9、Safari 16.1(Web Push)"
author: "azu"
layout: post
date : 2022-10-25T14:21:44.919Z
category: JSer
tags:
- safari
- node.js
- browser
- npm
- Rust

---

JSer.info #615 - Node.js 19.0.0がリリースされました。

- [Node v19.0.0 (Current) | Node.js](https://nodejs.org/en/blog/release/v19.0.0/)
- [Node.js 19 is now available! | Node.js](https://nodejs.org/en/blog/announcements/v19-release-announce/)

Node.js 19は奇数バージョンなので、開発バージョン扱いとなりLTSとしてはリリースされません。

- <https://github.com/nodejs/release#release-schedule>

Node.js 19.0.0では、`node --watch`の追加、HTTP/1.1で`keepAlive`がデフォルト化、WebCryptoがStableへと変更されています。
依存関係がV8 10.7、llhttp 8.1.0、npm 8.19.2へアップデートされています。
また、`--require`フラグのESM版である`--import`フラグの追加なども行われています。

---

npm 9.0.0がリリースされました。

- [Release v9.0.0 · npm/cli](https://github.com/npm/cli/releases/tag/v9.0.0)
- [enhancement: cli should distinguish between stdout and stderr · Issue #4724 · npm/cli](https://github.com/npm/cli/issues/4724)

まだ`@latest`のdist-tagが付けられていないため、`npm i -g npm@9`でインストールができます。
2022年11月9日に`@latest`のdist-tagが貼られてGAとなり`npm i -g npm`でインストールできるようになります。
その後、Node.js 19と18にも同梱される予定となっているようです。

- [npm v9.0.0 released | GitHub Changelog](https://github.blog/changelog/2022-10-24-npm-v9-0-0-released/)

npm 9では、Node.js 12のサポート終了、認証方法を扱う`--auth-type`のデフォルトを`"web"`に変更しています。
また、`package.json`に`files`フィールドが定義されている場合はルートにある`.gitignore`や`.npmignore`を無視するように変更。
エラーとクラッシュのログを区別し、`--json`をつけた場合でもクラッシュのログはJSONとして出力しないように変更。
`npm access`、`npm birthday`、`npm set-script`、`npm bin`コマンドの削除なども含まれます。

---

Safari 16.1がリリースされました。

- [WebKit Features in Safari 16.1 | WebKit](https://webkit.org/blog/13399/webkit-features-in-safari-16-1/)

Safari 16.1では[Safari Push Notifications](https://developer.apple.com/notifications/safari-push-notifications/)という独自のプッシュ通知でなく、Service Workerに対応したWeb Pushのサポートしています。

その他にはAVIF形式のサポート、PassKeysのサポート、Scroll to Text Fragmentのサポートが追加されています。

----

<h1 class="site-genre">ヘッドライン</h1>

----

## Release Notes for Safari Technology Preview 156 | WebKit
[webkit.org/blog/13394/release-notes-for-safari-technology-preview-156/](https://webkit.org/blog/13394/release-notes-for-safari-technology-preview-156/ "Release Notes for Safari Technology Preview 156 | WebKit")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">safari</span> <span class="jser-tag">ReleaseNote</span></p>

Safari Technology Preview 156リリース。
`Intl.DurationFormat`の実装、`Temporal` APIの改善、`import.meta.resolve()`とImport Mapsの実装。
`Clear-Site-Data` HTTPヘッダのサポートなど


----

## Release v9.0.0 · npm/cli
[github.com/npm/cli/releases/tag/v9.0.0](https://github.com/npm/cli/releases/tag/v9.0.0 "Release v9.0.0 · npm/cli")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">npm</span> <span class="jser-tag">ReleaseNote</span></p>

npm v9.0.0リリース。
Node.js 12のサポート終了、認証方法を扱う`--auth-type`のデフォルトを`"web"`に変更。
`package.json`に`files`フィールドが定義されている場合はルートにある`.gitignore`や`.npmignore`を無視するように変更。
エラーとクラッシュのログを区別し、`--json`をつけた場合でもクラッシュのログはJSONとして出力しないように変更。
`npm access`、`npm birthday`、`npm set-script`、`npm bin`コマンドの削除など

- [enhancement: cli should distinguish between stdout and stderr · Issue #4724 · npm/cli](https://github.com/npm/cli/issues/4724 "enhancement: cli should distinguish between stdout and stderr · Issue #4724 · npm/cli")

----

## Release v1.6.0 - Castle in the Sky · solidjs/solid
[github.com/solidjs/solid/releases/tag/v1.6.0](https://github.com/solidjs/solid/releases/tag/v1.6.0 "Release v1.6.0 - Castle in the Sky · solidjs/solid")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>

Solid v1.6.0リリース。
Partial Hydrationのサポート、コンポーネントにPropsとして渡すSpread Syntaxの改善など


----

## Node v19.0.0 (Current) | Node.js
[nodejs.org/en/blog/release/v19.0.0/](https://nodejs.org/en/blog/release/v19.0.0/ "Node v19.0.0 (Current) | Node.js")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">node.js</span> <span class="jser-tag">ReleaseNote</span></p>

Node.js v19.0.0リリース。
開発バージョンとなる奇数バージョン。
`node --watch`の追加、HTTP/1.1で`keepAlive`がデフォルト化、WebCryptoがStableへと変更。
依存関係をV8 10.7、llhttp 8.1.0、npm 8.19.2へアップデート。
また、`--require`フラグのESM版である`--import`フラグの追加なども行われています。

- [Node.js 19 is now available! | Node.js](https://nodejs.org/en/blog/announcements/v19-release-announce/ "Node.js 19 is now available! | Node.js")

----

## Tailwind CSS v3.2: Dynamic breakpoints, multi-config, and container queries, oh my! - Tailwind CSS
[tailwindcss.com/blog/tailwindcss-v3-2](https://tailwindcss.com/blog/tailwindcss-v3-2 "Tailwind CSS v3.2: Dynamic breakpoints, multi-config, and container queries, oh my! - Tailwind CSS")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">CSS</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>

Tailwind CSS 3.2リリース。
`@config`でのconfigの読み込みをサポート。
`@supports`相当の`support-[]` variantを追加、WAI-ARIA属性に対応するvariantの追加、Data属性に対応するvariantの追加、`max-*` variantの追加。
プラグインにmatchVariant APIを追加、Container Queryに対応するプラグインの追加など

- [Release v3.2.0 · tailwindlabs/tailwindcss](https://github.com/tailwindlabs/tailwindcss/releases/tag/v3.2.0 "Release v3.2.0 · tailwindlabs/tailwindcss")

----

## Release v3.0.0 · svg/svgo
[github.com/svg/svgo/releases/tag/v3.0.0](https://github.com/svg/svgo/releases/tag/v3.0.0 "Release v3.0.0 · svg/svgo")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">SVG</span> <span class="jser-tag">library</span></p>

SVGO v3リリース。
Node 12のサポート終了、設定やプラグインのAPIの変更などが含まれる


----

## Release 3.26.0 - 2022.10.24 · zloirock/core-js
[github.com/zloirock/core-js/releases/tag/v3.26.0](https://github.com/zloirock/core-js/releases/tag/v3.26.0 "Release 3.26.0 - 2022.10.24 · zloirock/core-js")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">ECMAScript</span> <span class="jser-tag">proposal</span> <span class="jser-tag">library</span> <span class="jser-tag">polyfill</span> <span class="jser-tag">ReleaseNote</span></p>

core-js v3.26.0リリース。
Stage 2のwell-formed unicode stringsの実装、iterator helpers proposalの仕様変更に追従、`self`のpolyfillを追加など


----

## Vite 4 · Discussion #10570 · vitejs/vite
[github.com/vitejs/vite/discussions/10570](https://github.com/vitejs/vite/discussions/10570 "Vite 4 · Discussion #10570 · vitejs/vite")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">vite</span> <span class="jser-tag">issue</span></p>

Vite 4のマイルストーンについてのDiscussion


----

## WebKit Features in Safari 16.1 | WebKit
[webkit.org/blog/13399/webkit-features-in-safari-16-1/](https://webkit.org/blog/13399/webkit-features-in-safari-16-1/ "WebKit Features in Safari 16.1 | WebKit")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">safari</span> <span class="jser-tag">ReleaseNote</span></p>

Safari 16.1の変更点について。
Web Pushのサポート、AVIF形式のサポート、PassKeysのサポート、Scroll to Text Fragmentのサポート。
`getDisplayMedia()`で特定のウィンドウをキャプチャできるようになるなど


----

## Release v1.0.0 · fingerprintjs/BotD
[github.com/fingerprintjs/BotD/releases/tag/v1.0.0](https://github.com/fingerprintjs/BotD/releases/tag/v1.0.0 "Release v1.0.0 · fingerprintjs/BotD")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">browser</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>

Bot検知ライブラリ/サービスのBotD 1.0.0リリース。


----
<h1 class="site-genre">アーティクル</h1>

----

## No spooky cookies - Chrome Developers
[developer.chrome.com/en/blog/no-spooky-cookies/](https://developer.chrome.com/en/blog/no-spooky-cookies/ "No spooky cookies - Chrome Developers")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Chrome</span> <span class="jser-tag">browser</span> <span class="jser-tag">privacy</span> <span class="jser-tag">article</span></p>

Partitioned Cookieについて。
`Partitioned`属性を付与したCookieはトップレベルのサイトごとに分離されて保存、送信されるようになる。
サードパーティクッキーの段階的な廃止の一部となる仕組み

- [Cookies Having Independent Partitioned State specification](https://www.ietf.org/archive/id/draft-cutler-httpbis-partitioned-cookies-00.html "Cookies Having Independent Partitioned State specification")

----

## Cloudflare Workers and micro-frontends: made for one another
[blog.cloudflare.com/better-micro-frontends/](https://blog.cloudflare.com/better-micro-frontends/ "Cloudflare Workers and micro-frontends: made for one another")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">MicroFrontend</span> <span class="jser-tag">article</span></p>

Cloudflare WorkersとQwikを使ったMicroFrontendのサンプル実装。
各フラグメントを返すWorkerがあり、メインのWorkerからフラグメントのWorkerにリクエストする形で取得したものを結合してSSRする。
各フラグメントとなるWorkerは独立してデプロイできるようになっている。

- [Cloudflare Workersとマイクロフロントエンド](https://zenn.dev/laiso/articles/972b9d82030542 "Cloudflare Workersとマイクロフロントエンド")

----
<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1>

----

## oscartbeaumont/rspc: A blazingly fast and easy to use TRPC-like server for Rust.
[github.com/oscartbeaumont/rspc](https://github.com/oscartbeaumont/rspc "oscartbeaumont/rspc: A blazingly fast and easy to use TRPC-like server for Rust.")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Rust</span> <span class="jser-tag">TypeScript</span> <span class="jser-tag">library</span></p>

RustとTypeScript間のIPCをtRPCライクに型付けありで行えるライブラリ。
ReactやSolid、Tauriに対応したクライアントライブラリも提供している。


----

## thebinarysearchtree/flyweight: An ORM for SQLite
[github.com/thebinarysearchtree/flyweight](https://github.com/thebinarysearchtree/flyweight "thebinarysearchtree/flyweight: An ORM for SQLite")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">SQLite</span> <span class="jser-tag">node.js</span> <span class="jser-tag">library</span></p>

Node.js向けのSQLite ORM


----