build.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. const Grapefruit = require("grapefruit");
  2. const careless = require("careless-fs");
  3. const buildPipeline = require("./build-pipeline");
  4. const fs = require("fs");
  5. const logfilePath = "./last-build.log";
  6. const log = fs.createWriteStream(logfilePath, { flags: "w" });
  7. const runner = new Grapefruit({
  8. emitter: event => {
  9. log.write(JSON.stringify(event, null, 2));
  10. log.write("\n");
  11. },
  12. funcs: {
  13. listDirectory: require("./funcs/listDirectory.js"),
  14. imageMin: require("./funcs/imageMin.js"),
  15. decorateFileObject: require("./funcs/decorateFileObject.js"),
  16. readInFile: require("./funcs/readInFile.js"),
  17. copyFileTo: require("./funcs/copyFileTo.js"),
  18. minifyHtml: require("./funcs/minifyHtml.js"),
  19. minifyJS: require("./funcs/minifyJS.js"),
  20. writeOutFile: require("./funcs/writeOutFile.js"),
  21. compileTemplates: require("./funcs/compileTemplates.js"),
  22. renderTemplate: require("./funcs/renderTemplate.js"),
  23. markdownToHtml: require("./funcs/markdownToHtml.js"),
  24. parseJson: require("./funcs/parseJson.js"),
  25. rmrf: require("./funcs/rmrf.js"),
  26. gitAdded: require("./funcs/gitAdded.js"),
  27. copy: require("./funcs/copy.js")
  28. }
  29. });
  30. const pipeline = runner.runPipeline(buildPipeline);
  31. pipeline
  32. .then(function(res) {
  33. console.log("Pipeline complete.");
  34. log.close();
  35. console.log(`History written to ${logfilePath}`);
  36. })
  37. .catch(function(err) {
  38. console.log(
  39. "Pipeline error:",
  40. err.message
  41. ? JSON.stringify(err.message, null, 2)
  42. : JSON.stringify(err, null, 2)
  43. );
  44. log.close();
  45. console.log(`History written to ${logfilePath}`);
  46. });