69 lines
1.8 KiB
JavaScript
Vendored
69 lines
1.8 KiB
JavaScript
Vendored
/*
|
|
|--------------------------------------------------------------------------
|
|
| Welcome to Laravel Mix!
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Laravel Mix provides a clean, fluent API for defining basic webpack
|
|
| build steps for your Laravel application. Mix supports a variety
|
|
| of common CSS and JavaScript pre-processors out of the box.
|
|
|
|
|
*/
|
|
|
|
/**
|
|
* We'll begin by pulling in a few globals that Mix often uses.
|
|
*/
|
|
|
|
require('./helpers');
|
|
require('dotenv').config();
|
|
|
|
global.path = require('path');
|
|
global.File = require('./File');
|
|
|
|
/**
|
|
* This config object is what Mix will reference, when it's time
|
|
* to dynamically build up your Webpack configuration object.
|
|
*/
|
|
|
|
global.Config = require('./config')();
|
|
global.Mix = new (require('./Mix'))();
|
|
|
|
/**
|
|
* If we're working in a Laravel app, we'll explicitly
|
|
* set the default public path, as a convenience.
|
|
*/
|
|
|
|
if (Mix.sees('laravel')) {
|
|
Config.publicPath = 'public';
|
|
}
|
|
|
|
/**
|
|
* If the user activates hot reloading, with the --hot
|
|
* flag, we'll record it as a file, so that Laravel
|
|
* can detect it and update its mix() url paths.
|
|
*/
|
|
|
|
Mix.listen('init', () => {
|
|
if (Mix.shouldHotReload()) {
|
|
let http = process.argv.includes('--https') ? 'https' : 'http';
|
|
let port = process.argv.includes('--port')
|
|
? process.argv[process.argv.indexOf('--port') + 1]
|
|
: Config.hmrOptions.port;
|
|
|
|
new File(path.join(Config.publicPath, 'hot')).write(
|
|
http + '://' + Config.hmrOptions.host + ':' + port + '/'
|
|
);
|
|
}
|
|
});
|
|
|
|
/**
|
|
* Mix exposes a simple, fluent API for activating many common build
|
|
* steps that a typical project should require. Behind the scenes,
|
|
* all calls to this fluent API will update the above config.
|
|
*/
|
|
|
|
let Api = require('./Api');
|
|
let api = new Api();
|
|
|
|
module.exports = api;
|
|
module.exports.config = Config;
|