-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwebpack.mix.js
More file actions
38 lines (30 loc) · 1.03 KB
/
webpack.mix.js
File metadata and controls
38 lines (30 loc) · 1.03 KB
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
const mix = require('laravel-mix');
const fs = require('fs');
const junk = require('junk');
let getFiles = function (dir) {
// get all 'files' in this directory
// filter directories
return fs.readdirSync(dir).filter(file => {
return fs.statSync(`${dir}/${file}`).isFile();
}).filter(junk.not);
};
getFiles('resources/js/pages').forEach(function (filepath) {
mix.js('resources/js/pages/' + filepath, 'public/js/pages');
});
getFiles('resources/scss/pages').forEach(function (filepath) {
mix.sass('resources/scss/pages/' + filepath, 'public/css/pages');
});
getFiles('resources/scss/themes').forEach(function (filepath) {
if (filepath.substr(0, 1) != '_')
mix.sass('resources/scss/themes/' + filepath, 'public/css/themes');
});
mix.sass('resources/scss/app.scss', 'public/css');
/**
* DO NOT parse alchemists with webpack, it is slow, see gulpfile.js
* mix.sass('resources/scss/alchemists/theme.scss', 'public/css/alchemists');
*/
mix.js('resources/js/app.js', 'public/js')
.extract(['vue']);
if (mix.inProduction()) {
mix.version();
}