Fork me on GitHub

2018-10-02のJS: Cypress正式リリース、TypeScript 3.1、Parcel 1.10.0、Vue 3.0のロードマップ

Edit on GitHub 編集履歴を見る

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のロードマップが公開されました。

この記事では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 Sponsors

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


ヘッドライン


We're officially out of beta!

www.cypress.io/blog/2018/09/20/cypress-is-officially-out-of-beta/

E2E testing library ReleaseNote

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

JavaScript bundler ReleaseNote

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

JavaScript library Tools ReleaseNote

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 ReleaseNote

Safari Technology Preview 66リリース。
Web Share API、CSS Conic Gradientsのサポート。
実験的にWebRTC Unified Plan、Media Capabilities APIをサポートなど


SystemJS 2.0.0 Release

guybedford.com/systemjs-2.0

JavaScript ReleaseNote library module

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

JavaScript library React ReleaseNote

Inferno v6.0.0-rc.0リリース。
Fragmentsのサポート、getDerivedStateFromPropsgetSnapshotBeforeUpdateのライフサイクルイベントをサポートなど


ECMAScript proposal updates @ 2018-09 | ECMAScript Daily

ecmascript-daily.github.io/ecmascript/2018/10/01/ecmascript-proposal-updates

ECMAScript proposal news

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

JavaScript editor library ReleaseNote

Basecampが作成しているリッチエディタのtrix 1.0.0がリリースされた。


Announcing TypeScript 3.1 | TypeScript

blogs.msdn.microsoft.com/typescript/announcing-typescript-3-1/

TypeScript ReleaseNote

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 library

Node.jsのリリース情報を取得できるライブラリ。
LTSのバージョンやEOLなバージョンの取得、バージョンごとの状態を取得などができる


Release Notes for Safari Technology Preview 66 | WebKit

webkit.org/blog/8414/release-notes-for-safari-technology-preview-66/

ReleaseNote safari

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 debug Extension article

Vue DevTools 5.0βについて。
Routing Tab、Performance Tab、Settings Tab、VuexのStateの編集機能について


Payment Request API: 統合ガイド  |  Web  |  Google Developers

developers.google.com/web/fundamentals/payments/

Chrome WebPlatformAPI article

Payment Request APIについての記事。
Payment Request APIを使った取引のプロセス、APIの使い方、Feature Detectの方法などについて


Node.jsでのイベントループの仕組みとタイマーについて - 技術探し

blog.hiroppy.me/entry/nodejs-event-loop

node.js article

Node.jsのイベントループのフェーズについての解説。
Node.js/V8 ではどのようにイベントループを回しているかについて


JavaScript typeof – LogRocket

blog.logrocket.com/javascript-typeof-2511d53a1a62

JavaScript article

JavaScriptのtypeofを使ったデータ型のチェックについて。
またプリミティブ型とWrapper objectについて


The Importance Of Manual Accessibility Testing — Smashing Magazine

www.smashingmagazine.com/2018/09/importance-manual-accessibility-testing/

accessibility article

アクセシビリティの手動テストや自動テスト関するリソースを紹介している記事


turtleDB: A JavaScript Framework for building offline-first, collaborative web apps

hackernoon.com/turtledb-a-javascript-framework-for-building-offline-first-collaborative-web-apps-7183cd787163

JavaScript データベース library article

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 article

Vue 3.0のロードマップについて。 クラスベースコンポーネント、Functional Component、コードベースをTypeSript化、Observer/Schedulerの分離、ES Proxyベースのobserverについて。 またProxyを使えないIE11も制限ありでサポート予定。


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


Array - 30 seconds of code

30secondsofcode.org/

JavaScript document

JavaScriptのコードスニペット集。
典型的な処理のスニペットをまとめている。


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


Leko/hothouse: Continuous dependency update for Node.js project

github.com/Leko/hothouse

npm yarn github console Tools

npmtとyarnに対応しているGreenkeeperのような依存パッケージの更新PRを出してくれるツール


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