build.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. const Grapefruit = require("../../grapefruit");
  2. const careless = require("careless-fs");
  3. const buildPipeline = require("./build-pipeline");
  4. const history = new Grapefruit.History();
  5. const runner = new Grapefruit({
  6. emitter: history.push,
  7. funcs: {
  8. decorateFileObject: require("./funcs/decorateFileObject.js"),
  9. readInFile: require("./funcs/readInFile.js"),
  10. writeOutFile: require("./funcs/writeOutFile.js"),
  11. writeOutPDF: require("./funcs/writeOutPDF.js"),
  12. compileTemplates: require("./funcs/compileTemplates.js"),
  13. renderTemplate: require("./funcs/renderTemplate.js"),
  14. markdownToHtml: require("./funcs/markdownToHtml.js"),
  15. copy: require("./funcs/copy.js")
  16. }
  17. });
  18. const pipeline = runner.runPipeline(buildPipeline);
  19. pipeline
  20. .then(function(res) {
  21. careless
  22. .write({
  23. path: "last-build.log",
  24. content: JSON.stringify(history.get(), null, 2)
  25. })
  26. .then(file => {
  27. console.log(`History written to ${file.path}`);
  28. })
  29. .catch(e => {
  30. console.log(
  31. `History could not be written: ${JSON.stringify(e, null, 2)}`
  32. );
  33. });
  34. console.log("Pipeline complete.");
  35. })
  36. .catch(function(err) {
  37. careless
  38. .write({
  39. path: "last-build.log",
  40. content: JSON.stringify(history.get(), null, 2)
  41. })
  42. .then(file => {
  43. console.log(`History written to ${file.path}`);
  44. })
  45. .catch(e => {
  46. console.log(
  47. `History could not be written: ${JSON.stringify(e, null, 2)}`
  48. );
  49. });
  50. console.log("Pipeline error:", JSON.stringify(err.message, null, 2));
  51. });