Fork me on GitHub

2020-07-14のJS: fastify 3.0.0、The future of hapi、Malina.js、Solid.js

Edit on GitHub 編集履歴を見る

JSer.info #496 - Node.jsウェブフレームワークのfastify 3.0.0がリリースされました。

Express middlewareを使う場合は、直接ではなくfastify-expressプラグインを使うように変更されています。

v2:

// Using the Express `cors` middleware in Fastify v2.
fastify.use(require('cors')());

v3:

// Using the Express `cors` middleware in Fastify v3.
await fastify.register(require('fastify-express'));
fastify.use(require('cors')());

その他の非互換な変更として、loggerのserializersのシグネチャーの変更、preParsing hookにpayload引数の追加、TypeScriptの型定義の変更なども行われています。


Node.jsウェブフレームワークのhapiのコアメンテナーである@hueniverseが、商用サポートの採算的な問題とモチベーションの問題からhapiのメンテナンスを今年で終了することが伝えられていました。

hapiのslack#nextチャンネル(元々は#endチャンネル)での議論の結果、
hapi v19までは@hueniverseによるサポートがされますが、
hapi v20からはコミュニティ主導のメンテナンスに切り替わる予定です。

v20からのコミュニティベースでのhapiリリースについては次のIssueにまとめられています。
hapiのTechnical Steering Committee (TSC)を設立して、コミュニティでメンテナンスしていく方針について書かれています。

また、hapiの中でも独立して使われている@hapi/joiは、joiパッケージとしてhapi orgnizationの外に移動させる予定とのことです。

eran 12:39

@channel I've decided to keep joi. It will be moving out of the hapi org and going back to joi on npm.
https://app.slack.com/client/T6ATU7T16/C6CEEUE06/thread/C015JQPME23-1594335104.212300

I am going to work on it as a separate project. I don't want to keep it in the org.


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

JSer.info Sponsors

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


ヘッドライン


Grunt 1.2.0 released - Grunt: The JavaScript Task Runner

gruntjs.com/blog/2020-07-03-grunt-1.2.0-released

Grunt ReleaseNote

Grunt 1.2.0リリース。
プラグインの読み込みがrequire.resolveベースで行えるように、CoffeeScriptの依存を削除、長いコマンド名での無限ループのバグを修正など


Release v3.0.0 · fastify/fastify

github.com/fastify/fastify/releases/tag/v3.0.0

node.js server library ReleaseNote

Fastify v3リリース。
Express middlewareを使う場合はfastify-expressプラグインを使うように、loggerのserializersのシグネチャーの変更、TypeScriptの型定義の変更など


Yarn 2.1 🐱‍🏍 Git Workspaces, Focused Installs, Loose mode, Live Playground, ... - DEV Community 👩‍💻👨‍💻

dev.to/arcanis/yarn-2-1-git-workspaces-focused-installs-loose-mode-live-playground-4kfc

yarn ReleaseNote

Yarn 2.1リリース。
node_modulesを使うインストールの互換性改善、git: protocolの対応改善、package-lock.jsonなどからどのパッケージマネージャかを判定するように。


The future of the hapi project · Issue #4113 · hapijs/hapi

github.com/hapijs/hapi/issues/4113

node.js issue news

現在のコアメンテナーが今年でメンテナンス終了を予定しているhapiの今後について。
hapiのTechnical Steering Committee (TSC)を設立して、コミュニティでメンテナンスしていく方針について。
メンテナーがTSCに移ったら新しいmajorバージョンをリリースする予定


Release v1.2.0 · denoland/deno

github.com/denoland/deno/releases/tag/v1.2.0

deno ReleaseNote

Deno 1.2.0リリース。
deno bundleでlock fileのサポート、
User-timing APIベースのperformance APIの追加、deno info --jsonのサポートなど


アーティクル


Introducing the Storage Access API - Microsoft Edge Blog

blogs.windows.com/msedgedev/2020/07/08/introducing-storage-access-api/

Chrome MSEdge article

ストレージへのアクセス権限を持っているかを判定、許諾を得るStorage Access APIについて。
hasStorageAccess()でのアクセスチェック、requestStorageAccess()でのリクエストについて。
またiframeのsandbox属性や、許諾ダイアログについてなど


Dates and Times in JavaScript – Igalia Compilers Team

blogs.igalia.com/compilers/2020/06/23/dates-and-times-in-javascript/

ECMAScript JavaScript spec library article

現在Stage 2のECMAScript ProposalであるTemporalについて。
DateとTimeの扱いを改善する目的の新しいビルトインオブジェクトで、実際のユースケースに適しているかのフィードバックを募集しているという話。


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


Perf Track

perf-track.web.app/

JavaScript performance Tools library

HTTP ArchiveとChrome UX Reportのデータを元にしたフレームワークごとのサイトデータのまとめ。
Angular、Vue、ReactなどのフレームワークごとにWeb Vitalsの値、サイトのJavaScript/画像のサイズなどを一覧できる


FontCDN: Search and Proxy for Google web fonts

fontcdn.toolforge.org/

fonts webservice cdn

Wikimediaのweb fonts CDNサービス


Skypack

www.skypack.dev/

JavaScript cdn library

JavaScript Package CDNサービス。
元Pika CDN。
npmパッケージをES Moudulesとして読み込めるCDN。
パッケージバージョンの指定、minifyなどの最適化したビルドの配布、UAに合わたtranspileとpolyfillを含めたビルドの配布などができる


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


Foal TS - Node.JS and TypeScript framework for building web applications

foalts.org/

node.js TypeScript library

Node.jsフレームワーク。
Decoratorを使ったルーティング、バリデーション、DI、TypeORMを使ったDBなどをもつHTTPサーバフレームワーク


malinajs/malinajs: Frontend compiler, inspired by Svelte

github.com/malinajs/malinajs

JavaScript Tools library

SvelteライクなJavaScriptにコンパイルされるUIフレームワーク。
Svelteとは異なる変更検知の仕組みやDOM更新の仕組みを使う


ryansolid/solid: A declarative, efficient, and flexible JavaScript library for building user interfaces.

github.com/ryansolid/solid

JavaScript library Tools React jsx TypeScript

JSXで書いてDOM APIを使ったRuntimeで動かすUIフレームワークとコンパイラ。
React HooksライクなReactivityやControl Flowを扱うComponentを持っている。


書籍関係


Make smaller, faster and more secure native apps | Tauri Studio

tauri.studio/

Rust JavaScript Electron

WebViewを使ったデスクトップアプリケーションフレームワーク。
HTML、JS、CSSを使ったフロントエンドとRustを使ったバックエンドでアプリケーションを作成できる。


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