@nx/rollup
Version:
111 lines • 3.26 kB
TypeScript
import type { AcceptedPlugin } from 'postcss';
export type FilterPattern = string | RegExp | (string | RegExp)[];
export interface PostCSSModulesOptions {
/** Generate scoped names */
generateScopedName?: string | ((name: string, filename: string, css: string) => string);
/** Scope behaviour */
scopeBehaviour?: 'global' | 'local';
/** Global module paths */
globalModulePaths?: RegExp[];
/** Export globals */
exportGlobals?: boolean;
/** Hash prefix */
hashPrefix?: string;
/** Locate imports */
localsConvention?: 'camelCase' | 'camelCaseOnly' | 'dashes' | 'dashesOnly';
}
export interface LessOptions {
/** Enable inline JavaScript in Less files */
javascriptEnabled?: boolean;
/** Additional Less options */
[key: string]: unknown;
}
export interface SassOptions {
/** Sass implementation to use ('sass' or 'node-sass') */
implementation?: string;
/** Additional Sass options */
[key: string]: unknown;
}
export interface StylusOptions {
/** Additional Stylus options */
[key: string]: unknown;
}
export interface UseOptions {
sass?: SassOptions | false;
less?: LessOptions | false;
stylus?: StylusOptions | false;
}
export interface PostCSSPluginOptions {
/**
* Inject CSS as <style> tag to <head>
* @default true
*/
inject?: boolean | Record<string, unknown> | ((cssVar: string, id: string) => string);
/**
* Extract CSS to a separate file
* - `true`: Extract to `[name].css`
* - `string`: Extract to the specified path
* @default false
*/
extract?: boolean | string;
/**
* Automatically enable CSS modules for `.module.xxx` files
* @default false
*/
autoModules?: boolean;
/**
* Enable CSS modules
* - `true`: Enable with default options
* - `object`: Enable with custom options
* @default false
*/
modules?: boolean | PostCSSModulesOptions;
/**
* PostCSS plugins to apply
*/
plugins?: AcceptedPlugin[];
/**
* Preprocessor options
*/
use?: UseOptions;
/**
* Files to include
* @default [/\.css$/, /\.sss$/, /\.pcss$/]
*/
include?: FilterPattern;
/**
* Files to exclude
* @default /node_modules/
*/
exclude?: FilterPattern;
/**
* Generate source maps
* - `true`: Generate external source maps
* - `'inline'`: Generate inline source maps
* @default false
*/
sourceMap?: boolean | 'inline';
/**
* File extensions to process
* @default ['.css', '.sss', '.pcss']
*/
extensions?: string[];
}
/**
* Internal options after normalization
*/
export interface NormalizedPostCSSOptions extends PostCSSPluginOptions {
inject: boolean | Record<string, unknown> | ((cssVar: string, id: string) => string);
extract: boolean | string;
autoModules: boolean;
modules: boolean | PostCSSModulesOptions;
plugins: AcceptedPlugin[];
use: UseOptions;
extensions: string[];
sourceMap: boolean | 'inline';
}
/**
* Normalize plugin options with defaults
*/
export declare function normalizeOptions(options?: PostCSSPluginOptions): NormalizedPostCSSOptions;
//# sourceMappingURL=options.d.ts.map