@mdn/browser-compat-data 4.2.1 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -4
- package/data.json +1 -1
- package/index.ts +9 -0
- package/legacynode.mjs +4 -0
- package/package.json +1 -1
- package/types.d.ts +191 -272
- package/index.d.ts +0 -10
- package/index.js +0 -1
package/index.ts
ADDED
package/legacynode.mjs
ADDED
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"main":"index.
|
|
1
|
+
{"main":"data.json","exports":{".":"./data.json","./forLegacyNode":"./legacynode.mjs"},"types":"index.ts","name":"@mdn/browser-compat-data","version":"5.0.2","description":"Browser compatibility data provided by MDN Web Docs","repository":{"type":"git","url":"git+https://github.com/mdn/browser-compat-data.git"},"keywords":["bcd","browser-compat-data","browser","compatibility","data","mdn","mozilla"],"author":"MDN Web Docs","license":"CC0-1.0","bugs":{"url":"https://github.com/mdn/browser-compat-data/issues"},"homepage":"https://github.com/mdn/browser-compat-data#readme"}
|
package/types.d.ts
CHANGED
|
@@ -1,404 +1,323 @@
|
|
|
1
1
|
/* This file is a part of @mdn/browser-compat-data
|
|
2
2
|
* See LICENSE file for more information. */
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* This file was automatically generated by json-schema-to-typescript.
|
|
6
|
+
* DO NOT MODIFY IT BY HAND. Instead, modify the source schema files in
|
|
7
|
+
* schemas/*, and run "npm run gentypes" to regenerate this file.
|
|
8
|
+
*/
|
|
9
|
+
|
|
4
10
|
/**
|
|
5
11
|
* The names of the known browsers.
|
|
6
12
|
*/
|
|
7
|
-
export type
|
|
8
|
-
| 'chrome'
|
|
9
|
-
| 'chrome_android'
|
|
10
|
-
| 'deno'
|
|
11
|
-
| 'edge'
|
|
12
|
-
| 'firefox'
|
|
13
|
-
| 'firefox_android'
|
|
14
|
-
| 'ie'
|
|
15
|
-
| 'nodejs'
|
|
16
|
-
| 'oculus'
|
|
17
|
-
| 'opera'
|
|
18
|
-
| 'opera_android'
|
|
19
|
-
| 'safari'
|
|
20
|
-
| 'safari_ios'
|
|
21
|
-
| 'samsunginternet_android'
|
|
22
|
-
| 'webview_android';
|
|
23
|
-
|
|
24
|
-
export type BrowserEngines =
|
|
25
|
-
| 'Blink'
|
|
26
|
-
| 'EdgeHTML'
|
|
27
|
-
| 'Gecko'
|
|
28
|
-
| 'Presto'
|
|
29
|
-
| 'Trident'
|
|
30
|
-
| 'WebKit'
|
|
31
|
-
| 'V8';
|
|
13
|
+
export type BrowserName = "chrome" | "chrome_android" | "deno" | "edge" | "firefox" | "firefox_android" | "ie" | "nodejs" | "oculus" | "opera" | "opera_android" | "safari" | "safari_ios" | "samsunginternet_android" | "webview_android";
|
|
32
14
|
|
|
33
|
-
export type
|
|
15
|
+
export type VersionValue = string | boolean | null;
|
|
34
16
|
|
|
35
17
|
/**
|
|
36
|
-
*
|
|
18
|
+
* This interface was referenced by `Browsers`'s JSON-Schema
|
|
19
|
+
* via the `definition` "browsers".
|
|
20
|
+
*/
|
|
21
|
+
export type Browsers = Record<BrowserName, BrowserStatement>;
|
|
22
|
+
/**
|
|
23
|
+
* This interface was referenced by `Browsers`'s JSON-Schema
|
|
24
|
+
* via the `definition` "browser_type".
|
|
25
|
+
*/
|
|
26
|
+
export type BrowserType = "desktop" | "mobile" | "xr" | "server";
|
|
27
|
+
/**
|
|
28
|
+
* This interface was referenced by `Browsers`'s JSON-Schema
|
|
29
|
+
* via the `definition` "browser_engine".
|
|
30
|
+
*/
|
|
31
|
+
export type BrowserEngine = "Blink" | "EdgeHTML" | "Gecko" | "Presto" | "Trident" | "WebKit" | "V8";
|
|
32
|
+
/**
|
|
33
|
+
* This interface was referenced by `Browsers`'s JSON-Schema
|
|
34
|
+
* via the `definition` "browser_status".
|
|
37
35
|
*/
|
|
38
|
-
export
|
|
39
|
-
|
|
40
|
-
Record<string, BrowserStatement> {}
|
|
36
|
+
export type BrowserStatus = "retired" | "current" | "exclusive" | "beta" | "nightly" | "esr" | "planned";
|
|
37
|
+
|
|
41
38
|
|
|
42
39
|
/**
|
|
43
|
-
*
|
|
40
|
+
* This interface was referenced by `Browsers`'s JSON-Schema
|
|
41
|
+
* via the `definition` "browser_statement".
|
|
44
42
|
*/
|
|
45
43
|
export interface BrowserStatement {
|
|
46
44
|
/**
|
|
47
|
-
* The browser brand name,
|
|
48
|
-
* `"Firefox"`, `"Firefox Android"`, `"Safari"`, `"iOS Safari"`, etc.
|
|
45
|
+
* The browser brand name (e.g. Firefox, Firefox Android, Chrome, etc.).
|
|
49
46
|
*/
|
|
50
47
|
name: string;
|
|
51
|
-
|
|
52
48
|
/**
|
|
53
|
-
* The platform the browser runs on,
|
|
54
|
-
* `"desktop"`, `"mobile"`, `"server"`, etc.
|
|
49
|
+
* The platform the browser runs on (e.g. desktop, mobile, XR, or server engine).
|
|
55
50
|
*/
|
|
56
|
-
type:
|
|
57
|
-
|
|
51
|
+
type: BrowserType;
|
|
58
52
|
/**
|
|
59
|
-
*
|
|
53
|
+
* The upstream browser this browser derives from (e.g. Firefox Android is derived from Firefox, Edge is derived from Chrome).
|
|
54
|
+
*/
|
|
55
|
+
upstream?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Whether the browser supports flags to enable or disablle features.
|
|
60
58
|
*/
|
|
61
59
|
accepts_flags?: boolean;
|
|
62
|
-
|
|
63
60
|
/**
|
|
64
61
|
* Whether the browser supports extensions.
|
|
65
62
|
*/
|
|
66
63
|
accepts_webextensions?: boolean;
|
|
67
|
-
|
|
68
64
|
/**
|
|
69
|
-
*
|
|
70
|
-
* (e.g. `"about:config"` for Firefox or `"chrome://flags"` for Chrome).
|
|
65
|
+
* URL of the page where feature flags can be changed (e.g. 'about:config' for Firefox or 'chrome://flags' for Chrome).
|
|
71
66
|
*/
|
|
72
67
|
pref_url?: string;
|
|
73
|
-
|
|
74
68
|
/**
|
|
75
|
-
* The
|
|
76
|
-
* `"Nightly"`, `"Canary"`, `"TP"`, etc.
|
|
69
|
+
* The name of the browser's preview channel (e.g. 'Nightly' for Firefox or 'TP' for Safari).
|
|
77
70
|
*/
|
|
78
|
-
preview_name
|
|
79
|
-
|
|
71
|
+
preview_name?: string;
|
|
80
72
|
/**
|
|
81
73
|
* The known versions of this browser.
|
|
82
74
|
*/
|
|
83
|
-
releases: {
|
|
84
|
-
[version: string]: ReleaseStatement;
|
|
85
|
-
};
|
|
75
|
+
releases: {[version: string]: ReleaseStatement};
|
|
86
76
|
}
|
|
87
|
-
|
|
88
77
|
/**
|
|
89
|
-
*
|
|
78
|
+
* This interface was referenced by `Browsers`'s JSON-Schema
|
|
79
|
+
* via the `definition` "release_statement".
|
|
90
80
|
*/
|
|
91
81
|
export interface ReleaseStatement {
|
|
92
82
|
/**
|
|
93
|
-
* The date on which this version was released
|
|
94
|
-
*
|
|
95
|
-
* Formatted as `YYYY-MM-DD`.
|
|
83
|
+
* The date on which this version was released, formatted as `YYYY-MM-DD`.
|
|
96
84
|
*/
|
|
97
85
|
release_date?: string;
|
|
98
|
-
|
|
99
86
|
/**
|
|
100
|
-
*
|
|
87
|
+
* A link to the release notes or changelog for a given release.
|
|
101
88
|
*/
|
|
102
89
|
release_notes?: string;
|
|
103
|
-
|
|
104
90
|
/**
|
|
105
91
|
* Name of the browser's underlying engine.
|
|
106
92
|
*/
|
|
107
|
-
engine?:
|
|
108
|
-
|
|
93
|
+
engine?: BrowserEngine;
|
|
109
94
|
/**
|
|
110
95
|
* Version of the engine corresponding to the browser version.
|
|
111
96
|
*/
|
|
112
97
|
engine_version?: string;
|
|
113
|
-
|
|
114
98
|
/**
|
|
115
|
-
* A property indicating where in the lifetime cycle this release is in.
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
* - `retired`: This release is no longer supported (EOL).
|
|
119
|
-
* - `current`: This release is the official latest release.
|
|
120
|
-
* - `exclusive`: This is an exclusive release (for example on a flagship device),
|
|
121
|
-
* not generally available.
|
|
122
|
-
* - `beta`: This release will the next official release.
|
|
123
|
-
* - `nightly`: This release is the current alpha / experimental release
|
|
124
|
-
* (like Firefox Nightly, Chrome Canary).
|
|
125
|
-
* - `esr`: This release is an Extended Support Release.
|
|
126
|
-
* - `planned`: This release is planned in the future.
|
|
127
|
-
*/
|
|
128
|
-
status:
|
|
129
|
-
| 'retired'
|
|
130
|
-
| 'current'
|
|
131
|
-
| 'limited'
|
|
132
|
-
| 'beta'
|
|
133
|
-
| 'nightly'
|
|
134
|
-
| 'esr'
|
|
135
|
-
| 'planned';
|
|
99
|
+
* A property indicating where in the lifetime cycle this release is in (e.g. current, retired, beta, nightly).
|
|
100
|
+
*/
|
|
101
|
+
status: BrowserStatus;
|
|
136
102
|
}
|
|
137
103
|
|
|
104
|
+
|
|
138
105
|
/**
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
* It is an array of `simple_support_statement` objects, but if there
|
|
143
|
-
* is only one of them, the array must be omitted.
|
|
106
|
+
* This interface was referenced by `CompatData`'s JSON-Schema
|
|
107
|
+
* via the `definition` "support_statement".
|
|
144
108
|
*/
|
|
145
|
-
export type SupportStatement =
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
109
|
+
export type SupportStatement = SimpleSupportStatement | SimpleSupportStatement[];
|
|
110
|
+
/**
|
|
111
|
+
* This interface was referenced by `CompatData`'s JSON-Schema
|
|
112
|
+
* via the `definition` "support_block".
|
|
113
|
+
*/
|
|
114
|
+
export type SupportBlock = Partial<Record<BrowserNames, SupportStatement>>;
|
|
115
|
+
/**
|
|
116
|
+
* This interface was referenced by `CompatData`'s JSON-Schema
|
|
117
|
+
* via the `definition` "spec_url_value".
|
|
118
|
+
*/
|
|
119
|
+
export type SpecUrlValue = string;
|
|
120
|
+
/**
|
|
121
|
+
* This interface was referenced by `CompatData`'s JSON-Schema
|
|
122
|
+
* via the `definition` "impl_url_value".
|
|
123
|
+
*/
|
|
124
|
+
export type ImplUrlValue = string;
|
|
125
|
+
|
|
149
126
|
|
|
150
127
|
/**
|
|
151
|
-
*
|
|
128
|
+
* This interface was referenced by `CompatData`'s JSON-Schema definition
|
|
129
|
+
* via the `patternProperty` "^(?!__compat)(?!webextensions)[a-zA-Z_0-9-$@]*$".
|
|
130
|
+
*
|
|
131
|
+
* This interface was referenced by `CompatData`'s JSON-Schema
|
|
132
|
+
* via the `definition` "identifier".
|
|
152
133
|
*/
|
|
153
|
-
export interface
|
|
154
|
-
/**
|
|
134
|
+
export interface Identifier extends Record<Omit<string, '__compat'>, Identifier> {
|
|
135
|
+
/**
|
|
136
|
+
* A feature is described by an identifier containing the `__compat` property.
|
|
137
|
+
*
|
|
138
|
+
* In other words, identifiers without `__compat` aren't necessarily features, but help to nest the features properly.
|
|
155
139
|
*
|
|
156
|
-
*
|
|
157
|
-
* (`true`, with the additional meaning that it is unknown in which version support was added)
|
|
158
|
-
* or not supported (`false`).
|
|
140
|
+
* When an identifier has a `__compat` block, it represents its basic support, indicating that a minimal implementation of a functionality is included.
|
|
159
141
|
*
|
|
160
|
-
*
|
|
142
|
+
* What it represents exactly depends of the evolution of the feature over time, both in terms of specifications and of browser support.
|
|
143
|
+
*/
|
|
144
|
+
__compat?: CompatStatement;
|
|
145
|
+
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* This interface was referenced by `CompatData`'s JSON-Schema definition
|
|
149
|
+
* via the `patternProperty` "^__compat$".
|
|
150
|
+
*
|
|
151
|
+
* This interface was referenced by `CompatData`'s JSON-Schema
|
|
152
|
+
* via the `definition` "compat_statement".
|
|
153
|
+
*/
|
|
154
|
+
export interface CompatStatement {
|
|
155
|
+
/**
|
|
156
|
+
* A string containing a human-readable description of the feature.
|
|
157
|
+
*/
|
|
158
|
+
description?: string;
|
|
159
|
+
/**
|
|
160
|
+
* A URL that points to an MDN reference page documenting the feature. The URL should be language-agnostic.
|
|
161
|
+
*/
|
|
162
|
+
mdn_url?: string;
|
|
163
|
+
/**
|
|
164
|
+
* An optional URL or array of URLs, each of which is for a specific part of a specification in which this feature is defined. Each URL must contain a fragment identifier.
|
|
165
|
+
*/
|
|
166
|
+
spec_url?: string | string[];
|
|
167
|
+
/**
|
|
168
|
+
* The data for the support of each browser, containing a `support_statement` object for each browser identifier with information about versions, prefixes, or alternate names, as well as notes.
|
|
169
|
+
*/
|
|
170
|
+
support: SupportBlock;
|
|
171
|
+
/**
|
|
172
|
+
* An object containing information about the stability of the feature.
|
|
173
|
+
*/
|
|
174
|
+
status?: StatusBlock;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* This interface was referenced by `CompatData`'s JSON-Schema
|
|
178
|
+
* via the `definition` "simple_support_statement".
|
|
179
|
+
*/
|
|
180
|
+
export interface SimpleSupportStatement {
|
|
181
|
+
/**
|
|
182
|
+
* A string (indicating which browser version added this feature), the value true (indicating support added in an unknown version), the value false (indicating the feature is not supported), or the value null (indicating support is unknown).
|
|
161
183
|
*/
|
|
162
184
|
version_added: VersionValue;
|
|
163
|
-
|
|
164
185
|
/**
|
|
165
|
-
*
|
|
166
|
-
* removed in. It may also be a `boolean` value of (`true` or `false`),
|
|
167
|
-
* or the `null` value.
|
|
168
|
-
*
|
|
169
|
-
* Default values:
|
|
170
|
-
* - If `version_added` is set to `true`, `false`, or a string,
|
|
171
|
-
* `version_removed` defaults to `false`.
|
|
172
|
-
* - if `version_added` is set to `null`, the default value
|
|
173
|
-
* of `version_removed` is also `null`.
|
|
186
|
+
* A string, indicating which browser version removed this feature, or the value true, indicating that the feature was removed in an unknown version.
|
|
174
187
|
*/
|
|
175
188
|
version_removed?: VersionValue;
|
|
176
|
-
|
|
177
189
|
/**
|
|
178
|
-
* A prefix to add to the sub-feature name (defaults to empty string).
|
|
179
|
-
*
|
|
180
|
-
* Only non-standard vendor prefixes are permitted.
|
|
181
|
-
*
|
|
182
|
-
* Note that leading and trailing `-` must be included.
|
|
190
|
+
* A prefix to add to the sub-feature name (defaults to empty string). If applicable, leading and trailing '-' must be included.
|
|
183
191
|
*/
|
|
184
192
|
prefix?: string;
|
|
185
|
-
|
|
186
193
|
/**
|
|
187
|
-
*
|
|
188
|
-
* or the prefix is an official non-vendor prefix.
|
|
189
|
-
*
|
|
190
|
-
* (eg. the official `grid-` prefixed aliases for the CSS `*-gap` properties).
|
|
194
|
+
* An alternative name for the feature, for cases where a feature is implemented under an entirely different name and not just prefixed.
|
|
191
195
|
*/
|
|
192
196
|
alternative_name?: string;
|
|
193
|
-
|
|
194
197
|
/**
|
|
195
|
-
* An optional array of objects
|
|
196
|
-
* Usually this array will have one item, but there are cases where two or more flags can be required to activate a feature.
|
|
197
|
-
*/
|
|
198
|
-
flags?: {
|
|
199
|
-
/**
|
|
200
|
-
* An enum that indicates the flag type:
|
|
201
|
-
* - `preference` a flag the user can set (like in `about:config` in Firefox).
|
|
202
|
-
* - `runtime_flag` a flag to be set before starting the browser.
|
|
203
|
-
*/
|
|
204
|
-
type: 'preference' | 'runtime_flag';
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* A `string` representing the flag or preference to modify.
|
|
208
|
-
*/
|
|
209
|
-
name: string;
|
|
210
|
-
|
|
211
|
-
/**
|
|
212
|
-
* Property representing the actual value to set the flag to.
|
|
213
|
-
*
|
|
214
|
-
* It is a string, that may be converted to the right type
|
|
215
|
-
* (that is `true` or `false` for a `boolean` value, or `4` for a `number` value).
|
|
216
|
-
*
|
|
217
|
-
* It doesn't need to be enclosed in `<code>` tags.
|
|
218
|
-
*/
|
|
219
|
-
value_to_set?: string;
|
|
220
|
-
}[];
|
|
221
|
-
/**
|
|
222
|
-
* A `boolean` value indicating whether or not the implementation of the sub-feature follows
|
|
223
|
-
* the current specification closely enough to not create major interoperability problems.
|
|
224
|
-
*
|
|
225
|
-
* It defaults to `false` (no interoperability problem expected).
|
|
226
|
-
*
|
|
227
|
-
* If set to `true`, it is recommended to add a note indicating how it diverges from
|
|
228
|
-
* the standard (implements an old version of the standard, for example).
|
|
198
|
+
* An optional array of objects describing flags that must be configured for this browser to support this feature.
|
|
229
199
|
*/
|
|
230
|
-
|
|
231
|
-
|
|
200
|
+
flags?: FlagStatement[];
|
|
232
201
|
/**
|
|
233
|
-
* An
|
|
234
|
-
* additional information. If there is only one entry in the array,
|
|
235
|
-
* the array must be omitted.
|
|
236
|
-
*
|
|
237
|
-
* The `<code>` and `<a>` HTML elements can be used.
|
|
202
|
+
* An optional changeset/commit URL for the revision which implemented the feature in the source code, or the URL to the bug tracking the implementation, for the associated browser.
|
|
238
203
|
*/
|
|
239
|
-
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
export type Identifier = PrimaryIdentifier & IdentifierMeta;
|
|
243
|
-
|
|
244
|
-
export interface PrimaryIdentifier
|
|
245
|
-
extends Record<Exclude<string, '__compat'>, Identifier> {}
|
|
246
|
-
|
|
247
|
-
interface IdentifierMeta {
|
|
204
|
+
impl_url?: string | string[];
|
|
248
205
|
/**
|
|
249
|
-
* A feature is
|
|
250
|
-
*
|
|
251
|
-
* In other words, identifiers without `__compat` aren't necessarily features,
|
|
252
|
-
* but help to nest the features properly.
|
|
253
|
-
*
|
|
254
|
-
* When an identifier has a `__compat` block, it represents its basic support,
|
|
255
|
-
* indicating that a minimal implementation of a functionality is included.
|
|
256
|
-
*
|
|
257
|
-
* What it represents exactly depends of the evolution of the feature over time,
|
|
258
|
-
* both in terms of specifications and of browser support.
|
|
206
|
+
* A boolean value indicating whether or not the implementation of the sub-feature deviates from the specification in a way that may cause compatibility problems. It defaults to false (no interoperability problems expected). If set to true, it is recommended that you add a note explaining how it diverges from the standard (such as that it implements an old version of the standard, for example).
|
|
259
207
|
*/
|
|
260
|
-
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
export interface CompatStatement {
|
|
208
|
+
partial_implementation?: true;
|
|
264
209
|
/**
|
|
265
|
-
* A string
|
|
266
|
-
*
|
|
267
|
-
* It is intended to be used as a caption or title and should be kept short.
|
|
268
|
-
*
|
|
269
|
-
* The `<code>` and `<a>` HTML elements can be used.
|
|
210
|
+
* A string or array of strings containing additional information.
|
|
270
211
|
*/
|
|
271
|
-
|
|
272
|
-
|
|
212
|
+
notes?: string | string[];
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* This interface was referenced by `CompatData`'s JSON-Schema
|
|
216
|
+
* via the `definition` "flag_statement".
|
|
217
|
+
*/
|
|
218
|
+
export interface FlagStatement {
|
|
273
219
|
/**
|
|
274
|
-
*
|
|
275
|
-
*
|
|
276
|
-
* It needs to be a valid URL, and should be the language-neutral URL
|
|
277
|
-
* (e.g. use `https://developer.mozilla.org/docs/Web/CSS/text-align`
|
|
278
|
-
* instead of `https://developer.mozilla.org/en-US/docs/Web/CSS/text-align`).
|
|
220
|
+
* An enum that indicates the flag type.
|
|
279
221
|
*/
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
matches?: MatchesBlock;
|
|
283
|
-
|
|
222
|
+
type: "preference" | "runtime_flag";
|
|
284
223
|
/**
|
|
285
|
-
*
|
|
286
|
-
*
|
|
287
|
-
* For each browser identifier, it contains a `support_statement` object with
|
|
288
|
-
* information about versions, prefixes, or alternate names, as well as notes.
|
|
224
|
+
* A string giving the name of the flag or preference that must be configured.
|
|
289
225
|
*/
|
|
290
|
-
|
|
291
|
-
|
|
226
|
+
name: string;
|
|
292
227
|
/**
|
|
293
|
-
*
|
|
294
|
-
*
|
|
295
|
-
* Is it a functionality that is standard? Is it stable?
|
|
296
|
-
* Has it been deprecated and shouldn't be used anymore?
|
|
228
|
+
* A string giving the value which the specified flag must be set to for this feature to work.
|
|
297
229
|
*/
|
|
298
|
-
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
export interface SupportBlock
|
|
302
|
-
extends Partial<Record<BrowserNames, SupportStatement>>,
|
|
303
|
-
Partial<Record<string, SupportStatement>> {}
|
|
304
|
-
|
|
305
|
-
export interface MatchesBlock {
|
|
306
|
-
keywords?: string[];
|
|
307
|
-
regex_token?: string;
|
|
308
|
-
regex_value?: string;
|
|
230
|
+
value_to_set?: string;
|
|
309
231
|
}
|
|
310
|
-
|
|
311
232
|
/**
|
|
312
|
-
*
|
|
233
|
+
* This interface was referenced by `CompatData`'s JSON-Schema
|
|
234
|
+
* via the `definition` "status_block".
|
|
313
235
|
*/
|
|
314
236
|
export interface StatusBlock {
|
|
315
237
|
/**
|
|
316
|
-
*
|
|
317
|
-
* intended to be an addition to the Web platform. Some features are added to
|
|
318
|
-
* conduct tests.
|
|
319
|
-
*
|
|
320
|
-
* Set to `false`, it means the functionality is mature, and no
|
|
321
|
-
* significant incompatible changes are expected in the future.
|
|
238
|
+
* A boolean value that indicates whether this functionality is intended to be an addition to the Web platform. Set to false, it means the functionality is mature, and no significant incompatible changes are expected in the future.
|
|
322
239
|
*/
|
|
323
240
|
experimental: boolean;
|
|
324
|
-
|
|
325
241
|
/**
|
|
326
|
-
*
|
|
327
|
-
* of an active specification or specification process.
|
|
242
|
+
* A boolean value indicating whether the feature is part of an active specification or specification process.
|
|
328
243
|
*/
|
|
329
244
|
standard_track: boolean;
|
|
330
|
-
|
|
331
245
|
/**
|
|
332
|
-
*
|
|
333
|
-
*
|
|
334
|
-
* It might be removed in the future or might only be kept for compatibility purposes.
|
|
335
|
-
* Avoid using this functionality.
|
|
246
|
+
* A boolean value that indicates whether the feature is no longer recommended. It might be removed in the future or might only be kept for compatibility purposes. Avoid using this functionality.
|
|
336
247
|
*/
|
|
337
248
|
deprecated: boolean;
|
|
338
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* This interface was referenced by `CompatData`'s JSON-Schema
|
|
252
|
+
* via the `definition` "webextensions_identifier".
|
|
253
|
+
*/
|
|
254
|
+
export interface WebextensionsIdentifier {
|
|
255
|
+
__compat?: CompatStatement;
|
|
256
|
+
/**
|
|
257
|
+
* This interface was referenced by `WebextensionsIdentifier`'s JSON-Schema definition
|
|
258
|
+
* via the `patternProperty` "^(?!__compat)[a-zA-Z_0-9-$@]*$".
|
|
259
|
+
*/
|
|
260
|
+
[k: string]: Identifier;
|
|
261
|
+
}
|
|
339
262
|
|
|
340
|
-
export type CompatData = CompatDataBrowsers & CompatDataIdentifiers;
|
|
341
263
|
|
|
342
|
-
interface
|
|
264
|
+
export interface MetaBlock{
|
|
265
|
+
version: string;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
export interface CompatData {
|
|
343
269
|
/**
|
|
344
|
-
* Contains
|
|
270
|
+
* Contains metadata for the current BCD information, such as the BCD version.
|
|
345
271
|
*/
|
|
346
|
-
|
|
347
|
-
}
|
|
272
|
+
__meta: MetaBlock;
|
|
348
273
|
|
|
349
|
-
interface CompatDataIdentifiers
|
|
350
|
-
extends Record<Exclude<string, 'browsers'>, PrimaryIdentifier> {
|
|
351
274
|
/**
|
|
352
|
-
* Contains data for each [Web API](https://developer.mozilla.org/docs/Web/API)
|
|
353
|
-
* interface.
|
|
275
|
+
* Contains data for each [Web API](https://developer.mozilla.org/docs/Web/API) interface.
|
|
354
276
|
*/
|
|
355
|
-
api:
|
|
277
|
+
api: Identifier;
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Contains data for each known and tracked browser/engine.
|
|
281
|
+
*/
|
|
282
|
+
browsers: Browsers;
|
|
356
283
|
|
|
357
284
|
/**
|
|
358
|
-
* Contains data for [CSS](https://developer.mozilla.org/docs/Web/CSS)
|
|
359
|
-
* properties, selectors, and at-rules.
|
|
285
|
+
* Contains data for [CSS](https://developer.mozilla.org/docs/Web/CSS) properties, selectors, and at-rules.
|
|
360
286
|
*/
|
|
361
|
-
css:
|
|
287
|
+
css: Identifier;
|
|
362
288
|
|
|
363
289
|
/**
|
|
364
|
-
* Contains data for [HTML](https://developer.mozilla.org/docs/Web/HTML)
|
|
365
|
-
* elements, attributes, and global attributes.
|
|
290
|
+
* Contains data for [HTML](https://developer.mozilla.org/docs/Web/HTML) elements, attributes, and global attributes.
|
|
366
291
|
*/
|
|
367
|
-
html:
|
|
292
|
+
html: Identifier;
|
|
368
293
|
|
|
369
294
|
/**
|
|
370
|
-
* Contains data for [HTTP](https://developer.mozilla.org/docs/Web/HTTP)
|
|
371
|
-
* headers, statuses, and methods.
|
|
295
|
+
* Contains data for [HTTP](https://developer.mozilla.org/docs/Web/HTTP) headers, statuses, and methods.
|
|
372
296
|
*/
|
|
373
|
-
http:
|
|
297
|
+
http: Identifier;
|
|
374
298
|
|
|
375
299
|
/**
|
|
376
|
-
* Contains data for [JavaScript](https://developer.mozilla.org/docs/Web/JavaScript)
|
|
377
|
-
* built-in Objects, statement, operators, and other ECMAScript language features.
|
|
300
|
+
* Contains data for [JavaScript](https://developer.mozilla.org/docs/Web/JavaScript) built-in Objects, statement, operators, and other ECMAScript language features.
|
|
378
301
|
*/
|
|
379
|
-
javascript:
|
|
302
|
+
javascript: Identifier;
|
|
380
303
|
|
|
381
304
|
/**
|
|
382
|
-
* Contains data for [MathML](https://developer.mozilla.org/docs/Web/MathML)
|
|
383
|
-
* elements, attributes, and global attributes.
|
|
305
|
+
* Contains data for [MathML](https://developer.mozilla.org/docs/Web/MathML) elements, attributes, and global attributes.
|
|
384
306
|
*/
|
|
385
|
-
mathml:
|
|
307
|
+
mathml: Identifier;
|
|
386
308
|
|
|
387
309
|
/**
|
|
388
|
-
* Contains data for [SVG](https://developer.mozilla.org/docs/Web/SVG)
|
|
389
|
-
* elements, attributes, and global attributes.
|
|
310
|
+
* Contains data for [SVG](https://developer.mozilla.org/docs/Web/SVG) elements, attributes, and global attributes.
|
|
390
311
|
*/
|
|
391
|
-
svg:
|
|
312
|
+
svg: Identifier;
|
|
392
313
|
|
|
393
314
|
/**
|
|
394
|
-
* Contains data for [WebDriver](https://developer.mozilla.org/docs/Web/WebDriver)
|
|
395
|
-
* commands.
|
|
315
|
+
* Contains data for [WebDriver](https://developer.mozilla.org/docs/Web/WebDriver) commands.
|
|
396
316
|
*/
|
|
397
|
-
webdriver:
|
|
317
|
+
webdriver: Identifier;
|
|
398
318
|
|
|
399
319
|
/**
|
|
400
|
-
* Contains data for [WebExtensions](https://developer.mozilla.org/Add-ons/WebExtensions)
|
|
401
|
-
* JavaScript APIs and manifest keys.
|
|
320
|
+
* Contains data for [WebExtensions](https://developer.mozilla.org/Add-ons/WebExtensions) JavaScript APIs and manifest keys.
|
|
402
321
|
*/
|
|
403
|
-
webextensions:
|
|
322
|
+
webextensions: Identifier;
|
|
404
323
|
}
|
package/index.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/* This file is a part of @mdn/browser-compat-data
|
|
2
|
-
* See LICENSE file for more information. */
|
|
3
|
-
|
|
4
|
-
/// <reference path="./types.d.ts"/>
|
|
5
|
-
import { CompatData } from './types';
|
|
6
|
-
|
|
7
|
-
// This is necessary to have intellisense in projects which
|
|
8
|
-
// import data from this package.
|
|
9
|
-
declare const compatData: CompatData;
|
|
10
|
-
export = compatData;
|
package/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require("./data.json");
|