JSer.info #341 - Node v8.2.0がリリースされました。
async_hooks
のPromise対応改善、npm
が5.3.0へアップデートされnpxが同梱されるようになっています。
また、まだマージはされていませんが、Node.jsのコアモジュールにHTTP/2をサポートするhttp2
モジュールを追加するPRが出ています。
- Say hello to HTTP/2 for Node.js Core – Node.js Collection – Medium
- http2: Introducing http/2 by jasnell · Pull Request #14239 · nodejs/node
- nghttp2/nghttp2: nghttp2 - HTTP/2 C Library and tools
がんばらないTypeScriptのはじめ方 - 角待ちは対空という記事では、TypeScriptを<any>
を許容するような形でゆるく導入する話やJavaScript(CoffeeScript)からの移行について書かれています。
ゆるく使う場合でもコンパイルオプションのstrictNullChecks
を有効にしておくことで間違いを防げることが多い点などについて書かれています。
またJavaScriptからTypeScriptへ徐々に移行する際のcheckJs
やallowJs
を使ったアプローチについても書かれています。
JavaScriptのライブラリを徐々にTypeScriptに移行する | Web Scratchという記事でもTypeScriptへの移行のパターンを2種類紹介しています。
- まとめてTypeScriptに移行するパターン
allowJs
を使って一時的に混在した状態で徐々に移行するパターン
についてそれぞれ具体的なPRを見ながら解説しています。
Oreiilyから出ているRefactoring JavaScriptのプレビュー版が公開されています。
PDF版は無料で公開されていて、プレビュー版のレイアウトですが本文は最後まで書かれています。
Free preview of refactoring #javascript is at https://t.co/mxlYRPPbL6
— [garbled] (@evanburchard) January 11, 2017
Or preorder at https://t.co/0WQvp2BpKa#code #programming
ES2015+な構文を使ったリファクタリング、テストの仕方、OOPやFPのアプローチを使ったリファクタリングなどについて解説されています。ES5で書かれたコードをES2015の構文を使ってもっと意図を分かりやすく書くリファクタリングなども多いため、ES2015について学ぶのにも良さそうです。またOOPだけではなく、ramdaなどを使ったFPなアプローチについて書かれているのも特徴的です。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Node v8.2.0 (Current) | Node.js
nodejs.org/en/blog/release/v8.2.0/
Node v8.2.0リリース。
async_hooks
のPromise対応改善、npm
が5.3.0へアップデート(npxが同梱される)など。
Roadmap · Microsoft/ChakraCore Wiki
github.com/Microsoft/ChakraCore/wiki/Roadmap#v160
ChakraCore 1.6.0リリース。
WebAssembly/SharedArrayBuffer/Dynamic module importがデフォルトで有効に。
SIMDサポートを削除など。
Release Quantum Time · fuse-box/fuse-box
github.com/fuse-box/fuse-box/releases/tag/v2.2.1
FuseBox 2.2.1リリース。
fuse.js
を変更した際にキャッシュを削除するように、writeBundles
オプションでin-memoryビルドができるようになるなど。
Angular: Angular 4.3 Now Available
angularjs.blogspot.com/2017/07/angular-43-now-available.html
Angular 4.3リリース。
HttpClient
の追加、routerのライフサイクルイベントの追加。
また、Shadow-Piercing descendant combinatorは非推奨であるため、 Angularの中の/deep/
、>>>
、::ng-deep
も非推奨となった。
::ng-deep
はツール側で優先して扱うように。
- feat(compiler): add support `::ng-deep` · angular/angular@b754e60
- angular/CHANGELOG.md at master · angular/angular
ESLint v4.3.0 released - ESLint - Pluggable JavaScript linter
eslint.org/blog/2017/07/eslint-v4.3.0-released
ESLint v4.3.0リリース。
eslint --init
した際にeslintのバージョンを利用してる場合に対話的にバージョン変更できるように。
prefer-destructuring
にオプションの追加、ルールの修正など。
Say hello to HTTP/2 for Node.js Core – Node.js Collection – Medium
medium.com/the-node-js-collection/say-hello-to-http-2-for-node-js-core-261ba493846e
Nodeのhttp2
対応について。
初期実装のPull Requestが出された。
Release Almin 0.13.10 - transaction on application layer · almin/almin
github.com/almin/almin/releases/tag/almin%400.13.10
Almin 0.13.10リリース。
IE9/10のサポート終了、Store#onDispatch
が受け取れるpayloadを制限、Strict mode、トランザクションのサポート、executor
の追加など。
アーティクル
JavaScriptのライブラリを徐々にTypeScriptに移行する | Web Scratch
efcl.info/2017/07/17/JavaScript-to-TypeScript/
JavaScriptで書かれた既存のコードをTypeScriptへ移行する際の方法について。
JavaScriptとTypeScriptを混在した状態で移行について。
Automated testing with Headless Chrome | Web | Google Developers
developers.google.com/web/updates/2017/06/headless-karma-mocha-chai
Headless Chromeを使った自動テストについて。
Extracting Logic from React Components
javascriptplayground.com/blog/2017/07/react-extracting-logic/
Reactコンポーネントに内蔵されてしまったロジックをコンポーネントから分離するリファクタリングについて。
がんばらないTypeScriptのはじめ方 - 角待ちは対空
blog.yux3.net/entry/2017/07/18/110000
TypeSriptを緩く使う/JavaScriptからTypeScriptへの移行について。
ゆるく使う場合でもnoImplicitAny
とstrictNullChecks
を有効化することで防げるエラーがあることについて。
NgRx: Patterns and Techniques – nrwl
blog.nrwl.io/ngrx-patterns-and-techniques-f46126e2b1e5
NgRxを使ったパターンやTipsについての記事。
Rekit 2.0: new way of React development – Nate Wang – Medium
medium.com/@nate_wang/rekit-2-0-next-generation-react-development-ce8bbba51e94
React/Redux/React Routerをベースにしたウェブアプリ開発環境のRekit 2.0について。
Rekit PortalというComponent/Router/Actionの関係を可視化できるダッシュボードを持っている。
サイト、サービス、ドキュメント
Learn Next.js - Create SSR Enabled React Apps Easily
Next.jsについてのチュートリアルサイト。
create-react-app/README.md at master · facebookincubator/create-react-app
github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md
create-react-app
のユーザーガイド。
典型的なウェブアプリケーションのクライアントにおける開発についてよくまとまっている。
パッケージ管理方法、VCS、テスト、環境変数、エディタ、静的サーバ、デプロイ、SSR、パフォーマンス改善、分析など。
ソフトウェア、ツール、ライブラリ関係
Enclose.IO: Compiling your application into a single executable
Node.jsやRubyのコードを実行可能なバイナリにパッケージング、自動更新できるようにするするウェブサービス。
tsuyoshiwada/react-drip-form: HoC based React forms state manager, Support for validation and normalization.
github.com/tsuyoshiwada/react-drip-form
High Order ComponentベースのReact Form/バリデーションライブラリ。
書籍関係
Results of the Ultimate CSS Survey 2017 — SitePoint
www.sitepoint.com/results-ultimate-css-survey-2017/
CSSについての開発者アンケート結果が公開された。 AltCSS、フレームワークの利用率、minify、reset/normalize、期待する機能、サポートしてるブラウザ、バグを見つけたことがあるかなど。
Refactoring JavaScript
JavaScriptのリファクタリングについての書籍。PDF版が無料で公開されている。
ES2015+な文法を使ったリファクタリング、テストの仕方、OOPやFPのアプローチを使ったリファクタリングなどについて解説されている。
azat-co/practicalnode: Practical Node.js, 1st and 2nd Editions [Apress]
github.com/azat-co/practicalnode
Practical Node.jsの原稿(ドラフト)が公開された。
Kickstarterでキャンペーンをやっている。
Practical Modern JavaScript: Dive into ES6 and the Future of JavaScript: Nicolas Bevacqua: 9781491943533: Amazon.com: Books
www.amazon.com/Practical-Modern-JavaScript-Dive-Future/dp/149194353X
ES2015+についての書籍。