kkt
Version:
Create React apps with no build configuration, Cli tool for creating react apps.
43 lines (42 loc) • 1.89 kB
TypeScript
import { RuleSetUseItem, LoaderContext } from 'webpack';
import { ParsedArgs } from 'minimist';
/** https://github.com/webpack-contrib/css-loader/blob/master/test/validate-options.test.js */
export interface CssOptions {
importLoaders?: number;
import?: boolean | {
filter: (url: string, media: unknown, resourcePath: string) => boolean;
};
sourceMap?: boolean;
esModule?: boolean;
exportType?: 'array' | 'string' | 'css-style-sheet';
url?: boolean | {
filter: (url: string, resourcePath: string) => boolean;
};
modules?: boolean | 'global' | 'local' | 'pure' | 'icss' | {
mode?: 'global' | 'local' | 'pure' | 'icss' | (() => 'local');
localIdentName?: string;
localIdentContext?: string;
localIdentHashSalt?: string;
localIdentHashFunction?: string;
localIdentHashDigest?: string;
localIdentHashDigestLength?: string;
localIdentRegExp?: string | RegExp;
exportGlobals?: boolean;
namedExport?: boolean;
exportOnlyLocals?: boolean;
exportLocalsConvention?: 'asIs' | 'camelCase' | 'camelCaseOnly' | 'dashes' | 'dashesOnly' | ((localName: string) => string);
auto?: boolean | RegExp | (() => boolean);
getLocalIdent?: (loaderContext: LoaderContext<unknown>, localIdentName: string, localName: string) => string;
};
}
export type StyleLoadersOptions<T> = ParsedArgs & {
isEnvDevelopment: boolean;
isEnvProduction: boolean;
shouldUseSourceMap: boolean;
preProcessorOptions: T | {};
};
/**
* 方法来源
* https://github.com/facebook/create-react-app/blob/9673858a3715287c40aef9e800c431c7d45c05a2/packages/react-scripts/config/webpack.config.js#L118-L197
*/
export declare const getStyleLoaders: <T>(cssOptions: CssOptions, options: StyleLoadersOptions<T> | undefined, preProcessor: string) => RuleSetUseItem[];