JSer.info #601 - Node.js 18.6.0がリリースされました。
Node.js 18.6.0ではexperimentalで実装されている--loader
の挙動の変更が含まれています。
複数の--loader
を指定した場合の順番を変更。またloaderの実装はshortCircuit
を返すのが必須となっています。
そのため、すでに公開されているloaderが動かなくなっている場合があります。
詳しくは、次のIssueと記事で解説されています。
- esm: add chaining to loaders by JakobJingleheimer · Pull Request #42623 · nodejs/node
- Custom ESM loaders: Who, what, when, where, why, how - DEV Community 👩💻👨💻
React NativeのJavaScriptエンジンはJSC(JavaScrip Core)がデフォルトでしたが、
次にリリースされる 0.70 でデフォルトがHermesへと変更される予定です。
この記事ではJavaScriptCoreとHermesの比較、ABI非互換性の問題、HermesへのECMAScript i18n APIサポートについて書かれています。
AWSのデザインシステムである Cloudscape Design Systemが公開されています。
デザインシステムの原則を書いたドキュメント、Reactコンポーネント、利用する時のパターンから構成されています。
原則についてのドキュメントもよく書かれているので、読んでみると面白いかもしれません。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Node v18.6.0 (Current) | Node.js
nodejs.org/en/blog/release/v18.6.0/
Node.js 18.6.0リリース。
ESM Loader Hooksが更新され、複数の--loader
を指定した場合の順番の変更。またloaderの実装はshortCircuit
を返すのが必須となった。
luxon/CHANGELOG.md at master · moment/luxon
github.com/moment/luxon/blob/master/CHANGELOG.md#300-2022-07-09
luxon 3.0.0リリース。
NestJS v9 is now available - Trilon Consulting
trilon.io/blog/nestjs-9-is-now-available
NestJS v9リリース。
REPLの追加、ConfigurableModuleBuilder
の追加、Durable providersの追加など
Release v5.8.0 · nodejs/undici
github.com/nodejs/undici/releases/tag/v5.8.0
undici 5.8.0リリース。
CRL injectionとCookie扱いに関するセキュリティ修正
Version 3.0 released : Node-RED
nodered.org/blog/2022/07/14/version-3-0-released
Node-RED 3.0 リリース。
エディタのアップデート、aceに代わってmonaco editorがデフォルト化、runtimeState
オプションの追加、diagnostics
オプションの追加など
ESLint v8.20.0 released - ESLint - Pluggable JavaScript Linter
eslint.org/blog/2022/07/eslint-v8.20.0-released/
ESLint 8.20.0リリース。
preprocessorsにおけるパースエラーなどをLintエラーとして報告するようになるなど
yaakov123/hagana: NodeJS runtime protection for supply chain attacks
Node.jsのfs
やchild_process
モジュールなどを上書きして、アクセスできるネットワークや実行できるコマンドなどを制限するライブラリ。
デフォルトではnode_modules
以下に含まれるサードパーティのライブラリに対して制限を追加する
アーティクル
Applying SOLID principles in React | Konstantin Lebedev blog
konstantinlebedev.com/solid-in-react/
ReactとSOLID原則について
Hermes as the Default · React Native
reactnative.dev/blog/2022/07/08/hermes-as-the-default
React Native 0.70でHermesがデフォルトとなることについて。
JavaScriptCoreとHermesの比較、ABI非互換性の問題、HermesへのECMAScript i18n APIサポートについてなど
Vite 3 が採用した CJS Proxy による Dual Package 構成
zenn.dev/teppeis/articles/2022-07-npm-dual-pacakge-cjs-proxy
Viteが利用してるCJSとESMをdual packagesに対応する手法について。
CJSからESMを扱うために、非同期な関数のexportはDynamic Importsを含むラッパーを公開し、同期的な関数のexportはesbuildなどでbundle済みのものを公開する
スライド、動画関係
rety: Live coding without the stress
textareaなどに対するコーディングの動きを記録し、リプレイできるライブラリ。
プレゼンテーションなどでライブコーディング的なデモを行う用途で作られている。
サイト、サービス、ドキュメント
Cloudscape – Cloudscape Design System
AWSで使われているデザインシステム。
デザインシステムの原則を書いたドキュメント、Reactコンポーネント、利用する時のパターンから構成されている。
Defensive CSS
CSSで幅を超えたときにデザインが崩れる問題への対応をまとめたサイト。
Flexbox、画像サイズ、折り返し文字列。アイコンと文字の被り、背景画像の繰り返し、Viewportのサイズなどの問題について
ソフトウェア、ツール、ライブラリ関係
tuplo/numberfmt: Number formatting using a text pattern and native Intl.NumberFormat()
Intl.NumberFormat
ベースの数値の整形ライブラリ
danielroe/magic-regexp: A compiled-away, type-safe, readable RegExp alternative
github.com/danielroe/magic-regexp
正規表現を組み立てるビルダー関数を提供するライブラリ。
また、ビルダー関数を正規表現リテラルへと変換するNuxt/Vite/Next.js向けのプラグインなども公開している。