122 lines
4.1 KiB
Plaintext
122 lines
4.1 KiB
Plaintext
export type BrowserVersion = {
|
|
browser: string;
|
|
version: string;
|
|
release_date?: string;
|
|
engine?: string;
|
|
engine_version?: string;
|
|
};
|
|
export type Options = {
|
|
/**
|
|
* Whether to include only the minimum compatible browser versions or all compatible versions.
|
|
* Defaults to `false`.
|
|
*/
|
|
listAllCompatibleVersions?: boolean;
|
|
/**
|
|
* Whether to include browsers that use the same engines as a core Baseline browser.
|
|
* Defaults to `false`.
|
|
*/
|
|
includeDownstreamBrowsers?: boolean;
|
|
/**
|
|
* Pass a date in the format 'YYYY-MM-DD' to get versions compatible with Widely available on the specified date.
|
|
* If left undefined and a `targetYear` is not passed, defaults to Widely available as of the current date.
|
|
* > NOTE: cannot be used with `targetYear`.
|
|
*/
|
|
widelyAvailableOnDate?: string | number;
|
|
/**
|
|
* Pass a year between 2015 and the current year to get browser versions compatible with all
|
|
* Newly Available features as of the end of the year specified.
|
|
* > NOTE: cannot be used with `widelyAvailableOnDate`.
|
|
*/
|
|
targetYear?: number;
|
|
/**
|
|
* Pass a boolean that determines whether KaiOS is included in browser mappings. KaiOS implements
|
|
* the Gecko engine used in Firefox. However, KaiOS also has a different interaction paradigm to
|
|
* other browsers and requires extra consideration beyond simple feature compatibility to provide
|
|
* an optimal user experience. Defaults to `false`.
|
|
*/
|
|
includeKaiOS?: boolean;
|
|
overrideLastUpdated?: number;
|
|
/**
|
|
* Pass a boolean to suppress the warning about stale data.
|
|
* Defaults to `false`.
|
|
*/
|
|
suppressWarnings?: boolean;
|
|
};
|
|
export type AllVersionsOptions = {
|
|
/**
|
|
* Whether to return the output as a JavaScript `Array` (`"array"`), `Object` (`"object"`) or a CSV string (`"csv"`).
|
|
* Defaults to `"array"`.
|
|
*/
|
|
outputFormat?: string;
|
|
/**
|
|
* Whether to include browsers that use the same engines as a core Baseline browser.
|
|
* Defaults to `false`.
|
|
*/
|
|
includeDownstreamBrowsers?: boolean;
|
|
/**
|
|
* Whether to use the new "supports" property in place of "wa_compatible"
|
|
* Defaults to `false`
|
|
*/
|
|
useSupports?: boolean;
|
|
/**
|
|
* Whether to include KaiOS in the output. KaiOS implements the Gecko engine used in Firefox.
|
|
* However, KaiOS also has a different interaction paradigm to other browsers and requires extra
|
|
* consideration beyond simple feature compatibility to provide an optimal user experience.
|
|
*/
|
|
includeKaiOS?: boolean;
|
|
/**
|
|
* Pass a boolean to suppress the warning about old data.
|
|
* Defaults to `false`.
|
|
*/
|
|
suppressWarnings?: boolean;
|
|
};
|
|
export interface AllBrowsersBrowserVersion extends BrowserVersion {
|
|
year: number | string;
|
|
supports?: string;
|
|
wa_compatible?: boolean;
|
|
}
|
|
export type NestedBrowserVersions = {
|
|
[browser: string]: {
|
|
[version: string]: AllBrowsersBrowserVersion;
|
|
};
|
|
};
|
|
export type TimelineOptions = {
|
|
/**
|
|
* Whether to return the timeline as a chronologically sorted array of events grouped by date ("date"),
|
|
* or as an object grouped by browser with their respective history of version changes ("browser").
|
|
* Defaults to "date".
|
|
*/
|
|
groupBy?: "date" | "browser";
|
|
/**
|
|
* Whether to include all compatible browsers in each timeline event,
|
|
* or only the browsers that changed on that date.
|
|
* Only applicable when groupBy is "date".
|
|
* Defaults to `false`.
|
|
*/
|
|
listAllBrowsers?: boolean;
|
|
/**
|
|
* Whether to include browsers that use the same engines as a core Baseline browser.
|
|
* Defaults to `false`.
|
|
*/
|
|
includeDownstreamBrowsers?: boolean;
|
|
/**
|
|
* Whether to include KaiOS in the timeline.
|
|
* Defaults to `false`.
|
|
*/
|
|
includeKaiOS?: boolean;
|
|
};
|
|
export type TimelineEvent = {
|
|
date: string;
|
|
browsers: BrowserVersion[];
|
|
};
|
|
export type BrowserTimelineEntry = {
|
|
date: string;
|
|
version: string;
|
|
release_date?: string;
|
|
engine?: string;
|
|
engine_version?: string;
|
|
};
|
|
export type BrowserTimeline = {
|
|
[browser: string]: BrowserTimelineEntry[];
|
|
};
|