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-fetchandunfetch→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の対応改善など
