Major changes: - New frontend (platform/web/): Vite + React 18 + TypeScript + Tailwind - 4-module navigation: 数据送标 / 模型管理 / 车队管理 / 系统管理 - Data catalog with charts (DMS/ADAS/Lane 3-tab view) - Quality review workflow (标注质检): Good/Fine/Bad scoring with auto-advance - Audit enhancements: batch operations, rejection categories, Feishu notifications - Operation audit log (操作日志) - World model simulation studio (仿真工坊) - Dataset version management with snapshots and diff - ADAS 7-class dataset integration (138K images organized + compressed) - User management with Feishu integration and pagination - CRUD/search/filter on all pages, card layout redesign - PIL-optimized image overlay rendering - Auto-snapshot on build, in_review workflow stage - Removed embedded algorithm code (now in workspace)
225 lines
4.8 KiB
TypeScript
225 lines
4.8 KiB
TypeScript
/**
|
||
* Return array of browsers by selection queries.
|
||
*
|
||
* ```js
|
||
* browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8']
|
||
* ```
|
||
*
|
||
* @param queries Browser queries.
|
||
* @param opts Options.
|
||
* @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 Query {
|
||
compose: 'or' | 'and'
|
||
type: string
|
||
query: string
|
||
not?: true
|
||
}
|
||
|
||
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 an 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
|
||
}
|
||
|
||
let nodeVersions: string[]
|
||
|
||
interface Usage {
|
||
[version: string]: number
|
||
}
|
||
|
||
let usage: {
|
||
global?: Usage
|
||
custom?: Usage | null
|
||
[country: string]: Usage | undefined | null
|
||
}
|
||
|
||
let cache: {
|
||
[feature: string]: {
|
||
[name: string]: {
|
||
[version: string]: string
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 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
|
||
|
||
/**
|
||
* Get queries AST to analyze the config content.
|
||
*
|
||
* @param queries Browser queries.
|
||
* @param opts Options.
|
||
* @returns An array of the data of each query in the config.
|
||
*/
|
||
function parse(
|
||
queries?: string | readonly string[] | null,
|
||
opts?: browserslist.Options
|
||
): Query[]
|
||
|
||
/**
|
||
* Return queries for specific file inside the project.
|
||
*
|
||
* ```js
|
||
* browserslist.loadConfig({
|
||
* file: process.cwd()
|
||
* }) ?? browserslist.defaults
|
||
* ```
|
||
*/
|
||
function loadConfig(options: LoadConfigOptions): string[] | undefined
|
||
|
||
function clearCaches(): void
|
||
|
||
function parseConfig(string: string): Config
|
||
|
||
function readConfig(file: string): Config
|
||
|
||
function findConfig(...pathSegments: string[]): Config | undefined
|
||
|
||
function findConfigFile(...pathSegments: string[]): string | undefined
|
||
|
||
interface LoadConfigOptions {
|
||
/**
|
||
* Path to config file
|
||
* */
|
||
config?: string
|
||
|
||
/**
|
||
* Path to file inside the project to find Browserslist config
|
||
* in closest folder
|
||
*/
|
||
path?: string
|
||
|
||
/**
|
||
* Environment to choose part of config.
|
||
*/
|
||
env?: string
|
||
}
|
||
}
|
||
|
||
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
|
||
BROWSERSLIST_ROOT_PATH?: string
|
||
}
|
||
}
|
||
}
|
||
|
||
export = browserslist
|