JSer.info #459 - Node.js 13がリリースされました。
- Node v13.0.0 (Current) | Node.js
- Node.js 12 to LTS and Node.js 13 is here! - Node.js Foundation - Medium
- Node.js v13の主な変更点 - 別にしんどくないブログ
いわゆる開発版となるメジャーバージョンで、13.xはLTS(Long Term Support)にはなりません。
V8 7.8へのアップデート、Node.js自体のビルド環境の変更などが行われています。
また、Node.js 13.xではfull-icuがデフォルトとなりました。
これによってutil.TextDecoderやIntlなどが英語以外も扱えるようになりました。
Node.js 12までは、Node.jsのビルド時に--with-intl
で指定するか、RunTime時にfull-icu
を追加する必要がありました。
これによってNode.js自体のバイナリのファイルサイズが10-20MB程度増加します。
Node.jsのビルド時に--with-intlを指定すれば、今までと同じsmall-icu
を使うことも可能です。
Firefox 70.0がリリースされました。
- Firefox 70.0, See All New Features, Updates and Fixes
- Firefox 70 — a bountiful release for all - Mozilla Hacks - the Web developer blog
- Firefox 70 for developers - Mozilla | MDN
Third-Party Tracking CookiesをブロックするEnhanced Tracking Protection (ETP)がデフォルトで有効になりました。
開発者ツールで変更した差分を表示するChange Panelの追加やWebSocket Inspectorの改善などが含まれています。
また、ECMAScript Proposal(Stage 3)のNumeric separatorsに対応、Workerスクリプトの読み込み時にMIME typeを確認するようになり、Web Audio APIの仕様追従なども含まれています。
Electron 7.0.0がリリースされました。
今回もChrome(78)とV8(7.8)のアップデートに合わせてアップデートされています。
Windows on Arg(64bit)の対応、非同期IPCのipcRenderer.invoke()
とipcMain.handle()
の追加、nativeTheme
APIの追加などが行われています。
- Electron’s ‘remote’ module considered harmful - Jeremy Apthorp - Medium
- feat: add ipcRenderer.invoke() by nornagon · Pull Request #18449 · electron/electron
またElectronは3つのStableバージョンをサポートするようになっています。
そのため、この7.xのリリースでElectron 4.xはサポート終了となります。
お知らせ
GitHub Sponsorsの募集ページを公開しました。
現在のGitHub Sponsorsは月額サブスクリプション方式でしか登録できませんが、サポートに興味がある人は見てみてください。
(おそらく)企業向けですが、JSer.info Sponsorの枠も作成してあります。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Node v13.0.0 (Current) | Node.js
nodejs.org/en/blog/release/v13.0.0/
開発版となるNode.js 13リリース。
V8 7.8へのアップデート、Full ICUがデフォルト化、Node.js自体のビルド環境の変更など
Release v1.0 Final! · reduxjs/redux-starter-kit
github.com/reduxjs/redux-starter-kit/releases/tag/v1.0.0
Redux Starter Kit 1.0リリース。
Reduxのラッパーでboilerplate codeを減らしたり、簡単に利用できることを目的にしたツールセット。
作者は現在のReduxのメンテナーの一人である3markerikson。
New in Chrome 78 | Web | Google Developers
developers.google.com/web/updates/2019/10/nic78
Chrome 78リリース。
CSS.registerProperty
のサポート、importScripts()
でロードしたService Workerスクリプトもバイト単位で更新チェックが行われるように。
Origin TrialとしてNative File System、SMS Receiverのサポートなど。
その他としてXSS Auditorの削除など
- What's New In DevTools (Chrome 78) | Web | Google Developers
- current deprecations
- V8 release v7.8 · V8
- Deprecations and removals in Chrome 78 | Web | Google Developers
- Chrome Platform Status
Announcing TypeScript 3.7 RC | TypeScript
devblogs.microsoft.com/typescript/announcing-typescript-3-7-rc/
TypeScript 3.7RCリリース。
Optional Chaining、Nullish Coalescing、Assertion Functionsのサポート。
never
を返す関数を呼び出した場合の型推論の改善、--declaration
と--allowJs
の組み合わせのサポート、// @ts-nocheck
の追加など
Release v2.0.0 · GoogleChrome/puppeteer
github.com/GoogleChrome/puppeteer/releases/tag/v2.0.0
Puppeteer 2.0.0リリース
Chromium 79へのアップデート、Node 6以下のサポート終了、page.screenshot
をViewportに合わせる変更など。
また、page.emulateTimezone
、page.emulateMediaType
、page.emulateMediaFeatures
の追加など
Electron 7.0.0 | Electron Blog
electronjs.org/blog/electron-7-0
Electron 7.0.0リリース。
Windows on Arg(64bit)の対応、非同期IPCのipcRenderer.invoke()
とipcMain.handle()
の追加、nativeTheme
APIの追加など。
Electron 4.xはサポート終了となる。
Firefox 70.0, See All New Features, Updates and Fixes
www.mozilla.org/en-US/firefox/70.0/releasenotes/
Firefox 70リリース。
Enhanced Tracking Protection (ETP)の有効化、開発者ツールの改善やWebSocket Inspectorの改善など。
ES ProposalのNumeric separatorsに対応、Workerスクリプトの読み込み時にMIME typeを確認するように、Web Audio APIの仕様追従など
- Firefox 70 — a bountiful release for all - Mozilla Hacks - the Web developer blog
- Firefox's New WebSocket Inspector - Mozilla Hacks - the Web developer blog
- Firefox 70 for developers - Mozilla | MDN
アーティクル
Preparing for the Future with React Prereleases – React Blog
reactjs.org/blog/2019/10/22/react-release-channels.html
Reactのリリースチャンネルについて。
Latest(Stable)、Next(リポジトリのmasterと同等)、Experimental(masterに加えて実験的な機能)の3つのチャンネルがあることについて。
それぞれの利用方法や目的、またRFCとExperimentalについて
Time to First Byte: What It Is and Why It Matters – CSS Wizardry – CSS Architecture, Web Performance Optimisation, and more, by Harry Roberts
csswizardry.com/2019/08/time-to-first-byte-what-it-is-and-why-it-matters/
Time to First Byte (TTFB)についての解説。
TTFBに含まれるであろう処理の種類、それを明示できるServer-Timingヘッダについて
スライド、動画関係
Prototype Pollution in Kibana
slides.com/securitymb/prototype-pollution-in-kibana
KibanaにあったPrototype pollutionの脆弱性を使ったRCEについての解説スライド。
__proto__.env
で任意の環境変数を読み込ませてspawnするのを見つけ、NODE_OPTIONS
と/proc/self/environ
を使い環境変数にコードを仕込み実行させる手法の解説
WebAuthN 実際導入してどうだったか
kasecato.github.io/web-study-webauthn-nulab/
Web Authentication APIについてのスライド。
セキュリティデバイスの登録における設計、ChromeやmacOSのTouch IDにおけるハマりどころ(プロファイルに紐づくなど)などについて
書籍関係
Functional Design Patterns for Express.js by Jonathan Lee Martin | The Pragmatic Bookshelf
pragprog.com/book/d-jmexpress/functional-design-patterns-for-express-js
関数型プログラミングのパターンとExpressについての書籍
JavaScript Promiseの本 v2リリース、ES2015+に対応、Async Functionの章を追加 | Web Scratch
efcl.info/2019/10/23/promises-book-v2/
JavaScript Promise本 v2リリース。
サンプルコードをES2015ベースに変更、Async Functionの章の追加、Promise#finally
の解説を追加など
JavaScript: The Definitive Guide, 7th Edition - O'Reilly Media
shop.oreilly.com/product/0636920048633.do
2019年7月発売
OreillyのJavaScript本(通称サイ本)の第7版