Fork me on GitHub

2021-10-20のJS: Parcel v2、Node v17.0.0、Nuxt 3 beta

Edit on GitHub 編集履歴を見る

JSer.info #562 - ビルドツールのParcel v2がリリースされました。

Parcelは設定なしで動作することを目的にしているため、v1ではプラグインの仕組みは薄い形になっていました。
Parcel v2ではプラグインの仕組みを刷新し、様々なケースに対応できるようになっています。

また、Tree Shakingをデフォルト化、SWCベースのJavaScriptコンパイラに変更、ModernとLegacyビルドの出し分け、Image optimizerの追加されています。
その他にも、bundleのインライン化、ライブラリ向けのビルドのサポート、C++やRustでコアモジュールの一部を書き直し、ビルドパフォーマンスの改善なども含まれています。

Parcel v1からマイグレーションについてのドキュメントも公開されています。


Node.js 17.0.0がリリースされました。

Nodeの奇数バージョンはLTSとはなりませんが、Currentバージョンが17.xとなります。
現在のNodeのLTSは12と14ですが、2021-10-26にNode 16がLTSに追加されます。

Node.js 17では、readlineモジュールのPromise対応、OpenSSL 3.0へのアップデート、V8 9.5へアップデート、npm 8.0.0へのアップデート、スタックトレースにNodeバージョンを表示などの変更が含まれています。
またウェブ標準のstrcturedClone()DOMExceptionをサポートが追加されています。

structuredClone()postMessageなどで内部的に使われていた(DOMを含む)オブジェクトの複製のメカニズムを関数として公開したメソッドです。
最近、WHATWG HTMLの仕様に追加され、FirefoxDenoで実装され、ChromeSafaricore-jsで実装が進められています。

このstructuredClone()JSON.parse/JSON.strinfigyがサポートしていないオブジェクト(MapやRegExpなど)もサポートしていため、DOM以外の部分でも有用です。

structuredClone()で複製ができない場合はDOMExceptionを例外として投げる仕様であるため、DOMExceptionも合わせて実装されています。

Node 17にはNode 16の変更点も含まれるので、その他の変更は次の記事を参照してください。


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

JSer.info Sponsors

JSer.info SponsorsGitHub SponsorsとしてJSer.infoを支援してくれている方々です。


ヘッドライン


Announcing Parcel v2!

parceljs.org/blog/v2/

JavaScript bundler ReleaseNote

Parcel v2リリース。
プラグインの仕組みを刷新、Tree Shakingをデフォルト化、SWCベースのJavaScriptコンパイラに変更、ModernとLegacyビルドの出し分け、Image optimizerの追加。
bundleのインライン化、ライブラリ向けのビルドのサポート、開発時はリクエストされたタイミングで遅延ビルドできるようになるなど。
その他にもSource MapライブラリをRustで書き直してパフォーマンス改善やファイル監視の仕組みの改善などが含まれている


Deno 1.15 Release Notes | Deno Blog

deno.com/blog/v1.15

deno ReleaseNote

Deno 1.15リリース。
Web Crypto APIの更新、FFIの改善、deno uninstallコマンドの追加、deno lint --watchの追加。
Deno.testがネストしたテストケースをサポート、V8 9.5へアップデート、Node.js互換のモジュールを利用できる--compatフラグの追加など


Nuxt - Introducing Nuxt 3 Beta

nuxtjs.org/announcements/nuxt3-beta/

Vue Next.js ReleaseNote

Nuxt 3 betaリリース。
Vue 3とViteへの対応。
新しいサーバエンジンのNitro Engineを導入することで、通常のNode.jsサーバ、Serverless、Service Workerなど様々な形でデプロイできるようになっている。


GitHub Advisory Database now powers npm audit | The GitHub Blog

github.blog/2021-10-07-github-advisory-database-now-powers-npm-audit/

npm security Github news

npm auditがGitHub Advisory Databaseをみるようになった


Release v7.0.0 · pinojs/pino

github.com/pinojs/pino/releases/tag/v7.0.0

node.js library ReleaseNote

pino 7.0.0リリース。
ログの処理を別Threadなどに渡せるpino.transport()の追加、pino.multistream()の追加、TypeScriptの型を同梱するようになるなど


Node v17.0.0 (Current) | Node.js

nodejs.org/en/blog/release/v17.0.0/

node.js ReleaseNote

Node v17.0.0リリース。
readlineモジュールのPromise対応、OpenSSL 3.0へのアップデート、V8 9.5へアップデート、npm 8.0.0へのアップデート、スタックトレースにNodeバージョンを表示など。
またウェブ標準のstrcturedClone()DOMExceptionをサポート


アーティクル


A Visual Guide to React Rendering - Cheat Sheet | Alex Sidorenko

alexsidorenko.com/blog/react-render-cheat-sheet/

React cheatsheet article

Reactのレンダリングのビジュアライズ


スライド、動画関係


RF21 – Naman Goel – Rethinking CSS - Introducing Stylex - YouTube

www.youtube.com/watch?v=ur-sGzUWId4

facebook React CSS video

FacebookのAtomic CSSの実装であるStylexについての動画。
StylexはReact-Nativeライクなスタイルの書き方をするツールキット、Atomic CSSによって線形的に増えるCSSの量を非線形にできる。
2021年末にベータ版をリリースする予定。


React Finland 2021 - Talks - YouTube

www.youtube.com/playlist?list=PL-a9lBflNu2opNHeISTnlHgGVlI7oGLXi

React video

React Finland 2021の動画一覧


サイト、サービス、ドキュメント


PrivacyTests.org: open-source tests of web browser privacy

privacytests.org/

browser privacy

ブラウザごとのFinger PrintingやTracking対策などのPrivacy機能をまとめたサイト。


oslabs-beta/sapling: Sapling - A convenient way to traverse your React app in VS Code

github.com/oslabs-beta/sapling

VSCode React Extension

Reactのコンポーネントツリーをエディタのサイドパネルに表示するVSCode拡張。
Rootとなるコンポーネントを含むファイルを選ぶと、そのコンポーネントが含むコンポーネントをツリーとして表示してくれる


書籍関係


Practical Svelte - Create Performant Applications with the Svelte Component Framework | Alex Libby | Apress

www.apress.com/gp/book/9781484273739

Svelte book

Svelteを使ったウェブアプリケーション開発の入門書


Sairyss/domain-driven-hexagon: Guide on Domain-Driven Design, Hexagonal architecture, best practices etc.

github.com/Sairyss/domain-driven-hexagon

DDD document TypeScript

ドメイン駆動設計(DDD)についてのガイド。
主にDDDに関係する用語、設計、TypeScriptでのサンプルを用いた技術的な戦術についての解説をまとめたもの。


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