fix: Build for all apps
This commit is contained in:
parent
226ad1d91a
commit
a0a8f5cb42
2 changed files with 47 additions and 19 deletions
|
|
@ -1,19 +1,54 @@
|
|||
let path = require("path");
|
||||
let glob = require("fast-glob");
|
||||
let esbuild = require("esbuild");
|
||||
let html_plugin = require("./esbuild-plugin-html");
|
||||
let vue = require("esbuild-vue");
|
||||
let postCssPlugin = require("esbuild-plugin-postcss2").default;
|
||||
let ignore_assets = require("./ignore-assets");
|
||||
let { get_options_for_scss } = require("../rollup/rollup.utils");
|
||||
let {
|
||||
app_list,
|
||||
get_options_for_scss,
|
||||
get_public_path,
|
||||
run_serially
|
||||
} = require("./utils");
|
||||
|
||||
console.time("Build time");
|
||||
const TOTAL_BUILD_TIME = "Total Build Time";
|
||||
|
||||
glob(["frappe/public/js/**/*.bundle.js"]).then(entry_files => {
|
||||
esbuild
|
||||
|
||||
(async function() {
|
||||
console.time(TOTAL_BUILD_TIME);
|
||||
await run_build_for_apps(app_list);
|
||||
console.timeEnd(TOTAL_BUILD_TIME);
|
||||
})();
|
||||
|
||||
function run_build_for_apps(apps) {
|
||||
return run_serially(apps.map(app => () => run_build_for_app(app)));
|
||||
}
|
||||
|
||||
function run_build_for_app(app) {
|
||||
let public_path = get_public_path(app);
|
||||
let include_patterns = path.resolve(public_path, "**", "*.bundle.js");
|
||||
let ignore_patterns = [
|
||||
path.resolve(public_path, "node_modules"),
|
||||
path.resolve(public_path, "build")
|
||||
];
|
||||
|
||||
return glob(include_patterns, { ignore: ignore_patterns }).then(files => {
|
||||
console.log(`\nBuilding assets for ${app}...`);
|
||||
return build_files({
|
||||
files,
|
||||
outdir: path.resolve(public_path, "build"),
|
||||
outbase: public_path
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function build_files({ files, outdir, outbase }) {
|
||||
return esbuild
|
||||
.build({
|
||||
entryPoints: entry_files,
|
||||
outdir: "frappe/public/build",
|
||||
outbase: "frappe/public",
|
||||
entryPoints: files,
|
||||
outdir,
|
||||
outbase,
|
||||
sourcemap: true,
|
||||
bundle: true,
|
||||
metafile: true,
|
||||
|
|
@ -45,7 +80,7 @@ glob(["frappe/public/js/**/*.bundle.js"]).then(entry_files => {
|
|||
}
|
||||
}
|
||||
})
|
||||
],
|
||||
]
|
||||
|
||||
// watch: {
|
||||
// onRebuild(error, result) {
|
||||
|
|
@ -59,20 +94,15 @@ glob(["frappe/public/js/**/*.bundle.js"]).then(entry_files => {
|
|||
})
|
||||
.then(result => {
|
||||
log_build_meta(result.metafile);
|
||||
|
||||
if (result.warnings.length) {
|
||||
console.warn(result.warnings);
|
||||
}
|
||||
})
|
||||
.catch(e => console.error("error"))
|
||||
.finally(() => {
|
||||
console.timeEnd("Build time");
|
||||
.catch(e => {
|
||||
console.error("Error during build");
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function log_build_meta(metafile) {
|
||||
for (let outfile in metafile.outputs) {
|
||||
if (outfile.endsWith('.map')) continue;
|
||||
if (outfile.endsWith(".map")) continue;
|
||||
let data = metafile.outputs[outfile];
|
||||
console.log(outfile, data.bytes / 1000 + " Kb");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,5 +16,3 @@ import "air-datepicker/dist/js/i18n/datepicker.sk.js";
|
|||
import "air-datepicker/dist/js/i18n/datepicker.zh.js";
|
||||
import "./frappe/ui/capture.js";
|
||||
import "./frappe/form/controls/control.js";
|
||||
|
||||
console.log('controls')
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue