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 v17.0.0 (Current) | Node.js
- Node.js 17 is here!. This blog was written by Bethany… | by Node.js | Node.js Collection | Oct, 2021 | Medium
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の仕様に追加され、FirefoxやDenoで実装され、Chrome、Safari、core-jsで実装が進められています。
このstructuredClone()
はJSON.parse
/JSON.strinfigy
がサポートしていないオブジェクト(MapやRegExpなど)もサポートしていため、DOM以外の部分でも有用です。
structuredClone()
で複製ができない場合はDOMException
を例外として投げる仕様であるため、DOMException
も合わせて実装されています。
Node 17にはNode 16の変更点も含まれるので、その他の変更は次の記事を参照してください。
- 2021-04-27のJS: Node.js 16.0.0、Chrome 91 beta、Prisma(Ready for production) - JSer.info
- Node.js v17 の主な変更点 - 別にしんどくないブログ
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Announcing Parcel v2!
Parcel v2リリース。
プラグインの仕組みを刷新、Tree Shakingをデフォルト化、SWCベースのJavaScriptコンパイラに変更、ModernとLegacyビルドの出し分け、Image optimizerの追加。
bundleのインライン化、ライブラリ向けのビルドのサポート、開発時はリクエストされたタイミングで遅延ビルドできるようになるなど。
その他にもSource MapライブラリをRustで書き直してパフォーマンス改善やファイル監視の仕組みの改善などが含まれている
Deno 1.15 Release Notes | Deno Blog
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/
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 audit
がGitHub Advisory Databaseをみるようになった
Release v7.0.0 · pinojs/pino
github.com/pinojs/pino/releases/tag/v7.0.0
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 v17.0.0リリース。
readline
モジュールのPromise対応、OpenSSL 3.0へのアップデート、V8 9.5へアップデート、npm 8.0.0へのアップデート、スタックトレースにNodeバージョンを表示など。
またウェブ標準のstrcturedClone()
とDOMException
をサポート
- Node.js 17 is here!. This blog was written by Bethany… | by Node.js | Node.js Collection | Oct, 2021 | Medium
- Release v8.0.0 · npm/cli
アーティクル
A Visual Guide to React Rendering - Cheat Sheet | Alex Sidorenko
alexsidorenko.com/blog/react-render-cheat-sheet/
Reactのレンダリングのビジュアライズ
スライド、動画関係
RF21 – Naman Goel – Rethinking CSS - Introducing Stylex - YouTube
www.youtube.com/watch?v=ur-sGzUWId4
FacebookのAtomic CSSの実装であるStylexについての動画。
StylexはReact-Nativeライクなスタイルの書き方をするツールキット、Atomic CSSによって線形的に増えるCSSの量を非線形にできる。
2021年末にベータ版をリリースする予定。
React Finland 2021 - Talks - YouTube
www.youtube.com/playlist?list=PL-a9lBflNu2opNHeISTnlHgGVlI7oGLXi
React Finland 2021の動画一覧
サイト、サービス、ドキュメント
PrivacyTests.org: open-source tests of web 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
Reactのコンポーネントツリーをエディタのサイドパネルに表示するVSCode拡張。
Rootとなるコンポーネントを含むファイルを選ぶと、そのコンポーネントが含むコンポーネントをツリーとして表示してくれる
- Sapling - Visual Studio Marketplace
- Introducing Sapling: a VS Code Extension for Traversing React Component Hierarchy | by Team Sapling | Oct, 2021 | JavaScript in Plain English
書籍関係
Practical Svelte - Create Performant Applications with the Svelte Component Framework | Alex Libby | Apress
www.apress.com/gp/book/9781484273739
Svelteを使ったウェブアプリケーション開発の入門書
Sairyss/domain-driven-hexagon: Guide on Domain-Driven Design, Hexagonal architecture, best practices etc.
github.com/Sairyss/domain-driven-hexagon
ドメイン駆動設計(DDD)についてのガイド。
主にDDDに関係する用語、設計、TypeScriptでのサンプルを用いた技術的な戦術についての解説をまとめたもの。