UNPKG

indexr

Version:

Automated dynamic indexes for your ES6+ source code.

84 lines (56 loc) 2.57 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = indexr; var _exts = require('./modules/exts'); var _exts2 = _interopRequireDefault(_exts); var _file = require('./modules/file'); var _file2 = _interopRequireDefault(_file); var _imports = require('./modules/imports'); var _imports2 = _interopRequireDefault(_imports); var _moduleFolders = require('./modules/moduleFolders'); var _moduleFolders2 = _interopRequireDefault(_moduleFolders); var _args = require('./modules/args'); var _args2 = _interopRequireDefault(_args); var _remember = require('./utils/remember'); var _remember2 = _interopRequireDefault(_remember); var _logger = require('./utils/logger'); var _rootFolder = require('./modules/rootFolder'); var _rootFolder2 = _interopRequireDefault(_rootFolder); var _submodules = require('./modules/submodules'); var _submodules2 = _interopRequireDefault(_submodules); var _template = require('./modules/template'); var _template2 = _interopRequireDefault(_template); var _watch = require('./modules/watch'); var _watch2 = _interopRequireDefault(_watch); var _chainMap = require('./utils/chainMap'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function indexr() { // Get parsed input var parsed = _args2.default.apply(undefined, arguments); var mem = (0, _remember2.default)('modulePath'); // Configure all our modules var findModuleFolders = _moduleFolders2.default.findModuleFolders(parsed); var findSubmodules = _submodules2.default.findSubmodules(parsed); var removeExtensions = _exts2.default.removeExtensions(parsed); var resolveDirectImports = _imports2.default.resolveDirectImports(parsed); var rootFolderFilePath = _rootFolder2.default.rootFolderFilePath(parsed); var storeOutput = mem.store; var toFile = mem.decorate(_file2.default.toFile(parsed)); var toTemplate = _template2.default.toTemplate(parsed); var watchFiles = _watch2.default.watchFiles(parsed); return new Promise(function (resolve, reject) { // Create the sequence of operations var watchSequence = watchFiles(findModuleFolders, (0, _chainMap.map)(rootFolderFilePath, storeOutput, findSubmodules, (0, _chainMap.map)(removeExtensions, resolveDirectImports), toTemplate, toFile)); // Run the sequence of operations watchSequence(function (err, result) { if (err) { (0, _logger.error)(err); return reject(err); } return resolve(result); }); }); } module.exports = exports['default'];