mirror of
https://github.com/amineo/t2-stat-parser.git
synced 2026-01-20 01:34:47 +00:00
135 lines
4.5 KiB
JavaScript
135 lines
4.5 KiB
JavaScript
|
|
const mix = require('laravel-mix');
|
||
|
|
|
||
|
|
//require('laravel-mix-tailwind');
|
||
|
|
require('laravel-mix-purgecss');
|
||
|
|
const tailwindcss = require('tailwindcss');
|
||
|
|
|
||
|
|
/*
|
||
|
|
|--------------------------------------------------------------------------
|
||
|
|
| Mix Asset Management
|
||
|
|
|--------------------------------------------------------------------------
|
||
|
|
|
|
||
|
|
| Mix provides a clean, fluent API for defining some Webpack build steps
|
||
|
|
| for your Laravel application. By default, we are compiling the Sass
|
||
|
|
| file for the application as well as bundling up all the JS files.
|
||
|
|
|
|
||
|
|
*/
|
||
|
|
|
||
|
|
// transpiling, babelling, minifying and creating the public/js/main.js out of our assets
|
||
|
|
mix.setPublicPath('public')
|
||
|
|
.react('resources/js/app.js', 'public/dist/js')
|
||
|
|
// .sass('resources/scss/main.scss', 'public/dist/css')
|
||
|
|
.postCss('resources/scss/main.css', 'public/dist/css')
|
||
|
|
// .tailwind('./tailwind.config.js');
|
||
|
|
|
||
|
|
mix.webpackConfig({
|
||
|
|
output: {
|
||
|
|
chunkFilename: './dist/js/[name].[contenthash].js'
|
||
|
|
},
|
||
|
|
module: {
|
||
|
|
rules: [
|
||
|
|
{
|
||
|
|
test: /\.(css)/,
|
||
|
|
use: [
|
||
|
|
{
|
||
|
|
loader: 'postcss-loader',
|
||
|
|
options: {
|
||
|
|
ident: 'postcss',
|
||
|
|
plugins: [
|
||
|
|
tailwindcss('./tailwind.config.js'),
|
||
|
|
require('autoprefixer'),
|
||
|
|
],
|
||
|
|
},
|
||
|
|
},
|
||
|
|
],
|
||
|
|
}
|
||
|
|
],
|
||
|
|
},
|
||
|
|
resolve: {
|
||
|
|
alias: {
|
||
|
|
"@": path.resolve(
|
||
|
|
__dirname,
|
||
|
|
"resources/js"
|
||
|
|
),
|
||
|
|
"@sass": path.resolve(
|
||
|
|
__dirname,
|
||
|
|
"resources/scss"
|
||
|
|
)
|
||
|
|
}
|
||
|
|
},
|
||
|
|
devServer: {
|
||
|
|
proxy: {
|
||
|
|
host: '0.0.0.0', // host machine ip
|
||
|
|
port: 8080,
|
||
|
|
}
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
mix.options({
|
||
|
|
hmrOptions: {
|
||
|
|
host: '0.0.0.0', // site's host name
|
||
|
|
port: 8081
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
|
||
|
|
if (mix.inProduction()) {
|
||
|
|
mix.purgeCss({
|
||
|
|
content: [
|
||
|
|
'./resources/**/*.edge',
|
||
|
|
'./resources/**/*.js',
|
||
|
|
'./resources/**/*.jsx',
|
||
|
|
'./resources/**/*.ts',
|
||
|
|
'./resources/**/*.tsx'
|
||
|
|
],
|
||
|
|
// default in mix
|
||
|
|
//defaultExtractor: content => content.match(/[A-Za-z0-9-_:/]+/g) || [],
|
||
|
|
// default tailwind
|
||
|
|
defaultExtractor: content => content.match(/[\w-/.:]+(?<!:)/g) || [],
|
||
|
|
whitelistPatterns: [/-active$/, /-enter$/, /-leave-to$/]
|
||
|
|
});
|
||
|
|
|
||
|
|
mix.version();
|
||
|
|
}else{
|
||
|
|
// use SourceMaps on dev
|
||
|
|
mix.sourceMaps();
|
||
|
|
}
|
||
|
|
|
||
|
|
// Full mix API
|
||
|
|
// mix.js(src, output);
|
||
|
|
// mix.react(src, output); <-- Identical to mix.js(), but registers React Babel compilation.
|
||
|
|
// mix.preact(src, output); <-- Identical to mix.js(), but registers Preact compilation.
|
||
|
|
// mix.coffee(src, output); <-- Identical to mix.js(), but registers CoffeeScript compilation.
|
||
|
|
// mix.ts(src, output); <-- TypeScript support. Requires tsconfig.json to exist in the same folder as webpack.mix.js
|
||
|
|
// mix.extract(vendorLibs);
|
||
|
|
// mix.sass(src, output);
|
||
|
|
// mix.standaloneSass('src', output); <-- Faster, but isolated from Webpack.
|
||
|
|
// mix.fastSass('src', output); <-- Alias for mix.standaloneSass().
|
||
|
|
// mix.less(src, output);
|
||
|
|
// mix.stylus(src, output);
|
||
|
|
// mix.postCss(src, output, [require('postcss-some-plugin')()]);
|
||
|
|
// mix.browserSync('my-site.test');
|
||
|
|
// mix.combine(files, destination);
|
||
|
|
// mix.babel(files, destination); <-- Identical to mix.combine(), but also includes Babel compilation.
|
||
|
|
// mix.copy(from, to);
|
||
|
|
// mix.copyDirectory(fromDir, toDir);
|
||
|
|
// mix.minify(file);
|
||
|
|
// mix.sourceMaps(); // Enable sourcemaps
|
||
|
|
// mix.version(); // Enable versioning.
|
||
|
|
// mix.disableNotifications();
|
||
|
|
// mix.setPublicPath('path/to/public');
|
||
|
|
// mix.setResourceRoot('prefix/for/resource/locators');
|
||
|
|
// mix.autoload({}); <-- Will be passed to Webpack's ProvidePlugin.
|
||
|
|
// mix.webpackConfig({}); <-- Override webpack.config.js, without editing the file directly.
|
||
|
|
// mix.babelConfig({}); <-- Merge extra Babel configuration (plugins, etc.) with Mix's default.
|
||
|
|
// mix.then(function () {}) <-- Will be triggered each time Webpack finishes building.
|
||
|
|
// mix.extend(name, handler) <-- Extend Mix's API with your own components.
|
||
|
|
// mix.options({
|
||
|
|
// extractVueStyles: false, // Extract .vue component styling to file, rather than inline.
|
||
|
|
// globalVueStyles: file, // Variables file to be imported in every component.
|
||
|
|
// processCssUrls: true, // Process/optimize relative stylesheet url()'s. Set to false, if you don't want them touched.
|
||
|
|
// purifyCss: false, // Remove unused CSS selectors.
|
||
|
|
// uglify: {}, // Uglify-specific options. https://webpack.github.io/docs/list-of-plugins.html#uglifyjsplugin
|
||
|
|
// postCss: [] // Post-CSS options: https://github.com/postcss/postcss/blob/master/docs/plugins.md
|
||
|
|
// });
|