pruno-cli
Version:
A CLI tool for scaffolding projects that use the pruno build tool and a generator for creating components.
70 lines (55 loc) • 2.02 kB
JavaScript
;
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var _shelljs = require("shelljs");
var pwd = _shelljs.pwd;
var cp = _shelljs.cp;
var mv = _shelljs.mv;
var join = require("path").join;
var log = require("../logger").log;
var _utilsInstall = require("../utils/install");
var save = _utilsInstall.save;
var saveDev = _utilsInstall.saveDev;
var buildPath = _interopRequire(require("../utils/build-path"));
var addMixes = _interopRequire(require("../utils/add-mixes"));
var Generator = _interopRequire(require("../generator"));
module.exports = function (scaffold, options) {
switch (scaffold.toLowerCase()) {
case "backbone":
generateBackbone(options);
break;
case "react":
generateReact(options);
break;
default:
generateDefaults(options);
break;
}
};
var generateReact = function (options) {
save(["react", "react-router", "fluxd"]).then(function () {
return log("Installed front-end assets for React.");
})["catch"](function (err) {
return log(err);
});
addMixes(["del", "js", "stylus", "http", "publish", "jade"], {
js: { es6: true },
stylus: { normalize: true, "font-awesome": true }
});
cp("-Rf", join(__dirname, "..", "frameworks", "react", "app", "*"), join(pwd(), options.src));
};
var generateBackbone = function (options) {
save(["backbone", "jquery", "lodash"]).then(function () {
return log("Installed front-end assets for Backbone.");
})["catch"](function (err) {
return log(err);
});
saveDev(["hbsfy", "handlebars"]);
addMixes(["del", "js", "stylus", "http", "publish", "jade"], {
js: { es6: true, handlebars: true },
stylus: { normalize: true, "font-awesome": true }
});
cp("-Rf", join(__dirname, "..", "frameworks", "backbone", "app", "*"), join(pwd(), options.src));
};
var generateDefaults = function (options) {
cp("-Rf", join(__dirname, "..", "frameworks", "defaults", "app", "*"), join(pwd(), options.src));
};