From a2cbc0edcc884c1f67df0cd72b5fde09b095e2e4 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Tue, 10 Dec 2024 16:30:55 +0100 Subject: [PATCH] Add more keys to js-modules; use compute_from --- features/js-modules.yml | 19 +++++++--- features/js-modules.yml.dist | 72 ++++++++++++++++++++++++++++++++++++ features/svg.yml | 1 - features/svg.yml.dist | 1 - 4 files changed, 85 insertions(+), 8 deletions(-) diff --git a/features/js-modules.yml b/features/js-modules.yml index 248411089a7..b80b245dbf7 100644 --- a/features/js-modules.yml +++ b/features/js-modules.yml @@ -6,15 +6,22 @@ spec: - https://tc39.es/ecma262/multipage/ecmascript-language-scripts-and-modules.html#sec-modules snapshot: ecmascript-2015 group: js-modules +status: + compute_from: + - html.elements.script.type.module + - html.elements.script.nomodule + - javascript.statements.export + - javascript.statements.import compat_features: - # TODO: Consider notes or partial implementation for Safari 10.1 due to the - # lack of support for nomodule. It's important for fallback behavior, but in - # the long term not important if JS modules support is completely ubiquitous. - html.elements.script.nomodule - html.elements.script.type.module - javascript.statements.export - javascript.statements.export.default + - javascript.statements.export.namespace + - javascript.statements.import.import_attributes + - javascript.statements.import.worklet_support - javascript.statements.import - # Excluded because SVG is not essential for using JS modules, the 99% use case - # would be in HTML even if SVG was perfectly supported. - # - svg.elements.script.type.module + - javascript.operators.import + - javascript.operators.import_meta + - javascript.operators.import_meta.resolve + - svg.elements.script.type.module diff --git a/features/js-modules.yml.dist b/features/js-modules.yml.dist index 402e7612418..c65cefb2fd0 100644 --- a/features/js-modules.yml.dist +++ b/features/js-modules.yml.dist @@ -43,3 +43,75 @@ compat_features: # safari: "11" # safari_ios: "11" - html.elements.script.nomodule + + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "63" + # chrome_android: "63" + # edge: "79" + # firefox: "67" + # firefox_android: "67" + # safari: "11.1" + # safari_ios: "11.3" + - javascript.operators.import + + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "64" + # chrome_android: "64" + # edge: "79" + # firefox: "62" + # firefox_android: "62" + # safari: "11.1" + # safari_ios: "12" + - javascript.operators.import_meta + + # baseline: high + # baseline_low_date: 2021-04-26 + # baseline_high_date: 2023-10-26 + # support: + # chrome: "72" + # chrome_android: "72" + # edge: "79" + # firefox: "80" + # firefox_android: "80" + # safari: "14.1" + # safari_ios: "14.5" + - javascript.statements.export.namespace + + # baseline: low + # baseline_low_date: 2023-03-27 + # support: + # chrome: "105" + # chrome_android: "105" + # edge: "105" + # firefox: "106" + # firefox_android: "106" + # safari: "16.4" + # safari_ios: "16.4" + - javascript.operators.import_meta.resolve + + # baseline: false + # support: + # chrome: "123" + # chrome_android: "123" + # edge: "123" + # safari: "17.2" + # safari_ios: "17.2" + - javascript.statements.import.import_attributes + + # baseline: false + # support: + # firefox: "114" + # firefox_android: "114" + - javascript.statements.import.worklet_support + + # baseline: false + # support: + # firefox: "117" + # firefox_android: "117" + - svg.elements.script.type.module diff --git a/features/svg.yml b/features/svg.yml index 9be8fca5e23..739b1d1be17 100644 --- a/features/svg.yml +++ b/features/svg.yml @@ -604,4 +604,3 @@ compat_features: - css.properties.vector-effect - css.properties.x - css.properties.y - - svg.elements.script.type.module diff --git a/features/svg.yml.dist b/features/svg.yml.dist index 3f7e323b77e..fb1ae72cebc 100644 --- a/features/svg.yml.dist +++ b/features/svg.yml.dist @@ -1807,7 +1807,6 @@ compat_features: - api.SVGScriptElement.defer - svg.elements.script.async - svg.elements.script.defer - - svg.elements.script.type.module # baseline: false # support: