barrelbot
Version:
a small utility to maintain barrel files
37 lines (36 loc) • 1.35 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = __importDefault(require("fs"));
const util_1 = __importDefault(require("util"));
const fs_writeFile = util_1.default.promisify(fs_1.default.writeFile);
const path_1 = __importDefault(require("path"));
const checkDir_1 = require("../checks/checkDir");
const types_1 = require("../types");
/** return promise of a writing job */
function writeIndex(pathToDir, extension) {
const { indexFilePath, allFilesExceptIndex } = checkDir_1.checkDir(pathToDir, extension);
let finalString = [
types_1.COMMENTSTRING,
'',
'// for more info: https://github.com/sw-yx/barrelbot'
];
allFilesExceptIndex.forEach(filePath => {
finalString.push(createExportLine(filePath, extension));
});
// console.log({ finalString });
// write
return fs_writeFile(
// path.join(pathToDir, indexFilePath)
indexFilePath, finalString.join('\n')
// options
);
// return 'hi';
}
exports.writeIndex = writeIndex;
function createExportLine(filePath, extension) {
const basename = path_1.default.basename(filePath, '.' + extension);
return `export * from './${basename}'`;
}