Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 103 additions & 0 deletions features/javascript.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
name: JavaScript (initial core language support)
description: JavaScript is a programming language that runs in browsers, usually through the `<script>` element. JavaScript has changed over many years. This feature represents the oldest language features, such as built-in objects, statements, and operators. Also known as ECMAScript.
spec: https://tc39.es/ecma262/multipage/#sec-intro
group: javascript
compat_features:
- javascript.builtins.Boolean
- javascript.builtins.Boolean.Boolean
- javascript.builtins.Boolean.toString
- javascript.builtins.Boolean.valueOf
- javascript.builtins.Error
- javascript.builtins.Error.Error
- javascript.builtins.Error.message
- javascript.builtins.Error.name
- javascript.builtins.Error.toString
- javascript.builtins.EvalError
- javascript.builtins.EvalError.EvalError
- javascript.builtins.RangeError
- javascript.builtins.RangeError.RangeError
- javascript.builtins.ReferenceError
- javascript.builtins.ReferenceError.ReferenceError
- javascript.builtins.SyntaxError
- javascript.builtins.SyntaxError.SyntaxError
- javascript.builtins.TypeError
- javascript.builtins.TypeError.TypeError
- javascript.builtins.URIError
- javascript.builtins.URIError.URIError
- javascript.builtins.decodeURI
- javascript.builtins.decodeURIComponent
- javascript.builtins.encodeURI
- javascript.builtins.encodeURIComponent
- javascript.builtins.eval
- javascript.builtins.isFinite
- javascript.builtins.parseFloat
- javascript.builtins.undefined
- javascript.grammar.boolean_literals
- javascript.grammar.null_literal
- javascript.operators.addition
- javascript.operators.addition_assignment
- javascript.operators.assignment
- javascript.operators.bitwise_and
- javascript.operators.bitwise_and_assignment
- javascript.operators.bitwise_not
- javascript.operators.bitwise_or
- javascript.operators.bitwise_or_assignment
- javascript.operators.bitwise_xor
- javascript.operators.bitwise_xor_assignment
- javascript.operators.comma
- javascript.operators.conditional
- javascript.operators.decrement
- javascript.operators.delete
- javascript.operators.division
- javascript.operators.division_assignment
- javascript.operators.equality
- javascript.operators.greater_than
- javascript.operators.greater_than_or_equal
- javascript.operators.grouping
- javascript.operators.in
- javascript.operators.increment
- javascript.operators.inequality
- javascript.operators.instanceof
- javascript.operators.left_shift
- javascript.operators.left_shift_assignment
- javascript.operators.less_than
- javascript.operators.less_than_or_equal
- javascript.operators.logical_and
- javascript.operators.logical_not
- javascript.operators.logical_or
- javascript.operators.multiplication
- javascript.operators.multiplication_assignment
- javascript.operators.new
- javascript.operators.null
- javascript.operators.property_accessors
- javascript.operators.remainder
- javascript.operators.remainder_assignment
- javascript.operators.right_shift
- javascript.operators.right_shift_assignment
- javascript.operators.strict_equality
- javascript.operators.strict_inequality
- javascript.operators.subtraction
- javascript.operators.subtraction_assignment
- javascript.operators.this
- javascript.operators.typeof
- javascript.operators.unary_negation
- javascript.operators.unary_plus
- javascript.operators.unsigned_right_shift
- javascript.operators.unsigned_right_shift_assignment
- javascript.operators.void
- javascript.statements.block
- javascript.statements.break
- javascript.statements.continue
- javascript.statements.debugger
- javascript.statements.do_while
- javascript.statements.empty
- javascript.statements.for
- javascript.statements.for_in
- javascript.statements.if_else
- javascript.statements.label
- javascript.statements.return
- javascript.statements.switch
- javascript.statements.throw
- javascript.statements.try_catch
- javascript.statements.var
- javascript.statements.while
186 changes: 186 additions & 0 deletions features/javascript.yml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
# Generated from: javascript.yml
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: high
baseline_low_date: 2015-07-29
baseline_high_date: 2018-01-29
support:
chrome: "5"
chrome_android: "18"
edge: "12"
firefox: "1"
firefox_android: "4"
safari: "5"
safari_ios: "4.2"
compat_features:
# baseline: high
# baseline_low_date: 2015-07-29
# baseline_high_date: 2018-01-29
# support:
# chrome: "1"
# chrome_android: "18"
# edge: "12"
# firefox: "1"
# firefox_android: "4"
# safari: "1"
# safari_ios: "1"
- javascript.builtins.Boolean
- javascript.builtins.Boolean.Boolean
- javascript.builtins.Boolean.toString
- javascript.builtins.Boolean.valueOf
- javascript.builtins.Error
- javascript.builtins.Error.Error
- javascript.builtins.Error.message
- javascript.builtins.Error.name
- javascript.builtins.Error.toString
- javascript.builtins.EvalError
- javascript.builtins.EvalError.EvalError
- javascript.builtins.RangeError
- javascript.builtins.RangeError.RangeError
- javascript.builtins.ReferenceError
- javascript.builtins.ReferenceError.ReferenceError
- javascript.builtins.SyntaxError
- javascript.builtins.SyntaxError.SyntaxError
- javascript.builtins.TypeError
- javascript.builtins.TypeError.TypeError
- javascript.builtins.URIError
- javascript.builtins.URIError.URIError
- javascript.builtins.eval
- javascript.builtins.isFinite
- javascript.builtins.parseFloat
- javascript.builtins.undefined
- javascript.grammar.boolean_literals
- javascript.grammar.null_literal
- javascript.operators.addition
- javascript.operators.addition_assignment
- javascript.operators.assignment
- javascript.operators.bitwise_and
- javascript.operators.bitwise_and_assignment
- javascript.operators.bitwise_not
- javascript.operators.bitwise_or
- javascript.operators.bitwise_or_assignment
- javascript.operators.bitwise_xor
- javascript.operators.bitwise_xor_assignment
- javascript.operators.comma
- javascript.operators.conditional
- javascript.operators.delete
- javascript.operators.division
- javascript.operators.division_assignment
- javascript.operators.equality
- javascript.operators.greater_than
- javascript.operators.greater_than_or_equal
- javascript.operators.grouping
- javascript.operators.in
- javascript.operators.inequality
- javascript.operators.instanceof
- javascript.operators.left_shift
- javascript.operators.left_shift_assignment
- javascript.operators.less_than
- javascript.operators.less_than_or_equal
- javascript.operators.logical_and
- javascript.operators.logical_not
- javascript.operators.logical_or
- javascript.operators.multiplication
- javascript.operators.multiplication_assignment
- javascript.operators.new
- javascript.operators.null
- javascript.operators.property_accessors
- javascript.operators.remainder
- javascript.operators.remainder_assignment
- javascript.operators.right_shift
- javascript.operators.right_shift_assignment
- javascript.operators.strict_equality
- javascript.operators.strict_inequality
- javascript.operators.subtraction
- javascript.operators.subtraction_assignment
- javascript.operators.this
- javascript.operators.typeof
- javascript.operators.unary_negation
- javascript.operators.unary_plus
- javascript.operators.unsigned_right_shift
- javascript.operators.unsigned_right_shift_assignment
- javascript.statements.block
- javascript.statements.break
- javascript.statements.continue
- javascript.statements.do_while
- javascript.statements.for
- javascript.statements.for_in
- javascript.statements.if_else
- javascript.statements.label
- javascript.statements.return
- javascript.statements.switch
- javascript.statements.throw
- javascript.statements.try_catch
- javascript.statements.var
- javascript.statements.while

# baseline: high
# baseline_low_date: 2015-07-29
# baseline_high_date: 2018-01-29
# support:
# chrome: "1"
# chrome_android: "18"
# edge: "12"
# firefox: "1"
# firefox_android: "4"
# safari: "1.1"
# safari_ios: "1"
- javascript.builtins.decodeURI
- javascript.builtins.decodeURIComponent
- javascript.builtins.encodeURI
- javascript.builtins.encodeURIComponent

# baseline: high
# baseline_low_date: 2015-07-29
# baseline_high_date: 2018-01-29
# support:
# chrome: "1"
# chrome_android: "18"
# edge: "12"
# firefox: "1"
# firefox_android: "4"
# safari: "3.1"
# safari_ios: "3"
- javascript.operators.void

# baseline: high
# baseline_low_date: 2015-07-29
# baseline_high_date: 2018-01-29
# support:
# chrome: "2"
# chrome_android: "18"
# edge: "12"
# firefox: "1"
# firefox_android: "4"
# safari: "4"
# safari_ios: "3.2"
- javascript.operators.decrement
- javascript.operators.increment

# baseline: high
# baseline_low_date: 2015-07-29
# baseline_high_date: 2018-01-29
# support:
# chrome: "3"
# chrome_android: "18"
# edge: "12"
# firefox: "1"
# firefox_android: "4"
# safari: "5"
# safari_ios: "4.2"
- javascript.statements.empty

# ⬇️ Same status as overall feature ⬇️
# baseline: high
# baseline_low_date: 2015-07-29
# baseline_high_date: 2018-01-29
# support:
# chrome: "5"
# chrome_android: "18"
# edge: "12"
# firefox: "1"
# firefox_android: "4"
# safari: "5"
# safari_ios: "4.2"
- javascript.statements.debugger