57 lines
1.6 KiB
JavaScript
57 lines
1.6 KiB
JavaScript
let mix = require('laravel-mix');
|
|
const del = require('del');
|
|
const path = require('path');
|
|
const tailwindcss = require('tailwindcss');
|
|
|
|
del('./public');
|
|
mix.webpackConfig({
|
|
output: {chunkFilename: 'js/[name].js?id=[chunkhash]'},
|
|
resolve: {
|
|
alias: {
|
|
vue$: 'vue/dist/vue.runtime.esm.js', // vue/dist/vue.esm-bundler.js
|
|
'@': path.resolve('resources/src'),
|
|
},
|
|
extensions: ["*", ".js", ".jsx", ".vue", ".ts", ".tsx"]
|
|
},
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.tsx?$/,
|
|
loader: "ts-loader",
|
|
options: {appendTsSuffixTo: [/\.vue$/]},
|
|
exclude: /node_modules/
|
|
}
|
|
]
|
|
},
|
|
})
|
|
.sourceMaps(false, 'source-map');
|
|
|
|
mix
|
|
.setPublicPath('public')
|
|
.webpackConfig({
|
|
optimization: {
|
|
providedExports: false,
|
|
sideEffects: false,
|
|
usedExports: false
|
|
}
|
|
})
|
|
.vue({vue: 2})
|
|
.sass('resources/src/sass/vendor.scss', 'css')
|
|
|
|
.sass('resources/src/sass/landing.scss', 'css')
|
|
|
|
.js('resources/src/js/app.js', 'public/js/')
|
|
.sass('resources/src/sass/app.scss', 'css')
|
|
|
|
.js('resources/src/js/payment.js', 'public/js/')
|
|
|
|
.copyDirectory('resources/src/img', './public/img')
|
|
.copyDirectory('resources/src/flags', './public/flags')
|
|
.copyDirectory('resources/src/font', './public/font')
|
|
.copy('resources/src/favicon.ico', './public/favicon.ico')
|
|
.copy('resources/src/robots.txt', './public/robots.txt')
|
|
.options({
|
|
processCssUrls: false,
|
|
postCss: [tailwindcss('./tailwind.config.js')]
|
|
}).extract().browserSync('http://localhost:8080');
|