JSer.info #469 - テストフレームワークのMocha v7.0.0がリリースされました。
Mocha v7.0.0では、EOL(End-of-Life)であるNode.js 6.xのサポートを終了しています。
Node.js 8.xも2019-12-31にEOLとなり、Node.jsとしては公式にサポートを終了しています。
また、コマンドラインオプションが一部リネームされています。
-
--debug
→--inspect
-
--debug-brk
→--inspect-brk
-
--interfaces
→--list-interfaces
-
--reporters
→--list-reporters
その他には、レガシーな設定方法であるmocha.opts
ファイルが非推奨となりました。
.mocharc.js
などのConfiguration Fileを使った設定方法が今後のメインとなります。
mocha.opts
からのマイグレーションツールはv7.0.0には含まれていませんが、実装中のようです。
- Soft deprecate "mocha.opts" · Issue #3910 · mochajs/mocha
- Create migrate script to change mocha.opts to [json | js | yml | yaml] by wnghdcjfe · Pull Request #4069 · mochajs/mocha
Reactを使ったフレームワークであるNext.js 9.1.7がリリースされました。
クライアントサイドでは、native-urlを使いurl
パッケージを自動的にURL
ベースに置き換えることでビルドファイルサイズが削減されています。
同じ話ですが、fetch
、Object.assign
のpolyfillを使っている場合に、それを自動的にビルドインの実装と置き換える仕組みが含まれています。
これは、アプリケーション内で同じAPIに対する複数のpolyfillが存在する場合にファイルサイズが増加するため、それをビルトインAPIを使った実装に置き換えてファイルサイズを削減する仕組みです。
まとめると、次のAPIに対するpolyfillパッケージをビルトインの実装で置き換えています。
-
whatwg-fetch
andunfetch
→fetch()
: -
object-assign
,object.assign
, andcore-js/object/assign
→Object.assign()
-
url
(Node.js API) → URL- native-urlを利用
仕組み的には、webpackのalias
設定で、元々あったwhatwg-fetch
などのpolyfillパッケージをビルトインAPIをexportするだけのpolyfillで置換しているようです。
その他には、ReactでStrict Modeを有効化するreactStrictMode
オプションの追加なども行われています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
mocha/CHANGELOG.md at master · mochajs/mocha
github.com/mochajs/mocha/blob/master/CHANGELOG.md#%E2%80%8B700--2020-01-05
Mocha 7.0.0リリース。
Node.js v6.xのサポート終了、一部コマンドライン引数のリネーム、Mocha
コンストラクタのオプションとコマンドラインオプションをあわせるように変更など。
また、mocha.opts
ファイルが非推奨となった。
Release v0.115.0 · facebook/flow
github.com/facebook/flow/releases/tag/v0.115.0
Flow v0.115.0リリース。
Types First modeではexportされたclassやfunctionは再定義できなくなるなど。
Blog - Next.js 9.1.7 | Next.js
Next.js 9.1.7リリース。
クライアントのビルドサイズの削減、ビルド結果表示の変更、ビルドインのpolyfillとししてfetch
、URL、Object.assign
の追加、reactStrictMode
オプションの追加など
アーティクル
Understanding positioning in CSS - DEV Community 👩💻👨💻
dev.to/huijing/understanding-positioning-in-css-7mn
CSSのBox modelとpositionについての記事。
How to move your project to TypeScript - at your own pace - Twilio
www.twilio.com/blog/move-to-typescript
プロジェクトのコードをTypeScriptに移行するポイントについての記事。
VSCodeのsettings.json
でのcheckJs
、tsconfig.json
を使ったallowJs
とcheckJs
の設定、JSからTSへのリファクタリング、strict
の設定などについて
ソフトウェア、ツール、ライブラリ関係
machinelearnjs/machinelearnjs: Machine Learning library for the web and Node.
github.com/machinelearnjs/machinelearnjs
TypeScriptで書かれたMLライブラリ
hjkcai/typesafe-joi: A fork of joi that produces typed validation results in TypeScript
github.com/hjkcai/typesafe-joi
データバリデーターであるjoiのTypeScriptフォークライブラリ。
大部分は互換性のあるAPIだが、一部はType SafeにするためAPIを変更している。
antvis/G6: ♾ A Graph Visualization Framework in JavaScript
データビジュアライズライブラリ。
グラフの情報とデータを渡すことでビジュアライズしてくれるライブラリ
shellyln/tynder: TypeScript friendly Data validator for JavaScript.
TypeScriptライクなDSLでスキーマを定義し、実行時にデータの型を検証を行うバリデーションライブラリ。
mroderick/plete: Vanilla autocomplete component
依存のないautocomplete UIライブラリ。
Modern browserを対象としている。
書籍関係
BiB/i あらため Bibi v1.0.0 を公開しました | ふらここ、こ
fracoco.co/2020/01/03/bibi-v1.html
JavaScriptで書かれているEpubリーダのBibi v1.0.0リリース。
ZIPファイルの展開にWasmを使うBibi Zip Loaderによる高速化、UIの改善、epubの対応改善など