diff --git a/dist/index.js b/dist/index.js index b771212..9ed3a9d 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,15 +1,15 @@ /// "use strict"; var SmartfileChecks = require("./smartfile.checks"); -var SmartfileSimple = require("./smartfile.simple"); +var SmartfileRead = require("./smartfile.read"); +var SmartfileRemote = require("./smartfile.remote"); var smartfile = { copy: SmartfileSimple.copy, checks: SmartfileChecks, - readFileToString: SmartfileSimple.readFileToString, - readFileToObject: SmartfileSimple.readFileToObject, - readFileToVinyl: SmartfileSimple.readFileToVinyl, + read: SmartfileRead, + remote: SmartfileRemote, requireReload: SmartfileSimple.requireReload }; module.exports = smartfile; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRDQUE0Qzs7QUFHNUMsSUFBTyxlQUFlLFdBQVcsb0JBQW9CLENBQUMsQ0FBQztBQUN2RCxJQUFPLGVBQWUsV0FBVyxvQkFBb0IsQ0FBQyxDQUFDO0FBR3ZELElBQUksU0FBUyxHQUFPO0lBQ2hCLElBQUksRUFBRSxlQUFlLENBQUMsSUFBSTtJQUMxQixNQUFNLEVBQUUsZUFBZTtJQUN2QixnQkFBZ0IsRUFBRSxlQUFlLENBQUMsZ0JBQWdCO0lBQ2xELGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxnQkFBZ0I7SUFDbEQsZUFBZSxFQUFFLGVBQWUsQ0FBQyxlQUFlO0lBQ2hELGFBQWEsRUFBRSxlQUFlLENBQUMsYUFBYTtDQUMvQyxDQUFDO0FBRUYsaUJBQVMsU0FBUyxDQUFDIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vdHlwaW5ncy9tYWluLmQudHNcIiAvPlxuXG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0ZmlsZS5wbHVnaW5zXCIpO1xuaW1wb3J0IFNtYXJ0ZmlsZUNoZWNrcyA9IHJlcXVpcmUoXCIuL3NtYXJ0ZmlsZS5jaGVja3NcIik7XG5pbXBvcnQgU21hcnRmaWxlU2ltcGxlID0gcmVxdWlyZShcIi4vc21hcnRmaWxlLnNpbXBsZVwiKTtcblxuXG52YXIgc21hcnRmaWxlOmFueSA9IHtcbiAgICBjb3B5OiBTbWFydGZpbGVTaW1wbGUuY29weSxcbiAgICBjaGVja3M6IFNtYXJ0ZmlsZUNoZWNrcyxcbiAgICByZWFkRmlsZVRvU3RyaW5nOiBTbWFydGZpbGVTaW1wbGUucmVhZEZpbGVUb1N0cmluZyxcbiAgICByZWFkRmlsZVRvT2JqZWN0OiBTbWFydGZpbGVTaW1wbGUucmVhZEZpbGVUb09iamVjdCxcbiAgICByZWFkRmlsZVRvVmlueWw6IFNtYXJ0ZmlsZVNpbXBsZS5yZWFkRmlsZVRvVmlueWwsXG4gICAgcmVxdWlyZVJlbG9hZDogU21hcnRmaWxlU2ltcGxlLnJlcXVpcmVSZWxvYWRcbn07XG5cbmV4cG9ydCA9IHNtYXJ0ZmlsZTtcbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRDQUE0Qzs7QUFHNUMsSUFBTyxlQUFlLFdBQVcsb0JBQW9CLENBQUMsQ0FBQztBQUV2RCxJQUFPLGFBQWEsV0FBVyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ25ELElBQU8sZUFBZSxXQUFXLG9CQUFvQixDQUFDLENBQUM7QUFHdkQsSUFBSSxTQUFTLEdBQU87SUFDaEIsSUFBSSxFQUFFLGVBQWUsQ0FBQyxJQUFJO0lBQzFCLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLElBQUksRUFBRSxhQUFhO0lBQ25CLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLGFBQWEsRUFBRSxlQUFlLENBQUMsYUFBYTtDQUMvQyxDQUFDO0FBRUYsaUJBQVMsU0FBUyxDQUFDIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vdHlwaW5ncy9tYWluLmQudHNcIiAvPlxuXG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0ZmlsZS5wbHVnaW5zXCIpO1xuaW1wb3J0IFNtYXJ0ZmlsZUNoZWNrcyA9IHJlcXVpcmUoXCIuL3NtYXJ0ZmlsZS5jaGVja3NcIik7XG5pbXBvcnQgU21hcnRmaWxlRnNhY3Rpb24gPSByZXF1aXJlKFwiLi9zbWFydGZpbGUuZnNhY3Rpb25cIik7XG5pbXBvcnQgU21hcnRmaWxlUmVhZCA9IHJlcXVpcmUoXCIuL3NtYXJ0ZmlsZS5yZWFkXCIpO1xuaW1wb3J0IFNtYXJ0ZmlsZVJlbW90ZSA9IHJlcXVpcmUoXCIuL3NtYXJ0ZmlsZS5yZW1vdGVcIik7XG5cblxudmFyIHNtYXJ0ZmlsZTphbnkgPSB7XG4gICAgY29weTogU21hcnRmaWxlU2ltcGxlLmNvcHksXG4gICAgY2hlY2tzOiBTbWFydGZpbGVDaGVja3MsXG4gICAgcmVhZDogU21hcnRmaWxlUmVhZCxcbiAgICByZW1vdGU6IFNtYXJ0ZmlsZVJlbW90ZSxcbiAgICByZXF1aXJlUmVsb2FkOiBTbWFydGZpbGVTaW1wbGUucmVxdWlyZVJlbG9hZFxufTtcblxuZXhwb3J0ID0gc21hcnRmaWxlO1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 diff --git a/dist/smartfile.fsaction.js b/dist/smartfile.fsaction.js new file mode 100644 index 0000000..25d802c --- /dev/null +++ b/dist/smartfile.fsaction.js @@ -0,0 +1,8 @@ +/// +"use strict"; +var plugins = require("./smartfile.plugins"); +exports.copy = function (fromArg, toArg) { + plugins.shelljs.cp("-r", fromArg, toArg); +}; + +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0ZmlsZS5mc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0Q0FBNEM7O0FBRTVDLElBQU8sT0FBTyxXQUFXLHFCQUFxQixDQUFDLENBQUM7QUFFckMsWUFBSSxHQUFHLFVBQVMsT0FBYyxFQUFDLEtBQVk7SUFDbEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFDLE9BQU8sRUFBQyxLQUFLLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMiLCJmaWxlIjoic21hcnRmaWxlLmZzYWN0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vdHlwaW5ncy9tYWluLmQudHNcIiAvPlxuXG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0ZmlsZS5wbHVnaW5zXCIpO1xuXG5leHBvcnQgbGV0IGNvcHkgPSBmdW5jdGlvbihmcm9tQXJnOnN0cmluZyx0b0FyZzpzdHJpbmcpe1xuICAgIHBsdWdpbnMuc2hlbGxqcy5jcChcIi1yXCIsZnJvbUFyZyx0b0FyZyk7XG59OyJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== diff --git a/dist/smartfile.plugins.js b/dist/smartfile.plugins.js index 79c6fcc..2a8068b 100644 --- a/dist/smartfile.plugins.js +++ b/dist/smartfile.plugins.js @@ -7,7 +7,8 @@ exports.q = require("q"); exports.vinyl = require("vinyl"); exports.vinylFile = require("vinyl-file"); exports.yaml = require("js-yaml"); +exports.request = require("request"); exports.requireReload = require("require-reload"); exports.shelljs = require("shelljs"); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0ZmlsZS5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0Q0FBNEM7QUFDakMsaUJBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsVUFBRSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN6QixZQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZCLFNBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDakIsYUFBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN6QixpQkFBUyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUNsQyxZQUFJLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzFCLHFCQUFhLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDMUMsZUFBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyIsImZpbGUiOiJzbWFydGZpbGUucGx1Z2lucy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL3R5cGluZ3MvbWFpbi5kLnRzXCIgLz5cbmV4cG9ydCBsZXQgYmVhdXR5bG9nID0gcmVxdWlyZShcImJlYXV0eWxvZ1wiKTtcbmV4cG9ydCBsZXQgZnMgPSByZXF1aXJlKFwiZnMtZXh0cmFcIik7XG5leHBvcnQgbGV0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbmV4cG9ydCBsZXQgcSA9IHJlcXVpcmUoXCJxXCIpO1xuZXhwb3J0IGxldCB2aW55bCA9IHJlcXVpcmUoXCJ2aW55bFwiKTtcbmV4cG9ydCBsZXQgdmlueWxGaWxlID0gcmVxdWlyZShcInZpbnlsLWZpbGVcIik7XG5leHBvcnQgbGV0IHlhbWwgPSByZXF1aXJlKFwianMteWFtbFwiKTtcbmV4cG9ydCBsZXQgcmVxdWlyZVJlbG9hZCA9IHJlcXVpcmUoXCJyZXF1aXJlLXJlbG9hZFwiKTtcbmV4cG9ydCBsZXQgc2hlbGxqcyA9IHJlcXVpcmUoXCJzaGVsbGpzXCIpO1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0ZmlsZS5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0Q0FBNEM7QUFDakMsaUJBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsVUFBRSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN6QixZQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZCLFNBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDakIsYUFBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN6QixpQkFBUyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUNsQyxZQUFJLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzFCLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IscUJBQWEsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUMxQyxlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDIiwiZmlsZSI6InNtYXJ0ZmlsZS5wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vdHlwaW5ncy9tYWluLmQudHNcIiAvPlxuZXhwb3J0IGxldCBiZWF1dHlsb2cgPSByZXF1aXJlKFwiYmVhdXR5bG9nXCIpO1xuZXhwb3J0IGxldCBmcyA9IHJlcXVpcmUoXCJmcy1leHRyYVwiKTtcbmV4cG9ydCBsZXQgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuZXhwb3J0IGxldCBxID0gcmVxdWlyZShcInFcIik7XG5leHBvcnQgbGV0IHZpbnlsID0gcmVxdWlyZShcInZpbnlsXCIpO1xuZXhwb3J0IGxldCB2aW55bEZpbGUgPSByZXF1aXJlKFwidmlueWwtZmlsZVwiKTtcbmV4cG9ydCBsZXQgeWFtbCA9IHJlcXVpcmUoXCJqcy15YW1sXCIpO1xuZXhwb3J0IGxldCByZXF1ZXN0ID0gcmVxdWlyZShcInJlcXVlc3RcIik7XG5leHBvcnQgbGV0IHJlcXVpcmVSZWxvYWQgPSByZXF1aXJlKFwicmVxdWlyZS1yZWxvYWRcIik7XG5leHBvcnQgbGV0IHNoZWxsanMgPSByZXF1aXJlKFwic2hlbGxqc1wiKTtcbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== diff --git a/dist/smartfile.read.js b/dist/smartfile.read.js new file mode 100644 index 0000000..dcecea8 --- /dev/null +++ b/dist/smartfile.read.js @@ -0,0 +1,69 @@ +/// +"use strict"; +var plugins = require("./smartfile.plugins"); +exports.toFS = function (options, cb) { + if (cb === void 0) { cb = undefined; } +}; +/** + * + * @param filePath + * @param fileTypeArg + * @returns {any} + */ +exports.toObject = function (filePath, fileTypeArg) { + if (fileTypeArg === void 0) { fileTypeArg = undefined; } + var fileType; + if (typeof fileTypeArg == "undefined") { + fileType = plugins.path.extname(filePath); + } + else { + fileType = fileTypeArg; + } + fileType = fileType.replace(/\.([a-z]*)/, "$1"); //remove . form fileType + switch (fileType) { + case "yml": + case "yaml": + try { + return plugins.yaml.safeLoad(plugins.fs.readFileSync(filePath, 'utf8')); + } + catch (e) { + plugins.beautylog.error("check that " + filePath.blue + " points to a valid file"); + } + break; + case "json": + return plugins.fs.readJsonSync(filePath, {}); + default: + plugins.beautylog.error("file type " + fileType.blue + " not supported"); + break; + } +}; +/** + * reads a file content to a String + * @param filePath + * @returns {string|Buffer|any} + */ +exports.toString = function (filePath) { + var fileString; + fileString = plugins.fs.readFileSync(filePath, "utf8"); + return fileString; +}; +/** + * + * @param filePathArg + * @param options + * @returns {number} + */ +exports.toVinyl = function (filePathArg, options) { + if (options === void 0) { options = {}; } + return plugins.vinylFile.readSync(filePathArg, options); +}; +/** + * lets you reload files hot. + * @param path + * @returns {any} + */ +exports.requireReload = function (path) { + return plugins.requireReload(path); +}; + +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0ZmlsZS5yZWFkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRDQUE0Qzs7QUFFNUMsSUFBTyxPQUFPLFdBQVcscUJBQXFCLENBQUMsQ0FBQztBQUVyQyxZQUFJLEdBQUcsVUFBUyxPQUFtQyxFQUFFLEVBQVk7SUFBWixrQkFBWSxHQUFaLGNBQVk7QUFFNUUsQ0FBQyxDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDUSxnQkFBUSxHQUFHLFVBQVMsUUFBUSxFQUFDLFdBQXVCO0lBQXZCLDJCQUF1QixHQUF2Qix1QkFBdUI7SUFDM0QsSUFBSSxRQUFRLENBQUM7SUFDYixFQUFFLENBQUMsQ0FBQyxPQUFPLFdBQVcsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixRQUFRLEdBQUcsV0FBVyxDQUFDO0lBQzNCLENBQUM7SUFDRCxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyx3QkFBd0I7SUFDeEUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNmLEtBQUssS0FBSyxDQUFFO1FBQ1osS0FBSyxNQUFNO1lBQ1AsSUFBSSxDQUFDO2dCQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUM1RSxDQUFFO1lBQUEsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQztnQkFDUixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLElBQUksR0FBRyx5QkFBeUIsQ0FBQyxDQUFDO1lBQ3ZGLENBQUM7WUFDRCxLQUFLLENBQUM7UUFDVixLQUFLLE1BQU07WUFDUCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hEO1lBQ0ksT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztZQUN6RSxLQUFLLENBQUM7SUFDZCxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNRLGdCQUFRLEdBQUcsVUFBUyxRQUFRO0lBQ25DLElBQUksVUFBVSxDQUFDO0lBQ2YsVUFBVSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RCxNQUFNLENBQUMsVUFBVSxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ1EsZUFBTyxHQUFHLFVBQVMsV0FBVyxFQUFDLE9BQVk7SUFBWix1QkFBWSxHQUFaLFlBQVk7SUFDbEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBQyxPQUFPLENBQUMsQ0FBQztBQUMzRCxDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ1EscUJBQWEsR0FBRyxVQUFTLElBQVc7SUFDM0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDIiwiZmlsZSI6InNtYXJ0ZmlsZS5yZWFkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vdHlwaW5ncy9tYWluLmQudHNcIiAvPlxuXG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0ZmlsZS5wbHVnaW5zXCIpO1xuXG5leHBvcnQgbGV0IHRvRlMgPSBmdW5jdGlvbihvcHRpb25zOntmcm9tOnN0cmluZyx0b1BhdGg6c3RyaW5nfSwgY2I9dW5kZWZpbmVkKXtcbiAgICBcbn07XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBmaWxlUGF0aFxuICogQHBhcmFtIGZpbGVUeXBlQXJnXG4gKiBAcmV0dXJucyB7YW55fVxuICovXG5leHBvcnQgbGV0IHRvT2JqZWN0ID0gZnVuY3Rpb24oZmlsZVBhdGgsZmlsZVR5cGVBcmcgPSB1bmRlZmluZWQpIHtcbiAgICBsZXQgZmlsZVR5cGU7XG4gICAgaWYgKHR5cGVvZiBmaWxlVHlwZUFyZyA9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIGZpbGVUeXBlID0gcGx1Z2lucy5wYXRoLmV4dG5hbWUoZmlsZVBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGZpbGVUeXBlID0gZmlsZVR5cGVBcmc7XG4gICAgfVxuICAgIGZpbGVUeXBlID0gZmlsZVR5cGUucmVwbGFjZSgvXFwuKFthLXpdKikvLFwiJDFcIik7IC8vcmVtb3ZlIC4gZm9ybSBmaWxlVHlwZVxuICAgIHN3aXRjaCAoZmlsZVR5cGUpIHtcbiAgICAgICAgY2FzZSBcInltbFwiIDpcbiAgICAgICAgY2FzZSBcInlhbWxcIjpcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBsdWdpbnMueWFtbC5zYWZlTG9hZChwbHVnaW5zLmZzLnJlYWRGaWxlU3luYyhmaWxlUGF0aCwgJ3V0ZjgnKSk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5lcnJvcihcImNoZWNrIHRoYXQgXCIgKyBmaWxlUGF0aC5ibHVlICsgXCIgcG9pbnRzIHRvIGEgdmFsaWQgZmlsZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwianNvblwiOlxuICAgICAgICAgICAgcmV0dXJuIHBsdWdpbnMuZnMucmVhZEpzb25TeW5jKGZpbGVQYXRoLHt9KTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmVycm9yKFwiZmlsZSB0eXBlIFwiICsgZmlsZVR5cGUuYmx1ZSArIFwiIG5vdCBzdXBwb3J0ZWRcIik7XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG59O1xuXG4vKipcbiAqIHJlYWRzIGEgZmlsZSBjb250ZW50IHRvIGEgU3RyaW5nXG4gKiBAcGFyYW0gZmlsZVBhdGhcbiAqIEByZXR1cm5zIHtzdHJpbmd8QnVmZmVyfGFueX1cbiAqL1xuZXhwb3J0IGxldCB0b1N0cmluZyA9IGZ1bmN0aW9uKGZpbGVQYXRoKSB7XG4gICAgbGV0IGZpbGVTdHJpbmc7XG4gICAgZmlsZVN0cmluZyA9IHBsdWdpbnMuZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCBcInV0ZjhcIik7XG4gICAgcmV0dXJuIGZpbGVTdHJpbmc7XG59O1xuXG4vKipcbiAqXG4gKiBAcGFyYW0gZmlsZVBhdGhBcmdcbiAqIEBwYXJhbSBvcHRpb25zXG4gKiBAcmV0dXJucyB7bnVtYmVyfVxuICovXG5leHBvcnQgbGV0IHRvVmlueWwgPSBmdW5jdGlvbihmaWxlUGF0aEFyZyxvcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gcGx1Z2lucy52aW55bEZpbGUucmVhZFN5bmMoZmlsZVBhdGhBcmcsb3B0aW9ucyk7XG59O1xuXG4vKipcbiAqIGxldHMgeW91IHJlbG9hZCBmaWxlcyBob3QuXG4gKiBAcGFyYW0gcGF0aFxuICogQHJldHVybnMge2FueX1cbiAqL1xuZXhwb3J0IGxldCByZXF1aXJlUmVsb2FkID0gZnVuY3Rpb24ocGF0aDpzdHJpbmcpe1xuICAgIHJldHVybiBwbHVnaW5zLnJlcXVpcmVSZWxvYWQocGF0aCk7XG59OyJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== diff --git a/dist/smartfile.remote.js b/dist/smartfile.remote.js new file mode 100644 index 0000000..aea2d7c --- /dev/null +++ b/dist/smartfile.remote.js @@ -0,0 +1,29 @@ +"use strict"; +exports.toVar = function (options, cb) { + var bodyString; + request.get(options.from, function (error, response, body) { + if (!error && response.statusCode == 200) { + bodyString = body; + console.log('successfully requested' + options.from); + if (options.parseJson = true) { + var jsonObject = JSON.parse(bodyString); + return jsonObject; + } + ; + } + else { + console.log('could not get get remote file from ' + options.from); + return bodyString = 'could not get file'; + } + ; + }); + return bodyString; +}; +exports.toFS = function (options, cb) { + if (cb === void 0) { cb = undefined; } + var stream = request(options.from).pipe(fs.createWriteStream(options.toPath)); + if (cb != undefined) + stream.on('finish', cb); +}; + +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0ZmlsZS5yZW1vdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUdXLGFBQUssR0FBRyxVQUFDLE9BQXdDLEVBQUUsRUFBRTtJQUM1RCxJQUFJLFVBQWlCLENBQUM7SUFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJO1FBQ3JELEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2QyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JELEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUN0QixDQUFDO1lBQUEsQ0FBQztRQUNOLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLE9BQU8sQ0FBQyxHQUFHLENBQUMscUNBQXFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sQ0FBQyxVQUFVLEdBQUcsb0JBQW9CLENBQUE7UUFDNUMsQ0FBQztRQUFBLENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxVQUFVLENBQUM7QUFDdEIsQ0FBQyxDQUFDO0FBRVMsWUFBSSxHQUFHLFVBQVMsT0FBbUMsRUFBRSxFQUFZO0lBQVosa0JBQVksR0FBWixjQUFZO0lBQ3hFLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM5RSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksU0FBUyxDQUFDO1FBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUMsRUFBRSxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFBIiwiZmlsZSI6InNtYXJ0ZmlsZS5yZW1vdGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi90eXBpbmdzL21haW4uZC50c1wiIC8+XG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0ZmlsZS5wbHVnaW5zXCIpO1xuXG5leHBvcnQgbGV0IHRvVmFyID0gKG9wdGlvbnM6e2Zyb206c3RyaW5nLHBhcnNlSnNvbj86Ym9vbGVhbn0sIGNiKTphbnkgPT4ge1xuICAgIHZhciBib2R5U3RyaW5nOnN0cmluZztcbiAgICByZXF1ZXN0LmdldChvcHRpb25zLmZyb20sIGZ1bmN0aW9uIChlcnJvciwgcmVzcG9uc2UsIGJvZHkpIHtcbiAgICAgICAgaWYgKCFlcnJvciAmJiByZXNwb25zZS5zdGF0dXNDb2RlID09IDIwMCkge1xuICAgICAgICAgICAgYm9keVN0cmluZyA9IGJvZHk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnc3VjY2Vzc2Z1bGx5IHJlcXVlc3RlZCcgKyBvcHRpb25zLmZyb20pO1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMucGFyc2VKc29uID0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHZhciBqc29uT2JqZWN0ID0gSlNPTi5wYXJzZShib2R5U3RyaW5nKTtcbiAgICAgICAgICAgICAgICByZXR1cm4ganNvbk9iamVjdDtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnY291bGQgbm90IGdldCBnZXQgcmVtb3RlIGZpbGUgZnJvbSAnICsgb3B0aW9ucy5mcm9tKTtcbiAgICAgICAgICAgIHJldHVybiBib2R5U3RyaW5nID0gJ2NvdWxkIG5vdCBnZXQgZmlsZSdcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIHJldHVybiBib2R5U3RyaW5nO1xufSxcblxuZXhwb3J0IGxldCB0b0ZTID0gZnVuY3Rpb24ob3B0aW9uczp7ZnJvbTpzdHJpbmcsdG9QYXRoOnN0cmluZ30sIGNiPXVuZGVmaW5lZCkge1xuICAgIHZhciBzdHJlYW0gPSByZXF1ZXN0KG9wdGlvbnMuZnJvbSkucGlwZShmcy5jcmVhdGVXcml0ZVN0cmVhbShvcHRpb25zLnRvUGF0aCkpO1xuICAgIGlmIChjYiAhPSB1bmRlZmluZWQpIHN0cmVhbS5vbignZmluaXNoJyxjYik7XG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 diff --git a/package.json b/package.json index fe1090a..cf6e7d7 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "fs-extra": "0.26.5", "js-yaml": "3.5.4", "q": "1.4.1", + "request": "^2.69.0", "require-reload": "0.2.2", "shelljs": "^0.6.0", "vinyl": "1.1.1", diff --git a/test/test.js b/test/test.js index c91eeb6..cd6b95d 100644 --- a/test/test.js +++ b/test/test.js @@ -57,4 +57,5 @@ describe("smartfile", function () { }); }); }); -//# sourceMappingURL=test.js.map \ No newline at end of file + +//# sourceMappingURL=data:application/json;base64,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ZXJlbmNlIHBhdGg9XCIuLi90cy90eXBpbmdzL21haW4uZC50c1wiIC8+XG52YXIgc21hcnRmaWxlID0gcmVxdWlyZShcIi4uL2Rpc3QvaW5kZXguanNcIik7XG52YXIgYmVhdXR5bG9nID0gcmVxdWlyZShcImJlYXV0eWxvZ1wiKTtcbnZhciBzaG91bGQgPSByZXF1aXJlKFwic2hvdWxkXCIpO1xudmFyIHZpbnlsID0gcmVxdWlyZShcInZpbnlsXCIpO1xuXG5kZXNjcmliZShcInNtYXJ0ZmlsZVwiLGZ1bmN0aW9uKCl7XG4gICAgZGVzY3JpYmUoXCIucmVhZEZpbGVUb1N0cmluZ1wiLnllbGxvdyxmdW5jdGlvbigpe1xuICAgICAgICBpdChcInNob3VsZCByZWFkIGEgZmlsZSB0byBhIHN0cmluZ1wiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBzaG91bGQuZXF1YWwoXG4gICAgICAgICAgICAgICAgc21hcnRmaWxlLnJlYWRGaWxlVG9TdHJpbmcoXCIuL3Rlc3QvbXl0ZXN0LnR4dFwiKSxcbiAgICAgICAgICAgICAgICBcIlNvbWUgVGVzdFN0cmluZyAmJiUkXCJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIGRlc2NyaWJlKFwiLnJlYWRGaWxlVG9PYmplY3RcIi55ZWxsb3csZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCJzaG91bGQgcmVhZCBhbiBcIiArIFwiLnlhbWxcIi5ibHVlICsgXCIgZmlsZSB0byBhbiBvYmplY3RcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgdmFyIHRlc3REYXRhID0gc21hcnRmaWxlLnJlYWRGaWxlVG9PYmplY3QoXCIuL3Rlc3QvbXl0ZXN0LnlhbWxcIik7XG4gICAgICAgICAgICB0ZXN0RGF0YS5zaG91bGQuaGF2ZS5wcm9wZXJ0eShcImtleTFcIixcInRoaXMgd29ya3NcIik7XG4gICAgICAgICAgICB0ZXN0RGF0YS5zaG91bGQuaGF2ZS5wcm9wZXJ0eShcImtleTJcIixcInRoaXMgd29ya3MgdG9vXCIpO1xuXG4gICAgICAgIH0pO1xuICAgICAgICBpdChcInNob3VsZCBzdGF0ZSB1bmtub3duIGZpbGUgdHlwZSBmb3IgdW5rbm93biBmaWxlIHR5cGVzXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHZhciB0ZXN0RGF0YSA9IHNtYXJ0ZmlsZS5yZWFkRmlsZVRvT2JqZWN0KFwiLi90ZXN0L215dGVzdC50eHRcIik7XG4gICAgICAgIH0pO1xuICAgICAgICBpdChcInNob3VsZCByZWFkIGFuIFwiICsgXCIuanNvblwiLmJsdWUgKyBcIiBmaWxlIHRvIGFuIG9iamVjdFwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB2YXIgdGVzdERhdGEgPSBzbWFydGZpbGUucmVhZEZpbGVUb09iamVjdChcIi4vdGVzdC9teXRlc3QuanNvblwiKTtcbiAgICAgICAgICAgIHRlc3REYXRhLnNob3VsZC5oYXZlLnByb3BlcnR5KFwia2V5MVwiLFwidGhpcyB3b3Jrc1wiKTtcbiAgICAgICAgICAgIHRlc3REYXRhLnNob3VsZC5oYXZlLnByb3BlcnR5KFwia2V5MlwiLFwidGhpcyB3b3JrcyB0b29cIik7XG5cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCIucmVhZEZpbGVUb1ZpbnlsXCIueWVsbG93LGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIHJlYWQgYW4gXCIgKyBcIi5qc29uIE9SIC55YW1sXCIuYmx1ZSArIFwiIGZpbGUgdG8gYW4gXCIgKyBcInZpbnlsIGZpbGUgb2JqZWN0XCIuY3lhbixmdW5jdGlvbigpe1xuICAgICAgICAgICAgdmFyIHRlc3REYXRhID0gc21hcnRmaWxlLnJlYWRGaWxlVG9WaW55bChcIi4vdGVzdC9teXRlc3QuanNvblwiKTtcbiAgICAgICAgICAgICh2aW55bC5pc1ZpbnlsKHRlc3REYXRhKSkuc2hvdWxkLmJlLnRydWUoKTtcblxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICBkZXNjcmliZShcIi5jaGVja3NcIi55ZWxsb3csZnVuY3Rpb24oKXtcbiAgICAgICAgZGVzY3JpYmUoXCIuZmlsZUV4aXN0c1N5bmNcIi55ZWxsb3csZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIGl0KFwic2hvdWxkIHJldHVybiBhbiBhY2N1cmF0ZSBib29sZWFuXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAoc21hcnRmaWxlLmNoZWNrcy5maWxlRXhpc3RzU3luYyhcIi4vdGVzdC9teXRlc3QuanNvblwiKSkuc2hvdWxkLmJlLnRydWUoKTtcbiAgICAgICAgICAgICAgICAoc21hcnRmaWxlLmNoZWNrcy5maWxlRXhpc3RzU3luYyhcIi4vdGVzdC9ub3R0aGVyZS5qc29uXCIpKS5zaG91bGQuYmUuZmFsc2UoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgZGVzY3JpYmUoXCIuZmlsZUV4aXN0c1wiLnllbGxvdyxmdW5jdGlvbigpe1xuICAgICAgICAgICAgaXQoXCJzaG91bGQgcmV0dXJuIGEgd29ya2luZyBwcm9taXNlXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAoc21hcnRmaWxlLmNoZWNrcy5maWxlRXhpc3RzKFwiLi90ZXN0L215dGVzdC5qc29uXCIpKS5zaG91bGQuYmUuUHJvbWlzZSgpO1xuICAgICAgICAgICAgICAgIChzbWFydGZpbGUuY2hlY2tzLmZpbGVFeGlzdHMoXCIuL3Rlc3QvbXl0ZXN0Lmpzb25cIikpLnNob3VsZC5iZS5mdWxmaWxsZWQoKTtcbiAgICAgICAgICAgICAgICAoc21hcnRmaWxlLmNoZWNrcy5maWxlRXhpc3RzKFwiLi90ZXN0L25vdHRoZXJlLmpzb25cIikpLnNob3VsZC5ub3QuYmUuZnVsZmlsbGVkKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICB9KTtcbiAgICBkZXNjcmliZShcImNvcHlcIixmdW5jdGlvbigpe1xuICAgICAgICBpdChcInNob3VsZCBjb3B5IGEgZGlyZWN0b3J5XCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHNtYXJ0ZmlsZS5jb3B5KFwiLi90ZXN0L3Rlc3Rmb2xkZXIvXCIsXCIuL3Rlc3QvYXNzZXRzL1wiKVxuICAgICAgICB9KTtcbiAgICAgICAgaXQoXCJzaG91bGQgY29weSBhIGZpbGVcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgc21hcnRmaWxlLmNvcHkoXCIuL3Rlc3QvbXl0ZXN0LnlhbWxcIixcIi4vdGVzdC9hc3NldHMvXCIpXG4gICAgICAgIH0pO1xuICAgICAgICBpdChcInNob3VsZCBjb3B5IGEgZmlsZSBhbmQgcmVuYW1lIGl0XCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHNtYXJ0ZmlsZS5jb3B5KFwiLi90ZXN0L215dGVzdC55YW1sXCIsXCIuL3Rlc3QvYXNzZXRzL215dGVzdFJlbmFtZWQueWFtbFwiKVxuICAgICAgICB9KTtcbiAgICB9KTtcbn0pO1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 diff --git a/ts/index.ts b/ts/index.ts index e5647e5..3d8d1d3 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -2,15 +2,16 @@ import plugins = require("./smartfile.plugins"); import SmartfileChecks = require("./smartfile.checks"); -import SmartfileSimple = require("./smartfile.simple"); +import SmartfileFsaction = require("./smartfile.fsaction"); +import SmartfileRead = require("./smartfile.read"); +import SmartfileRemote = require("./smartfile.remote"); var smartfile:any = { copy: SmartfileSimple.copy, checks: SmartfileChecks, - readFileToString: SmartfileSimple.readFileToString, - readFileToObject: SmartfileSimple.readFileToObject, - readFileToVinyl: SmartfileSimple.readFileToVinyl, + read: SmartfileRead, + remote: SmartfileRemote, requireReload: SmartfileSimple.requireReload }; diff --git a/ts/smartfile.fsaction.ts b/ts/smartfile.fsaction.ts new file mode 100644 index 0000000..0791238 --- /dev/null +++ b/ts/smartfile.fsaction.ts @@ -0,0 +1,7 @@ +/// + +import plugins = require("./smartfile.plugins"); + +export let copy = function(fromArg:string,toArg:string){ + plugins.shelljs.cp("-r",fromArg,toArg); +}; \ No newline at end of file diff --git a/ts/smartfile.plugins.ts b/ts/smartfile.plugins.ts index 08353d5..e3483b2 100644 --- a/ts/smartfile.plugins.ts +++ b/ts/smartfile.plugins.ts @@ -6,5 +6,6 @@ export let q = require("q"); export let vinyl = require("vinyl"); export let vinylFile = require("vinyl-file"); export let yaml = require("js-yaml"); +export let request = require("request"); export let requireReload = require("require-reload"); export let shelljs = require("shelljs"); diff --git a/ts/smartfile.simple.ts b/ts/smartfile.read.ts similarity index 83% rename from ts/smartfile.simple.ts rename to ts/smartfile.read.ts index 8b55428..6951d90 100644 --- a/ts/smartfile.simple.ts +++ b/ts/smartfile.read.ts @@ -2,19 +2,8 @@ import plugins = require("./smartfile.plugins"); -export let copy = function(fromArg:string,toArg:string){ - plugins.shelljs.cp("-r",fromArg,toArg); -}; - -/** - * reads a file content to a String - * @param filePath - * @returns {string|Buffer|any} - */ -export let readFileToString = function(filePath) { - let fileString; - fileString = plugins.fs.readFileSync(filePath, "utf8"); - return fileString; +export let toFS = function(options:{from:string,toPath:string}, cb=undefined){ + }; /** @@ -23,7 +12,7 @@ export let readFileToString = function(filePath) { * @param fileTypeArg * @returns {any} */ -export let readFileToObject = function(filePath,fileTypeArg = undefined) { +export let toObject = function(filePath,fileTypeArg = undefined) { let fileType; if (typeof fileTypeArg == "undefined") { fileType = plugins.path.extname(filePath); @@ -48,13 +37,24 @@ export let readFileToObject = function(filePath,fileTypeArg = undefined) { } }; +/** + * reads a file content to a String + * @param filePath + * @returns {string|Buffer|any} + */ +export let toString = function(filePath) { + let fileString; + fileString = plugins.fs.readFileSync(filePath, "utf8"); + return fileString; +}; + /** * * @param filePathArg * @param options * @returns {number} */ -export let readFileToVinyl = function(filePathArg,options = {}) { +export let toVinyl = function(filePathArg,options = {}) { return plugins.vinylFile.readSync(filePathArg,options); }; diff --git a/ts/smartfile.remote.ts b/ts/smartfile.remote.ts new file mode 100644 index 0000000..79735bd --- /dev/null +++ b/ts/smartfile.remote.ts @@ -0,0 +1,26 @@ +/// +import plugins = require("./smartfile.plugins"); + +export let toVar = (options:{from:string,parseJson?:boolean}, cb):any => { + var bodyString:string; + request.get(options.from, function (error, response, body) { + if (!error && response.statusCode == 200) { + bodyString = body; + console.log('successfully requested' + options.from); + if (options.parseJson = true) { + var jsonObject = JSON.parse(bodyString); + return jsonObject; + }; + } else { + console.log('could not get get remote file from ' + options.from); + return bodyString = 'could not get file' + }; + }); + + return bodyString; +}, + +export let toFS = function(options:{from:string,toPath:string}, cb=undefined) { + var stream = request(options.from).pipe(fs.createWriteStream(options.toPath)); + if (cb != undefined) stream.on('finish',cb); +} \ No newline at end of file