UNPKG

eunomia-controller

Version:

38 lines (34 loc) 1.16 kB
"use strict"; var fs = require("fs"); var ejs = require("ejs"); var eunomia = require("./../../variables")("./eunomia.json"); var isMissing = function isMissing(data, message) { return typeof data === 'undefined'; }; exports.generate = function (writeToPath) { return require("./../../task/index")("htaccess", function (resolve, reject) { if (!fs.existsSync("./eunomia.json")) { reject("eunomia.json required within the root of the project"); } else { if (!eunomia.generate.htaccess.enabled) { resolve(); return false; } if (isMissing(eunomia.generate.htaccess)) { reject("The `eunomia.json` requires a `htaccess` json` field"); } else { try { var fullPath = __dirname + "/htaccess.ejs"; var template = fs.readFileSync(fullPath, "utf8"); var render = ejs.compile(template, { filename: fullPath }); var output = render({}); fs.writeFileSync(writeToPath + "/.htaccess", output, "utf8"); resolve(); } catch (e) { console.log(e); reject("Failed to create a .htaccess"); } } } }); };