Files
create-index/dist/utilities/writeIndex.js
T
2021-06-03 08:36:23 +04:30

50 lines
1.7 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _lodash = _interopRequireDefault(require("lodash"));
var _createIndexCode = _interopRequireDefault(require("./createIndexCode"));
var _validateTargetDirectory = _interopRequireDefault(require("./validateTargetDirectory"));
var _readDirectory = _interopRequireDefault(require("./readDirectory"));
var _readIndexConfig = _interopRequireDefault(require("./readIndexConfig"));
var _sortByDepth = _interopRequireDefault(require("./sortByDepth"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _default = function _default(directoryPaths) {
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
const sortedDirectoryPaths = (0, _sortByDepth.default)(directoryPaths).filter(directoryPath => {
return (0, _validateTargetDirectory.default)(directoryPath, {
outputFile: options.outputFile,
silent: options.ignoreUnsafe
});
});
_lodash.default.forEach(sortedDirectoryPaths, directoryPath => {
const config = (0, _readIndexConfig.default)(directoryPath, options);
const optionsWithConfig = Object.assign({}, options, {
config
});
const siblings = (0, _readDirectory.default)(directoryPath, optionsWithConfig);
const indexCode = (0, _createIndexCode.default)(siblings, optionsWithConfig);
const indexFilePath = _path.default.resolve(directoryPath, options.outputFile || 'index.js');
_fs.default.writeFileSync(indexFilePath, indexCode);
});
};
exports.default = _default;
//# sourceMappingURL=writeIndex.js.map