2018-11-26 19:21:01 +01:00
|
|
|
## Proposed language features
|
2017-06-12 23:59:14 +02:00
|
|
|
#
|
|
|
|
# This project accepts tests for language proposals that have reached stage 3
|
|
|
|
# in TC39's standardization process. Those tests should be annotated with a
|
|
|
|
# dedicated feature flag so that consumers may more easily omit them as
|
|
|
|
# necessary.
|
|
|
|
#
|
|
|
|
# https://github.com/tc39/process-document
|
|
|
|
|
2019-06-12 21:00:18 +02:00
|
|
|
# Missing checks in Proxy internal methods
|
|
|
|
# https://github.com/tc39/ecma262/pull/666
|
|
|
|
proxy-missing-checks
|
|
|
|
|
2019-04-17 20:17:54 +02:00
|
|
|
# Promise.allSettled
|
|
|
|
# https://github.com/tc39/proposal-promise-allSettled
|
|
|
|
Promise.allSettled
|
|
|
|
|
2019-02-05 18:46:27 +01:00
|
|
|
# Hashbang Grammar
|
|
|
|
# https://github.com/tc39/proposal-hashbang
|
|
|
|
hashbang
|
|
|
|
|
2018-08-11 06:49:01 +02:00
|
|
|
# Object.fromEntries
|
|
|
|
# https://github.com/tc39/proposal-object-from-entries
|
|
|
|
Object.fromEntries
|
|
|
|
|
2017-08-23 20:34:25 +02:00
|
|
|
# BigInt
|
|
|
|
# https://github.com/tc39/proposal-bigint
|
|
|
|
BigInt
|
|
|
|
|
2017-08-22 22:52:32 +02:00
|
|
|
# Class Fields
|
|
|
|
# https://github.com/tc39/proposal-class-fields
|
2017-11-28 18:48:02 +01:00
|
|
|
class-fields-public
|
|
|
|
class-fields-private
|
2017-08-22 22:52:32 +02:00
|
|
|
|
2018-11-26 19:21:01 +01:00
|
|
|
# Class Static Fields & Methods
|
2018-07-30 23:20:37 +02:00
|
|
|
# https://github.com/tc39/proposal-static-class-features/
|
|
|
|
class-static-fields-public
|
|
|
|
class-static-fields-private
|
|
|
|
class-static-methods-private
|
|
|
|
|
2018-11-26 19:21:01 +01:00
|
|
|
# Class Private methods and getter/setters
|
2018-08-30 03:15:52 +02:00
|
|
|
# https://github.com/tc39/proposal-private-methods
|
|
|
|
class-methods-private
|
|
|
|
|
2018-06-05 20:17:20 +02:00
|
|
|
# Dynamic Import
|
|
|
|
# https://github.com/tc39/proposal-dynamic-import
|
|
|
|
dynamic-import
|
|
|
|
|
2018-05-22 21:47:50 +02:00
|
|
|
# Array.prototype.flat and Array.prototype.flatMap
|
2018-01-05 20:55:19 +01:00
|
|
|
# https://github.com/tc39/proposal-flatMap
|
2018-05-22 21:47:50 +02:00
|
|
|
Array.prototype.flat
|
2018-01-05 20:55:19 +01:00
|
|
|
Array.prototype.flatMap
|
|
|
|
|
2017-10-02 16:41:34 +02:00
|
|
|
# String Trimming
|
|
|
|
# https://github.com/tc39/proposal-string-left-right-trim
|
|
|
|
# Includes all tests for:
|
2018-11-26 19:21:01 +01:00
|
|
|
# String.prototype.{trimStart, trimEnd, trimLeft, trimRight}
|
2017-10-02 16:41:34 +02:00
|
|
|
string-trimming
|
2018-01-25 20:37:48 +01:00
|
|
|
String.prototype.trimEnd
|
|
|
|
String.prototype.trimStart
|
2017-10-02 16:41:34 +02:00
|
|
|
|
2017-09-28 16:52:08 +02:00
|
|
|
# Numeric Separator Literal
|
|
|
|
# https://github.com/tc39/proposal-numeric-separator
|
|
|
|
numeric-separator-literal
|
|
|
|
|
2018-03-18 04:48:31 +01:00
|
|
|
# String.prototype.matchAll
|
|
|
|
# https://github.com/tc39/proposal-string-matchall
|
|
|
|
String.prototype.matchAll
|
|
|
|
Symbol.matchAll
|
|
|
|
|
2018-06-07 15:39:02 +02:00
|
|
|
# Symbol.prototype.description
|
|
|
|
# https://github.com/tc39/proposal-symbol-description
|
|
|
|
Symbol.prototype.description
|
|
|
|
|
2018-09-24 08:46:53 +02:00
|
|
|
# Well-formed JSON.stringify
|
|
|
|
# https://github.com/tc39/proposal-well-formed-stringify
|
|
|
|
well-formed-json-stringify
|
|
|
|
|
2018-07-06 12:03:39 +02:00
|
|
|
# Intl.ListFormat
|
|
|
|
# https://github.com/tc39/proposal-intl-list-format
|
|
|
|
Intl.ListFormat
|
|
|
|
|
2018-04-27 09:20:45 +02:00
|
|
|
# Intl.Locale
|
|
|
|
# https://github.com/tc39/proposal-intl-locale
|
|
|
|
Intl.Locale
|
|
|
|
|
2021-05-19 04:40:08 +02:00
|
|
|
# Intl.Locale Info
|
|
|
|
# https://github.com/tc39/proposal-intl-locale-info
|
|
|
|
Intl.Locale-info
|
|
|
|
|
2018-06-26 20:02:29 +02:00
|
|
|
# Intl.RelativeTimeFormat
|
|
|
|
# https://github.com/tc39/proposal-intl-relative-time
|
|
|
|
Intl.RelativeTimeFormat
|
|
|
|
|
2018-07-06 12:22:42 +02:00
|
|
|
# Intl.Segmenter
|
|
|
|
# https://github.com/tc39/proposal-intl-segmenter
|
|
|
|
Intl.Segmenter
|
|
|
|
|
2018-08-31 11:52:10 +02:00
|
|
|
# Intl.NumberFormat unified proposal
|
|
|
|
# https://github.com/sffc/proposal-unified-intl-numberformat
|
|
|
|
Intl.NumberFormat-unified
|
|
|
|
|
2019-04-10 17:09:40 +02:00
|
|
|
# Intl.DateTimeFormat: dateStyle and timeStyle options
|
|
|
|
# https://github.com/tc39/proposal-intl-datetime-style
|
|
|
|
Intl.DateTimeFormat-datetimestyle
|
|
|
|
|
2019-05-01 21:20:29 +02:00
|
|
|
# Intl.DateTimeFormat: formatRange and formatRangeToParts functions
|
|
|
|
# https://github.com/tc39/proposal-intl-DateTimeFormat-formatRange
|
|
|
|
Intl.DateTimeFormat-formatRange
|
|
|
|
|
2019-06-12 17:55:53 +02:00
|
|
|
# Intl.DateTimeFormat: add 'dayPeriod' option
|
|
|
|
# https://github.com/tc39/ecma402/pull/346
|
|
|
|
Intl.DateTimeFormat-dayPeriod
|
|
|
|
|
|
|
|
# Intl.DateTimeFormat: add 'quarter' option
|
|
|
|
# https://github.com/tc39/ecma402/pull/346
|
|
|
|
Intl.DateTimeFormat-quarter
|
|
|
|
|
|
|
|
# Intl.DateTimeFormat: add 'fractionalSecondDigits' option
|
|
|
|
# https://github.com/tc39/ecma402/pull/347
|
|
|
|
Intl.DateTimeFormat-fractionalSecondDigits
|
|
|
|
|
2020-11-02 18:46:37 +01:00
|
|
|
# Intl "normative optional"
|
|
|
|
# https://tc39.es/ecma402/#legacy-constructor
|
|
|
|
intl-normative-optional
|
|
|
|
|
2021-06-24 19:50:00 +02:00
|
|
|
# Intl "Intl.DisplayNames v2"
|
|
|
|
# https://github.com/tc39/intl-displaynames-v2
|
|
|
|
Intl.DisplayNames-v2
|
|
|
|
|
|
|
|
# Intl "Extend TimeZoneName Option Proposal"
|
|
|
|
# https://github.com/tc39/proposal-intl-extend-timezonename
|
|
|
|
Intl.DateTimeFormat-extend-timezonename
|
|
|
|
|
2021-08-11 01:35:11 +02:00
|
|
|
# Intl "Enumeration API"
|
|
|
|
# https://github.com/tc39/proposal-intl-enumeration
|
|
|
|
Intl-enumeration
|
|
|
|
|
2018-06-19 00:00:19 +02:00
|
|
|
# Global
|
|
|
|
# https://github.com/tc39/proposal-global
|
2018-07-26 02:11:53 +02:00
|
|
|
globalThis
|
2018-06-19 00:00:19 +02:00
|
|
|
|
2018-11-26 19:21:01 +01:00
|
|
|
# `export * as namespace from module`
|
2018-06-28 21:46:36 +02:00
|
|
|
# https://github.com/tc39/ecma262/pull/1174
|
|
|
|
export-star-as-namespace-from-module
|
|
|
|
|
2018-10-23 21:23:08 +02:00
|
|
|
# import.meta
|
|
|
|
# https://github.com/tc39/proposal-import-meta
|
|
|
|
import.meta
|
|
|
|
|
2019-06-03 19:49:03 +02:00
|
|
|
# WeakRef
|
|
|
|
# https://github.com/tc39/proposal-weakref
|
|
|
|
WeakRef
|
2020-02-14 15:04:45 +01:00
|
|
|
FinalizationRegistry
|
2019-06-03 19:49:03 +02:00
|
|
|
|
2020-07-21 21:04:32 +02:00
|
|
|
# FinalizationRegistry#cleanupSome
|
2021-11-04 20:03:33 +01:00
|
|
|
# https://github.com/tc39/proposal-cleanup-some
|
2020-10-06 17:46:04 +02:00
|
|
|
FinalizationRegistry.prototype.cleanupSome
|
2020-07-21 21:04:32 +02:00
|
|
|
|
2019-08-01 22:21:09 +02:00
|
|
|
# Optional Chaining
|
|
|
|
# https://github.com/tc39/proposal-optional-chaining
|
|
|
|
optional-chaining
|
|
|
|
|
2019-08-02 23:14:24 +02:00
|
|
|
# Top Level Await
|
|
|
|
# https://github.com/tc39/proposal-top-level-await
|
|
|
|
top-level-await
|
|
|
|
|
2019-09-18 18:39:12 +02:00
|
|
|
# RegExp Match Array Indices
|
|
|
|
# https://github.com/tc39/proposal-regexp-match-indices
|
|
|
|
regexp-match-indices
|
|
|
|
|
2019-10-10 00:14:51 +02:00
|
|
|
# Nullish Coalesce Expression
|
|
|
|
# https://github.com/tc39/proposal-nullish-coalescing
|
|
|
|
coalesce-expression
|
|
|
|
|
2019-10-17 16:32:00 +02:00
|
|
|
# Intl.DisplayNames
|
|
|
|
# https://github.com/tc39-transfer/proposal-intl-displaynames
|
|
|
|
Intl.DisplayNames
|
|
|
|
|
2021-10-13 19:38:48 +02:00
|
|
|
# Intl.NumberFormat V3
|
|
|
|
# https://github.com/tc39/proposal-intl-numberformat-v3
|
|
|
|
Intl.NumberFormat-v3
|
|
|
|
|
2019-11-07 17:01:21 +01:00
|
|
|
# Promise.any
|
|
|
|
# https://github.com/tc39/proposal-promise-any
|
|
|
|
Promise.any
|
|
|
|
AggregateError
|
|
|
|
|
2019-11-18 16:22:07 +01:00
|
|
|
# String.prototype.replaceAll
|
|
|
|
# https://github.com/tc39/proposal-string-replaceall
|
|
|
|
String.prototype.replaceAll
|
|
|
|
|
2019-12-18 17:25:20 +01:00
|
|
|
# Enumeration order for for-in
|
|
|
|
# https://github.com/tc39/proposal-for-in-order
|
|
|
|
for-in-order
|
|
|
|
|
2020-06-10 22:10:00 +02:00
|
|
|
# Legacy RegExp features
|
|
|
|
# https://github.com/tc39/proposal-regexp-legacy-features
|
|
|
|
legacy-regexp
|
|
|
|
|
2020-03-31 07:52:25 +02:00
|
|
|
# Logical Assignment Operators
|
|
|
|
# https://github.com/tc39/proposal-logical-assignment
|
|
|
|
logical-assignment-operators
|
|
|
|
|
2020-03-18 21:07:22 +01:00
|
|
|
# Atomics.waitAsync
|
|
|
|
# https://github.com/tc39/proposal-atomics-wait-async
|
|
|
|
Atomics.waitAsync
|
|
|
|
|
2020-09-22 22:39:41 +02:00
|
|
|
# Item Method
|
|
|
|
# https://github.com/tc39/proposal-item-method
|
2020-11-18 00:47:38 +01:00
|
|
|
Array.prototype.at
|
|
|
|
String.prototype.at
|
|
|
|
TypedArray.prototype.at
|
2020-09-22 22:39:41 +02:00
|
|
|
|
2020-09-30 18:00:12 +02:00
|
|
|
# Arbitrary module namespace names
|
|
|
|
# https://github.com/tc39/ecma262/pull/2154
|
|
|
|
arbitrary-module-namespace-names
|
|
|
|
|
2020-10-08 17:21:32 +02:00
|
|
|
# Align detached buffer semantics with web reality
|
|
|
|
# https://github.com/tc39/ecma262/pull/2164
|
|
|
|
align-detached-buffer-semantics-with-web-reality
|
|
|
|
|
2021-06-16 23:35:06 +02:00
|
|
|
# Object.hasOwn
|
|
|
|
# https://github.com/tc39/proposal-accessible-object-hasownproperty
|
|
|
|
Object.hasOwn
|
|
|
|
|
2021-07-15 14:49:12 +02:00
|
|
|
# Class static initialization blocks
|
|
|
|
# https://github.com/tc39/proposal-class-static-block
|
|
|
|
class-static-block
|
|
|
|
|
2021-07-16 16:02:41 +02:00
|
|
|
# Ergonomic brand checks for Private Fields
|
|
|
|
# https://github.com/tc39/proposal-private-fields-in-in
|
|
|
|
class-fields-private-in
|
|
|
|
|
|
|
|
# Error cause
|
|
|
|
# https://github.com/tc39/proposal-error-cause
|
|
|
|
error-cause
|
|
|
|
|
|
|
|
# Import Assertions
|
|
|
|
# https://github.com/tc39/proposal-import-assertions/
|
|
|
|
import-assertions
|
|
|
|
|
|
|
|
# JSON modules
|
|
|
|
# https://github.com/tc39/proposal-json-modules
|
|
|
|
json-modules
|
|
|
|
|
|
|
|
# Resizable Arraybuffer
|
|
|
|
# https://github.com/tc39/proposal-resizablearraybuffer
|
|
|
|
resizable-arraybuffer
|
|
|
|
|
2023-01-18 22:44:45 +01:00
|
|
|
# ArrayBuffer transfer
|
|
|
|
# https://github.com/tc39/proposal-arraybuffer-transfer
|
|
|
|
arraybuffer-transfer
|
|
|
|
|
2021-07-16 16:02:41 +02:00
|
|
|
# Temporal
|
|
|
|
# https://github.com/tc39/proposal-temporal
|
|
|
|
Temporal
|
|
|
|
|
2021-09-02 16:46:33 +02:00
|
|
|
# ShadowRealm, née Callable Boundary Realms
|
2021-07-16 16:07:17 +02:00
|
|
|
# https://github.com/tc39/proposal-realms
|
2021-09-02 16:46:33 +02:00
|
|
|
ShadowRealm
|
2021-07-16 16:07:17 +02:00
|
|
|
|
2021-07-28 19:53:12 +02:00
|
|
|
# Array.prototype.findLast & Array.prototype.findLastIndex
|
|
|
|
# https://github.com/tc39/proposal-array-find-from-last
|
|
|
|
array-find-from-last
|
|
|
|
|
2022-08-03 22:19:22 +02:00
|
|
|
# Array.prototype.group & Array.prototype.groupToMap
|
2022-03-06 07:56:51 +01:00
|
|
|
# https://github.com/tc39/proposal-array-grouping
|
|
|
|
array-grouping
|
|
|
|
|
2021-12-03 00:59:48 +01:00
|
|
|
# Intl.DurationFormat
|
|
|
|
# https://github.com/tc39/proposal-intl-duration-format
|
|
|
|
Intl.DurationFormat
|
|
|
|
|
2021-12-27 12:04:14 +01:00
|
|
|
# RegExp set notation + properties of strings
|
|
|
|
# https://github.com/tc39/proposal-regexp-set-notation
|
|
|
|
regexp-v-flag
|
|
|
|
|
2022-05-02 16:44:12 +02:00
|
|
|
# Decorators
|
|
|
|
# https://github.com/tc39/proposal-decorators
|
|
|
|
decorators
|
|
|
|
|
2022-08-01 04:14:10 +02:00
|
|
|
# Duplicate named capturing groups
|
|
|
|
# https://github.com/tc39/proposal-duplicate-named-capturing-groups
|
|
|
|
regexp-duplicate-named-groups
|
|
|
|
|
2022-09-24 00:22:59 +02:00
|
|
|
# Symbols as WeakMap keys
|
|
|
|
# https://github.com/tc39/proposal-symbols-as-weakmap-keys
|
|
|
|
symbols-as-weakmap-keys
|
|
|
|
|
2022-10-18 10:16:20 +02:00
|
|
|
# Array.prototype.toReversed, Array.prototype.toSorted, Array.prototype.toSpliced,
|
|
|
|
# Array.prototype.with and the equivalent TypedArray methods.
|
|
|
|
# https://github.com/tc39/proposal-change-array-by-copy/
|
|
|
|
change-array-by-copy
|
|
|
|
|
2022-11-04 19:57:51 +01:00
|
|
|
# https://tc39.es/proposal-array-from-async/
|
|
|
|
Array.fromAsync
|
|
|
|
|
2022-09-14 08:56:04 +02:00
|
|
|
# Well-formed Unicode strings
|
|
|
|
# https://github.com/tc39/proposal-is-usv-string
|
|
|
|
String.prototype.isWellFormed
|
|
|
|
String.prototype.toWellFormed
|
|
|
|
|
2018-11-26 19:21:01 +01:00
|
|
|
## Standard language features
|
2017-06-12 23:59:14 +02:00
|
|
|
#
|
|
|
|
# Language features that have been included in a published version of the
|
|
|
|
# ECMA-262 specification. These flags are largely maintained for historical
|
|
|
|
# reasons, though their use for relatively new features (i.e. prior to
|
|
|
|
# availability across major implementations) is appreciated.
|
|
|
|
|
|
|
|
ArrayBuffer
|
|
|
|
Array.prototype.values
|
|
|
|
arrow-function
|
2019-01-17 20:08:11 +01:00
|
|
|
async-iteration
|
2017-06-12 23:59:14 +02:00
|
|
|
async-functions
|
2019-01-17 20:08:11 +01:00
|
|
|
Atomics
|
2017-06-12 23:59:14 +02:00
|
|
|
caller
|
|
|
|
class
|
2017-08-23 21:21:54 +02:00
|
|
|
computed-property-names
|
2017-06-12 23:59:14 +02:00
|
|
|
const
|
2017-09-22 20:14:06 +02:00
|
|
|
cross-realm
|
2017-06-12 23:59:14 +02:00
|
|
|
DataView
|
|
|
|
DataView.prototype.getFloat32
|
|
|
|
DataView.prototype.getFloat64
|
|
|
|
DataView.prototype.getInt16
|
|
|
|
DataView.prototype.getInt32
|
|
|
|
DataView.prototype.getInt8
|
|
|
|
DataView.prototype.getUint16
|
|
|
|
DataView.prototype.getUint32
|
|
|
|
DataView.prototype.setUint8
|
|
|
|
default-parameters
|
2018-01-11 16:47:10 +01:00
|
|
|
destructuring-assignment
|
2017-06-12 23:59:14 +02:00
|
|
|
destructuring-binding
|
2017-09-08 18:30:23 +02:00
|
|
|
for-of
|
2018-04-19 21:31:54 +02:00
|
|
|
Float32Array
|
2017-06-12 23:59:14 +02:00
|
|
|
Float64Array
|
|
|
|
generators
|
|
|
|
Int8Array
|
2020-09-15 16:26:41 +02:00
|
|
|
Int16Array
|
2018-04-19 21:31:54 +02:00
|
|
|
Int32Array
|
2019-01-17 20:08:11 +01:00
|
|
|
json-superset
|
2017-06-12 23:59:14 +02:00
|
|
|
let
|
|
|
|
Map
|
|
|
|
new.target
|
2019-01-17 20:08:11 +01:00
|
|
|
object-rest
|
|
|
|
object-spread
|
2018-01-11 16:20:50 +01:00
|
|
|
Object.is
|
2019-01-17 20:08:11 +01:00
|
|
|
optional-catch-binding
|
2020-09-15 16:26:41 +02:00
|
|
|
Promise
|
2019-01-17 20:08:11 +01:00
|
|
|
Promise.prototype.finally
|
2017-06-12 23:59:14 +02:00
|
|
|
Proxy
|
|
|
|
Reflect
|
|
|
|
Reflect.construct
|
|
|
|
Reflect.set
|
|
|
|
Reflect.setPrototypeOf
|
2019-01-17 20:08:11 +01:00
|
|
|
regexp-dotall
|
|
|
|
regexp-lookbehind
|
|
|
|
regexp-named-groups
|
|
|
|
regexp-unicode-property-escapes
|
2019-07-04 00:54:21 +02:00
|
|
|
rest-parameters
|
2017-06-12 23:59:14 +02:00
|
|
|
Set
|
2019-01-17 20:08:11 +01:00
|
|
|
SharedArrayBuffer
|
2018-06-21 22:03:08 +02:00
|
|
|
String.fromCodePoint
|
2017-10-03 23:02:29 +02:00
|
|
|
String.prototype.endsWith
|
|
|
|
String.prototype.includes
|
2017-06-12 23:59:14 +02:00
|
|
|
super
|
|
|
|
Symbol
|
2019-01-17 20:08:11 +01:00
|
|
|
Symbol.asyncIterator
|
2017-06-12 23:59:14 +02:00
|
|
|
Symbol.hasInstance
|
|
|
|
Symbol.isConcatSpreadable
|
|
|
|
Symbol.iterator
|
|
|
|
Symbol.match
|
|
|
|
Symbol.replace
|
|
|
|
Symbol.search
|
|
|
|
Symbol.species
|
|
|
|
Symbol.split
|
|
|
|
Symbol.toPrimitive
|
|
|
|
Symbol.toStringTag
|
|
|
|
Symbol.unscopables
|
|
|
|
tail-call-optimization
|
|
|
|
template
|
|
|
|
TypedArray
|
2017-09-25 20:41:08 +02:00
|
|
|
u180e
|
2017-06-12 23:59:14 +02:00
|
|
|
Uint8Array
|
2017-11-01 15:54:05 +01:00
|
|
|
Uint16Array
|
2020-09-15 16:26:41 +02:00
|
|
|
Uint32Array
|
2018-04-19 21:31:54 +02:00
|
|
|
Uint8ClampedArray
|
2017-06-12 23:59:14 +02:00
|
|
|
WeakMap
|
|
|
|
WeakSet
|
2020-10-01 00:52:36 +02:00
|
|
|
__proto__
|
|
|
|
__getter__
|
|
|
|
__setter__
|
2017-10-17 00:46:59 +02:00
|
|
|
|
2018-11-26 19:21:01 +01:00
|
|
|
## Test-Harness Features
|
2017-10-17 00:46:59 +02:00
|
|
|
#
|
|
|
|
# The rare cases where testing language functionality requires non-standard
|
|
|
|
# language features, exposed through global-environment functions on the $262
|
|
|
|
# object, go here.
|
|
|
|
|
2017-10-19 21:03:21 +02:00
|
|
|
IsHTMLDDA
|
2019-09-18 18:42:31 +02:00
|
|
|
host-gc-required
|