-
Notifications
You must be signed in to change notification settings - Fork 0
/
webpack.mix.js
85 lines (76 loc) · 2.46 KB
/
webpack.mix.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
let mix = require('laravel-mix');
// require('laravel-mix-imagemin');
let PATHS = {
node: './node_modules',
src: './wp-content/themes/timber-starter-theme/src',
dist: './wp-content/themes/timber-starter-theme/assets',
proxy: 'https://simplified-destinations.ddev.site'
};
// var themename = "website";
// const themePath = 'wp-content/themes/' + themename + '';
// const resources = themePath + '/src';
// mix.setPublicPath(`${themePath}/assets`);
mix.webpackConfig({
resolve: {
extensions: ['.js', '.jsx'],
},
});
// mix.sass(`${resources}/scss/app.scss`, `${themePath}/assets/css`).sourceMaps();
// mix.js(`${resources}/js/app.js`, `${themePath}/assets/js`)
// mix.browserSync({
// proxy: "https://mywebsite.test",
// files: [
// `${themePath}/**/*.php`,
// `${themePath}/**/*.js`,
// `${themePath}/**/*.css`,
// ]
// });
/*
|--------------------------------------------------------------------------
| 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 your application, as well as bundling up your JS files.
|
*/
mix
.sourceMaps(false, 'source-map')
// .imagemin(
// 'images/**.*',
// {
// context: 'src',
// },
// {
// optipng: {
// optimizationLevel: 5
// },
// jpegtran: null,
// plugins: [
// require('imagemin-mozjpeg')({
// quality: 100,
// progressive: true,
// }),
// ],
// }
// )
// .copyDirectory(`${PATHS.node}/@fortawesome/fontawesome-free/webfonts`, `${PATHS.dist}/fonts`)
.copyDirectory(`${PATHS.src}/images`, `${PATHS.dist}/img`)
// .copy(`${PATHS.src}/fonts/*`, `${PATHS.dist}/fonts`)
// .copy(`${PATHS.node}/swiper/dist/js/swiper.js`, `${PATHS.dist}/js`)
.js(`${PATHS.src}/scripts/app.js`, `${PATHS.dist}/js/`)
// .js(`${PATHS.src}/scripts/a11y.js`, `${PATHS.dist}/js/`)
.sass(`${PATHS.src}/styles/app.scss`, 'css')
.options({
processCssUrls: false
})
.setPublicPath(`${PATHS.dist}`);
mix.browserSync({
proxy: `${PATHS.proxy}`,
port: 3000,
injectChanges: true,
open: false,
files: [`${PATHS.dist}/*.*`],
logLevel: "debug"
});