JSer.info #534 - TypeScript 4.3 Betaがリリースされました。
今までは、getterとsetterは同じ型であることが強制されていましたが、setterにgetterより幅広い型を指定できるようになっています。また、継承したメソッドをoverrideしていることを意味するoverride
キーワードが追加され、--noImplicitOverride
でチェックできるようになっています。
その他には、Template String Typeの改善、一部不完全だったPrivate Class Elements(fields/methods/accessors)のサポートが改善されています。
Private Class ElementsのサポートはRuntimeの変更も含まれるため、これに合わせてruntimeのライブラリであるtslib 2.2.0がリリースされています。
また、Promiseオブジェクトを条件式に渡してしまうミスのチェックができるようになり、static
Index Signaturesのサポートも追加されています。
HLS(HTTP Live Streaming)を扱うライブラリであるhls.js 1.0.0がリリースされました。
1.0.0では低遅延の動画を扱うApple Low-Latency HLSがサポートされています。
また、fmp4 streamのサポート改善、コードベースをTypeScriptに書きなおしなども含まれています。
破壊的な変更としてbackBufferLength
のデフォルト値の変更、イベントのシグネチャの変更なども含まれています。
リリースに合わせてマイグレーションガイドも公開されています。
Storybook 6.2がリリースされました。
Storybook 6.2ではVue 3とSvelteのサポートが追加されています。
Yarn 2のPnP/npm 7/ESMのサポート、webpack 5をopt-inでサポートしています。
また、Controls addonが改善され、JSON editorやcolor pickerなどの機能が追加されています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Node v12.22.0 (LTS) | Node.js
nodejs.org/en/blog/release/v12.22.0/
Node.js 12.22.0リリース。
--http-parser=legacy
を非推奨化、ES ModulesをStable化、NAPI_VERSION
を8
に変更。
v8.takeCoverage()
、v8.stopCoverage()
、worker.performance.eventLoopUtilization()
の追加など
Release v6.0.0 · typicode/husky
github.com/typicode/husky/releases/tag/v6.0.0
husky 6.0.0リリース。
5.0.0はParity Publicライセンスとしてリリースされ、30日経過したので6.0.0ではMITライセンスとなった。
Node v15.13.0 (Current) | Node.js
nodejs.org/en/blog/release/v15.13.0/
Node.js 15.13.0リリース。
ウェブとの互換性を目的としてbuffer
モジュールにbtoa
とatob
メソッドを実装など
Announcing TypeScript 4.3 Beta | TypeScript
devblogs.microsoft.com/typescript/announcing-typescript-4-3-beta/
TypeScript 4.3 Betaリリース。
setterにgetterとは異なる型を指定できるように、override
キーワードの追加、Template String Typeの改善。
Private Class Elements(fields/methods/accessors)のサポート、Promiseオブジェクトを条件式に渡してしまうミスのチェックを追加。
その他には、static
Index Signatureのサポートなど
Release v5.30.0 · webpack/webpack
github.com/webpack/webpack/releases/tag/v5.30.0
webpack 5.30.0リリース。
cache.type: "memory"
でwatch中に[contenthash]
などを使うと、ファイル変更ごとにゴミがメモリに貯まる問題の改善。
cache.maxGenerations
とcache.maxAge
で不要となったキャッシュを削除できるように
- SourceMapDevTool plugin leaks memory in watch mode · Issue #12947 · webpack/webpack
- memory usage improvements, add GC support for memory cache, persistent cache only mode by sokra · Pull Request #12990 · webpack/webpack
Release v1.0.0 · video-dev/hls.js
github.com/video-dev/hls.js/releases/tag/v1.0.0
HLS.js 1.0.0リリース。
Apple Low-Latency HLSのサポート、fmp4 streamのサポート改善、コードベースをTypeScriptに書きなおしなど。
破壊的な変更としてbackBufferLength
のデフォルト値の変更、イベントのシグネチャの変更など
Proposal for dropping ie11 support in Vue 3 · Discussion #296 · vuejs/rfcs
github.com/vuejs/rfcs/discussions/296
Vue 3ではIE 11のサポートをしないというRFC。
代わりにVue 2.xへ3.xの機能をバックポートすることに注力するというProposal。
Release v2.0.0 · js-reporters/js-reporters
github.com/js-reporters/js-reporters/releases/tag/v2.0.0
JavaScriptのテストフレームワークのレポートの共通インターフェイスを定義する目的のjs-reporters 2.0.0リリース。
SummaryReporter
の実装、Proposalの更新など
Storybook 6.2
storybook.js.org/blog/storybook-6-2/
Storybook 6.2リリース。
Vue 3とSvelteサポート、Yarn 2のPnp/npm 7/ESMのサポート、webpack 5をopt-inでサポート。
Controls addonにJSON editorやcolor pickerの追加など
アーティクル
React Hooksのみでドラッグ&ドロップの並び替えを実装する
zenn.dev/uttk/articles/b90454baec68c8
Reactで要素の並び替えをD&Dする実装についての記事。
マウスイベントとCSSを使ったD&D、要素の重なりの判定、要素の入れ替えのアニメーションなどを実装しながら見ていく記事
特定の端末のみで起こる WebView プチフリーズを Tracing を利用して追った話 - SmartNews Engineering Blog
developer.smartnews.com/blog/2021/03/chrome_tracing/
WebViewのパフォーマンスデバッグについての記事。
ChromeのRemote Inspectを使ってデバイスに接続し、プロファイルやTracingを使ったボトルネックの調査方法について
サイト、サービス、ドキュメント
Organize Kubernetes manifests in JavaScript | Kosko
kubernetesのmanifestをJavaScript/TypeScriptで書けるツール。
ソフトウェア、ツール、ライブラリ関係
mistlog/typetype: A programming language designed for typescript type generation
TypeScriptの型書くDSLのパーサとジェネレーター。
Conditional Typeを表現するif
、Mapped Typesを表現するfor
などを使って型定義を書ける。
パーサはreact-pegを使い、パースしたASTからBabelを通してTSのコードを出力している
egoist/esbuild-register: Transpile JSX, TypeScript and esnext features on the fly with esbuild
github.com/egoist/esbuild-register
esbuildを使ったruntimeでの変換ツール。
@babel/registerやts-node/registerのように--require
に指定して変換処理をする
FicusJS - a set of lightweight functions for developing applications using web components
Web Componentsでアプリケーションを開発する目的のライブラリセット。
コンポーネントの作成、uhtml
/lit-html
/htm
などを使ったレンダリング、Storeでのステート管理などの機能を提供する
書籍関係
Accessible Vue – The Why and How of building inclusive apps in Vue.js
ウェブアクセシビリティとVueでの実装についての書籍