nx/packages/react/plugins/storybook/merge-plugins.ts
Jack Hsu 724b0c0e3c
feat(core): upgrade to webpack 5 (#7283)
* feat(core): upgrade to webpack 5

* chore(core): update webpack 5 docs
2021-10-13 00:34:28 -04:00

30 lines
755 B
TypeScript

import { RuleSetRule, WebpackPluginInstance } from 'webpack';
export const mergeRules = (...args: RuleSetRule[]) =>
args.reduce((rules, rule) => {
if (
rules.some(
(includedPlugin) =>
includedPlugin.constructor.name === rule.constructor.name
)
) {
return rules;
}
return [...rules, rule];
}, [] as WebpackPluginInstance[]);
export const mergePlugins = (
...args: WebpackPluginInstance[]
): WebpackPluginInstance[] =>
args.reduce((plugins, plugin) => {
if (
plugins.some(
(includedPlugin) =>
includedPlugin.constructor.name === plugin.constructor.name
)
) {
return plugins;
}
return [...plugins, plugin];
}, [] as WebpackPluginInstance[]);