Server IP : 162.213.251.212 / Your IP : 3.129.243.161 [ 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/home/allssztx/./www/easybuyer/node_modules/laravel-mix/src/builder/ |
Upload File : |
let webpack = require('webpack'); let Entry = require('./Entry'); let webpackRules = require('./webpack-rules'); let webpackPlugins = require('./webpack-plugins'); let webpackDefaultConfig = require('./webpack-default'); process.noDeprecation = true; class WebpackConfig { /** * Create a new instance. */ constructor() { this.webpackConfig = webpackDefaultConfig(); } /** * Build the Webpack configuration object. */ build() { this.buildEntry() .buildOutput() .buildRules() .buildPlugins() .buildResolving() .mergeCustomConfig(); // We'll announce that the core config object has been // generated by Mix. At this point, any plugins may // hook in and modify the config as necessary. Mix.dispatch('configReady', this.webpackConfig); // Finally, we'll make one last announcement for the user // to hook into - using mix.override(). Mix.dispatch('configReadyForUser', this.webpackConfig); return this.webpackConfig; } /** * Build the entry object. */ buildEntry() { let entry = new Entry(); if (!Mix.bundlingJavaScript) { entry.addDefault(); } Mix.dispatch('loading-entry', entry); this.webpackConfig.entry = entry.get(); return this; } /** * Build the output object. */ buildOutput() { let http = process.argv.includes('--https') ? 'https' : 'http'; if (Mix.isUsing('hmr')) { this.webpackConfig.devServer.host = Config.hmrOptions.host; this.webpackConfig.devServer.port = Config.hmrOptions.port; } this.webpackConfig.output = { path: Mix.isUsing('hmr') ? '/' : path.resolve(Config.publicPath), filename: '[name].js', chunkFilename: '[name].js', publicPath: Mix.isUsing('hmr') ? `${http}://${Config.hmrOptions.host}:${ Config.hmrOptions.port }/` : '/' }; return this; } /** * Build the rules array. */ buildRules() { this.webpackConfig.module.rules = this.webpackConfig.module.rules.concat( webpackRules() ); Mix.dispatch('loading-rules', this.webpackConfig.module.rules); return this; } /** * Build the plugins array. */ buildPlugins() { this.webpackConfig.plugins = this.webpackConfig.plugins.concat( webpackPlugins() ); Mix.dispatch('loading-plugins', this.webpackConfig.plugins); return this; } /** * Build the resolve object. */ buildResolving() { this.webpackConfig.resolve = { extensions: ['*', '.wasm', '.mjs', '.js', '.jsx', '.json', '.vue'], alias: { vue$: 'vue/dist/vue.common.js' } }; return this; } /** * Merge the user's custom Webpack configuration. */ mergeCustomConfig() { if (Config.webpackConfig) { this.webpackConfig = require('webpack-merge').smart( this.webpackConfig, Config.webpackConfig ); } } } module.exports = WebpackConfig;