JSer.info #498 - UIフレームワークであるSvelteがTypeScriptをサポートしました。
記事ではSvelteのテンプレート内でTypeScriptを使う方法とエディタでのLSP(Language Server Protocol)を使ったコード補完の方法について紹介しています。
Chrome 85 betaがリリースされました。
- Chromium Blog: Chrome 85: Upload Streaming, Human Interface Devices, Custom Properties with Inheritance and More
- Chrome Platform Status
- V8 release v8.5 · V8
Origin TrialとしてFetch upload streaming、WebHID、Declarative Shadow DOM、Portalsがサポートされています。
また、Mixed Contentの画像に関するAutoupgradeの追加、AVIFフォーマットのサポート、CSSのcontent-visibility
、counter-set
プロパティのサポートなども追加されています。
非推奨、破壊的な変更としては、color-scheme
プロパティのonly
を削除、Referrer Policyのデフォルト値をstrict-origin-when-cross-origin
に変更。CookieでSecure
属性がないSameSite=None
のサポート終了などが含まれています。
Chrome 85に含まれるJavaScriptのアップデートはV8のブログの方にまとまっています。
2020-07のTC39 ミーティングでStage 4となったPromise.any
とAggregateError
、Logical assignment operatorsが実装されています。
また、同様にStage 4でES2021に入る予定のString#replaceAll
も実装されています。
その他には、WebAssemblyでMulti-valueのサポート、BigIntsの値を渡せるようになるといった変更も含まれています。
WIC Speed Hackathon Onlineというウェブアプリケーションのパフォーマンス改善を競うハッカソンの課題と解説が公開されています。
解説では、パフォーマンスのポイントやどのように改善していくのかについて解説しています。
ビルド(主にフロントエンド)、フロントエンド、バックエンドの項目に大きく分けて解説されています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Node v14.6.0 (Current) | Node.js
nodejs.org/en/blog/release/v14.6.0/
Node.js 14.6.0リリース。
imports
fieldの実装、vm
にmicrotaskMode
オプションの追加、fs
のfile descriptorにtrackUnmanagedFds
オプションの追加など
Svelte <3 TypeScript
svelte.dev/blog/svelte-and-typescript
SvelteのTypeScriptサポート。
テンプレートにTypeScriptで書けるようになり、型チェックが行える。
エディタはLSPを使ったサポートを実装している
wixplosives/pleb: a casual publisher
monorepoのnpm publishで行うツール。
gitコミットハッシュベースのcanaryリリースを行うこともできる
ECMAScript proposal updates @ 2020-07 | ECMAScript Daily
ecmascript-daily.github.io/ecmascript/2020/07/26/ecmascript-proposal-update
2020-07のTC39ミーティングでステータスが変わったECMAScript Proposalのまとめ。
Promise.any
、WeakRefs、Logical Assignment Operators、Numeric separatorsがStage 4となりES2021に入る予定
V8 release v8.5 · V8
V8 8.5リリース。
Stage 4のPromise.any
とAggregateError
、String#replaceAll、Logical assignment operatorsの実装。
WebAssemblyでMulti-valueのサポート、BigIntsの値を渡せるようになるなど
Chromium Blog: Chrome 85: Upload Streaming, Human Interface Devices, Custom Properties with Inheritance and More
blog.chromium.org/2020/07/chrome-85-upload-streaming-human.html
Chrome 85 beta リリース。
Origin TrialとしてFetch upload streaming、WebHID、Declarative Shadow DOM、Portalsのサポート。
Mixed Contentの画像に関するAutoupgradeの追加、AVIFフォーマットのサポート、CSSのcontent-visibility
、counter-set
プロパティのサポート。
color-scheme
プロパティのonly
を削除、Referrer Policyのデフォルト値をstrict-origin-when-cross-origin
に変更。CookieでSecure
属性がないSameSite=None
のサポート終了など
Release 3.11.0 · avajs/ava
github.com/avajs/ava/releases/tag/v3.11.0
AVA 3.11.0リリース。
t.like()
assertionの追加。
Wiki.js
Node.js製のWikiエンジン
アーティクル
HTML5 Worker Test
WebWorkerで利用できるAPIについてブラウザごとにまとめた対応表
TypeScript Contribution Diary: // @ts-expect-error | Goldblog
blog.joshuakgoldberg.com/ts-expect-error/
@ts-expect-error
をどのように実装したのかについて
Web Speed Hackathon Online 出題のねらいと解説 · CyberAgentHack/web-speed-hackathon-online Wiki
ウェブアプリケーションのパフォーマンス改善ハッカソンの解説。
フロントエンド、バックエンド、ビルド処理での最適化についてハッカソンのアプリを題材に解説している
A Mental Model to think in Typescript
leandrotk.github.io/tk/2020/07/a-mental-model-to-think-in-typescript/
TypeScriptの型システム、コンパイルエラーとランタイムエラーの違いについてなどについて解説している記事
サイト、サービス、ドキュメント
Create App - your tool for starting a new webpack or Parcel project
webpackやparcelの設定ジェネレータ。
使いたいJavaScriptやCSSのフレームワーク、Lintツールなどを選択するとそれを導入できるwebpackやparcelの設定ファイルを出力してくれるツール
ソフトウェア、ツール、ライブラリ関係
returntocorp/semgrep: Lightweight static analysis for many languages. Find bug variants with patterns that look like source code.
github.com/returntocorp/semgrep
ASTベースのコード検索ツール。
Python/JavaScript/Go/Java/C/JSONなどに対してパターンマッチでの検索ができる
hugojosefson/minimum-node-version: Figures out the lowest version of Node.js that satisfies engines.node in package.json.
github.com/hugojosefson/minimum-node-version
依存してるライブラリのengines
フィールドを満たす最小のNode.jsバージョンを検索するツール