Spaces:
Running
Running
| // based on @types/[email protected] | |
| // Type definitions for postcss-load-config 2.1 | |
| import Processor from 'postcss/lib/processor'; | |
| import { Plugin, ProcessOptions, Transformer } from 'postcss'; | |
| import { Options as ConfigOptions } from "lilconfig"; | |
| declare function postcssrc( | |
| ctx?: postcssrc.ConfigContext, | |
| path?: string, | |
| options?: ConfigOptions | |
| ): Promise<postcssrc.Result>; | |
| declare namespace postcssrc { | |
| function sync( | |
| ctx?: ConfigContext, | |
| path?: string, | |
| options?: ConfigOptions | |
| ): Result; | |
| // In the ConfigContext, these three options can be instances of the | |
| // appropriate class, or strings. If they are strings, postcss-load-config will | |
| // require() them and pass the instances along. | |
| export interface ProcessOptionsPreload { | |
| parser?: string | ProcessOptions['parser']; | |
| stringifier?: string | ProcessOptions['stringifier']; | |
| syntax?: string | ProcessOptions['syntax']; | |
| } | |
| // The remaining ProcessOptions, sans the three above. | |
| export type RemainingProcessOptions = Pick< | |
| ProcessOptions, | |
| Exclude<keyof ProcessOptions, keyof ProcessOptionsPreload> | |
| >; | |
| // Additional context options that postcss-load-config understands. | |
| export interface Context { | |
| cwd?: string; | |
| env?: string; | |
| } | |
| // The full shape of the ConfigContext. | |
| export type ConfigContext = Context & | |
| ProcessOptionsPreload & | |
| RemainingProcessOptions; | |
| // Result of postcssrc is a Promise containing the filename plus the options | |
| // and plugins that are ready to pass on to postcss. | |
| export type ResultPlugin = Plugin | Transformer | Processor; | |
| export interface Result { | |
| file: string; | |
| options: ProcessOptions; | |
| plugins: ResultPlugin[]; | |
| } | |
| export type ConfigPlugin = Transformer | Plugin | Processor; | |
| export interface Config { | |
| parser?: string | ProcessOptions['parser'] | false; | |
| stringifier?: string | ProcessOptions['stringifier'] | false; | |
| syntax?: string | ProcessOptions['syntax'] | false; | |
| map?: string | false; | |
| from?: string; | |
| to?: string; | |
| plugins?: Array<ConfigPlugin | false> | Record<string, object | false>; | |
| } | |
| export type ConfigFn = (ctx: ConfigContext) => Config | Promise<Config>; | |
| } | |
| export = postcssrc; | |