UNPKG

rollup-plugin-peer-deps-external

Version:

Rollup plugin to automatically add a library's peerDependencies to its bundle's external config.

28 lines (25 loc) 742 B
import { either, pipe } from 'ramda'; import externalToFn from './external-to-fn'; import getModulesMatcher from './get-modules-matcher'; import getDeps from './get-deps'; export default function PeerDepsExternalPlugin({ packageJsonPath, includeDependencies, } = {}) { return { name: 'peer-deps-external', options: opts => { opts.external = either( // Retain existing `external` config externalToFn(opts.external), // Add `peerDependencies` to `external` config getModulesMatcher( getDeps(packageJsonPath, 'peerDependencies').concat( includeDependencies ? getDeps(packageJsonPath, 'dependencies') : [] ) ) ); return opts; }, }; }