microsoft / microsoft/TypeScript

Add `es2026` as valid `target` and `lib`

未关闭
#63,704 2 条评论 6 个 reaction 已指派 1 人 在 GitHub 查看

@DanielRosenwasser 已经在做这个了。

开始于 2026年8月28日。

Committed Domain: lib.d.ts ES Next Suggestion
主要语言
Go
星标
111k
派生
14.3k
平均合并
2 天 4 小时
30 天内合并 PR
132

描述

To quote the spec:

> ECMAScript 2026, the 17th edition, added `Math.sumPrecise` for summing an [iterable](https://tc39.es/ecma262/multipage/control-abstraction-objects.html#sec-iterable-interface) of Numbers of varying magnitude while minimizing precision loss; `Iterator.concat` for sequencing [iterators](https://tc39.es/ecma262/multipage/control-abstraction-objects.html#sec-iterator-interface); `Array.fromAsync` for constructing Arrays from [async iterables](https://tc39.es/ecma262/multipage/control-abstraction-objects.html#sec-asynciterable-interface) and other async sources; `Error.isError` for identifying error objects; methods to `Map.prototype` and `WeakMap.prototype` for providing a default value to use during retrieval when a key is not already present; methods to `Uint8Array` for converting to and from Strings of hexadecimal- and base64-encoded binary data; a parameter to `JSON.parse` revivers to access the matched segment of JSON source; and `JSON.rawJSON` for fine control over `JSON.stringify` output for primitive values.

We need to add the following:

* `Math.sumPrecise`
* `Iterator.concat`
* `JSON.rawJSON`
* An overload(?) for `JSON.stringify`

The following must be moved to an `es2026` lib:

* `Error.isError`
* `Map.prototype.*`
* `getOrInsert`
* `getOrInsertComputed`
* `WeakMap.prototype.*`
* `getOrInsert`
* `getOrInsertComputed`
* `Uint8Array.prototype.*`
* `toBase64`
* `setFromBase64`
* `toHex`
* `setFromHex`
* `Uint8Array.fromHex`
* `Uint8Array.fromBase64`
* `Array.fromAsync`

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。