Fork me on GitHub

2022-07-20のJS: Node.js 18.6.0、React NativeのHermesデフォルト化、AWSのデザインシステム

Edit on GitHub 編集履歴を見る

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

Node.js 18.6.0ではexperimentalで実装されている--loaderの挙動の変更が含まれています。
複数の--loaderを指定した場合の順番を変更。またloaderの実装はshortCircuitを返すのが必須となっています。
そのため、すでに公開されているloaderが動かなくなっている場合があります。

詳しくは、次のIssueと記事で解説されています。


React NativeのJavaScriptエンジンはJSC(JavaScrip Core)がデフォルトでしたが、
次にリリースされる 0.70 でデフォルトがHermesへと変更される予定です。

この記事ではJavaScriptCoreとHermesの比較、ABI非互換性の問題、HermesへのECMAScript i18n APIサポートについて書かれています。


AWSのデザインシステムである Cloudscape Design Systemが公開されています。

デザインシステムの原則を書いたドキュメント、Reactコンポーネント、利用する時のパターンから構成されています。
原則についてのドキュメントもよく書かれているので、読んでみると面白いかもしれません。


ヘッドライン


Node v18.6.0 (Current) | Node.js

nodejs.org/en/blog/release/v18.6.0/

node.js ReleaseNote

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

JavaScript library ReleaseNote

luxon 3.0.0リリース。


NestJS v9 is now available - Trilon Consulting

trilon.io/blog/nestjs-9-is-now-available

node.js library ReleaseNote

NestJS v9リリース。
REPLの追加、ConfigurableModuleBuilderの追加、Durable providersの追加など


Release v5.8.0 · nodejs/undici

github.com/nodejs/undici/releases/tag/v5.8.0

node.js library ReleaseNote

undici 5.8.0リリース。
CRL injectionとCookie扱いに関するセキュリティ修正


Version 3.0 released : Node-RED

nodered.org/blog/2022/07/14/version-3-0-released

node.js library ReleaseNote

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 ReleaseNote

ESLint 8.20.0リリース。
preprocessorsにおけるパースエラーなどをLintエラーとして報告するようになるなど


yaakov123/hagana: NodeJS runtime protection for supply chain attacks

github.com/yaakov123/hagana

node.js security library

Node.jsのfschild_processモジュールなどを上書きして、アクセスできるネットワークや実行できるコマンドなどを制限するライブラリ。
デフォルトではnode_modules以下に含まれるサードパーティのライブラリに対して制限を追加する


アーティクル


Applying SOLID principles in React | Konstantin Lebedev blog

konstantinlebedev.com/solid-in-react/

React article

ReactとSOLID原則について


Hermes as the Default · React Native

reactnative.dev/blog/2022/07/08/hermes-as-the-default

React Native article

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

ECMAScript vite node.js article

Viteが利用してるCJSとESMをdual packagesに対応する手法について。
CJSからESMを扱うために、非同期な関数のexportはDynamic Importsを含むラッパーを公開し、同期的な関数のexportはesbuildなどでbundle済みのものを公開する


スライド、動画関係


rety: Live coding without the stress

rety.verou.me/

JavaScript library presentation

textareaなどに対するコーディングの動きを記録し、リプレイできるライブラリ。
プレゼンテーションなどでライブコーディング的なデモを行う用途で作られている。


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


Cloudscape – Cloudscape Design System

cloudscape.design/

aws Design accessibility document

AWSで使われているデザインシステム。
デザインシステムの原則を書いたドキュメント、Reactコンポーネント、利用する時のパターンから構成されている。


Defensive CSS

defensivecss.dev/

CSS document

CSSで幅を超えたときにデザインが崩れる問題への対応をまとめたサイト。
Flexbox、画像サイズ、折り返し文字列。アイコンと文字の被り、背景画像の繰り返し、Viewportのサイズなどの問題について


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


tuplo/numberfmt: Number formatting using a text pattern and native Intl.NumberFormat()

github.com/tuplo/numberfmt

JavaScript library

Intl.NumberFormatベースの数値の整形ライブラリ


danielroe/magic-regexp: A compiled-away, type-safe, readable RegExp alternative

github.com/danielroe/magic-regexp

RegExp JavaScript library

正規表現を組み立てるビルダー関数を提供するライブラリ。
また、ビルダー関数を正規表現リテラルへと変換するNuxt/Vite/Next.js向けのプラグインなども公開している。


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