Skip to content

Add metadata about the ECMAScript edition that each feature was introduced in #4161

Open
@jedel1043

Description

It's pretty common for test runners such as test262.fyi to have a way to filter tests per ECMAScript edition, and some people like to analyze the conformance of engines per ES version.

Currently some runners have opted for using "features.txt" to extract this information, since features have a clear edition where they were introduced, and this could be used to know which minimum edition a test supports. However, there's some duplicate effort around this, since all runners have to maintain a separate mapping from the feature to the corresponding edition that introduced it:

Seeing this, it would be nice to remove this duplicate effort by moving this metadata here.

Possible points of discussion

  • Unified file (features list + metadata) vs two files (features file + metadata file).
  • File representation
    • Keep using .txt
    • Transition to yaml/json/toml
    • Some other format?
  • Edition representation
    • Numeric (ES6 -> 6, ES12 -> 12, ...)
    • String (ES6 -> "ES6", ES12 -> "ES12", ...)
    • Other
  • Sentinel value for features that haven't been published
    • Big number (255/99/65535)
    • Negative number (-1)
    • Some string? ("N/A", "ESNext", "undefined", "None", ...)

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions