Fork me on GitHub

2023-07-05のJS: TypeScript 5.2 Beta、ECMAScript 2023、Firefox 115

Edit on GitHub 編集履歴を見る

JSer.info #650 - TypeScript 5.2 Betaがリリースされました。

Stage 3 ProposalのExplicit Resource Management(using宣言)のサポート、同じくStage 3のDecorator Metadataのサポートされています。
また、Tupleにおけるラベルありなしの組み合わせの制限を削除、配列のUnion型の扱いの改善なども含まれています。


ECMAScript 2023がecma GAで承認されたため、正式にリリースされました。

主な変更点は次のとおりです。

#!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]
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 }
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 Sponsors

JSer.info SponsorsGitHub SponsorsとしてJSer.infoを支援してくれている方々です。


ヘッドライン


Release v8.0.0-alpha.0 · pixijs/pixijs

github.com/pixijs/pixijs/releases/tag/v8.0.0-alpha.0

JavaScript game library ReleaseNote

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 ReleaseNote

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 ReleaseNote

TypeScript 5.2 Betaリリース。
Stage 3 ProposalのExplicit Resource Management(using宣言)のサポート、Decorator Metadataのサポート。
Tupleにおけるラベルありなしの組み合わせの制限を削除、配列のUnion型の扱いの改善など


Ecma International approves new standards - Ecma International

www.ecma-international.org/news/ecma-international-approves-new-standards-at-the-125th-general-assembly-27-june-2023/

ECMAScript ReleaseNote

ECMAScript 2023がecma GAで承認されたため、正式にリリース。


Release v4.0.0 · lquixada/cross-fetch

github.com/lquixada/cross-fetch/releases/tag/v4.0.0

JavaScript browser node.js library ReleaseNote

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

pnpm v8.6.6リリース。
パフォーマンスの改善など


Release v29.6.0 · jestjs/jest

github.com/jestjs/jest/releases/tag/v29.6.0

jest JavaScript testing library

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

webpack ReleaseNote JavaScript bundler

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 ReleaseNote

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()のサポートなど。


アーティクル


CommonJS is not going away | Bun Blog

bun.sh/blog/commonjs-is-not-going-away

Bun CommonJS article ECMAScript module

BunがCommonJSをサポートするのはなぜかについて。
CommonJSとECMAScript Moduleを比べると同期と非同期の違いがあるため起動時のロード時間が異なることや、すでに多くのCommonJSモジュールがあるため


Useful DevTools Tips and Tricks — Smashing Magazine

www.smashingmagazine.com/2023/06/popular-devtools-tips/

debug browser article

ブラウザの開発者ツールのTipsをまとめた記事


Architecture of an early stage SAAS | Feelback Blog

www.feelback.dev/blog/feelback-saas-launch-architecture/

webservice article node.js

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

github.com/giuseppelt/httpc

TypeScript JavaScript library server

TypeScriptで書いたサーバの関数をクライアントから同じように呼び出せるRPCツールキット。
サーバで関数をexportしたコードからクライアントコードを生成する仕組みによって、サーバの関数と同じ関数と引数でAPIコールができる。


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