first upload all files
This commit is contained in:
59
webpack.mix.js
Normal file
59
webpack.mix.js
Normal file
@@ -0,0 +1,59 @@
|
||||
const glob = require("glob");
|
||||
const mix = require("laravel-mix");
|
||||
const execSync = require("child_process").execSync;
|
||||
|
||||
require("laravel-mix-merge-manifest");
|
||||
|
||||
// compile admin and theme assets
|
||||
let configs = glob.sync(
|
||||
"{./Modules/*/webpack.mix.js,./Themes/*/webpack.mix.js}"
|
||||
);
|
||||
|
||||
// compile admin assets only
|
||||
// let configs = glob.sync("./Modules/*/webpack.mix.js");
|
||||
|
||||
// compile theme assets only
|
||||
// let configs = glob.sync("./Themes/*/webpack.mix.js");
|
||||
|
||||
if (process.env.module !== undefined) {
|
||||
let module =
|
||||
process.env.module.charAt(0).toUpperCase() +
|
||||
process.env.module.slice(1);
|
||||
|
||||
configs = [`./Modules/${module}/webpack.mix.js`];
|
||||
}
|
||||
|
||||
if (process.env.theme !== undefined) {
|
||||
let theme =
|
||||
process.env.theme.charAt(0).toUpperCase() + process.env.theme.slice(1);
|
||||
|
||||
configs = [`./Themes/${theme}/webpack.mix.js`];
|
||||
}
|
||||
|
||||
mix.setPublicPath("./")
|
||||
.options({ processCssUrls: false })
|
||||
.sourceMaps(true, "eval-source-map")
|
||||
.mergeManifest();
|
||||
|
||||
let commands = [];
|
||||
|
||||
configs.forEach((config) => {
|
||||
require(config);
|
||||
|
||||
let module = config.match(/Modules\/(\w+?)\//);
|
||||
let theme = config.match(/Themes\/(\w+?)\//);
|
||||
|
||||
if (module !== null) {
|
||||
commands.push(`php artisan module:publish ${module[1]}`);
|
||||
}
|
||||
|
||||
if (theme !== null) {
|
||||
commands.push(`php artisan stylist:publish ${theme[1]}`);
|
||||
}
|
||||
});
|
||||
|
||||
mix.after(() => {
|
||||
commands.map((command) => {
|
||||
execSync(command);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user