Преглед изворни кода

fix: Print rebuilt files in watch mode

version-14
Faris Ansari пре 4 година
родитељ
комит
4b39f7f699
3 измењених фајлова са 52 додато и 13 уклоњено
  1. +46
    -7
      esbuild/esbuild.js
  2. +2
    -2
      package.json
  3. +4
    -4
      yarn.lock

+ 46
- 7
esbuild/esbuild.js Прегледај датотеку

@@ -85,6 +85,11 @@ execute()
.then(() => RUN_BUILD_COMMAND && run_build_command_for_apps(APPS))
.catch(e => console.error(e));

if (WATCH_MODE) {
// listen for open files in editor event
open_in_editor();
}

async function execute() {
console.time(TOTAL_BUILD_TIME);
if (!FILES_TO_BUILD.length) {
@@ -227,17 +232,20 @@ function build_files({ files, outdir }) {
function get_watch_config() {
if (WATCH_MODE) {
return {
onRebuild(error, result) {
async onRebuild(error, result) {
if (error) {
log_error("There was an error during rebuilding changes.");
log();
log(chalk.dim(error.stack));
notify_redis({ error });
} else {
log(
`${new Date().toLocaleTimeString()}: Compiled changes...`
);
write_assets_json(result.metafile);
let {
assets_json,
prev_assets_json
} = await write_assets_json(result.metafile);
if (prev_assets_json) {
log_rebuilt_assets(prev_assets_json, assets_json);
}
notify_redis({ success: true });
}
}
@@ -319,7 +327,12 @@ function log_built_assets(metafile) {
log(cliui.toString());
}

// to store previous build's assets.json for comparison
let prev_assets_json;
let curr_assets_json;

async function write_assets_json(metafile) {
prev_assets_json = curr_assets_json;
let out = {};
for (let output in metafile.outputs) {
let info = metafile.outputs[output];
@@ -344,12 +357,17 @@ async function write_assets_json(metafile) {
assets_json = JSON.parse(assets_json);
// update with new values
assets_json = Object.assign({}, assets_json, out);
curr_assets_json = assets_json;

await fs.promises.writeFile(
assets_json_path,
JSON.stringify(assets_json, null, 4)
);
await update_assets_json_in_cache(assets_json);
return {
assets_json,
prev_assets_json
};
}

function update_assets_json_in_cache(assets_json) {
@@ -434,6 +452,27 @@ function open_in_editor() {
subscriber.subscribe("open_in_editor");
}

if (WATCH_MODE) {
open_in_editor();
function log_rebuilt_assets(prev_assets, new_assets) {
let added_files = [];
let old_files = Object.values(prev_assets);
let new_files = Object.values(new_assets);

for (let filepath of new_files) {
if (!old_files.includes(filepath)) {
added_files.push(filepath);
}
}

log(
chalk.yellow(
`${new Date().toLocaleTimeString()}: Compiled ${
added_files.length
} files...`
)
);
for (let filepath of added_files) {
let filename = path.basename(filepath);
log(" " + filename);
}
log();
}

+ 2
- 2
package.json Прегледај датотеку

@@ -16,7 +16,7 @@
"url": "https://github.com/frappe/frappe/issues"
},
"engines": {
"node" : ">=14"
"node": ">=14"
},
"homepage": "https://frappeframework.com",
"dependencies": {
@@ -60,7 +60,7 @@
},
"devDependencies": {
"chalk": "^2.3.2",
"esbuild": "^0.11.11",
"esbuild": "^0.11.21",
"esbuild-plugin-postcss2": "^0.0.9",
"esbuild-vue": "^0.2.0",
"fast-glob": "^3.2.5",


+ 4
- 4
yarn.lock Прегледај датотеку

@@ -2249,10 +2249,10 @@ esbuild-vue@^0.2.0:
piscina "^2.2.0"
vue-template-compiler "^2.6.12"

esbuild@^0.11.11:
version "0.11.11"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.11.11.tgz#8f235e0a1a34253a47fd80d51f12084dd98074bd"
integrity sha512-iq5YdV63vY/nUAFIvY92BXVkYjMbOchnofLKoLKMPZIa4uuIJAJG9WRA+ZRjQBZbrsORUwvZcANeG2d3p46PJQ==
esbuild@^0.11.21:
version "0.11.21"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.11.21.tgz#9220b0185ae40947811dcaff6bfcfb572bebac08"
integrity sha512-FqpYdJqiTeLDbj3vqxc/fG8UmHIEvQrDaUxSw1oJf4giLd/tnMDUUlXellCjOab7qGKQ5hUFD5eQgmO+tkZeow==

escalade@^3.0.2:
version "3.0.2"


Loading…
Откажи
Сачувај