summaryrefslogtreecommitdiff
path: root/node_modules/postcss-load-config/src/index.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/postcss-load-config/src/index.d.ts')
-rw-r--r--node_modules/postcss-load-config/src/index.d.ts65
1 files changed, 65 insertions, 0 deletions
diff --git a/node_modules/postcss-load-config/src/index.d.ts b/node_modules/postcss-load-config/src/index.d.ts
new file mode 100644
index 0000000..4979220
--- /dev/null
+++ b/node_modules/postcss-load-config/src/index.d.ts
@@ -0,0 +1,65 @@
+// based on @types/postcss-load-config@2.0.1
+// 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 {
+ // 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;