-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwebpack.mix.js
More file actions
executable file
·70 lines (61 loc) · 1.51 KB
/
Copy pathwebpack.mix.js
File metadata and controls
executable file
·70 lines (61 loc) · 1.51 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
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
// webpack.mix.js
let mix = require("laravel-mix");
require("laravel-mix-string-replace");
require("dotenv").config();
const locale = process.env.APP_LOCALE;
const replace_js = {
test: /\.js$/,
loader: "string-replace-loader",
options: {
search: "ENV_LOCALE",
replace: JSON.stringify(locale),
},
};
mix.webpackConfig({
module: {
rules: [
{
test: /\.tsx?$/,
loader: "ts-loader",
options: { appendTsSuffixTo: [/\.vue$/] },
exclude: /node_modules/
}
]
},
resolve: {
extensions: ["*", ".js", ".jsx", ".vue", ".ts", ".tsx"]
}
});
const scssOptions = {
outputStyle: "compressed",
quietDeps: true,
silenceDeprecations: ["import", "legacy-js-api"],
};
// misc
mix.copyDirectory("resources/themes/vendors", "public/themes/vendors");
mix.copyDirectory("resources/images", "public/images");
// base-theme
mix.js("resources/themes/js/app.js", "public/themes/js")
.stringReplace(replace_js)
.version();
mix.sass(
"resources/themes/light/green.scss",
"public/themes/light-green/app.min.css",
{
sassOptions: scssOptions,
}
).version();
mix.sass(
"resources/themes/light/blue.scss",
"public/themes/light-blue/app.min.css",
{
sassOptions: scssOptions,
}
).version();
mix.sass(
"resources/themes/light/orchid.scss",
"public/themes/light-orchid/app.min.css",
{
sassOptions: scssOptions,
}
).version();