Server : nginx/1.18.0 System : Linux localhost 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64 User : www-data ( 33) PHP Version : 8.0.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/ecommerce/node_modules/laravel-mix/src/ |
let merge = require('babel-merge');
class BabelConfig {
/**
* Generate the appropriate Babel configuration for the build.
*
* @param {Object} mixBabelConfig
* @param {String} babelRcPath
*/
static generate(mixBabelConfig, babelRcPath) {
return merge.all(
[
BabelConfig.default(),
new BabelConfig().fetchBabelRc(babelRcPath),
mixBabelConfig
],
{
arrayMerge: (destinationArray, sourceArray, options) =>
sourceArray
}
);
}
/**
* Fetch the user's .babelrc config file, if any.
*
* @param {String} path
*/
fetchBabelRc(path) {
return File.exists(path) ? JSON.parse(File.find(path).read()) : {};
}
/**
* Fetch the default Babel configuration.
*/
static default() {
return {
cacheDirectory: true,
presets: [
[
'@babel/preset-env',
{
modules: false,
forceAllTransforms: true
}
]
],
plugins: [
'@babel/plugin-syntax-dynamic-import',
'@babel/plugin-proposal-object-rest-spread',
[
'@babel/plugin-transform-runtime',
{
helpers: false
}
]
]
};
}
}
module.exports = BabelConfig;