@aminya/minijson
Version:
Minify JSON files blazing fast, removing comments/whitespace.
20 lines • 3.56 kB
JavaScript
;
const { join, dirname } = require("path");
const { renameSync, mkdirSync } = require("fs");
const { execFileSync } = require("child_process");
const exeExtention = process.platform === "win32" ? ".exe" : "";
const binName = `minijson${exeExtention}`;
const distFolder = join(dirname(dirname(__dirname)), "dist");
const minijsonSource = join(distFolder, binName);
const distPlatformFolder = join(distFolder, `${process.platform}-${process.arch}`);
mkdirSync(distPlatformFolder, { recursive: true });
function stripBin(file) {
if (process.platform === "win32") {
return;
}
return execFileSync(process.env.STRIP || "strip", [file, process.platform === "darwin" ? "-Sx" : "--strip-all"]);
}
stripBin(minijsonSource);
const minijsonDist = join(distPlatformFolder, binName);
renameSync(minijsonSource, minijsonDist);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbm9kZS9idWlsZC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDekMsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDL0MsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQTtBQUVqRCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7QUFDL0QsTUFBTSxPQUFPLEdBQUcsV0FBVyxZQUFZLEVBQUUsQ0FBQTtBQUV6QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzVELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFFaEQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtBQUNsRixTQUFTLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtBQUVsRCxTQUFTLFFBQVEsQ0FBQyxJQUFJO0lBQ3BCLElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUNqQyxPQUFNO0lBQ1IsQ0FBQztJQUNELE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFBO0FBQ2xILENBQUM7QUFDRCxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUE7QUFFeEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxDQUFBO0FBRXRELFVBQVUsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB7IGpvaW4sIGRpcm5hbWUgfSA9IHJlcXVpcmUoXCJwYXRoXCIpXG5jb25zdCB7IHJlbmFtZVN5bmMsIG1rZGlyU3luYyB9ID0gcmVxdWlyZShcImZzXCIpXG5jb25zdCB7IGV4ZWNGaWxlU3luYyB9ID0gcmVxdWlyZShcImNoaWxkX3Byb2Nlc3NcIilcblxuY29uc3QgZXhlRXh0ZW50aW9uID0gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJ3aW4zMlwiID8gXCIuZXhlXCIgOiBcIlwiXG5jb25zdCBiaW5OYW1lID0gYG1pbmlqc29uJHtleGVFeHRlbnRpb259YFxuXG5jb25zdCBkaXN0Rm9sZGVyID0gam9pbihkaXJuYW1lKGRpcm5hbWUoX19kaXJuYW1lKSksIFwiZGlzdFwiKVxuY29uc3QgbWluaWpzb25Tb3VyY2UgPSBqb2luKGRpc3RGb2xkZXIsIGJpbk5hbWUpXG5cbmNvbnN0IGRpc3RQbGF0Zm9ybUZvbGRlciA9IGpvaW4oZGlzdEZvbGRlciwgYCR7cHJvY2Vzcy5wbGF0Zm9ybX0tJHtwcm9jZXNzLmFyY2h9YClcbm1rZGlyU3luYyhkaXN0UGxhdGZvcm1Gb2xkZXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pXG5cbmZ1bmN0aW9uIHN0cmlwQmluKGZpbGUpIHtcbiAgaWYgKHByb2Nlc3MucGxhdGZvcm0gPT09IFwid2luMzJcIikge1xuICAgIHJldHVyblxuICB9XG4gIHJldHVybiBleGVjRmlsZVN5bmMocHJvY2Vzcy5lbnYuU1RSSVAgfHwgXCJzdHJpcFwiLCBbZmlsZSwgcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJkYXJ3aW5cIiA/IFwiLVN4XCIgOiBcIi0tc3RyaXAtYWxsXCJdKVxufVxuc3RyaXBCaW4obWluaWpzb25Tb3VyY2UpXG5cbmNvbnN0IG1pbmlqc29uRGlzdCA9IGpvaW4oZGlzdFBsYXRmb3JtRm9sZGVyLCBiaW5OYW1lKVxuXG5yZW5hbWVTeW5jKG1pbmlqc29uU291cmNlLCBtaW5panNvbkRpc3QpXG4iXX0=