UNPKG

@lipemat/js-boilerplate

Version:

Dependencies and scripts for a no config JavaScript app

88 lines (77 loc) 1.84 kB
/** * No public types available. * * @link https://webpack.js.org/loaders/css-loader/#options */ import type {LoaderContext} from 'webpack'; export type Mode = 'local' | 'global' | 'pure' | 'icss'; export type Resource = LoaderContext<{ resourcePath: string }>; export type GetLocalIdent = ( context: Resource, localIdentName: string, localName: string ) => string; export type Modules = | boolean | 'local' | 'global' | 'pure' | 'icss' | { auto: boolean | RegExp | ( ( resourcePath: string ) => boolean ); mode: Mode | ( ( resourcePath: string ) => Mode ); localIdentName: string; localIdentContext: string; localIdentHashSalt: string; localIdentHashFunction: string; localIdentHashDigest: string; localIdentRegExp: string | RegExp; getLocalIdent: GetLocalIdent; namedExport: boolean; exportGlobals: boolean; exportLocalsConvention: | 'asIs' | 'camelCase' | 'camelCaseOnly' | 'dashes' | 'dashesOnly' | ( ( name: string ) => string ); exportOnlyLocals: boolean; getJSON: ( { resourcePath, imports, exports, replacements, }: { resourcePath: string; imports: object[]; exports: object[]; replacements: object[]; } ) => Promise<void> | void; }; type Base = { importLoaders?: number; sourceMap?: boolean; url?: boolean | { filter: ( url: string, resourcePath: string ) => boolean; }; importFn?: boolean | { filter: ( url: string, media: string, resourcePath: string, supports?: string, layer?: string, ) => boolean; }; esModule?: boolean; }; type CssStyleSheetExport = Base & { exportType?: 'css-style-sheet' | 'string'; modules?: Partial<Modules> & { exportLocalsConvention: 'camelCaseOnly' | 'dashesOnly' }; }; type ArrayExport = Base & { exportType?: 'array'; modules: Partial<Modules> }; export type Config = CssStyleSheetExport | ArrayExport;