aboutsummaryrefslogtreecommitdiff
path: root/node_modules/browserslist/index.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/browserslist/index.d.ts')
-rw-r--r--node_modules/browserslist/index.d.ts176
1 files changed, 176 insertions, 0 deletions
diff --git a/node_modules/browserslist/index.d.ts b/node_modules/browserslist/index.d.ts
new file mode 100644
index 0000000..4ca9cd9
--- /dev/null
+++ b/node_modules/browserslist/index.d.ts
@@ -0,0 +1,176 @@
+/**
+ * Return array of browsers by selection queries.
+ *
+ * ```js
+ * browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8']
+ * ```
+ *
+ * @param queries Browser queries.
+ * @returns Array with browser names in Can I Use.
+ */
+declare function browserslist(
+ queries?: string | readonly string[] | null,
+ opts?: browserslist.Options
+): string[]
+
+declare namespace browserslist {
+ interface Options {
+ /**
+ * Path to processed file. It will be used to find config files.
+ */
+ path?: string | false
+ /**
+ * Processing environment. It will be used to take right queries
+ * from config file.
+ */
+ env?: string
+ /**
+ * Custom browser usage statistics for "> 1% in my stats" query.
+ */
+ stats?: Stats | string
+ /**
+ * Path to config file with queries.
+ */
+ config?: string
+ /**
+ * Do not throw on unknown version in direct query.
+ */
+ ignoreUnknownVersions?: boolean
+ /**
+ * Throw a error if env is not found.
+ */
+ throwOnMissing?: boolean
+ /**
+ * Disable security checks for extend query.
+ */
+ dangerousExtend?: boolean
+ /**
+ * Alias mobile browsers to the desktop version when Can I Use
+ * doesn’t have data about the specified version.
+ */
+ mobileToDesktop?: boolean
+ }
+
+ type Config = {
+ defaults: string[]
+ [section: string]: string[] | undefined
+ }
+
+ interface Stats {
+ [browser: string]: {
+ [version: string]: number
+ }
+ }
+
+ /**
+ * Browser names aliases.
+ */
+ let aliases: {
+ [alias: string]: string | undefined
+ }
+
+ /**
+ * Aliases to work with joined versions like `ios_saf 7.0-7.1`.
+ */
+ let versionAliases: {
+ [browser: string]:
+ | {
+ [version: string]: string | undefined
+ }
+ | undefined
+ }
+
+ /**
+ * Can I Use only provides a few versions for some browsers (e.g. `and_chr`).
+ *
+ * Fallback to a similar browser for unknown versions.
+ */
+ let desktopNames: {
+ [browser: string]: string | undefined
+ }
+
+ let data: {
+ [browser: string]:
+ | {
+ name: string
+ versions: string[]
+ released: string[]
+ releaseDate: {
+ [version: string]: number | undefined | null
+ }
+ }
+ | undefined
+ }
+
+ interface Usage {
+ [version: string]: number
+ }
+
+ let usage: {
+ global?: Usage
+ custom?: Usage | null
+ [country: string]: Usage | undefined | null
+ }
+
+ let cache: {
+ [feature: string]: {
+ [name: string]: 'y' | 'n'
+ }
+ }
+
+ /**
+ * Default browsers query
+ */
+ let defaults: readonly string[]
+
+ /**
+ * Which statistics should be used. Country code or custom statistics.
+ * Pass `"my stats"` to load statistics from `Browserslist` files.
+ */
+ type StatsOptions = string | 'my stats' | Stats | { dataByBrowser: Stats }
+
+ /**
+ * Return browsers market coverage.
+ *
+ * ```js
+ * browserslist.coverage(browserslist('> 1% in US'), 'US') //=> 83.1
+ * ```
+ *
+ * @param browsers Browsers names in Can I Use.
+ * @param stats Which statistics should be used.
+ * @returns Total market coverage for all selected browsers.
+ */
+ function coverage(browsers: readonly string[], stats?: StatsOptions): number
+
+ function clearCaches(): void
+
+ function parseConfig(string: string): Config
+
+ function readConfig(file: string): Config
+
+ function findConfig(...pathSegments: string[]): Config | undefined
+
+ interface LoadConfigOptions {
+ config?: string
+ path?: string
+ env?: string
+ }
+
+ function loadConfig(options: LoadConfigOptions): string[] | undefined
+}
+
+declare global {
+ namespace NodeJS {
+ interface ProcessEnv {
+ BROWSERSLIST?: string
+ BROWSERSLIST_CONFIG?: string
+ BROWSERSLIST_DANGEROUS_EXTEND?: string
+ BROWSERSLIST_DISABLE_CACHE?: string
+ BROWSERSLIST_ENV?: string
+ BROWSERSLIST_IGNORE_OLD_DATA?: string
+ BROWSERSLIST_STATS?: string
+ }
+ }
+}
+
+export = browserslist