web-features
Version:
Curated list of Web platform features
387 lines • 11 kB
JSON
{
"$ref": "#/definitions/WebFeaturesData",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"BrowserData": {
"additionalProperties": false,
"description": "Browser information",
"properties": {
"name": {
"description": "The name of the browser, as in \"Edge\" or \"Safari on iOS\"",
"type": "string"
},
"releases": {
"description": "The browser's releases",
"items": {
"$ref": "#/definitions/Release"
},
"type": "array"
}
},
"required": [
"name",
"releases"
],
"type": "object"
},
"FeatureData": {
"additionalProperties": false,
"properties": {
"caniuse": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"minItems": 2,
"type": "array"
}
],
"description": "caniuse.com identifier(s)"
},
"compat_features": {
"description": "Sources of support data for this feature",
"items": {
"type": "string"
},
"type": "array"
},
"description": {
"description": "Short description of the feature, as a plain text string",
"type": "string"
},
"description_html": {
"description": "Short description of the feature, as an HTML string",
"type": "string"
},
"discouraged": {
"additionalProperties": false,
"description": "Whether developers are formally discouraged from using this feature",
"properties": {
"according_to": {
"description": "Links to a formal discouragement notice, such as specification text, intent-to-unship, etc.",
"items": {
"type": "string"
},
"type": "array"
},
"alternatives": {
"description": "IDs for features that substitute some or all of this feature's utility",
"items": {},
"type": "array"
}
},
"required": [
"according_to"
],
"type": "object"
},
"group": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"minItems": 2,
"type": "array"
}
],
"description": "Group identifier(s)"
},
"name": {
"description": "Short name",
"type": "string"
},
"snapshot": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"minItems": 2,
"type": "array"
}
],
"description": "Snapshot identifier(s)"
},
"spec": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"minItems": 2,
"type": "array"
}
],
"description": "Specification URL(s)"
},
"status": {
"additionalProperties": false,
"description": "Whether a feature is considered a \"baseline\" web platform feature and when it achieved that status",
"properties": {
"baseline": {
"description": "Whether the feature is Baseline (low substatus), Baseline (high substatus), or not (false)",
"enum": [
"high",
"low",
false
],
"type": [
"string",
"boolean"
]
},
"baseline_high_date": {
"description": "Date the feature achieved Baseline high status",
"type": "string"
},
"baseline_low_date": {
"description": "Date the feature achieved Baseline low status",
"type": "string"
},
"by_compat_key": {
"additionalProperties": {
"additionalProperties": false,
"properties": {
"baseline": {
"description": "Whether the feature is Baseline (low substatus), Baseline (high substatus), or not (false)",
"enum": [
"high",
"low",
false
],
"type": [
"string",
"boolean"
]
},
"baseline_high_date": {
"description": "Date the feature achieved Baseline high status",
"type": "string"
},
"baseline_low_date": {
"description": "Date the feature achieved Baseline low status",
"type": "string"
},
"support": {
"additionalProperties": false,
"description": "Browser versions that most-recently introduced the feature",
"properties": {
"chrome": {
"type": "string"
},
"chrome_android": {
"type": "string"
},
"edge": {
"type": "string"
},
"firefox": {
"type": "string"
},
"firefox_android": {
"type": "string"
},
"safari": {
"type": "string"
},
"safari_ios": {
"type": "string"
}
},
"type": "object"
}
},
"required": [
"baseline",
"support"
],
"type": "object"
},
"description": "Statuses for each key in the feature's compat_features list, if applicable. Not available to the npm release of web-features.",
"type": "object"
},
"support": {
"additionalProperties": false,
"description": "Browser versions that most-recently introduced the feature",
"properties": {
"chrome": {
"type": "string"
},
"chrome_android": {
"type": "string"
},
"edge": {
"type": "string"
},
"firefox": {
"type": "string"
},
"firefox_android": {
"type": "string"
},
"safari": {
"type": "string"
},
"safari_ios": {
"type": "string"
}
},
"type": "object"
}
},
"required": [
"baseline",
"support"
],
"type": "object"
}
},
"required": [
"name",
"description",
"description_html",
"spec",
"status"
],
"type": "object"
},
"GroupData": {
"additionalProperties": false,
"properties": {
"name": {
"description": "Short name",
"type": "string"
},
"parent": {
"description": "Identifier of parent group",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"Release": {
"additionalProperties": false,
"description": "Browser release information",
"properties": {
"date": {
"description": "The release date, as in \"2023-12-11\"",
"type": "string"
},
"version": {
"description": "The version string, as in \"10\" or \"17.1\"",
"type": "string"
}
},
"required": [
"version",
"date"
],
"type": "object"
},
"SnapshotData": {
"additionalProperties": false,
"properties": {
"name": {
"description": "Short name",
"type": "string"
},
"spec": {
"description": "Specification",
"type": "string"
}
},
"required": [
"name",
"spec"
],
"type": "object"
},
"WebFeaturesData": {
"additionalProperties": false,
"properties": {
"browsers": {
"additionalProperties": false,
"description": "Browsers and browser release data",
"properties": {
"chrome": {
"$ref": "#/definitions/BrowserData"
},
"chrome_android": {
"$ref": "#/definitions/BrowserData"
},
"edge": {
"$ref": "#/definitions/BrowserData"
},
"firefox": {
"$ref": "#/definitions/BrowserData"
},
"firefox_android": {
"$ref": "#/definitions/BrowserData"
},
"safari": {
"$ref": "#/definitions/BrowserData"
},
"safari_ios": {
"$ref": "#/definitions/BrowserData"
}
},
"required": [
"chrome",
"chrome_android",
"edge",
"firefox",
"firefox_android",
"safari",
"safari_ios"
],
"type": "object"
},
"features": {
"additionalProperties": {
"$ref": "#/definitions/FeatureData"
},
"description": "Feature identifiers and data",
"type": "object"
},
"groups": {
"additionalProperties": {
"$ref": "#/definitions/GroupData"
},
"description": "Group identifiers and data",
"type": "object"
},
"snapshots": {
"additionalProperties": {
"$ref": "#/definitions/SnapshotData"
},
"description": "Snapshot identifiers and data",
"type": "object"
}
},
"required": [
"browsers",
"features",
"groups",
"snapshots"
],
"type": "object"
}
}
}