Fork me on GitHub

2019-03-18のJS: TypeScript 3.4 RC(readonly)、Node.js 11.12.0(`--frozen-intrinsic`)と実験的機能まとめ

Edit on GitHub 編集履歴を見る

JSer.info #427 - TypeScript 3.4 RCがリリースされました。

CLIでは、ビルドの情報をファイルに保存して、次回起動時にその情報を元にビルドできる--incrementalフラグの追加されています。
--watchとは異なり、プロセスの起動終了をまたいだ継続的なビルドを行えます。

型周りでは、readonly修飾子を配列とtupleに対して適応できるようになっています。
const assertionの追加され、リテラルに対してもreadyonlyの適応や"文字列"stringという型に勝手に広がるの防止する構文が追加されています。

その他にも、高階関数の型推論改善やglobalThis(Stage 3)の型定義の追加が行われています。


Node.js 11.12.0がリリースされました。

Node.js 11.12.0では--frozen-intrinsicsという実験的フラグが追加されています。
詳細は実装されたPRなどに書かれていますが、--frozen-intrinsicsArrayなどのJavaScriptのビルトインオブジェクトのデフォルトでdeep freezeする実験的フラグです。
このフラグを有効するといわゆるmonkey patchができない状態になるので、暗黙的にビルトインオブジェクトが拡張されていないという前提でコードを調査できるというセキュリティ的な利点があります。

関連する話として、Secure EcmaScript(SES)やNode.js 11.8.0で実験的に実装されたPolicy機能について調べると面白いかもしれません。


Update on Experimental Features in Node.js - NodeSourceという記事では、現在実装されているNode.jsの実験的な機能について紹介されています。

先程紹介したPolicy機能やWorker Threads、Performance Hooks、Diagnostic Report、ECMAScript Modulesについて書かれています。

Performance HooksはブラウザのPerformance Timing APIとも互換性が意識して作られている話やECMAScript Modulesは.mjsの話などが書かれています。
興味がある人は試してみるといいかもしれません。


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

JSer.info Sponsors

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


ヘッドライン


New in Chrome 73  |  Web  |  Google Developers

developers.google.com/web/updates/2019/03/nic73

Chrome ReleaseNote

Chrome 73リリース。
デスクトップ版でもPWAインストールの対応、Signed HTTP Exchanges、Constructable style sheetsのサポート、String#matchAllのサポート。
wheelがデフォルトでPassiveに変更など


TypeScript | Announcing TypeScript 3.4 RC

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

TypeScript ReleaseNote

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


Node v11.12.0 (Current) | Node.js

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

node.js JavaScript ReleaseNote

Node.js 11.12.0リリース。
Arrayなどのビルトインオブジェクトをデフォルトでfreezeする--frozen-intrinsicsフラグを実験的に追加など


CKEditor 5 v12.0.0 with inline widgets and distraction free editor released

ckeditor.com/blog/CKEditor-5-v12.0.0-with-inline-widgets-and-distraction-free-editor-released/

JavaScript editor library ReleaseNote

CKEditor 5 v12.0.0リリース。
Inline widgets、placeholderの対応、TableにMediaを埋め込めるように、inspector機能を持つデバッグモジュールの公開など


Releasing React Native 0.59 · React Native

facebook.github.io/react-native/blog/2019/03/12/releasing-react-native-059

React ios andoi ReleaseNote

React Native 0.59リリース。
Hooksの対応、JavaScriptCoreをアップデートし、64 bitサポートなど。一部のコアコンポーネントを外部ライブラリ化など


アーティクル


手元のコードのパフォーマンスを計測するperformance.markのスニペット | Web Scratch

efcl.info/2019/03/14/performance-snnipet/

JavaScript performance article

performance.markを使った特定のコードの処理時間や関連データを記録するスニペットについて。
記録の計測とデータの収集を分けて行うことについて


A Complete React Redux Tutorial for 2019

daveceddia.com/redux-tutorial/

redux JavaScript tutorial

Reduxについてのチュートリアル。
ステートの管理方法、ActionのDispatch方法やその動き、Reactと一緒に使う方法などについて


Node.js and Express Tutorial: Building and Securing RESTful APIs

auth0.com/blog/node-js-and-express-tutorial-building-and-securing-restful-apis/

node.js tutorial API article

Node.jsとExpressを使ってRest APIを作成するチュートリアル。
Auth0を使ったjwt対応など


On the Road to WebRTC 1.0, Including VP8 | WebKit

webkit.org/blog/8672/on-the-road-to-webrtc-1-0-including-vp8/

WebRTC article safari

Safari 12.1のWebRTC対応更新について。
VP8コーデック、Simulcast、Unified Planの対応など。
Screen capture APIの実験的サポート、古いWebRTC APIの非推奨化など


Update on Experimental Features in Node.js - NodeSource

nodesource.com/blog/experimental-features-in-node.js

node.js article

Node.jsの実験的な機能についての紹介記事。
Worker Threads、Performance Hooks、Diagnostic Report、Policy、ECMAScript Modulesについて


自社運営のWebアプリをPWA化した際にハマった話(OAuthなど) - APC 技術ブログ

techblog.ap-com.co.jp/entry/2019/03/13/201027

safari article PWA Android Chrome

AndroidとiOSでのPWA対応についての記事。
ホームスクリーンアプリにすると動かなくなった機能とその対処法などについて


スライド、動画関係


Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例

www.slideshare.net/techblogyahoo/yahoobff

node.js performance slide

Node.jsのサーバアプリ処理のボトルネックの調査方法やベンチマークのとり方、アプローチなどについてのスライド


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


aruneko/WebUSB-MyNumberCard

github.com/aruneko/WebUSB-MyNumberCard

JavaScript library

WebUSBを使ったマイナンバーカードのドライバ


sindresorhus/type-fest: A collection of essential TypeScript types

github.com/sindresorhus/type-fest

TypeScript library

TypeScriptの型コレクションライブラリ


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