Fork me on GitHub

2020-06-16のJS: Mocha 8.0.0(Parallel)、history.js 5.0.0、hegel(Type Checker)

Edit on GitHub 編集履歴を見る

JSer.info #492 - テストフレームワークであるMocha 8.0.0がリリースされました。

Mocha 8.0.0ではNode.js 10未満のサポートを終了しています。
また、Mocha 7.0.0でDreprecatedとなったmocha.optsのサポートも削除して、.mocharc.{js,json,yml}のみを設定ファイルとしてサポートになっています。

mocha.optsから.mocharc.*への移行は次のスクリプトで行えます。

また、Mocha 8.0.0では--parallelフラグをつけることで、テストの並行実行をサポートしています。


History APIを扱うライブラリであるhistory.js 5.0.0がリリースされました。

5.0.0ではHistory APIをサポートしていないブラウザのサポートを終了しています。
また、ファイルサイズを半分程度小さくする改善やiframesに対するhistoryの対応なども含まれています。


JavaScriptで書かれたJavaScriptの型チェッカーであるhegelがリリースされています。

hegelは静的な型チェックが通ったら実行時にエラーが出ないようにする目的を持つ型チェッカーです。そのためanyのような実行時エラーを引き起こすような型は持ちません。型はアノテーションのみで、Babelなどで型アノテーションを取り除けばJavaScriptのコードとなるようにデザインされています。

またFlowがOCamlで書かれていたの対してhegelはJavaScriptで書かれています。(現時点ではコードベースはFlowでチェックされています)

また、ライブラリの型定義として既存のTypeScriptの.d.tsファイルを利用できるようになっています。


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

JSer.info Sponsors

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


ヘッドライン


Release v8.0.0 · mochajs/mocha

github.com/mochajs/mocha/releases/tag/v8.0.0

node.js testing library ReleaseNote

Mocha 8.0.0リリース。
Node 10未満のサポート終了、mocha.optsのサポート終了、enableTimeout()の削除など。
--parallelでパラレルテストをサポート、--requireオプションでES Modulesを読み込めるようになるなど


Release v5.0.0 · ReactTraining/history

github.com/ReactTraining/history/releases/tag/v5.0.0

JavaScript library ReleaseNote

history.js 5.0.0リリース。
HTML5 history APIをサポートしてないブラウザのサポート終了、TypeScriptのサポート、ファイルサイズの削減など。


Release v1.1.0 · denoland/deno

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

deno ReleaseNote

Deno v1.1.0 リリース。
deno eval -pの追加、deno lintコマンドの追加、ファイルシステムのメソッドがfile:なURLをサポートなど


Release v2.0.0 · rwaldron/johnny-five

github.com/rwaldron/johnny-five/releases/tag/v2.0.0

JavaScript IoT library ReleaseNote

IoTフレームワークのjohnny-five 2.0リリース


Release Notes for Safari Technology Preview 108 | WebKit

webkit.org/blog/10840/release-notes-for-safari-technology-preview-108/

safari ReleaseNote

Safari Technology Preview 108リリース。
ParentNode.replaceChildren()の実装、Async Clipboard APIで"image/png"の読み込みをサポートなど


Release v4.0.0 · puppeteer/puppeteer

github.com/puppeteer/puppeteer/releases/tag/v4.0.0

Chrome library ReleaseNote

Puppeteer v4.0.0リリース。
Node.jsのeventsへの依存を削除、page.isJavaScriptEnabled()の追加など


アーティクル


小さなEventEmitterライブラリ - eventmitを書いた | Web Scratch

efcl.info/2020/06/13/eventmit/

JavaScript library article

1種類のイベントに対して1つのオブジェクトを作るEventEmitter的なライブラリについて。


Introducing the MDN Web Docs Front-end developer learning pathway - Mozilla Hacks - the Web developer blog

hacks.mozilla.org/2020/06/introducing-the-mdn-web-docs-front-end-developer-learning-pathway/

JavaScript mdn document article

MDNのフロントエンド開発者向けのドキュメントについての紹介記事


The complete guide to CSS media queries | Polypane browser for developers

polypane.app/blog/the-complete-guide-to-css-media-queries/

CSS article

CSS Media Queryの使い方の解説。
構文的な使い方の解説、ユースケースについて


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


GoogleCloudPlatform/require-so-slow: `require`s taking too much time? Profile 'em.

github.com/GoogleCloudPlatform/require-so-slow

node.js performance Tools

npmモジュールのロード時間をChrome Timeline Viewerで見られるようにプロファイルを取るツール。
モジュール内でのrequireにかかっている時間を可視化できる


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


JSMonk/hegel: An advanced static type checker

github.com/JSMonk/hegel

JavaScript TypeScript Tools

JavaScriptで書かれたJavaScriptの型チェッカ。
型アノテーションを書くことで型チェックを行える。TypeScriptとは異なり静的な型チェックが通った場合に実行時エラーが出ないような実装をしている。ライブラリの型チェックにはTypeScriptの型定義ファイルを利用できる。


bcoe/http2spy: test helpers for working with Node.js' http2 module

github.com/bcoe/http2spy

HTTP2 node.js library testing

http2モジュールのspyライブラリ


bradtraversy/vanillawebprojects: Mini projects built with HTML5, CSS & JavaScript. No frameworks or libraries

github.com/bradtraversy/vanillawebprojects

JavaScript example

ライブラリやフレームワークを使わずにHTML/JavaScript/CSSで書いたアプリケーションのサンプル集


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