JSer.info #334 - Node.js 8.0.0がリリースされました。
Node.js 8がLTSとなるのは2017年10月の予定です。
- Node v8.0.0 (Current) | Node.js
- Node.js 8: Big Improvements for the Debugging and Native Module Ecosystem
Node.js 8.0.0ではnpm v5.0.0とV8 version 5.8が搭載されています。
また、Node.js API (N-API)というネイティブアドオンに対するレイヤーが試験的に追加されています。
これは、VM(V8やChackraCore)に依存しないABIを提供するのが目的で、詳細は次の記事で解説されています。
async_hooks
、WHATWG URLを正式サポート、Buffer
コンストラクタのzero-filledをデフォルト化、util.promisify
の追加などが行われています。
fs
などのコールバック関数をPromiseとして扱うことができるutil.promisify
についての詳しくは次の記事を参照してください。
デバッグ周りでは、--debug
が非推奨となり、--inspect
オプションなどでデバッガーを使ったデバッグが推奨されています。
また、Node.jsが生成するErrorに独自のエラーコードが付加されるようになり、AssertionError
の扱いが少し変わっています。
// assertモジュールによるError
AssertionError [ERR_ASSERTION]: false == true
これにより、AssertionError
などに特別な処理をするpower-assertなどが影響を受けていました。
Node.js 8.0.0に同梱されているのはnpm 5.0.0ですが、いくつかの問題やパフォーマンスを改善したnpm 5.0.2がリリースされています。
また、npmのcanary版(早期テスト版)であるnpmc
が公開されています。
npm i -g npmc
Into the Great Unknown — Migrating from Mocha to Jestという記事では、MochaからJestへテストフレームワークを移行する際の話が書かれています。
jest-codemodsなどのマイグレーションツールを使っても自動的に移行できなかった部分をどのように回避していったかなどについて書かれています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Node v8.0.0 (Current) | Node.js
nodejs.org/en/blog/release/v8.0.0/
Node.js 8.0.0リリース。
npm 5.0.0、V8 5.8、N-API(Node.js API)、async_hooks
、WHATWG URLを正式サポート、Buffer
コンストラクタのzero-filledをデフォルト化、util.promisify
の追加、Node.jsが生成するErrorにcode
がつくように。
また--debug
が廃止され--inspect
でデバッガーと連携できるようになるなど
npm/CHANGELOG.md at v5.0.1 · npm/npm
github.com/npm/npm/blob/v5.0.1/CHANGELOG.md
npm 5.0.1リリース。
5.0.0のバグ修正が中心。余計なassertionを削除してインストール速度の改善など
Release Notes for Safari Technology Preview 31 | WebKit
webkit.org/blog/7622/release-notes-for-safari-technology-preview-31/
Safari Technology Preview Release 31リリース。
preload
でas
やtype
属性のサポート、Access-Control-Allow-Originのエラーメッセージを改善など
- 162819 – Improve error message for Access-Control-Allow-Origin violation due to misconfigured server
- 321517 - Developer tools misleading error description on CORS XHR with multiple Access-Control-Allow-Origin response headers - chromium - Monorail
N-API: Next generation Node.js APIs for native modules
medium.com/@nodejs/n-api-next-generation-node-js-apis-for-native-modules-169af5235b06
Node.js 8.0.0で導入されたN-APIについて。 いままでネイティブモジュールを書く際にNANなどもあったが、それはV8に依存していたためAPI/ABI stabilityに問題があった。 N-APIではABI-stableな中間レイヤーを入れる。これによりNode-ChacraCoreなどでも互換APIが整備されている
Release v5.0.2 · npm/npm
github.com/npm/npm/releases/tag/v5.0.2
npm 5.0.2リリース。 npm i -g npmc
でnpmのcanary版がインストールできるように。 インストールの出力結果の改善など
Announcing Meteor 1.5 – Meteor Blog
blog.meteor.com/announcing-meteor-1-5-b82be66571bb
Meteor 1.5リリース。
Code splitting、Dynamic import、bundle解析ツールの追加など
アーティクル
Introduction to State Management in Angular v2+ – OlricDigital – Medium
medium.com/olricdigital/introduction-to-state-management-in-angular-v2-ef6f5144bade
Angularでのステート管理について。
@ngrx/store
を使ったステート管理の解説
HTTP/2 push is tougher than I thought - JakeArchibald.com
jakearchibald.com/2017/h2-push-tougher-than-i-thought/
HTTP/2 Server Pushに関するブラウザごとの挙動についてのまとめ
Whats new for streams in Node 8 – Calvin Metcalf – Medium
medium.com/@CWMma/whats-new-for-streams-in-node-8-736d431083df
Node.js 8.0.0でStreamに追加されたdestroy
について
Redux vs MobX: Which Is Best for Your Project? — SitePoint
www.sitepoint.com/redux-vs-mobx-which-is-best/
ReduxとMobXの比較。 それぞれの特徴や書き方の違いなどについて雑感が書かれている
Into the Great Unknown — Migrating from Mocha to Jest
ebaytech.berlin/into-the-great-unknown-migrating-from-mocha-to-jest-3baced083c7e
MochaからJestへテストを移行した話。
codemodを使ったマイグレーション、js以外を読み込んでいた時のhook処理、ESLintの設定など。
また複雑なテストやchaiの拡張を使っている場合に自動で移行できないケースについて
Announcing Storybook 3.0 – Storybook – Medium
medium.com/storybookjs/announcing-storybook-3-0-329748b8f4cd
Reactのコンポーネント開発環境ツールであるStorybook 3.0リリース。
開発の主体がKadiraからコミュニティへ、webpack 2の対応、スナップショットテストを行うstoryshots
のサポートなど
スライド、動画関係
RailsエンジニアがReactを始めてSSRとReduxとTypeScriptを導入するまで | bitjourney Kibela
bitjourney.kibe.la/shared/entries/5c77844d-9856-4f1c-b689-44b1ee3d450a
Railsの環境にReact+Reduxとサーバサイドレンダリングを導入するまでの話。
後からTypeScriptを導入した流れについて。
サイト、サービス、ドキュメント
WebAssembly and Friends Roadmap
Chromeのwasm関係のロードマップ
MIL WebDNN
WebGPU、WebAssembly、JavaScriptのFallbackを持ったディープニューラルネットワーク(DNN)の実行環境の実装。
ブラウザ上で高速に処理することが目的。
ソフトウェア、ツール、ライブラリ関係
picodom/picodom: 1kb Virtual DOM builder and patch algorithm.
小さなVirtual DOM実装ライブラリ
Birdview
サイト全体を俯瞰する表示に切り替えることができるライブラリ
書籍関係
O'Reilly Japan - サーバーレスシングルページアプリケーション
www.oreilly.co.jp/books/9784873118062/
2017年06月23日発売
aws lambdaなど使ったサーバレスのSPAについての書籍
基礎からわかる Elm | 鳥居 陽介 |本 | 通販 | Amazon
2017年7月14日発売
Elmについての書籍
Get Programming with JavaScript Next: New features of ECMAScript 2015, 2016, and beyond: J. D. Isaacks: 9781617294204: Amazon.com: Books
www.amazon.com/Get-Programming-JavaScript-Next-ECMAScript/dp/1617294209
2017年12月30日発売
ES2015以降について扱う書籍