Fork me on GitHub

2022-09-29のJS: TypeScript 4.9 Beta、workerd(Cloudflare Workers runtime)、Web Almanac 2022

Edit on GitHub 編集履歴を見る

JSer.info #611 - TypeScript 4.9 betaがリリースされました。

型キャストはせずに型の一致をチェックできるsatisfies演算子の追加、in演算子での型の絞り込みの改善、== NaNをコンパイルエラーに変更などが行われています。

satisfies演算子については次の記事が詳しいです。

また、--watchでのファイル監視のデフォルトをuseFsEventsに変更、exportsフィールドのtypeVersionsの優先度を修正なども含まれています。


Cloudflare Workersのruntimeであるworkerdがオープンソースとして公開されました。

これに合わせて、Miniflare 3.0.0がαリリースされ、JSを使って実装していた部分もworkerdを使うものになっています。

これによってローカルでの開発時と本番の動作が異なるケースが少なくなっていきそうです。


HTTP Archiveのデータを元にしたウェブのステータスをまとめたレポートであるWeb Almanacの2022年版が公開されました。

HTML/CSS/JSなどやアクセシビリティ/セキュリティ/サードパーティなど幅広いデータについて書かれています。

2021年版は日本語にも翻訳されており、電子書籍として読むこともできます。


ヘッドライン


September 22nd 2022 Security Releases | Node.js

nodejs.org/en/blog/vulnerability/september-2022-security-releases/

node.js ReleaseNote security

Node.jsのセキュリティ修正としてv14.20.1 (LTS)、v16.17.1 (LTS)、v18.9.1 (Current)がリリースされた。
--inspectにおけるDNS rebinding、HTTP Request Smuggling、WebCryptoのWeak randomnessの問題の修正など


Announcing TypeScript 4.9 Beta - TypeScript

devblogs.microsoft.com/typescript/announcing-typescript-4-9-beta/

TypeScript ReleaseNote

TypeScript 4.9 betaリリース。
型キャストはせずに型の一致をチェックできるsatisfies演算子の追加、in演算子での型の絞り込みの改善、== NaNをコンパイルエラーに変更など。
--watchでのファイル監視のデフォルトをuseFsEventsに変更、exportsフィールドのtypeVersionsの優先度を修正など


Introducing workerd: the Open Source Workers runtime

blog.cloudflare.com/workerd-open-source-workers-runtime/

cloudflare ReleaseNote C++

Cloudflare WorkersのJavaScript/WebAssembly runtimeであるworkerdが公開された。
MiniflareでJSを使って実装していた部分もworkerdを使うものが公開されている。
workerd自体はSandboxではないが、SSRF防止するためのBindingとFetchの仕組みなども持っている。


Release Add support for engines.node and Volta · actions/setup-node

github.com/actions/setup-node/releases/tag/v3.5.0

Actions node.js ReleaseNote Github

GitHub Actionsのsetup-node 3.5.0リリース。
package.jsonengines.nodeとVoltaで指定したNode.jsのバージョンをサポート


Release Notes for Safari Technology Preview 154 | WebKit

webkit.org/blog/13207/release-notes-for-safari-technology-preview-154/

safari serverless

Safari Technology Preview 154リリース。
CSS :dirの有効化、InputEvent.isComposingのサポート、Scroll To Text Fragmentの有効化など


Release v0.5.0 · facebook/lexical

github.com/facebook/lexical/releases/tag/v0.5.0

JavaScript React ReleaseNote

lexical v0.5.0リリース。
NotionライクなDraggable Blocksのサポート、LexicalTablePluginの安定化、Shadow Rootの対応など。
一部のAPIには破壊的な変更も含まれている


アーティクル


Next.js Layouts RFC in 5 minutes – Vercel

vercel.com/blog/next-js-layouts-rfc-in-5-minutes

Next.js article

Next.jsのLayouts RFCについての解説記事


The Anatomy of an Isolate Cloud

deno.com/blog/anatomy-isolate-cloud

deno V8 article

Deno DeployのIsolationのアプローチについて。
V8のプロセスが独立していて、Runnerがリクエストに対して起動中のプロセス or プロセスを起動して実行する。
基本的にはV8 Sandboxに依存していて、fsやnetの制限を設けている


Introducing Ezno

kaleidawave.github.io/posts/introducing-ezno/

Rust TypeScript article opinion

Rustで実装しているTypeScript互換の型チェッカーとコンパイラであるEnzoについて。


スライド、動画関係


Zod Tutorial | Total TypeScript

www.totaltypescript.com/tutorials/zod

TypeScript tutorial video

TypeScriptを使ったスキーマバリデーションライブラリのzodのチュートリアル動画。
それぞれ練習問題を見ながら進めていくないようになっている


SPAセキュリティ超入門 | ドクセル

www.docswell.com/s/ockeghem/K2PPNK-phpconf2022

JavaScript browser XSS SQL security slide

SPAにおいてよく起きるセキュリティの問題についてのスライド。
クライアントサイドでのみバリデーションしている場合の認可制御不備、任意のHTMLを描画してしまうことによるXSS、CSRFについてなど


ソフトウェア、ツール、ライブラリ関係


gioboa/vite-module-federation: Module Federation with Vite now is possible

github.com/gioboa/vite-module-federation

vite plugin

Module FederationをするVite Plugin


Japa - A simple yet powerful testing framework for Node.js

japa.dev/docs

JavaScript node.js testing library

Node.js向けのテストフレームワーク。
nodeコマンドでテストが実行できる。
基本的なテスト機能に加え、パラメタライズドテスト、テストへのタグ付けとフィルタリングなどをもつ。
またプラグインの仕組みをサポートしており、失敗したテストのみを再実行やTypeScriptの型チェックのテストなどをプラグインでサポートしている。


書籍関係


The 2022 Web Almanac

almanac.httparchive.org/en/2022/

web book browser JavaScript CSS HTML

Web Almanacの2022年版が公開された。
HTTP Archiveのデータを元にしたウェブのステータスをまとめたレポート。
HTML/CSS/JSなどやアクセシビリティ/セキュリティ/サードパーティなど幅広いデータを扱ってる


Shell scripting with Node.js

exploringjs.com/nodejs-shell-scripting/

node.js book ShellScript

Node.jsでshell scriptingを扱う書籍


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