UNPKG

siphon-cli

Version:

Simple bundler for web applications. 📦🔧🧡

33 lines (32 loc) • 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var fs = require("fs"); var path = require("path"); var errors_1 = require("./errors"); var generator_1 = require("./transpilers/mimo/generator"); var runtime_1 = require("./runtime"); var createDOMTree_1 = require("./transpilers/mimo/createDOMTree"); var utils_1 = require("../utils"); function bundler(source) { return { into: function (destination, options) { if (!fs.existsSync(source)) errors_1.default.enc("FILE_NON_EXISTENT", source); var fileExt = path.extname(source.toString()); switch (fileExt) { case ".html": case ".xhtml": case ".mhtml": var htmlTree = (0, createDOMTree_1.default)(source); (0, utils_1.forceCreateDir)(destination); var runtime = new runtime_1.default(source, destination, options); var generator = new generator_1.default(); htmlTree = runtime.resolve(htmlTree); var result = generator.generate(htmlTree, options); fs.writeFileSync(destination, result); return true; } }, }; } exports.default = bundler;