Server IP : 162.213.251.212 / Your IP : 18.117.142.51 [ Web Server : LiteSpeed System : Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : allssztx ( 535) PHP Version : 8.1.31 Disable Function : NONE Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/self/root/home/allssztx/www/easybuyer/node_modules/babel-merge/src/ |
Upload File : |
import omit from 'object.omit'; import merge from 'deepmerge'; import { resolvePlugin, resolvePreset } from '@babel/core'; function arrayMerge(source = [], overrides = []) { return [...new Set([...source, ...overrides])]; } function mergeArray(source = [], overrides = [], resolve, deepmergeOpts) { return [...source, ...overrides].reduce((reduction, override) => { const overrideName = resolve(Array.isArray(override) ? override[0] : override); const overrideOptions = Array.isArray(override) ? override[1] : {}; const base = reduction.find((base) => { const baseName = resolve(Array.isArray(base) ? base[0] : base); return baseName === overrideName || baseName.includes(overrideName); }); const index = reduction.includes(base) ? reduction.indexOf(base) : reduction.length; const baseName = base ? resolve(Array.isArray(base) ? base[0] : base) : overrideName; const baseOptions = Array.isArray(base) ? base[1] : {}; const options = merge(baseOptions, overrideOptions, { arrayMerge, isMergeableObject: value => Array.isArray(value), ...deepmergeOpts }); reduction[index] = Object.keys(options).length ? [baseName, options] : baseName; return reduction; }, []); } function babelMerge(source = {}, overrides = {}, deepmergeOpts) { const plugins = mergeArray(source.plugins, overrides.plugins, resolvePlugin, deepmergeOpts); const presets = mergeArray(source.presets, overrides.presets, resolvePreset, deepmergeOpts); const sourceEnv = source.env || {}; const overridesEnv = overrides.env || {}; return Object.assign( presets.length ? { presets } : {}, plugins.length ? { plugins } : {}, merge.all([ omit(source, ['plugins', 'presets', 'env']), omit(overrides, ['plugins', 'presets', 'env']), ...[...new Set([ ...Object.keys(sourceEnv), ...Object.keys(overridesEnv) ])].map(name => ({ env: { [name]: babelMerge(sourceEnv[name], overridesEnv[name], deepmergeOpts) } })) ], { arrayMerge, ...deepmergeOpts }) ); } Object.defineProperty(babelMerge, 'all', { value: (values = [], deepmergeOpts) => values.reduce((acc, value) => { if (value) { Object.assign(acc, babelMerge(acc, value, deepmergeOpts)); } return acc; }, {}) }); module.exports = babelMerge;