@thelabnyc/typed-scss-modules
Version:
TypeScript type definition generator for SCSS CSS Modules
30 lines (29 loc) • 1.1 kB
TypeScript
import type { CanonicalizeContext, FileImporter, Importer, Options } from "sass";
export type { Importer, FileImporter };
export type AnyImporter = Exclude<Options<"sync">["importers"] | Options<"async">["importers"], undefined>[number];
export interface Aliases {
[index: string]: string;
}
interface AliasImporterOptions {
aliases: Aliases;
aliasPrefixes: Aliases;
includePaths?: string[];
}
export declare class AliasImporter implements FileImporter<"sync"> {
readonly opts: Readonly<AliasImporterOptions>;
constructor(opts: AliasImporterOptions);
readonly findFileUrl: (url: string, ctx: CanonicalizeContext) => URL | null;
}
export interface SASSImporterOptions {
aliases?: Aliases;
aliasPrefixes?: Aliases;
importers?: AnyImporter[];
includePaths?: string[];
}
/**
* Construct custom SASS importers based on options.
*
* - Given aliases and alias prefix options, add a custom alias importer.
* - Given custom SASS importer(s), append to the list of importers.
*/
export declare const customImporters: (opts: SASSImporterOptions) => AnyImporter[];