@@ -2,8 +2,6 @@ import { dirname, join, resolve } from 'node:path'
22import { loadConfig , mergeRsbuildConfig , rspack } from '@rsbuild/core'
33import type { RsbuildConfig , Rspack } from '@rsbuild/core'
44import { pluginTypeCheck } from '@rsbuild/plugin-type-check'
5- // @ts -expect-error forced resolve from `dist/index.d.ts` by typesVersions.
6- import { webpack as docsWebpack } from '@storybook/addon-docs/preset'
75// @ts -expect-error (I removed this on purpose, because it's incorrect)
86import CaseSensitivePathsPlugin from 'case-sensitive-paths-webpack-plugin'
97import { pluginHtmlMinifierTerser } from 'rsbuild-plugin-html-minifier-terser'
@@ -60,7 +58,15 @@ export default async (
6058) : Promise < RsbuildConfig > => {
6159 const { rsbuildConfigPath, addonDocs } =
6260 await getBuilderOptions < BuilderOptions > ( options )
63- const appliedDocsWebpack = await docsWebpack ( { } , { ...options , ...addonDocs } )
61+ const webpackConfigFromPresets =
62+ await options . presets . apply < Rspack . Configuration > ( 'webpack' , { } , options )
63+
64+ if ( addonDocs ) {
65+ console . warn (
66+ '`addonDocs` option is deprecated and will be removed in future versions. Please use `@storybook/addon-docs` option instead.' ,
67+ )
68+ }
69+
6470 const {
6571 outputDir = join ( '.' , 'public' ) ,
6672 quiet,
@@ -360,11 +366,11 @@ export default async (
360366 ...lazyCompilationConfig ,
361367 }
362368
363- // TODO: manually call and apply `webpack` from @storybook/addon-docs
364- // as it's a built-in logic for Storybook's official webpack and Vite builder.
365- // we should remove this once we merge this into Storybook's repository
366- // by defining builder plugin in @storybook /addon-docs/preset's source code
367- return mergeConfig ( config , extraWebpackConfig || { } , appliedDocsWebpack )
369+ return mergeConfig (
370+ config ,
371+ extraWebpackConfig || { } ,
372+ webpackConfigFromPresets ,
373+ )
368374 } ,
369375 htmlPlugin : {
370376 filename : 'iframe.html' ,
0 commit comments