@cardstack/cli
Version:
Command line tools for Cardstack.
31 lines • 1.22 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = require("path");
const fs_extra_1 = require("fs-extra");
const blueprint_1 = __importDefault(require("./blueprint"));
class CardGenerator {
constructor({ cardName, ui }) {
this.cardName = cardName;
this.ui = ui;
ui.writeInfoLine(`Creating a Card named ${this.cardName} in the current directory`);
}
async createFiles() {
// iterate over blueprint one level deep and create files
// creates files like some-card-name/components/embedded.hbs
for (let key in blueprint_1.default) {
blueprint_1.default[key].forEach((file) => {
fs_extra_1.ensureDirSync(path_1.join(this.cardName, key));
fs_extra_1.writeFileSync(path_1.join(this.cardName, key, file.filename), file.contents);
});
}
}
}
async function newCard(options) {
let generator = new CardGenerator(options);
return generator.createFiles();
}
exports.default = newCard;
//# sourceMappingURL=new-card.js.map