storybook-builder-rsbuild
Version:
Rsbuild builder for Storybook
57 lines (49 loc) • 2.36 kB
TypeScript
import { StorybookConfig as StorybookConfig$1, Options, NormalizedStoriesSpecifier } from 'storybook/internal/types';
export { BuilderResult, Options, Preset, TypescriptOptions } from 'storybook/internal/types';
type RulesConfig = any;
type ModuleConfig = {
rules?: RulesConfig[];
};
type ResolveConfig = {
extensions?: string[];
mainFields?: (string | string[])[] | undefined;
alias?: any;
};
interface WebpackConfiguration {
plugins?: any[];
module?: ModuleConfig;
resolve?: ResolveConfig;
optimization?: any;
devtool?: false | string;
}
type BuilderOptions = {
fsCache?: boolean;
lazyCompilation?: boolean;
};
type StorybookConfig<TWebpackConfiguration = WebpackConfiguration> = StorybookConfig$1 & {
/**
* Modify or return a custom Webpack config after the Storybook's default configuration has run
* (mostly used by addons).
*/
webpack?: (config: TWebpackConfiguration, options: Options) => TWebpackConfiguration | Promise<TWebpackConfiguration>;
/** Modify or return a custom Webpack config after every addon has run. */
webpackFinal?: (config: TWebpackConfiguration, options: Options) => TWebpackConfiguration | Promise<TWebpackConfiguration>;
};
declare const loadCustomWebpackConfig: (configDir: string) => Promise<any>;
declare const checkWebpackVersion: (webpack: {
version?: string;
}, specifier: string, caption: string) => void;
declare function mergeConfigs(config: WebpackConfiguration, customConfig: WebpackConfiguration): WebpackConfiguration;
declare function webpackIncludeRegexp(specifier: NormalizedStoriesSpecifier): RegExp;
declare function toImportFnPart(specifier: NormalizedStoriesSpecifier): string;
declare function toImportFn(stories: NormalizedStoriesSpecifier[], { needPipelinedImport }?: {
needPipelinedImport?: boolean;
}): string;
declare const toRequireContext: (specifier: NormalizedStoriesSpecifier) => {
path: string;
recursive: boolean;
match: RegExp;
};
declare const toRequireContextString: (specifier: NormalizedStoriesSpecifier) => string;
export { checkWebpackVersion, loadCustomWebpackConfig, mergeConfigs, toImportFn, toImportFnPart, toRequireContext, toRequireContextString, webpackIncludeRegexp };
export type { BuilderOptions, ModuleConfig, ResolveConfig, RulesConfig, StorybookConfig, WebpackConfiguration };