import { cloneDeep, merge } from 'lodash'; import { IBundleOptions } from './types'; function stripDotSlashPrefix(path) { return path.replace(/^\.\//, ''); } export default function(entry: string, opts: IBundleOptions): IBundleOptions { let clone = cloneDeep(opts); const stripedEntry = stripDotSlashPrefix(entry); if (clone.overridesByEntry) { Object.keys(clone.overridesByEntry).forEach(key => { const stripedKey = stripDotSlashPrefix(key); if (stripedKey !== key) { clone.overridesByEntry[stripedKey] = clone.overridesByEntry[key]; } }); if (clone.overridesByEntry[stripedEntry]) { clone = merge(clone, clone.overridesByEntry[stripedEntry]); } delete clone.overridesByEntry; } return clone; }