mst-server-common2
Version:
MST backend project-ийн tools
39 lines (33 loc) • 1.1 kB
JavaScript
const glob = require("glob");
const fs = require("fs");
const terser = require("terser");
const files = glob.sync("lib/**/*.js");
const promiseMinify = files.map(async (file) => {
try {
let code = fs.readFileSync(file, "utf8");
if (!code || typeof code !== "string") {
throw new Error("Invalid file content");
}
const result = await terser.minify(code, {
compress: true,
mangle: {
toplevel: true,
keep_classnames: false,
keep_fnames: false,
},
});
if (result.error) {
console.error(`Error while minifying file '${file}':`, result.error);
} else if (typeof result.code === "string" && result.code.length > 0) {
fs.writeFileSync(file, result.code, "utf8");
console.log(`Minified file '${file}' successfully.`);
} else {
console.error(
`Error: Minification resulted in an empty output for file '${file}'.`
);
}
} catch (error) {
console.error(`Error while processing file '${file}':`, error);
}
});
Promise.all(promiseMinify);