Type Definitions
uglier ships with TypeScript definitions generated from JSDoc. These provide full autocomplete and type checking in your editor.
Core types
Section titled “Core types”UglierOptions
Section titled “UglierOptions”type UglierOptions = { with?: Array<ConfigName> without?: Array<ConfigName> options?: { "lints-js"?: LintsJsOptions "lints-jsdoc"?: LintsJsdocOptions languageOptions?: LanguageOptionsOptions node?: EnvironmentOptions web?: EnvironmentOptions react?: EnvironmentOptions tauri?: EnvironmentOptions "vscode-extension"?: EnvironmentOptions "cjs-override"?: ModuleOverrideOptions "mjs-override"?: ModuleOverrideOptions }}ConfigName
Section titled “ConfigName”type ConfigName = | "lints-js" | "lints-jsdoc" | "languageOptions" | "node" | "web" | "react" | "tauri" | "vscode-extension" | "cjs-override" | "mjs-override"LintsJsOptions
Section titled “LintsJsOptions”type LintsJsOptions = { files?: Array<string> ignores?: Array<string> indent?: number maxLen?: number overrides?: Record<string, any>}LintsJsdocOptions
Section titled “LintsJsdocOptions”type LintsJsdocOptions = { files?: Array<string> ignores?: Array<string> overrides?: Record<string, any>}EnvironmentOptions
Section titled “EnvironmentOptions”type EnvironmentOptions = { files?: Array<string> ignores?: Array<string> additionalGlobals?: Record<string, "readonly" | "writable">}LanguageOptionsOptions
Section titled “LanguageOptionsOptions”type LanguageOptionsOptions = { ecmaVersion?: number | string sourceType?: "module" | "commonjs" additionalGlobals?: Record<string, "readonly" | "writable">}ModuleOverrideOptions
Section titled “ModuleOverrideOptions”type ModuleOverrideOptions = { files?: Array<string> ignores?: Array<string>}Using types in your config
Section titled “Using types in your config”The TypeScript definitions are automatically resolved when you import from @gesslar/uglier:
/** @type {import("@gesslar/uglier").UglierOptions} */const options = { with: ["lints-js", "node"],}