UNPKG

skypager-repl

Version:
51 lines (37 loc) 1.46 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _keys = require('babel-runtime/core-js/object/keys'); var _keys2 = _interopRequireDefault(_keys); exports.default = function (repl, options) { repl.commands['reload'] = { help: 'Clears the require cache', // eslint-disable-next-line action: function action() { var reloadFilter = options.reloadFilter || function (key) { return key.startsWith((0, _path.dirname)(process.cwd())); }; var cacheEntries = (0, _keys2.default)(require.cache).filter(reloadFilter); if ((0, _isFunction2.default)(options.willReload)) { options.willReload(cacheEntries); } cacheEntries.forEach(function (moduleId) { return delete require.cache[moduleId]; }); repl.commands.clear.action.call(repl); if (options.clearAfterReload !== false) { repl.commands.cls.action.call(repl); } if ((0, _isFunction2.default)(options.didReload)) { options.didReload((0, _keys2.default)(require.cache).filter(reloadFilter), (0, _keys2.default)(require.cache), cacheEntries); } this.displayPrompt(); } }; }; var _path = require('path'); var _isFunction = require('lodash/isFunction'); var _isFunction2 = _interopRequireDefault(_isFunction); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } //# sourceMappingURL=reloading.js.map