@visulima/packem
Version:
A fast and modern bundler for Node.js and TypeScript.
19 lines (18 loc) • 1.17 kB
text/typescript
import type { Result } from "postcss-load-config";
import type { LoaderContext } from "../loaders/types.d.cts";
import type { InternalStyleOptions, PostCSSOptions, StyleOptions } from "../types.d.cts";
interface Mode {
emit: InternalStyleOptions["emit"];
extract: InternalStyleOptions["extract"];
inject: InternalStyleOptions["inject"];
}
type PCSSOption = "parser" | "plugin" | "stringifier" | "syntax";
export declare const inferModeOption: (mode: StyleOptions["mode"]) => Mode;
export declare const inferOption: <T, TDefine extends T | boolean | undefined>(option: T | boolean | undefined, defaultValue: TDefine) => T | TDefine | false;
export declare const inferSourceMapOption: (sourceMap: StyleOptions["sourceMap"]) => LoaderContext["sourceMap"];
export declare const inferHandlerOption: <T extends {
alias?: Record<string, string>;
}>(option: T | boolean | undefined, alias: T["alias"]) => T | false;
export declare const ensurePCSSOption: <T>(option: T | string, type: PCSSOption, cwd: string) => Promise<T>;
export declare const ensurePCSSPlugins: (plugins: PostCSSOptions["plugins"], cwd: string) => Promise<Result["plugins"]>;
export {};