JSer.info #650 - TypeScript 5.2 Betaがリリースされました。
Stage 3 ProposalのExplicit Resource Management(using
宣言)のサポート、同じくStage 3のDecorator Metadataのサポートされています。
また、Tupleにおけるラベルありなしの組み合わせの制限を削除、配列のUnion型の扱いの改善なども含まれています。
ECMAScript 2023がecma GAで承認されたため、正式にリリースされました。
主な変更点は次のとおりです。
- Proposal: Hashbang Grammar
- 対応ブラウザ: モダンブラウザ全部
#!test
// #! as single line comment
- Proposal: Change Array by copy
- 対応ブラウザ: モダンブラウザ全部
- Firefox 115でサポート
const sequence = [1, 2, 3];
sequence.toReversed(); // => [3, 2, 1]
sequence; // => [1, 2, 3]
const outOfOrder = new Uint8Array([3, 1, 2]);
outOfOrder.toSorted(); // => Uint8Array [1, 2, 3]
outOfOrder; // => Uint8Array [3, 1, 2]
const correctionNeeded = [1, 1, 3];
correctionNeeded.with(1, 2); // => [1, 2, 3]
correctionNeeded; // => [1, 1, 3]
- Proposal: Array.prototype.findLast and Array.prototype.findLastIndex
- 対応ブラウザ: モダンブラウザ全部
const array = [{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }];
array.findLastIndex(n => n.value % 2 === 1); // => 2
array.findLast(n => n.value % 2 === 1); // => { value: 3 }
- Proposal: Symbols as WeakMap keys
- 対応ブラウザ: Firefox以外
const map = new WeakMap();
const s = Symbol("desc");
map.set(s, {})
map.get(s); // => {}
Firefox 115がリリースされました。
macOS 10.12/10.13/10.14、Windows7/8/8.1がサポートされる最後のバージョンとなります
contenteditable
におけるノード分割と結合の挙動を他のブラウザと揃えるように変更。
Array.fromAsync()
のサポート、ES2023のArray.toReversed()
/.toSorted()
/.toSpliced()
/.with()
のサポート。
Response.json()
、URL.canParse()
のサポートなどが追加されています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Release v8.0.0-alpha.0 · pixijs/pixijs
github.com/pixijs/pixijs/releases/tag/v8.0.0-alpha.0
PixiJS v8.0.0-alpha.0リリース。
WebGPUレンダラーとWebGLレンダラーの書き直し、変更されたものだけ更新するリアクティブレンダラー、高度なBlendモードをの追加など。
初期化方法を非同期に変更、Graphics APIの刷新など
ESLint v8.44.0 released - ESLint - Pluggable JavaScript Linter
eslint.org/blog/2023/06/eslint-v8.44.0-released/
ESLint v8.44.0リリース。
eslint.config.js
でPromiseを受け入れることで設定ファイル(CJS)からESMをロードできるように、espreeがRegExpのv
フラグをサポート。
context.parserServices
プロパティを非推奨化など
Announcing TypeScript 5.2 Beta - TypeScript
devblogs.microsoft.com/typescript/announcing-typescript-5-2-beta/
TypeScript 5.2 Betaリリース。
Stage 3 ProposalのExplicit Resource Management(using
宣言)のサポート、Decorator Metadataのサポート。
Tupleにおけるラベルありなしの組み合わせの制限を削除、配列のUnion型の扱いの改善など
Ecma International approves new standards - Ecma International
ECMAScript 2023がecma GAで承認されたため、正式にリリース。
Release v4.0.0 · lquixada/cross-fetch
github.com/lquixada/cross-fetch/releases/tag/v4.0.0
cross-fetch 4.0.0リリース。
Node.js 10と12のサポート終了、Node.js 18と20のサポート、Service WorkerとCloudflare Workersのサポートなど
Release v8.6.6 · pnpm/pnpm
github.com/pnpm/pnpm/releases/tag/v8.6.6
pnpm v8.6.6リリース。
パフォーマンスの改善など
Release v29.6.0 · jestjs/jest
github.com/jestjs/jest/releases/tag/v29.6.0
Jest 29.6.0リリース。
Current Testでのsnapshotテストのサポート、非同期でエラーがthrowされた場合の問題をrejectionHandled
イベントを使うことで修正など
Release 0.2.5 · web-infra-dev/rspack
github.com/web-infra-dev/rspack/releases/tag/0.2.5
rspack 0.2.5リリース。
Web Workerのサポート、entryのfilename
オプションのサポート、HMRでCJSとESMが混在している場合にwarningを出すようになるなど
Firefox 115.0, See All New Features, Updates and Fixes
www.mozilla.org/en-US/firefox/115.0/releasenotes/
Firefox 115リリース。
macOS 10.12/10.13/10.14、Windows7/8/8.1がサポートされる最後のバージョンとなる。
contenteditable
におけるノード分割と結合の挙動を他のブラウザと揃えるように変更。
Array.fromAsync()
のサポート、ES2023のArray.toReversed()
/.toSorted()
/.toSpliced()
/.with()
のサポート。
Response.json()
、URL.canParse()
のサポートなど。
- Firefox users on macOS 10.12, 10.13 and 10.14 moving to Extended Support Release | Firefox ヘルプ
- Firefox users on Windows 7, 8 and 8.1 moving to Extended Support Release | Firefox ヘルプ
- Firefox 115 for developers - Mozilla | MDN
- Intent to Ship: Compatible join and split node direction in HTML editor
アーティクル
CommonJS is not going away | Bun Blog
bun.sh/blog/commonjs-is-not-going-away
BunがCommonJSをサポートするのはなぜかについて。
CommonJSとECMAScript Moduleを比べると同期と非同期の違いがあるため起動時のロード時間が異なることや、すでに多くのCommonJSモジュールがあるため
Useful DevTools Tips and Tricks — Smashing Magazine
www.smashingmagazine.com/2023/06/popular-devtools-tips/
ブラウザの開発者ツールのTipsをまとめた記事
Architecture of an early stage SAAS | Feelback Blog
www.feelback.dev/blog/feelback-saas-launch-architecture/
fly.io と Node.jsを使ったSaaSのアーキテクチャ解説。
fly.ioを使った低コストなインフラの構成。
クライアントとサーバどちらもNode.jsで、型付きRPCとしてhttpcを利用。
管理画面はCloudflare Pagesにありhttpcを使って通信、ホームページやドキュメントにはAstroを利用している。
また、利用している外部サービスやmonorepoの構造についてなど
ソフトウェア、ツール、ライブラリ関係
giuseppelt/httpc: Build function-based API with minimal code and end-to-end type safety
TypeScriptで書いたサーバの関数をクライアントから同じように呼び出せるRPCツールキット。
サーバで関数をexportしたコードからクライアントコードを生成する仕組みによって、サーバの関数と同じ関数と引数でAPIコールができる。