barro
Version:
Flexible barrel file generation for Javascript and Typescript with watching built-in.
28 lines • 1.15 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.compileBarrel = void 0;
const handlebars_1 = __importDefault(require("handlebars"));
const findBarrelFiles_1 = require("./findBarrelFiles");
const templates_1 = require("./utils/templates");
const defaultBanner_1 = require("./utils/defaultBanner");
async function compileBarrel(barrel) {
var _a;
const templateFn = getBarrelTemplateFn(barrel);
const files = await findBarrelFiles_1.findBarrelFiles(barrel);
const barrelSrc = templateFn({ files });
return `${(_a = barrel.banner) !== null && _a !== void 0 ? _a : defaultBanner_1.defaultBanner}${barrelSrc}`;
}
exports.compileBarrel = compileBarrel;
function getBarrelTemplateFn(barrel) {
if (!barrel.template) {
return templates_1.exportStarTemplate;
}
if (typeof barrel.template === "function") {
return barrel.template;
}
return handlebars_1.default.compile(barrel.template);
}
//# sourceMappingURL=compileBarrel.js.map