File: /home/thehunarfound/public_html/DMS/node_modules/laravel-mix/src/config.js
let paths = new (require('./Paths'));
let webpackMerge = require('webpack-merge');
module.exports = function () {
return {
/**
* Determine if webpack should be triggered in a production environment.
*
* @type {Boolean}
*/
production: (process.env.NODE_ENV === 'production' || process.argv.includes('-p')),
/**
* The list of scripts to bundle.
*
* @type {Array}
*/
js: [],
/**
* A list of custom assets that are being compiled outside of Webpack.
*
* @type {Array}
*/
customAssets: [],
/**
* The list of vendor chunks to extract.
*
* @type {Array}
*/
extractions: [],
/**
* A list of CSS preprocessing to be performed.
*
* @type {Object}
*/
preprocessors: {},
/**
* Does the project require React support?
*
* @type {Boolean}
*/
react: false,
/**
* Does the project require Preact support?
*
* @type {Boolean}
*/
preact: false,
/**
* Does the project require TypeScript support?
*
* @type {Boolean}
*/
typeScript: false,
/**
* A list of variables that should be autoloaded by webpack.
*
* @type {Object}
*/
autoload: {},
/**
* Does the project require BrowserSync support?
*
* @type {Boolean}
*/
browserSync: false,
/**
* Determine if we should enable hot reloading.
*
* @type {Boolean}
*/
hmr: process.argv.includes('--hot'),
/**
* PostCSS plugins to be applied to compiled CSS.
*
* See: https://github.com/postcss/postcss/blob/master/docs/plugins.md
*
* @type {Array}
*/
postCss: [],
/**
* Determine if we should enable autoprefixer by default.
*
* @type {Boolean}
*/
autoprefixer: true,
/**
* Determine if Mix should remove unused selectors from your CSS bundle.
* You may provide a boolean, or object for the Purify plugin.
*
* https://github.com/webpack-contrib/purifycss-webpack#options
*
* @type {Boolean|object}
*/
purifyCss: false,
/**
* The public path for the build.
*
* @type {String}
*/
publicPath: '',
/**
* Determine if we should enable cache busting.
*
* @type {Boolean}
*/
versioning: false,
/**
* Determine if error notifications should be displayed for each build.
*
* @type {Boolean}
*/
notifications: {
onSuccess: true,
onFailure: true
},
/**
* Determine if sourcemaps should be created for the build.
*
* @type {Boolean}
*/
sourcemaps: false,
/**
* The resource root for the build.
*
* @type {String}
*/
resourceRoot: '/',
/**
* vue-loader specific options.
*
* @type {Object}
*/
vue: {
preLoaders: {},
postLoaders: {},
esModule: false
},
/**
* Image Loader defaults.
* See: https://github.com/thetalecrafter/img-loader#options
*
* @type {Object}
*/
imgLoaderOptions: {
enabled: true,
gifsicle: {},
mozjpeg: {},
optipng: {},
svgo: {},
},
/**
* File Loader directory defaults.
*
* @type {Object}
*/
fileLoaderDirs: {
images: 'images',
fonts: 'fonts'
},
/**
* The default Babel configuration.
*
* @type {Object}
*/
babel: function () {
let options = {};
tap(Mix.paths.root('.babelrc'), babelrc => {
if (File.exists(babelrc)) {
options = JSON.parse(File.find(babelrc).read());
}
});
let defaultOptions = {
cacheDirectory: true,
presets: [
['env', {
'modules': false,
'targets': {
'browsers': ['> 2%'],
uglify: true
}
}]
],
plugins: [
'transform-object-rest-spread',
['transform-runtime', {
'polyfill': false,
'helpers': false
}]
]
};
if (this.react) {
defaultOptions.presets.push('react');
}
if (this.preact) {
defaultOptions.presets.push('preact');
}
return webpackMerge.smart(defaultOptions, options);
},
/**
* Determine if CSS url()s should be processed by Webpack.
*
* @type {Boolean}
*/
processCssUrls: true,
/**
* Whether to extract .vue component styles into a dedicated file.
* You may provide a boolean, or a dedicated path to extract to.
*
* @type {Boolean|string}
*/
extractVueStyles: false,
/**
* File with global styles to be imported in every component.
*
* See: https://vue-loader.vuejs.org/en/configurations/pre-processors.html#loading-a-global-settings-file
*
* @type {string}
*/
globalVueStyles: '',
/**
* Uglify-specific settings for Webpack.
*
* See: https://github.com/mishoo/UglifyJS2#compressor-options
*
* @type {Object}
*/
uglify: {
sourceMap: true,
uglifyOptions: {
compress: {
warnings: false
},
output: {
comments: false
}
}
},
/**
* CleanCss-specific settings for Webpack.
*
* See: https://github.com/jakubpawlowicz/clean-css#constructor-options
*
* @type {Object}
*/
cleanCss: {},
/**
* Custom Webpack-specific configuration to merge/override Mix's.
*
* @type {Object}
*/
webpackConfig: {},
/**
* Determine if Mix should ask the friendly errors plugin to
* clear the console before outputting the results or not.
*
* https://github.com/geowarin/friendly-errors-webpack-plugin#options
*
* @type {Boolean}
*/
clearConsole: true,
/**
* Merge the given options with the current defaults.
*
* @param {object} options
*/
merge(options) {
let mergeWith = require('lodash').mergeWith;
mergeWith(this, options, (objValue, srcValue) => {
if (Array.isArray(objValue)) {
return objValue.concat(srcValue);
}
});
}
};
};
;;