| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- const chokidar = require("chokidar");
- const Grapefruit = require("grapefruit");
- const careless = require("careless-fs");
- const buildPipeline = require("./build-pipeline");
- const fs = require("fs");
- const logfilePath = "./last-build.log";
- const log = fs.createWriteStream(logfilePath, { flags: "w" });
- const runner = new Grapefruit({
- emitter: event => {
- log.write(JSON.stringify(event, null, 2));
- log.write("\n");
- },
- funcs: {
- listDirectory: require("./funcs/listDirectory.js"),
- imageMin: require("./funcs/imageMin.js"),
- decorateFileObject: require("./funcs/decorateFileObject.js"),
- readInFile: require("./funcs/readInFile.js"),
- copyFileTo: require("./funcs/copyFileTo.js"),
- minifyHtml: require("./funcs/minifyHtml.js"),
- minifyJS: require("./funcs/minifyJS.js"),
- writeOutFile: require("./funcs/writeOutFile.js"),
- compileTemplates: require("./funcs/compileTemplates.js"),
- renderTemplate: require("./funcs/renderTemplate.js"),
- markdownToHtml: require("./funcs/markdownToHtml.js"),
- parseJson: require("./funcs/parseJson.js"),
- rmrf: require("./funcs/rmrf.js"),
- gitAdded: require("./funcs/gitAdded.js"),
- copy: require("./funcs/copy.js")
- }
- });
- async function build() {
- const pipeline = runner.runPipeline(buildPipeline);
- pipeline
- .then(function(res) {
- console.log("Pipeline complete.");
- console.log(`History written to ${logfilePath}`);
- return res;
- })
- .catch(function(err) {
- console.log(
- "Pipeline error:",
- err.message
- ? JSON.stringify(err.message, null, 2)
- : JSON.stringify(err, null, 2)
- );
- console.log(`History written to ${logfilePath}`);
- return err;
- });
- }
- build();
- const watcher = chokidar.watch("./content", {
- ignored: /[\/\\]\./,
- persistent: true,
- ignoreInitial: true,
- followSymlinks: true,
- cwd: ".",
- disableGlobbing: false,
- usePolling: false,
- interval: 100,
- binaryInterval: 300,
- alwaysStat: false,
- depth: 99,
- awaitWriteFinish: {
- stabilityThreshold: 2000,
- pollInterval: 100
- }
- });
- watcher.on("all", function(event) {
- build();
- });
|