UNPKG

storybook-builder-rsbuild

Version:
74 lines (69 loc) 2.79 kB
import * as rsbuildReal from '@rsbuild/core'; import { DevConfig, RsbuildConfig } from '@rsbuild/core'; import { BuilderResult as BuilderResult$1, Builder, Options, StorybookConfigRaw, TypescriptOptions as TypescriptOptions$1 } from 'storybook/internal/types'; import { PluginTypeCheckerOptions } from '@rsbuild/plugin-type-check'; type RsbuildStats = { toJson: (...args: any[]) => any; }; /** * Options for TypeScript usage within Storybook. */ interface TypescriptOptions extends TypescriptOptions$1 { /** * Configures `@rsbuild/plugin-type-check`, using `fork-ts-checker-webpack-plugin` under the hood. */ checkOptions?: PluginTypeCheckerOptions; } type RsbuildBuilder = Builder<RsbuildConfig, RsbuildStats>; type RsbuildFinal = (config: RsbuildConfig, options: Options) => RsbuildConfig | Promise<RsbuildConfig>; type StorybookConfigRsbuild = { rsbuildFinal?: RsbuildFinal; webpackAddons?: StorybookConfigRaw['addons']; }; type BuilderOptions = { /** * Path to rsbuild.config file, relative to CWD. */ rsbuildConfigPath?: string; /** * Pass-through Rsbuild `dev.lazyCompilation` options. */ lazyCompilation?: DevConfig['lazyCompilation']; /** * Enable Rspack's [persistent cache(experimental)](https://rspack.dev/config/experiments#experimentscache). * We continue to use the name `fsCache` here to maintain better compatibility with the webpack builder. */ fsCache?: boolean; /** * Which environment to use from the Rsbuild config. */ environment?: string; /** * @storybook/addon-docs options */ addonDocs?: any; }; interface BuilderResult extends BuilderResult$1 { stats?: Stats; } declare const getVirtualModules: (options: Options) => Promise<{ virtualModules: Record<string, string>; entries: string[]; }>; type StatsOrMultiStats = Parameters<rsbuildReal.OnAfterBuildFn>[0]['stats']; type Stats = NonNullable<Exclude<StatsOrMultiStats, { stats: unknown[]; }>>; declare const printDuration: (startTime: [number, number]) => string; type BuilderStartOptions = Parameters<RsbuildBuilder['start']>['0']; declare const executor: { get: (options: Options) => Promise<typeof rsbuildReal>; }; declare const getConfig: RsbuildBuilder['getConfig']; declare function bail(): Promise<void>; declare const start: RsbuildBuilder['start']; declare const build: ({ options }: BuilderStartOptions) => Promise<Stats>; declare const corePresets: string[]; declare const previewMainTemplate: () => string; export { bail, build, corePresets, executor, getConfig, getVirtualModules, previewMainTemplate, printDuration, start }; export type { BuilderOptions, BuilderResult, RsbuildBuilder, RsbuildFinal, Stats, StorybookConfigRsbuild, TypescriptOptions };