vite-plugin-style-modules
Version:
⭐️⭐️⭐️ Support CSS Modules, not only in xx.module.xx, but also in the custom named file. like xx.(css|less|sass|stylus)
29 lines (28 loc) • 1.16 kB
TypeScript
import type { Plugin } from 'postcss';
declare type GenerateScopedNameFunction = (name: string, filename: string, css: string) => string;
declare type LocalsConventionFunction = (originalClassName: string, generatedClassName: string, inputFile: string) => string;
declare class Loader {
constructor(root: string, plugins: Plugin[]);
fetch(file: string, relativeTo: string, depTrace: string): Promise<{
[key: string]: string;
}>;
finalSource?: string | undefined;
}
export interface IPostCssModule {
getJSON?(cssFilename: string, json: {
[name: string]: string;
}, outputFilename?: string): void;
localsConvention?: 'camelCase' | 'camelCaseOnly' | 'dashes' | 'dashesOnly' | LocalsConventionFunction;
scopeBehaviour?: 'global' | 'local';
globalModulePaths?: RegExp[];
generateScopedName?: string | GenerateScopedNameFunction;
hashPrefix?: string;
exportGlobals?: boolean;
root?: string;
Loader?: typeof Loader;
resolve?: (file: string) => string | Promise<string>;
}
export interface IPluginOptions extends IPostCssModule {
path?: RegExp;
}
export {};