浏览代码

fix: Build for all apps

version-14
Faris Ansari 4 年前
父节点
当前提交
a0a8f5cb42
共有 2 个文件被更改,包括 47 次插入19 次删除
  1. +47
    -17
      esbuild/index.js
  2. +0
    -2
      frappe/public/js/controls.bundle.js

+ 47
- 17
esbuild/index.js 查看文件

@@ -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");
}


+ 0
- 2
frappe/public/js/controls.bundle.js 查看文件

@@ -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')

正在加载...
取消
保存