Skip to content

Commit

Permalink
Add WebAssembly features as a new category (mdn#20136)
Browse files Browse the repository at this point in the history
* Add WebAssembly features as a new category

* Load webassembly/ in all scripts

* Fix linter errors

* Added wasm spec info (mdn#53)

* Fix experimental status

* Fix location of spec_url

* Fix spec URL

* WebAssembly features' spec URLs are not tracked in web-specs

* Update types and docs

* Update schema

* Fix spec URLs

---------

Co-authored-by: Mendy Berger <[email protected]>
  • Loading branch information
queengooborg and MendyBerger authored Jun 26, 2023
1 parent 5362692 commit 7cb45a8
Show file tree
Hide file tree
Showing 27 changed files with 477 additions and 1 deletion.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,10 @@ Data for [SVG](https://developer.mozilla.org/en-US/docs/Web/SVG) features, inclu
- `attributes` - Attributes
- `elements` - Elements

### [`webassembly`](webassembly)

Data for [WebAssembly](https://developer.mozilla.org/docs/WebAssembly) features.

### [`webdriver`](webdriver)

Data for [WebDriver](https://developer.mozilla.org/en-US/docs/Web/WebDriver) features.
Expand Down
1 change: 1 addition & 0 deletions index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ export default (await load(
'javascript',
'mathml',
'svg',
'webassembly',
'webdriver',
'webextensions',
)) as CompatData;
2 changes: 1 addition & 1 deletion schemas/compat-data.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@
"spec_url_value": {
"type": "string",
"format": "uri",
"pattern": "(^https://[^#]+#.+)|(^https://registry.khronos.org/webgl/extensions/[^/]+/)"
"pattern": "(^https://[^#]+#.+)|(^https://github.com/WebAssembly/.+)|(^https://registry.khronos.org/webgl/extensions/[^/]+/)"
},

"impl_url_value": {
Expand Down
1 change: 1 addition & 0 deletions scripts/fix/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ if (esMain(import.meta)) {
'javascript',
'mathml',
'test',
'webassembly',
'webdriver',
'webextensions',
);
Expand Down
2 changes: 2 additions & 0 deletions scripts/generate-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ const compatDataTypes = {
mathml:
'Contains data for [MathML](https://developer.mozilla.org/docs/Web/MathML) elements, attributes, and global attributes.',
svg: 'Contains data for [SVG](https://developer.mozilla.org/docs/Web/SVG) elements, attributes, and global attributes.',
webassembly:
'Contains data for [WebAssembly](https://developer.mozilla.org/docs/WebAssembly) features.',
webdriver:
'Contains data for [WebDriver](https://developer.mozilla.org/docs/Web/WebDriver) commands.',
webextensions:
Expand Down
1 change: 1 addition & 0 deletions scripts/migrations/002-remove-webview-flags.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ if (esMain(import.meta)) {
'javascript',
'mathml',
'test',
'webassembly',
'webdriver',
'webextensions',
);
Expand Down
1 change: 1 addition & 0 deletions scripts/migrations/007-experimental-false.ts
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ if (esMain(import.meta)) {
'javascript',
'mathml',
'test',
'webassembly',
'webdriver',
'webextensions',
);
Expand Down
1 change: 1 addition & 0 deletions scripts/migrations/010-set-oculus-to-mirror.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ if (esMain(import.meta)) {
'javascript',
'mathml',
'test',
'webassembly',
'webdriver',
);
}
Expand Down
1 change: 1 addition & 0 deletions scripts/remove-redundant-flags.ts
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,7 @@ if (esMain(import.meta)) {
'javascript',
'mathml',
'test',
'webassembly',
'webdriver',
'webextensions',
],
Expand Down
1 change: 1 addition & 0 deletions scripts/traverse.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ const main = (
'svg',
'javascript',
'mathml',
'webassembly',
'webdriver',
],
browsers: BrowserName[] = Object.keys(bcd.browsers) as BrowserName[],
Expand Down
1 change: 1 addition & 0 deletions test/lint.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ const main = async (
'svg',
'javascript',
'mathml',
'webassembly',
'webdriver',
'webextensions',
],
Expand Down
1 change: 1 addition & 0 deletions test/linter/test-obsolete.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ const categoriesToCheck = [
// 'javascript',
// 'mathml',
// 'svg',
'webassembly',
// 'webdriver',
// 'webextensions'
];
Expand Down
7 changes: 7 additions & 0 deletions test/linter/test-spec-urls.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,13 @@ const specsExceptions = [
// Remove once https://github.com/whatwg/html/pull/8502
// is merged and the new URL is live
'https://wicg.github.io/navigation-api',

// Proposals for WebAssembly
'https://github.com/WebAssembly/spec/blob/main/proposals',
'https://github.com/WebAssembly/exception-handling/blob/main/proposals',
'https://github.com/WebAssembly/extended-const/blob/main/proposals',
'https://github.com/WebAssembly/tail-call/blob/main/proposals',
'https://github.com/WebAssembly/threads/blob/main/proposal',
];

const allowedSpecURLs = [
Expand Down
1 change: 1 addition & 0 deletions test/linter/test-versions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ const realValuesRequired: { [category: string]: string[] } = {
svg: [],
javascript: [...realValuesTargetBrowsers, 'nodejs'],
mathml: realValuesTargetBrowsers,
webassembly: realValuesTargetBrowsers,
webdriver: realValuesTargetBrowsers,
webextensions: [],
};
Expand Down
1 change: 1 addition & 0 deletions utils/walk.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ describe('lowLevelWalk()', () => {
'javascript',
'mathml',
'svg',
'webassembly',
'webdriver',
'webextensions',
];
Expand Down
36 changes: 36 additions & 0 deletions webassembly/BigInt-to-i64-integration.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"webassembly": {
"BigInt-to-i64-integration": {
"__compat": {
"support": {
"chrome": {
"version_added": "85"
},
"chrome_android": "mirror",
"edge": "mirror",
"firefox": {
"version_added": "78"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "14.1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
}
}
}
39 changes: 39 additions & 0 deletions webassembly/bulk-memory-operations.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"webassembly": {
"bulk-memory-operations": {
"__compat": {
"spec_url": "https://github.com/WebAssembly/spec/blob/main/proposals/bulk-memory-operations/Overview.md",
"support": {
"chrome": {
"version_added": "≤80"
},
"chrome_android": "mirror",
"edge": {
"version_added": "≤80"
},
"firefox": {
"version_added": "78"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "15.1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
}
}
}
37 changes: 37 additions & 0 deletions webassembly/exception-handling.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"webassembly": {
"exception-handling": {
"__compat": {
"spec_url": "https://github.com/WebAssembly/exception-handling/blob/main/proposals/exception-handling/Exceptions.md",
"support": {
"chrome": {
"version_added": "95"
},
"chrome_android": "mirror",
"edge": "mirror",
"firefox": {
"version_added": "100"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "15.2"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
}
}
}
37 changes: 37 additions & 0 deletions webassembly/extended-constant-expressions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"webassembly": {
"extended-constant-expressions": {
"__compat": {
"spec_url": "https://github.com/WebAssembly/extended-const/blob/main/proposals/extended-const/Overview.md",
"support": {
"chrome": {
"version_added": false
},
"chrome_android": "mirror",
"edge": "mirror",
"firefox": {
"version_added": "112"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": false
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror"
},
"status": {
"experimental": true,
"standard_track": true,
"deprecated": false
}
}
}
}
}
37 changes: 37 additions & 0 deletions webassembly/fixed-width-SIMD.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"webassembly": {
"fixed-width-SIMD": {
"__compat": {
"spec_url": "https://github.com/WebAssembly/spec/blob/main/proposals/simd/SIMD.md",
"support": {
"chrome": {
"version_added": "91"
},
"chrome_android": "mirror",
"edge": "mirror",
"firefox": {
"version_added": "89"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "16.4"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
}
}
}
37 changes: 37 additions & 0 deletions webassembly/multi-value.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"webassembly": {
"multi-value": {
"__compat": {
"spec_url": "https://github.com/WebAssembly/spec/blob/main/proposals/multi-value/Overview.md",
"support": {
"chrome": {
"version_added": "86"
},
"chrome_android": "mirror",
"edge": "mirror",
"firefox": {
"version_added": "78"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "≤13.1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
}
}
}
38 changes: 38 additions & 0 deletions webassembly/mutable-globals.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"webassembly": {
"mutable-globals": {
"__compat": {
"support": {
"chrome": {
"version_added": "≤80"
},
"chrome_android": "mirror",
"edge": {
"version_added": "≤80"
},
"firefox": {
"version_added": "≤72"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "≤13.1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
}
}
}
Loading

0 comments on commit 7cb45a8

Please sign in to comment.