postbuild.js 744 B

123456789101112131415161718192021222324252627282930
  1. console.log("> postbuild");
  2. const fs = require("fs");
  3. console.log("process.env.IS_PROD", process.env.IS_PROD);
  4. if (process.env.IS_PROD === "true") {
  5. console.log("> postbuild 将sourcemap文件改名,防止源码泄露");
  6. const revision = require("child_process")
  7. .execSync("git rev-parse HEAD")
  8. .toString()
  9. .trim()
  10. .slice(10, 17);
  11. const DIR = "./dist/js/";
  12. const sourcemaps = fs
  13. .readdirSync(DIR)
  14. .filter((v) => v.endsWith(".map"))
  15. .map((v) => DIR + v);
  16. for (const s of sourcemaps) {
  17. fs.renameSync(s, s.replace(".js.map", "-" + revision + ".js.map"));
  18. console.log(
  19. " rename ",
  20. s,
  21. " => ",
  22. s.replace(".js.map", "-" + revision + ".js.map")
  23. );
  24. }
  25. console.log();
  26. }