UNPKG

@thelabnyc/typed-scss-modules

Version:

TypeScript type definition generator for SCSS CSS Modules

30 lines (29 loc) 1.1 kB
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[];