Fork me on GitHub

2017-03-19のJS: jQuery 3.2.0、Sinon.JS 2.0、testdouble.js 2.0、React/Redux/CRUD

Edit on GitHub 編集履歴を見る

JSer.info #323 - jQuery 3.2.0がリリースされました。

$.cssがCSS Custom Propertyをサポート、transformされた要素の.width().height()の値がおかしい問題を修正、<template>要素をサポートされています。
また、jQuery.holdReadyjQuery.nodeNamejQuery.isArrayが非推奨となっています。

いくつかのregressionが見つかっていますが、それらは3.2.1で修正される予定です。

追記: jQuery 3.2.1がリリースされました。


テストライブラリであるSinon.JS 2.0.0がリリースされました。

sinon.logsinon.logErrorは削除、sinon.testsinon.testCaseがコアから削除されsinon-testへ分離されています。

また、sinon.calledInOrderなどのInternalなメソッドが非推奨になるなど

sinon.js logo

ロゴやサイトも新しくなりOpen Collectiveでスポンサーなどの募集も開始されています。


Sinon.jsの競合でもあるテストライブラリのtestdouble.js 2.0がリリースされています。

td.objectではES2015 Proxyを使って存在しないプロパティなどのアクセスもキャッチ出来るようになり、thenCallbackなどで非同期stubのサポート、td.verifyの改善などが行われています。

機能や構文的なSinon.jsとの比較は次の記事にまとめられています。


React+Redux+Express+MongoDBでものすごくシンプルなCRUDアプリをつくる - Qiitaという記事では、React+Reduxを使ったフロント側からExpress+MongoDBを使ったサーバ側までを実装し学ぶ目的のチュートリアルが書かれています。

  1. サーバーとの通信の方法(より一般的には非同期処理の方法)
  2. Reduxにおけるフォームの扱い
  3. ExpressによるAPI
  4. Node.jsからのMongoDBの操作
  5. Herokuへのデプロイ

ステップバイステップで丁寧に書かれており、create-react-appを使って短縮できる部分は短縮されていて、フロントとサーバを繋げるハマりどころについての解説などもされています。


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

JSer.info Sponsors

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


ヘッドライン


Migrating to v2.0

sinonjs.org/releases/v2.0.0/migrating-to-2.0/

JavaScript testing library ReleaseNote


Sinon.js 2.0リリース。
sinon.logsinon.logErrorは削除、sinon.testsinon.testCaseがコアから削除され別モジュールへ分離。
Internalなメソッドが非推奨になるなど


jQuery 3.2.0 Is Out! | Official jQuery Blog

blog.jquery.com/2017/03/16/jquery-3-2-0-is-out/

jQuery ReleaseNote


jQuery 3.2.0リリース。
$.cssがCSS Custom Propertyをサポート、transformされた要素の.width().height()の値がおかしい問題を修正、<template>要素をサポートなど


Release [email protected]: Publish · ReactTraining/react-router

github.com/ReactTraining/react-router/releases/tag/react-router%404.0.0

React ReleaseNote library


React Router 4.0.0リリース。
書き直されたバージョンであり、既存のものとは互換性がないためマイグレーションガイドは用意されていない。


Release v0.42.0 · facebook/flow

github.com/facebook/flow/releases/tag/v0.42.0

flowtype ReleaseNote


Flow 0.42.0リリース。
Object type spread type TypeB = { ...TypeA } の追加。flow ideコマンドの追加など


ESLint v3.18.0 released - ESLint - Pluggable JavaScript linter

eslint.org/blog/2017/03/eslint-v3.18.0-released

ESLint ReleaseNote


ESLint 3.18.0リリース。
esqueryベースのASTセレクタに対応しルール内でセレクタを指定できるようになるなど


アーティクル


Testing Service Workers – Dev Channel – Medium

medium.com/dev-channel/testing-service-workers-318d7b016b19

ServiceWorker testing


ServiceWorkerのスクリプトに対するユニットテストについて。
Tests in SW、イベントのエミュレート、Push Eventのテストについてなど


ES6 Proxy をつかって堅牢なオブジェクトをつくるTips

aloerina01.github.io/javascript/2017/03/14/1.html

JavaScript


ES2015 Proxyを使ったImmutableやSingletonなどを例にした、オブジェクトの拡張方法について。
ProxyのtrapやReflect APIについて


EnzymeでReactコンポーネントのテストを書こう - DMM.comラボエンジニアブログ

labotech.dmm.com/entry/2017/03/07/180449

React testing tutorial article


Enzymeを使ったReactコンポーネントのテスト方法について


Background Tabs in Chrome 57  |  Web  |  Google Developers

developers.google.com/web/updates/2017/03/background_tabs

Chrome


Chromeのバックグラウンドタブにおける制限について。
Chrome 57からは、timerやrequestAnimationFrameに加えて、budget-basedの制限が加わる。
バックグラウンドにいるかはPage visibility APIで判定できる。 テスト時などは--disable-background-timer-throttlingのフラグで無効化できる。


AlminでFluxアーキテクチャをやってみる | Web Scratch

efcl.info/2017/03/17/almin-introduction/

JavaScript redux Flux library tutorial


Alminを使ってカウンターアプリを書きながら、どのようにFlux的な一方通行のデータフローを行うかについての記事。
開発用のロガーやブラウザ拡張との連携について


Preact internals #1: the easy parts – Medium

medium.com/@asolove/preact-internals-1-the-easy-parts-3a081fa36205

JavaScript React article


Preactの内部実装についての連載記事


Progressive Web App Libraries in Production – Dev Channel – Medium

medium.com/dev-channel/progressive-web-app-libraries-in-production-b52cad37d34

ProgressiveWebApp article ServiceWorker


ServiceWorkerを使ったキャッシュ周りなどを導入するツールであるsw-precache、 sw-toolbox、offline-analyticsの紹介記事


React+Redux+Express+MongoDBでものすごくシンプルなCRUDアプリをつくる - Qiita

qiita.com/m_yama6/items/573247b12ff0bc4e5d3c

React article node.js redux tutorial


create-react-appを使いReact+Reduxのセットアップを行いフロントを書き、Express+MongoDB+mongooseでバックエンドを書いていくチュートリアル記事。 フロントエンドとバックエンドの接続部分も丁寧にかかれている。


Test Double | Our Thinking | testdouble.js 2.0

blog.testdouble.com/posts/2017-03-13-testdouble-2.0.html

JavaScript library testing


モック化ライブラリであるtestdouble.js 2.0リリース。 td.objectではES2015 Proxyを使い存在しないプロパティなどのアクセスもキャッチ出来るようになるなど、非同期stubのサポート、td.verifyの改善など


スライド、動画関係


Internels Vue.js - 算出プロパティはどうやって動いているか

kitak.github.io/slides/170316-vue-meetup/#

slide Vue


Vue.jsのcomputed propertyの変更検知の仕組みについてのスライド


React Conf 2017 - YouTube

www.youtube.com/playlist?list=PLb0IAmt7-GS3fZ46IGFirdqKTIxlws7e0

React video まとめ


React Conf 2017の動画が公開された


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


VulcanJS: The full-stack React+GraphQL framework

vulcanjs.org/

React GraphQL library


React+GraphQLなフルスタックフレームワーク。
元々React+MeteorのTelscopeだったもの。


rstacruz/webpack-tricks: Tips and tricks in using Webpack

github.com/rstacruz/webpack-tricks

webpack Tips document


webpackを使ったファイルサイズの削減やビルドの設定、開発向け/本番向けの設定などのTipsをまとめたドキュメント


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


thejameskyle/react-loadable: A higher order component for loading components with promises.

github.com/thejameskyle/react-loadable

React library


初期表示までのローディングを扱う高階関数のReactコンポーネント。 Promiseが解決されるまでのローディングやエラー表示を行う


smelukov/webpack-runtime-analyzer: Webpack 1.x/2.x plugin for analyzing internal processes, state and structure of bundles.

github.com/smelukov/webpack-runtime-analyzer

webpack Tools


webpackでビルドしたファイルのstateや構造をビジュアライズするwebpack plugin。
モジュール、依存関係グラフ、ファイルサイズなど


FranckFreiburger/module-invalidate: Invalidate node.js modules loaded through require()

github.com/FranckFreiburger/module-invalidate

node.js library


Node.jsのrequireで読み込んだキャッシュを無効化したり、モジュール側で無効化することを宣言できるモジュール


書籍関係


SVG Animations - O'Reilly Media

shop.oreilly.com/product/0636920045335.do

SVG animation


SVGアニメーションについての書籍


徹底マスター JavaScriptの教科書 プログラミングの教養から、言語仕様、開発技法までが正しく身につく | 磯 博 | インターネット・Web開発 | Kindleストア | Amazon

www.amazon.co.jp/dp/B06XNQCW7B

JavaScript book


JavaScriptの文法や言語機能などについての書籍。
ES2015に対応している内容


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