From f81b30947e88acdefe1f1ecfc8eda48d7a69085a Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Mon, 26 Aug 2024 15:16:51 +0200 Subject: [PATCH 1/3] Add JavaScript basics --- features/javascript-basics.yml | 103 +++++++++++++++ features/javascript-basics.yml.dist | 186 ++++++++++++++++++++++++++++ 2 files changed, 289 insertions(+) create mode 100644 features/javascript-basics.yml create mode 100644 features/javascript-basics.yml.dist diff --git a/features/javascript-basics.yml b/features/javascript-basics.yml new file mode 100644 index 00000000000..f7b22d66668 --- /dev/null +++ b/features/javascript-basics.yml @@ -0,0 +1,103 @@ +name: JavaScript basics +description: Basic JavaScript features defined in ECMAScript 1, 3, and 5. +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 diff --git a/features/javascript-basics.yml.dist b/features/javascript-basics.yml.dist new file mode 100644 index 00000000000..59f5ea8b21a --- /dev/null +++ b/features/javascript-basics.yml.dist @@ -0,0 +1,186 @@ +# Generated from: javascript-basics.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 From a834e9c659a63448e2f26fc43da1145b78e378ca Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Thu, 5 Sep 2024 15:33:44 +0200 Subject: [PATCH 2/3] Switch to core --- features/{javascript-basics.yml => javascript-core.yml} | 4 ++-- .../{javascript-basics.yml.dist => javascript-core.yml.dist} | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename features/{javascript-basics.yml => javascript-core.yml} (96%) rename features/{javascript-basics.yml.dist => javascript-core.yml.dist} (99%) diff --git a/features/javascript-basics.yml b/features/javascript-core.yml similarity index 96% rename from features/javascript-basics.yml rename to features/javascript-core.yml index f7b22d66668..08b5d618123 100644 --- a/features/javascript-basics.yml +++ b/features/javascript-core.yml @@ -1,5 +1,5 @@ -name: JavaScript basics -description: Basic JavaScript features defined in ECMAScript 1, 3, and 5. +name: JavaScript core (initial support) +description: Fundamental JavaScript language features, such as initial built-in objects, statements, and operators. spec: https://tc39.es/ecma262/multipage/#sec-intro group: javascript compat_features: diff --git a/features/javascript-basics.yml.dist b/features/javascript-core.yml.dist similarity index 99% rename from features/javascript-basics.yml.dist rename to features/javascript-core.yml.dist index 59f5ea8b21a..c8cdd305983 100644 --- a/features/javascript-basics.yml.dist +++ b/features/javascript-core.yml.dist @@ -1,4 +1,4 @@ -# Generated from: javascript-basics.yml +# Generated from: javascript-core.yml # Do not edit this file by hand. Edit the source file instead! status: From 0db3b2a279103399a419dbb3c152367df1213d9e Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Mon, 7 Oct 2024 16:24:01 +0200 Subject: [PATCH 3/3] rename again --- features/{javascript-core.yml => javascript.yml} | 4 ++-- features/{javascript-core.yml.dist => javascript.yml.dist} | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename features/{javascript-core.yml => javascript.yml} (91%) rename features/{javascript-core.yml.dist => javascript.yml.dist} (99%) diff --git a/features/javascript-core.yml b/features/javascript.yml similarity index 91% rename from features/javascript-core.yml rename to features/javascript.yml index 08b5d618123..bcbc2447250 100644 --- a/features/javascript-core.yml +++ b/features/javascript.yml @@ -1,5 +1,5 @@ -name: JavaScript core (initial support) -description: Fundamental JavaScript language features, such as initial built-in objects, statements, and operators. +name: JavaScript (initial core language support) +description: JavaScript is a programming language that runs in browsers, usually through the `