JSer.info #403 - E2Eテストフレームワーク/サービスのCypressが正式リリースされました
Public Betaのときと同じくTest RunnerはOSSのMITライセンスで、DashboardサービスはOSSや公開プロジェクトなら無料、プライベートプロジェクトは有料となっています。
現在はChromeまたはElectronのみでテストが実行されますが、今後はIE11を含むクロスプラウザでのテストやGitHub連携、ネットワークProxyなどをサポートする予定です。
TypeScript 3.1がリリースされました。
Mapped Typeの挙動がTupleにおいて変更され、Tuple Typeがより型付けしやすくなっています。
namespace
を使わずに関数へプロパティ追加できるように、TypeScriptのバージョンごとに型定義ファイルを指定して配布できるtypesVersions
フィールドのサポートが追加されています。
またLanguage Serviceではthen
をAsync/Awaitへリファクタリングできるようになるといった変更が追加されています。
Vueの次のメジャーアップデートであるVue 3.0のロードマップが公開されました。
Just announced plans for Vue 3.0 at @vue_london - sorry the slides were a bit rough, full writeup coming next week.
— Evan You (@youyuxi) September 21, 2018
- Plans for the Next Iteration of Vue.js – The Vue Point – Medium
- [和訳] 次期 Vue (v3.0) の計画 / Plans for the Next Iteration of Vue.js - Qiita
この記事ではVue 3で行われる変更予定や追加機能などについてかかれています。
Vue自体のコードベースをTypeScriptに書き直し、クラスベースコンポーネントの導入、Functional Componentがただの関数として書けるようになり、Observer/Schedulerの分離、ES Proxyベースのobserverの導入などについて書かれています。
またProxyを使えないIE11も制限ありでサポートする予定ですが、Object.defineProperty
を使った2.xと同じ仕組みであるため、他のブラウザと完全な互換性を提供することが難しい点についても書かれています。
注釈: Object.defineProperty
のgetter/setterで変更を検知する仕組みでは、オブジェクト作成時にないプロパティの変更を検知できない問題があります。一方Proxyはオブジェクト作成時にないプロパティ名に対する代入なども検知できます。
この点はMobX 4.xと5.xに類似する話だと思います。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
We're officially out of beta!
www.cypress.io/blog/2018/09/20/cypress-is-officially-out-of-beta/
Cypressが正式リリース。
今後のロードマップとして、IE11を含むクロスブラウザ、Flakyテストを見つけるためのリトライと分析、GitHub連携などを予定している
📦 Parcel v1.10.0 — Babel 7, Flow, Elm, and more! 🚀
medium.com/@devongovett/parcel-v1-10-0-babel-7-flow-elm-and-more-c20736553573
Parcel 1.10.0リリース。
Babel 7、Flowの自動検出、Elm対応、インライン<script>
と<style>
の対応、HTMLのimportに対応など
husky/CHANGELOG.md at master · typicode/husky
github.com/typicode/husky/blob/master/CHANGELOG.md#100
Git Hook管理ツールであるHusky 1.0.0リリース。
Node.js 4のサポート終了、scripts
フィールドからhusky
フィールドへ設定を移行、.huskyrc
のサポートなど。
マイグレーションはhusky-upgrade
コマンドで行える
Release Notes for Safari Technology Preview 66 | WebKit
webkit.org/blog/8414/release-notes-for-safari-technology-preview-66/
Safari Technology Preview 66リリース。
Web Share API、CSS Conic Gradientsのサポート。
実験的にWebRTC Unified Plan、Media Capabilities APIをサポートなど
SystemJS 2.0.0 Release
SystemJS 2.0.0リリース。 s.js
でレガシーブラウザのサポート、system.js
で新しいProposalや仕様などをサポートする方針。 Package Name MapsやWeb Assembly Integrationなどの実装など
Release Inferno v6.0.0-rc.0 · infernojs/inferno
github.com/infernojs/inferno/releases/tag/v6.0.0-rc.0
Inferno v6.0.0-rc.0リリース。
Fragmentsのサポート、getDerivedStateFromProps
とgetSnapshotBeforeUpdate
のライフサイクルイベントをサポートなど
ECMAScript proposal updates @ 2018-09 | ECMAScript Daily
ecmascript-daily.github.io/ecmascript/2018/10/01/ecmascript-proposal-updates
2018年9月に行われたTC39ミーティングで変更があったECMAScriptのProposalのまとめ。
JSON.parse
の拡張Proposalの追加、Temporal(Dates and Times)がStage 2になるなど
Release 1.0.0 · basecamp/trix
github.com/basecamp/trix/releases/tag/1.0.0
Basecampが作成しているリッチエディタのtrix 1.0.0がリリースされた。
Announcing TypeScript 3.1 | TypeScript
blogs.msdn.microsoft.com/typescript/announcing-typescript-3-1/
TypeScript 3.1リリース。
Mapped Tuple Type、namespaceを使わずに関数へプロパティ追加できるように、TypeScriptのバージョンごとに型を配布できるtypesVersions
フィールドをサポート。
then
をAsync/Awaitへリファクタリングできるようになるなど
nw/node-release-lines: API for Node.js release metadata
github.com/nw/node-release-lines
Node.jsのリリース情報を取得できるライブラリ。
LTSのバージョンやEOLなバージョンの取得、バージョンごとの状態を取得などができる
Release Notes for Safari Technology Preview 66 | WebKit
webkit.org/blog/8414/release-notes-for-safari-technology-preview-66/
Safari Technology Preview 66リリース。 Web Share API、CSS Conic Gradientsのサポート。 試験的にWebRTC Unified Plan、Media Capabilities APIをサポートなど
アーティクル
What's New in Vue Devtools 5.0 Beta
www.telerik.com/blogs/whats-new-in-vue-devtools-5-beta
Vue DevTools 5.0βについて。
Routing Tab、Performance Tab、Settings Tab、VuexのStateの編集機能について
Payment Request API: 統合ガイド | Web | Google Developers
developers.google.com/web/fundamentals/payments/
Payment Request APIについての記事。
Payment Request APIを使った取引のプロセス、APIの使い方、Feature Detectの方法などについて
Node.jsでのイベントループの仕組みとタイマーについて - 技術探し
blog.hiroppy.me/entry/nodejs-event-loop
Node.jsのイベントループのフェーズについての解説。
Node.js/V8 ではどのようにイベントループを回しているかについて
JavaScript typeof – LogRocket
blog.logrocket.com/javascript-typeof-2511d53a1a62
JavaScriptのtypeof
を使ったデータ型のチェックについて。
またプリミティブ型とWrapper objectについて
The Importance Of Manual Accessibility Testing — Smashing Magazine
www.smashingmagazine.com/2018/09/importance-manual-accessibility-testing/
アクセシビリティの手動テストや自動テスト関するリソースを紹介している記事
turtleDB: A JavaScript Framework for building offline-first, collaborative web apps
Offline-FirstなデータベースライブラリのturtleDBについて。
クライアント側はIndexedDBでローカルに保存でき、サーバ側はMongoDBなどのアダプタとして動作する。オフラインではクライアントに保存でき、オンラインでは同期ができるような仕組み
Plans for the Next Iteration of Vue.js – The Vue Point – Medium
medium.com/the-vue-point/plans-for-the-next-iteration-of-vue-js-777ffea6fabf
Vue 3.0のロードマップについて。 クラスベースコンポーネント、Functional Component、コードベースをTypeSript化、Observer/Schedulerの分離、ES Proxyベースのobserverについて。 またProxyを使えないIE11も制限ありでサポート予定。
サイト、サービス、ドキュメント
Array - 30 seconds of code
JavaScriptのコードスニペット集。
典型的な処理のスニペットをまとめている。
ソフトウェア、ツール、ライブラリ関係
Leko/hothouse: Continuous dependency update for Node.js project
npmtとyarnに対応しているGreenkeeperのような依存パッケージの更新PRを出してくれるツール