Skip to content

Commit

Permalink
Merge pull request #13303 from storybookjs/fix/fastRefreshCRA
Browse files Browse the repository at this point in the history
React: Don't add FastRefresh if already enabled
  • Loading branch information
shilman committed Nov 27, 2020
2 parents a3f566a + 7cafe2e commit b466006
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion app/react/src/server/framework-preset-react.ts
Expand Up @@ -18,7 +18,10 @@ export async function babel(config: TransformOptions, options: StorybookOptions)

return {
...config,
plugins: [require.resolve('react-refresh/babel'), ...(config.plugins || [])],
plugins: [
[require.resolve('react-refresh/babel'), {}, 'storybook-react-refresh'],
...(config.plugins || []),
],
};
}
const storybookReactDirName = path.dirname(require.resolve('@storybook/react/package.json'));
Expand Down Expand Up @@ -58,8 +61,16 @@ export async function webpackFinal(config: Configuration, options: StorybookOpti
if (!fastRefreshEnabled) {
return config;
}
// matches the name of the plugin in CRA.
const hasReactRefresh = config.plugins.find((p) => p.constructor.name === 'ReactRefreshPlugin');

if (hasReactRefresh) {
logger.warn("=> React refresh is already set. You don't need to set the option");
return config;
}

logger.info('=> Using React fast refresh');

return {
...config,
plugins: [...(config.plugins || []), new ReactRefreshWebpackPlugin()],
Expand Down

0 comments on commit b466006

Please sign in to comment.