Fork me on GitHub

2019-04-02のJS: Node.js 11.13.0(once)、WebAssembly System Interface(WASI)

Edit on GitHub 編集履歴を見る

JSer.info #429 - Node.js 11.13.0がリリースされました。

eventsモジュールにPromiseを返すonceが追加されました。

const { once, EventEmitter } = require('events');
async function run() {
  const eventEmitter = new EventEmitter();
  const [value] = await once(eventEmitter, 'myevent');
}
run();

また、node-heapdumpモジュールをベースにv8.heapdump.getHeapdump()v8.heapdump.triggerHeapdump(filename)が追加されています。


Standardizing WASI: A system interface to run WebAssembly outside the web - Mozilla Hacks - the Web developer blogでは、WebAssemblyのファイルシステムやネットワークなどへのアクセスを標準化するWebAssembly System Interface(WASI)について書かれています。

WASIはWebAssemblyからファイルやネットワークなどアクセスをするためのシステムインターフェースに関する標準化を行うのが目的です。
WASIは各プラットフォームでも動くポータブルなバイナリとプラグラムごとのサンドボックスセキュリティを原則にしています。
記事では、POSIXでは不足していたセキュリティのアクセス制御のアプローチやWASIではどのようなアプローチを取るかについて書かれています。

また、合わせてWASIに対応したWebAssembly compiler(.wasm -> .so)やRuntimeのプロジェクトが公開されています。

現在はwasi-coreというファイルやネットワークなどの基本的な機能の標準化から進め、他の機能に関しても今後進めていくようです。
詳細なアーキテクチャなどは実装のリポジトリを読むのが良さそうです。


ヘッドライン


Node v11.13.0 (Current) | Node.js

nodejs.org/en/blog/release/v11.13.0/

node.js ReleaseNote

Node.js 11.13.0リリース。
eventsモジュールにPromiseを返すonceを追加、node-heapdumpモジュールをv8.heapdump APIとしてコアに統合。
worker.moveMessagePortToContextの追加など


Announcing TypeScript 3.4 | TypeScript

devblogs.microsoft.com/typescript/announcing-typescript-3-4/

TypeScript ReleaseNote

TypeScript 3.4リリース。
ビルドの情報をファイルに保存して、次回の起動時にその情報で続けてビルドできる--incrementalフラグの追加。
readonly修飾子を配列とtupleに対して適応できるように、const assertionの追加、高階関数の型推論改善。
globalThisのサポートとTop-level thisの型のサポートなど


Release v5.0.0 · vuejs/vue-devtools

github.com/vuejs/vue-devtools/releases/tag/v5.0.0

Vue debug Tools browser Extension ReleaseNote

vue-devtools 5.0.0リリース。
ルーティングタブ、パフォーマンスタブ、設定タブの追加、
propsやvuexのstateを編集できるようになるなど


アーティクル


Vue.observable & TypeScriptで手早く安心できる状態管理を手に入れる - Qiita

qiita.com/mugi_uno/items/cb48e5d3178891f94fa7

Vue article TypeScript

Vue 2.6で追加されたVue.observableについて


Expo CLI and SDK web support beta – Exposition

blog.expo.io/expo-cli-and-sdk-web-support-beta-d0c588221375

React article JavaScript

Expoがreact-native-webを使ったブラウザサポート。platformswebが追加された。
いくつかのexpoモジュールもweb対応している。


Standardizing WASI: A system interface to run WebAssembly outside the web - Mozilla Hacks - the Web developer blog

hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/

WebAssembly article

ブラウザ以外でもWebAssemblyを実行するための標準化を行うWASIについて。
各プラットフォームでも動くポータブルなバイナリとプラグラムごとのサンドボックスセキュリティを原則にしたデザイン。
CloudABIのCapability-based securityを元にしたセキュリティモデルをもつ。


Introducing experimental integrity policies to Node.js | Snyk

snyk.io/blog/introducing-experimental-integrity-policies-to-node-js/

node.js article security

Node.js 11.8.0で試験的に導入されたPolicy機能について。
ウェブブラザにおけるSubresource Integrity相当の機能をNode.jsのモジュールロードに対して行う


ECMAScript proposal updates @ 2019-03 | ECMAScript Daily

ecmascript-daily.github.io/ecmascript/2019/04/01/ecmascript-proposal-updates

ECMAScript proposal article

2019年3月のTC39ミーティングでのECMAScript Proposal Stageの変更点をまとめたもの。
String.prototype.matchAllがStage 4になった


Understanding Event Emitters | CSS-Tricks

css-tricks.com/understanding-event-emitters/

JavaScript article

Event Emitterを実装しながらEvent Emitterを学ぶ話


An Overview of JavaScript Testing in 2019 – Welldone Software – Medium

medium.com/welldone-software/an-overview-of-javascript-testing-in-2019-264e19514d0a

JavaScript article testing

JavaScriptのテスト周りについてまとめた記事。
テストの種類、ツール、フレームワークなどを紹介している


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


bluebill1049/react-hook-form: 📋 React hook for form validation without the hassle

github.com/bluebill1049/react-hook-form

React library

React Hooksでフォームを扱うライブラリ


ilearnio/module-alias: Register aliases of directories and custom module paths in Node

github.com/ilearnio/module-alias

node.js library

webpackのaliasのように読み込むモジュールをマッピングで切り替えるNode.jsライブラリ。
Module._resolveFilenameを上書きすることで実現している。


Raathigesh/majestic: ⚡ Zero config GUI for Jest

github.com/Raathigesh/majestic/

JavaScript testing GUI Tools

JestのGUIツール。


この記事へ修正リクエストをする
記事を紹介する