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のプロジェクトが公開されています。
- Announcing Lucet: Fastly’s native WebAssembly compiler and runtime
- CraneStation/wasmtime: Standalone JIT-style runtime for WebAsssembly, using Cranelift
現在はwasi-core
というファイルやネットワークなどの基本的な機能の標準化から進め、他の機能に関しても今後進めていくようです。
詳細なアーキテクチャなどは実装のリポジトリを読むのが良さそうです。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Node v11.13.0 (Current) | Node.js
nodejs.org/en/blog/release/v11.13.0/
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 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-devtools 5.0.0リリース。
ルーティングタブ、パフォーマンスタブ、設定タブの追加、
propsやvuexのstateを編集できるようになるなど
アーティクル
Vue.observable & TypeScriptで手早く安心できる状態管理を手に入れる - Qiita
qiita.com/mugi_uno/items/cb48e5d3178891f94fa7
Vue 2.6で追加されたVue.observable
について
Expo CLI and SDK web support beta – Exposition
blog.expo.io/expo-cli-and-sdk-web-support-beta-d0c588221375
Expoがreact-native-webを使ったブラウザサポート。platforms
にweb
が追加された。
いくつかのexpoモジュールもweb対応している。
- necolas/react-native-web: React Native for Web
- expo/web-examples: Examples of using Expo in the browser.
- web-examples/FEATURES.md at master · expo/web-examples
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を実行するための標準化を行うWASIについて。
各プラットフォームでも動くポータブルなバイナリとプラグラムごとのサンドボックスセキュリティを原則にしたデザイン。
CloudABIのCapability-based securityを元にしたセキュリティモデルをもつ。
- Announcing Lucet: Fastly’s native WebAssembly compiler and runtime
- WASI
- CraneStation/wasmtime: Standalone JIT-style runtime for WebAsssembly, using Cranelift
- Introducing CloudABI
Introducing experimental integrity policies to Node.js | Snyk
snyk.io/blog/introducing-experimental-integrity-policies-to-node-js/
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
2019年3月のTC39ミーティングでのECMAScript Proposal Stageの変更点をまとめたもの。
String.prototype.matchAll
がStage 4になった
Understanding Event Emitters | CSS-Tricks
css-tricks.com/understanding-event-emitters/
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のテスト周りについてまとめた記事。
テストの種類、ツール、フレームワークなどを紹介している
ソフトウェア、ツール、ライブラリ関係
bluebill1049/react-hook-form: 📋 React hook for form validation without the hassle
github.com/bluebill1049/react-hook-form
React Hooksでフォームを扱うライブラリ
ilearnio/module-alias: Register aliases of directories and custom module paths in Node
github.com/ilearnio/module-alias
webpackのaliasのように読み込むモジュールをマッピングで切り替えるNode.jsライブラリ。
Module._resolveFilename
を上書きすることで実現している。
Raathigesh/majestic: ⚡ Zero config GUI for Jest
github.com/Raathigesh/majestic/
JestのGUIツール。