Fork me on GitHub

2021-04-06のJS: TypeScript 4.3 Beta、hls.js v1.0.0(Apple Low-Latency HLS)、Storybook 6.2

Edit on GitHub 編集履歴を見る

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などの機能が追加されています。


ヘッドライン


Node v12.22.0 (LTS) | Node.js

nodejs.org/en/blog/release/v12.22.0/

node.js ReleaseNote

Node.js 12.22.0リリース。
--http-parser=legacyを非推奨化、ES ModulesをStable化、NAPI_VERSION8に変更。
v8.takeCoverage()v8.stopCoverage()worker.performance.eventLoopUtilization()の追加など


Release v6.0.0 · typicode/husky

github.com/typicode/husky/releases/tag/v6.0.0

JavaScript Tools license ReleaseNote

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 ReleaseNote

Node.js 15.13.0リリース。
ウェブとの互換性を目的としてbufferモジュールにbtoaatobメソッドを実装など


Announcing TypeScript 4.3 Beta | TypeScript

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

TypeScript ReleaseNote

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 JavaScript ReleaseNote

webpack 5.30.0リリース。
cache.type: "memory"でwatch中に[contenthash]などを使うと、ファイル変更ごとにゴミがメモリに貯まる問題の改善。
cache.maxGenerationscache.maxAgeで不要となったキャッシュを削除できるように


Release v1.0.0 · video-dev/hls.js

github.com/video-dev/hls.js/releases/tag/v1.0.0

JavaScript HLS library ReleaseNote

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 IE proposal

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 test library ReleaseNote spec

JavaScriptのテストフレームワークのレポートの共通インターフェイスを定義する目的のjs-reporters 2.0.0リリース。
SummaryReporterの実装、Proposalの更新など


Storybook 6.2

storybook.js.org/blog/storybook-6-2/

JavaScript debug Tools ReleaseNote

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 article tutorial

Reactで要素の並び替えをD&Dする実装についての記事。
マウスイベントとCSSを使ったD&D、要素の重なりの判定、要素の入れ替えのアニメーションなどを実装しながら見ていく記事


特定の端末のみで起こる WebView プチフリーズを Tracing を利用して追った話 - SmartNews Engineering Blog

developer.smartnews.com/blog/2021/03/chrome_tracing/

Chrome webview performance article

WebViewのパフォーマンスデバッグについての記事。
ChromeのRemote Inspectを使ってデバイスに接続し、プロファイルやTracingを使ったボトルネックの調査方法について


サイト、サービス、ドキュメント


Organize Kubernetes manifests in JavaScript | Kosko

kosko.dev/

kubernetes JavaScript Tools

kubernetesのmanifestをJavaScript/TypeScriptで書けるツール。


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


mistlog/typetype: A programming language designed for typescript type generation

github.com/mistlog/typetype

TypeScript library

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

JavaScript Tools node.js

esbuildを使ったruntimeでの変換ツール。
@babel/registerやts-node/registerのように--requireに指定して変換処理をする


FicusJS - a set of lightweight functions for developing applications using web components

docs.ficusjs.org/

WebComponents library

Web Componentsでアプリケーションを開発する目的のライブラリセット。
コンポーネントの作成、uhtml/lit-html/htmなどを使ったレンダリング、Storeでのステート管理などの機能を提供する


書籍関係


Accessible Vue – The Why and How of building inclusive apps in Vue.js

accessible-vue.com/

Vue accessibility book

ウェブアクセシビリティとVueでの実装についての書籍


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