JSer.info #540 - 現在のLTSの最新版であるNode v14.17.0がリリースされました。
Node v14.17.0では、Node.js 15.x で追加された機能やモジュールがバックポートされています。
診断情報を扱うdiagnostics_channelモジュールの追加、UUID v4を生成するcrypto.randomUUID()
が追加されています。
crypto.randomUUID()
はWHATWGで定義されている仕様で、Chromeにも実装が追加されています。
また、--experimental-abortcontroller
の実験フラグ付きですが、AbortController
とAbortSignal
の対応が次のメソッドに追加されています。
child_process.exec
child_process.execFile
child_process.fork
child_process.spawn
dgram.createSocket
events.on
events.once
fs.readFile
fs.watch
fs.writeFile
http.request
https.request
http2Session.request
- Promise版の
setImmediate
とsetTimeout
TypeScript 4.3 RC(リリース候補)がリリースされました。
基本的な変更内容はBetaのものを含んでいます。
RCで新たに追加されたものとして、--incremental
と--watch
を使った初回のビルドが遅い問題が解消されています。
- Do not calculate signatures if old state is not used by sheetalkamat · Pull Request #43314 · microsoft/TypeScript
- Make initial incremental/watch builds as fast normal builds by sokra · Pull Request #42960 · microsoft/TypeScript
また、--incremental
フラグなどを使った際に生成される.tsbuildinfo
のファイルサイズが改善されています。
6ヶ月ごとにメジャーアップデートされるAngularの最新版であるAngular 12がリリースされました。
- Angular v12 is now available. It’s that time again, friends — we’re… | by Mark Techson | May, 2021 | Angular Blog
- Release 12.0.0 · angular/angular
View Engineは非推奨となりIvyがデフォルトへと移行、Legacy i18n Message IDsからの移行ツールが公開されています。
以前、開発終了を告知されていたProtractorについても、Angular 12からProtractorはデフォルトでは新規プロジェクトには含めないようになっています。
また、Angular 12ではIE 11のサポートが非推奨となり警告が出るようになっています。
IE 11のサポートはAngular 13で削除される予定です。
そのため、AngularでのIEサポートはAngular 12が最後となり、Angular 12のLTS期限である2022年11月で完全にIEサポートが終了する予定となっています。
その他には、インラインSassのサポートなど。 TypeScript 4.2へのアップデート、webpack 5の正式サポートなども含まれています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
What do you not like about DefinitelyTyped as a user and contributor? · Issue #44030 · microsoft/TypeScript
github.com/microsoft/TypeScript/issues/44030
DefinitelyTypedへの意見を募集しているIssue
Node v14.17.0 (LTS) | Node.js
nodejs.org/en/blog/release/v14.17.0/
Node v14.17.0リリース。
試験的にdiagnostics_channel
を追加、crypto.randomUUID()
の追加。
また、Node.js 15で実装されていたコアモジュールにおけるAbortController
とAbortSignal
の対応をバックポートなど
Deno 1.10 Release Notes | Deno Blog
Deno 1.10リリース。
deno test
がisolateした状態でparallelにテストを実行、permissions
の指定に対応、出力の変更、コメントのコードの型チェックに対応など。
Worker.postMessage
がstructured clone algorithmに対応、localStorageなどのWeb Storage APIに対応。
WebAssembly.Memory
がshared
オプションに対応、--import-map
へリモートURLを指定できるようになるなど
Announcing TypeScript 4.3 RC | TypeScript
devblogs.microsoft.com/typescript/announcing-typescript-4-3-rc/
TypeScript 4.3 RCリリース。
setterにgetterとは異なる型を指定できるように、override
キーワードの追加、Template String Typeの改善。
Private Class Elements(fields/methods/accessors)のサポート、static
Index Signatureのサポート。
ConstructorParameters
がAbstract classをサポート、Genericsにおける型の絞り込みの改善、Promiseオブジェクトを条件式に渡してしまうミスのチェックを追加。
その他には、.tsbuildinfo
のサイズ改善、watch時の初回ビルドの改善など。
Angular v12 is now available. It’s that time again, friends — we’re… | by Mark Techson | May, 2021 | Angular Blog
blog.angular.io/angular-v12-is-now-available-32ed51fbfd49
Angular 12リリース。
View Engineは非推奨となりIvyがデフォルトへと移行、Legacy i18n Message IDsからの移行ツール、インラインSassのサポートなど。
TypeScript 4.2へのアップデート、webpack 5の正式サポート、IE 11サポートの非推奨化など
V8 release v9.1 · V8
V8 v9.1リリース。
Top-level awaitのデフォルトサポート、#foo in obj
のPrivate brand checksのサポートなど
Announcing Docusaurus 2 Beta | Docusaurus
docusaurus.io/blog/2021/05/12/announcing-docusaurus-two-beta
Docusaurus 2 Betaリリース
アーティクル
Writing A Type Safe Store | Lachlan Miller
lachlan-miller.me/articles/advanced-type-a-type-safe-store-for-vue-3
Vueのステート管理ライブラリであるPiniaのType SafeなStoreの型定義の解説
Next Gen CSS: @container | CSS-Tricks
css-tricks.com/next-gen-css-container/
@container
についての記事。
親要素にはcontain
プロパティを指定する必要がある点、@container
でのレスポンシブデザインについて
Cross-browser tracking vulnerablity in Tor, Safari, Chrome and Firefox - FingerprintJS
fingerprintjs.com/blog/external-protocol-flooding/
ブラウザからURLスキームでアプリを開くときの挙動を利用してフィンガープリントできるという話。
未知のプロトコルを開く際にはダイアログでの確認やユーザインタラクションが必要となっている。
しかし、それぞれのブラウザで既知のプロトコルやabout:blank
を使ったSOP(Same Origin Policy)での抜け道で、どのアプリがインストールされているかを判定できるという話
DocBaseのフロントエンド改修をどのように進めたか – KRAY Inc.
kray.jp/blog/how-to-docbase-renewal/
Backbone + Marionette + CoffeeScriptで書かれていたウェブサービスをReact + TypeScriptに一括で移行した話。
E2Eを使ったテスト、構造を維持しながらReact化、コンポーネントへの分離などの移行の方法についてなど
Babel is used by millions, so why are we running out of money? · Babel
babeljs.io/blog/2021/05/10/funding-update.html
Babelの資金の状態、ロードマップ、寄付について。
styled-componentsの採用と既存資産を捨てた理由 - Cybozu Inside Out | サイボウズエンジニアのブログ
blog.cybozu.io/entry/2020/06/25/105457
Sassで書かれていたスタイルをCSS in JSに移行する話。
styled-componentsを使って書く場合にスタイリングとJSXを分離するためのルール、Sassの変数を抽出して移行するスクリプトについてなど
ソフトウェア、ツール、ライブラリ関係
coderaiser/simport: Import like with require but using async
ESMなNode.jsでrequire
、__filename
、__dirname
などのshim機能を提供するライブラリ