Fork me on GitHub

2020-01-07のJS: Mocha v7.0.0、Next.js 9.1.7、ペースにあわせたTypeScriptへの移行

Edit on GitHub 編集履歴を見る

JSer.info #469 - テストフレームワークのMocha v7.0.0がリリースされました。

Mocha v7.0.0では、EOL(End-of-Life)であるNode.js 6.xのサポートを終了しています。

:memo: 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には含まれていませんが、実装中のようです。


Reactを使ったフレームワークであるNext.js 9.1.7がリリースされました。

クライアントサイドでは、native-urlを使いurlパッケージを自動的にURLベースに置き換えることでビルドファイルサイズが削減されています。

同じ話ですが、fetchObject.assignのpolyfillを使っている場合に、それを自動的にビルドインの実装と置き換える仕組みが含まれています。
これは、アプリケーション内で同じAPIに対する複数のpolyfillが存在する場合にファイルサイズが増加するため、それをビルトインAPIを使った実装に置き換えてファイルサイズを削減する仕組みです。

まとめると、次のAPIに対するpolyfillパッケージをビルトインの実装で置き換えています。

仕組み的には、webpackのalias設定で、元々あったwhatwg-fetchなどのpolyfillパッケージをビルトインAPIをexportするだけのpolyfillで置換しているようです。

その他には、ReactでStrict Modeを有効化するreactStrictModeオプションの追加なども行われています。


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

JSer.info Sponsors

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


ヘッドライン


mocha/CHANGELOG.md at master · mochajs/mocha

github.com/mochajs/mocha/blob/master/CHANGELOG.md#%E2%80%8B700--2020-01-05

JavaScript testing library ReleaseNote

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

flowtype ReleaseNote

Flow v0.115.0リリース。
Types First modeではexportされたclassやfunctionは再定義できなくなるなど。


Blog - Next.js 9.1.7 | Next.js

nextjs.org/blog/next-9-1-7

JavaScript React ReleaseNote

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 article

CSSのBox modelとpositionについての記事。


How to move your project to TypeScript - at your own pace - Twilio

www.twilio.com/blog/move-to-typescript

JavaScript TypeScript VSCode article

プロジェクトのコードをTypeScriptに移行するポイントについての記事。
VSCodeのsettings.jsonでのcheckJstsconfig.jsonを使ったallowJscheckJsの設定、JSからTSへのリファクタリング、strictの設定などについて


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


machinelearnjs/machinelearnjs: Machine Learning library for the web and Node.

github.com/machinelearnjs/machinelearnjs

TypeScript MachineLearning library

TypeScriptで書かれたMLライブラリ


hjkcai/typesafe-joi: A fork of joi that produces typed validation results in TypeScript

github.com/hjkcai/typesafe-joi

TypeScript JavaScript library

データバリデーターであるjoiのTypeScriptフォークライブラリ。
大部分は互換性のあるAPIだが、一部はType SafeにするためAPIを変更している。


antvis/G6: ♾ A Graph Visualization Framework in JavaScript

github.com/antvis/G6

graphic JavaScript library

データビジュアライズライブラリ。
グラフの情報とデータを渡すことでビジュアライズしてくれるライブラリ


shellyln/tynder: TypeScript friendly Data validator for JavaScript.

github.com/shellyln/tynder

JavaScript library Tools

TypeScriptライクなDSLでスキーマを定義し、実行時にデータの型を検証を行うバリデーションライブラリ。


mroderick/plete: Vanilla autocomplete component

github.com/mroderick/plete

JavaScript UI library WAI-ARIA

依存のないautocomplete UIライブラリ。
Modern browserを対象としている。


書籍関係


BiB/i あらため Bibi v1.0.0 を公開しました | ふらここ、こ

fracoco.co/2020/01/03/bibi-v1.html

epub JavaScript ReleaseNote

JavaScriptで書かれているEpubリーダのBibi v1.0.0リリース。
ZIPファイルの展開にWasmを使うBibi Zip Loaderによる高速化、UIの改善、epubの対応改善など


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