@drop-in-gaming/barrelsby
Version:
Automatic TypeScript barrels for your entire code base
27 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildFlatBarrel = void 0;
const builder_1 = require("../builder");
const child_process_1 = require("child_process");
function buildFlatBarrel(directory, modules, quoteCharacter, semicolonCharacter, logger, baseUrl, exportDefault) {
return modules.reduce((previous, current) => {
const importPath = (0, builder_1.buildImportPath)(directory, current, baseUrl);
logger.debug(`Including path ${importPath}`);
if (exportDefault) {
try {
(0, child_process_1.execSync)('grep "export default" ' + current.path);
logger.debug(`Default export found in ${importPath}`);
const filename = (0, builder_1.getBasename)(current.path);
previous += `export { default as ${filename} } from ${quoteCharacter}${importPath}${quoteCharacter}${semicolonCharacter}
`;
}
catch (error) {
logger.debug(`No default export was found in ${importPath}`);
}
}
return (previous += `export * from ${quoteCharacter}${importPath}${quoteCharacter}${semicolonCharacter}
`);
}, '');
}
exports.buildFlatBarrel = buildFlatBarrel;
//# sourceMappingURL=flat.js.map