Fork me on GitHub

2022-03-24のJS: Deno 1.20、Faker v6.0.0、Next.jsのアップデート

Edit on GitHub 編集履歴を見る

JSer.info #584 - Deno 1.20がリリースされました。

V8とRust間のOpコードの最適化をしてパフォーマンスの改善されています。
リクエストのAccept-Encodingヘッダを見て自動的にHTTP Response Bodyを圧縮するように変更されています。
また、deno benchコマンド、deno taskコマンド、deno.jsonimportMapオプションをサポートしています。

Deno 1.19でDeno testでのリソースリークを検知する仕組みが実装されていましたが、パフォーマンスが悪化する場面がありました。
そのため、Deno 1.20では、deno test--trace-opsフラグをつけた時のみデバッグ用の詳細な情報を表示するように変更されています。

破壊的な変更として、WorkerとTestに対してパーミッションのデフォルト値が"inherit"だったのを"none"へと変更されています。これまでは暗黙的にパーミッションが継承されていましたが、Deno 1.20からは"inherit"を明示しないと継承されないようになります。

ただし、v1.20.1ではこの変更にバグがあったため、上手く動いていません。
そのため、実際にこの破壊的な変更が入るのは1.20.2以降になりそうです。


Fakerがコミュニティでのメンテナンスになってから初めてのメジャーリリースとなるFaker 6.0.0がリリースされました。

パッケージは@faker-js/fakerとして公開されています。
変更点としてはESMのサポート、TypeScriptの型定義の同梱などが行われています。

以前のfakerパッケージからのマイグレーション方法については、次のページで公開されています。

Fakerがコミュニティでのメンテナンスに切り替わった経緯などについては、次のページで公開されています。


Upgrading Next.js for instant performance improvements – Vercelという記事では、Next.jsのアップデートと新しい機能を使って、Next.jsのデモページのパフォーマンスを改善した話が書かれています。
ただのNext.jsのバージョンアップだけではなく、コードも色々と変更されています。

実際の変更は、次のPull Requestで見れます。


ヘッドライン


Prettier 2.6: new singleAttributePerLine option and new JavaScript features! · Prettier

prettier.io/blog/2022/03/16/2.6.0.html

JavaScript Tools ReleaseNote

Prettier 2.6.リリース。
TypeScript 4.6のサポート、parserオプションにacornを追加、--no-plugin-searchフラグの追加、.swcrcファイルを考慮するように修正など


Deno 1.20 Release Notes

deno.com/blog/v1.20

deno ReleaseNote

Deno 1.20リリース。
パフォーマンスの改善、Accept-Encodingを見て自動的にHTTP Response Bodyを圧縮するように。
deno benchコマンド、deno taskコマンド、deno.jsonimportMapオプションをサポート。
deno test--trace-opsフラグをつけた時のみデバッグ用の詳細な情報を表示するように変更。
破壊的な変更として、WorkerとTestに対してパーミッションのデフォルト値が"inherit"だったのを"none"に変更など


Release v6.0.0 · faker-js/faker

github.com/faker-js/faker/releases/tag/v6.0.0

JavaScript library testing ReleaseNote

Faker 6.0.0リリース。
Fakerがコミュニティでのメンテナンスになってから最初のメジャリリース。
パッケージは@faker-js/fakerとして公開されている。ESMのサポート、TypeScriptの型定義の同梱など


Node v17.8.0 (Current) | Node.js

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

node.js ReleaseNote

Node.js 17.8.0リリース。
PerformanceObserverhttpトレースができるようになるなど


Parcel v2.4.0

parceljs.org/blog/v2-4-0/

JavaScript Tools ReleaseNote

Parcel v2.4.0リリース。
@parcel/cssがデフォルト化された。
それに伴い、cssnano/autoprefixer/PostCSSの設定などが無視されるなどの変更が含まれる。


アーティクル


An update on the New Architecture Rollout · React Native

reactnative.dev/blog/2022/03/15/an-update-on-the-new-architecture-rollout

React Native article

React Native 0.68.0では新しいArchitecture Templateが導入される。
opt-inで導入でき、JavaScriptエンジンとしてHermesが有効化される。


Upgrading Next.js for instant performance improvements – Vercel

vercel.com/blog/upgrading-nextjs-for-instant-performance-improvements

Next.js article

Next.jsのデモアプリのNext.jsをアップデートしながら変更点を紹介しながらパフォーマンスがどのぐらい変わるかを紹介している記事。
getStaticPropsを使った初期データの取得の改善、next/imageでの画像最適化、Dynamic Routes/API Routesの利用、NextAuthの利用など。
またnext/dynamicを使った動的インポート、Fontのインライン化や開発パフォーマンスの向上などについて


PgTyped - Node.jsで型安全にSQLを管理するには | HiCustomer Lab - HiCustomer Developer's Blog

tech.hicustomer.jp/posts/type-safe-sql-library-for-nodejs/

PostgreSQL TypeScript article

SQLからTypeScriptの型とコードを生成するPgTypedについて。


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


A11yAutomation

a11y-automation.dev/

accessibility document Tools

アクセシビリティの問題について項目ごとに解説とLint/自動テスト/手動テストでのチェック方法、関連するWCAGなどドキュメントがまとめられているサイト


Shader Park

shaderpark.com/

WebGL webservice JavaScript

High Level APIで2D/3Dのシェーダーをインタラクティブに書けるプラットフォーム。


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


wilsonzlin/minify-html: Extremely fast and smart HTML + JS + CSS minifier, available for Rust, Node.js, Python, Java, and Ruby

github.com/wilsonzlin/minify-html

HTML Bluetooth library Rust

RustベースのHTML minifier。
Rust/Node/Java/Python/Ruby向けのパッケージも公開されている


twitterdev/twitter-api-typescript-sdk: A TypeScript SDK for the Twitter API

github.com/twitterdev/twitter-api-typescript-sdk

twitter node.js library JavaScript TypeScript

Twitterの公式JavaScript SDK


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