JSer.info #501 - Storybook 6.0.0がリリースされました。
- Storybook 6.0. Production-grade component development | by Michael Shilman | Storybook | Aug, 2020 | Medium
- Release v6.0.0 · storybookjs/storybook
- storybook/CHANGELOG.md at next · storybookjs/storybook
TypeScriptのビルトインサポート、ストーリー関数の最初の引数にArgsオブジェクトを渡すように、addon-knobsの代わりとなるaddon-controlsの導入。
複数のStoryboardを1つのStorybookにまとめることができるようになるなど。
それぞれの機能追加に関する記事も公開されています。
- Zero-config Storybook. Simple setup, instant productivity | by Michael Shilman | Storybook | Aug, 2020 | Medium
- Introducing Storybook Args. Next-gen, dynamic component examples | by Michael Shilman | Storybook | Jul, 2020 | Medium
- Storybook Composition. Combine multiple Storybooks into one | by Dominic Nguyen | Storybook | Jun, 2020 | Medium
- Storybook Controls. Live edit UI components w/ no code | by Michael Shilman | Storybook | Jul, 2020 | Medium
また5.3から6.0へのマイグレーションガイドとマイグレーションコマンド(npx sb upgrade
)も公開されています。
- Storybook 6 Migration Guide. Level up your component development… | by Michael Shilman | Storybook | Aug, 2020 | Medium
- storybook/MIGRATION.md at next · storybookjs/storybook
npm 7がベータリリースされました。
peerDependencies
がデフォルトでインストールされるようになり、npm 6の挙動を再現する--legacy-peer-deps
が追加されています。
npmは2まではpeerDependencies
を自動インストールしていましたが、3でpeerDependencies
をデフォルトでインストールしないように変更しています。
peerDependencies
に関するyarnやpnpmのスタンスについては、次のRFC Issueにかかれています。
機能追加としてはacceptDependencies
のサポート、package-lock.json
の形式変更とyarn.lock
のサポート、workspaces
フィールドのサポートなども含まれています。
また、npm run-scriptにおけるnpm_package_*
とnpm_package_*
の環境変数の削除/変更が行われています。
その他には、npx
の代わりとなるnpm exec
コマンドが追加され、npx
はnpm exec
のaliasとなる予定とのことです。
Node.jsウェブフレームワークのhapi 20.0.0がリリースされました。
このMajor updateには機能的な破壊的な変更はありませんが、メンテナーがEran HammerからTechnical Steering Committeeへと引き継がれる変更が含まれています。
経緯については次のIssueで解説されていますが、商用サポートの採算的な問題とモチベーションの問題からhapiの作者であるEran Hammerによるメンテナンスを今年で終了することが伝えられていました。
この問題を受けてメンテナンスを引き継ぐためのhapi Technical Steering Committee(TSC)が設立され、20.0.0からはTSCがhapiのメンテナーとなります。
- The future of the hapi project, a prelude · Issue #4111 · hapijs/hapi
- The future of the hapi project · Issue #4113 · hapijs/hapi
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Release v6.0.0 · storybookjs/storybook
github.com/storybookjs/storybook/releases/tag/v6.0.0
Storybook 6.0.0リリース。
TypeScriptのビルトインサポート、ストーリー関数の最初の引数にArgsオブジェクトを渡すように、addon-knobsの代わりとなるaddon-controlsの導入。
複数のStoryboardを1つのStorybookにまとめることができるようになるなど。
また5.3から6.0へのマイグレーションガイドも公開されている
- storybook/CHANGELOG.md at next · storybookjs/storybook
- storybook/MIGRATION.md at next · storybookjs/storybook
The npm Blog — npm v7 Series - Beta Release! And: SemVer-Major...
blog.npmjs.org/post/626173315965468672/npm-v7-series-beta-release-and-semver-major
npm 7 betaリリース。
peerDependencies
がデフォルトでインストールされるようになり、過去の挙動を再現する--legacy-peer-deps
が追加された。
acceptDependencies
のサポート、package-lock.json
の形式変更とyarn.lock
のサポート、workspaces
フィールドのサポートなど。
また、npm run-scriptにおけるnpm_package_*
とnpm_package_*
の環境変数の削除などが行われている
Node v14.8.0 (Current) | Node.js
nodejs.org/en/blog/release/v14.8.0/
Node.js 14.8.0リリース。
Top-Level Awaitのデフォルトサポート、async_hooks
モジュールにAsyncResource.bind
の追加など
Release Version 8.0.0 · acornjs/acorn
github.com/acornjs/acorn/releases/tag/8.0.0
JavaScriptパーサであるAcorn 8.0.0リリース。
ECMAScript moduleとしてロードできるように、ecmaVersion
オプションが必須となった
Update for Customers Using PhoneGap and PhoneGap Build | by Adobe I/O | Aug, 2020 | PhoneGap
blog.phonegap.com/update-for-customers-using-phonegap-and-phonegap-build-cc701c77502c
ウェブ技術を使ってネイティブアプリを作れるPhoneGapのビルドサービスが2020年10月で終了する。
代替としてApache Cordova、Ionicなどがあることについて。
20.0.0 Release Notes · Issue #4138 · hapijs/hapi
github.com/hapijs/hapi/issues/4138
hapi 20.0.0リリース。
コアメンテナーが交代しTechnical Steering Committee (TSC) ベースのプロジェクトに変更がメインのアップデート。
@hapi/joi
から@hapi/validate
に変更、Node.js 14のサポートなど
emscripten/ChangeLog.md at master · emscripten-core/emscripten
github.com/emscripten-core/emscripten/blob/master/ChangeLog.md#200-08102020
C/C++などをWebAssemblyにコンパイルするEmscripten 2.0リリース。
fastcomp backendの削除、Python 2のサポートを削除。
また例外情報のメタデータをJSではなくWebAssembly.Memory
に保存することで例外処理がスレッドセーフになるような変更など
Release 2.11.0 · qunitjs/qunit
github.com/qunitjs/qunit/releases/tag/2.11.0
QUnit 2.11.0リリース。
Node.js 10未満のサポートを削除、assert.true
とassert.false
の追加、HTMLレポートの検索改善など
Ajv Joins OpenJS Foundation as an Incubation Project - OpenJS Foundation
openjsf.org/blog/2020/08/14/ajv-joins-openjs-foundation-as-an-incubation-project/
JSON SchemaバリデーターであるAjvがOpenJS Foundationに入った。
アーティクル
Node.jsでプロトタイプ汚染後に任意コード実行まで繋げた事例 - knqyf263's blog
knqyf263.hatenablog.com/entry/2020/08/11/050342
Node.jsにおけるプロトタイプ汚染の実例を紹介している記事
The Golden Rule of Generics
effectivetypescript.com/2020/08/12/generics-golden-rule/
TypeScriptのGenericsを使うべきかを判断するとき目安として「型パラメーターは2回表示されるとき」というルールについて。
いろいろなコード例ともにGenericsの利用例を紹介している
Optimizing CSS for faster page loads - Tomas Pustelnik's personal website
pustelto.com/blog/optimizing-css-for-faster-page-loads/
CSSのCritical Pathの最適化について。
CSSのロードタイムに与える影響、Critical CSSの分離と遅延ロード、CSSのCode Splittingについて
Node.js and the struggles of being an EventTarget
www.nearform.com/blog/node-js-and-the-struggles-of-being-an-eventtarget/
Node.jsにEventTarget
がなぜ実装されたのかについて。
Node.jsにFethやAbortControllerなどのウェブ標準のAPIを実装するためにブラウザと互換性のあるEventTarget
APIが必要である点について。
EventTarget
を実装するにあたっての互換性、複数継承、パフォーマンスの問題をどう解決したかについて
サイト、サービス、ドキュメント
twilco/kosmonaut: A web browser engine for the space age
ServoをインスパイアしたRust製のブラウザエンジン。
Shopify/web-foundation: Principles, decision logs, best practices, and common configuration for building web apps at Shopify
github.com/Shopify/web-foundation
Shopifyのウェブ開発における設定やその解説ドキュメントをまとめたリポジトリ
ソフトウェア、ツール、ライブラリ関係
ealush/vest: Vest ✅ Declarative validations framework
テストフレームワークライクなバリデーションライブラリ。
テストコードのようにバリデーションのコードを書けるライブラリ。
Run JavaScript Everywhere.
Node.jsについての入門ドキュメントサイト
Native mobile apps in JavaScript. Fast and secure framework. - Tabris
React NativeのようにJavaScriptで書いてOSネイティブのUIを描画できるモバイルアプリ作成フレームワーク。