Skip to content

Commit 7f1b2bb

Browse files
authored
fix(storybook): storybook register extra addon babel plugins (web-infra-dev#5005)
1 parent 6200cf2 commit 7f1b2bb

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

.changeset/fresh-baboons-wave.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@modern-js/storybook-builder': patch
3+
---
4+
5+
fix(storybook): storybook register extra addon babel plugins
6+
fix(storybook): storybook 注册了额外的 addon babel 插件

packages/storybook/builder/src/plugin-storybook.ts

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
import {
1111
BuilderPlugin,
1212
SharedBuilderConfig,
13+
ToolsBabelConfig,
1314
mergeBuilderConfig,
1415
} from '@modern-js/builder-shared';
1516
import { CompileOptions } from '@storybook/mdx2-csf';
@@ -500,7 +501,6 @@ function addonAdapter(api: WebpackAPI | RspackAPI, options: Options) {
500501
const replaceOrInsert = (plugin: PluginItem, plugins: PluginItem[]) => {
501502
const pluginName = getPluginName(plugin);
502503

503-
const append = [];
504504
for (let i = 0; i < plugins.length; i++) {
505505
if (getPluginName(plugins[i]) === pluginName) {
506506
if (getOptions(plugin)) {
@@ -509,12 +509,11 @@ function addonAdapter(api: WebpackAPI | RspackAPI, options: Options) {
509509
);
510510
plugins[i] = plugin;
511511
}
512-
} else {
513-
append.push(plugin);
512+
return;
514513
}
515514
}
516515

517-
plugins.push(...append);
516+
plugins.push(plugin);
518517
};
519518

520519
const currentPlugins = config.plugins || [];
@@ -528,17 +527,14 @@ function addonAdapter(api: WebpackAPI | RspackAPI, options: Options) {
528527
replaceOrInsert(preset, currentPresets);
529528
}
530529

531-
const finalConfig = {
532-
...config,
530+
const finalConfig: ToolsBabelConfig = {
533531
...babelOptions,
534532
plugins: currentPlugins,
535533
presets: currentPresets,
536534
};
537535

538-
if (typeof userConfig === 'function') {
539-
return userConfig(finalConfig, utils);
540-
} else if (typeof userConfig === 'object') {
541-
return { ...finalConfig, ...userConfig };
536+
if (userConfig) {
537+
return applyOptionsChain(finalConfig, userConfig, utils);
542538
} else {
543539
return finalConfig;
544540
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy