baapan
Version:
Super Cool NPM Playground right on the Node REPL
43 lines (36 loc) • 5.53 kB
JavaScript
;var _os = _interopRequireDefault(require("os"));
var _path = _interopRequireDefault(require("path"));
var _baapan = _interopRequireDefault(require("./baapan"));
require("colors");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { "default": obj };}
var workspacePath = process.env.BAAPAN_WS_PATH;
var replHistoryPath = null;
var persistWorkspace = true;
var HOME_DIR = _os["default"].homedir();
if (!workspacePath) {
var WORKSPACE_DIR = ".baapan/workspace_".concat(process.pid, "_").concat(Date.now());
workspacePath = _path["default"].join(HOME_DIR, WORKSPACE_DIR);
process.env.BAAPAN_WS_PATH = workspacePath;
persistWorkspace = false;
}
if (process.env.NODE_REPL_HISTORY === undefined || process.env.NODE_REPL_HISTORY !== '') {
// if specified, set user specified path to node repl history
replHistoryPath = _path["default"].join(HOME_DIR, '.node_repl_history');
if (process.env.NODE_REPL_HISTORY) replHistoryPath = process.env.NODE_REPL_HISTORY;
}
var baapan = new _baapan["default"]({
persistWorkspace: persistWorkspace,
workspacePath: workspacePath,
homeDir: HOME_DIR,
historyPath: replHistoryPath,
historySize: +process.env.NODE_REPL_HISTORY_SIZE || 1000 });
process.on('exit', function () {
if (!persistWorkspace) {
console.info('Cleaning up workspace...'.grey);
baapan.cleanUpWorkspace();
} else {
console.info("Workspace ".concat(process.env.BAAPAN_WS_PATH, " preserved!").grey);
}
});
baapan.startRepl();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJ3b3Jrc3BhY2VQYXRoIiwicHJvY2VzcyIsImVudiIsIkJBQVBBTl9XU19QQVRIIiwicmVwbEhpc3RvcnlQYXRoIiwicGVyc2lzdFdvcmtzcGFjZSIsIkhPTUVfRElSIiwib3MiLCJob21lZGlyIiwiV09SS1NQQUNFX0RJUiIsInBpZCIsIkRhdGUiLCJub3ciLCJwYXRoIiwiam9pbiIsIk5PREVfUkVQTF9ISVNUT1JZIiwidW5kZWZpbmVkIiwiYmFhcGFuIiwiQmFhcGFuUkVQTFNlcnZlciIsImhvbWVEaXIiLCJoaXN0b3J5UGF0aCIsImhpc3RvcnlTaXplIiwiTk9ERV9SRVBMX0hJU1RPUllfU0laRSIsIm9uIiwiY29uc29sZSIsImluZm8iLCJncmV5IiwiY2xlYW5VcFdvcmtzcGFjZSIsInN0YXJ0UmVwbCJdLCJtYXBwaW5ncyI6IkFBQUE7YUFDQTtBQUNBO0FBQ0E7QUFDQSxrQjs7QUFFQSxJQUFJQSxhQUFhLEdBQUdDLE9BQU8sQ0FBQ0MsR0FBUixDQUFZQyxjQUFoQztBQUNBLElBQUlDLGVBQWUsR0FBRyxJQUF0QjtBQUNBLElBQUlDLGdCQUFnQixHQUFHLElBQXZCO0FBQ0EsSUFBTUMsUUFBUSxHQUFHQyxlQUFHQyxPQUFILEVBQWpCOztBQUVBLElBQUksQ0FBQ1IsYUFBTCxFQUFvQjtBQUNsQixNQUFNUyxhQUFhLCtCQUF3QlIsT0FBTyxDQUFDUyxHQUFoQyxjQUF1Q0MsSUFBSSxDQUFDQyxHQUFMLEVBQXZDLENBQW5CO0FBQ0FaLEVBQUFBLGFBQWEsR0FBR2EsaUJBQUtDLElBQUwsQ0FBVVIsUUFBVixFQUFvQkcsYUFBcEIsQ0FBaEI7QUFDQVIsRUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVlDLGNBQVosR0FBNkJILGFBQTdCO0FBQ0FLLEVBQUFBLGdCQUFnQixHQUFHLEtBQW5CO0FBQ0Q7O0FBRUQsSUFBSUosT0FBTyxDQUFDQyxHQUFSLENBQVlhLGlCQUFaLEtBQWtDQyxTQUFsQyxJQUErQ2YsT0FBTyxDQUFDQyxHQUFSLENBQVlhLGlCQUFaLEtBQWtDLEVBQXJGLEVBQXlGO0FBQ3ZGO0FBQ0FYLEVBQUFBLGVBQWUsR0FBR1MsaUJBQUtDLElBQUwsQ0FBVVIsUUFBVixFQUFvQixvQkFBcEIsQ0FBbEI7QUFDQSxNQUFJTCxPQUFPLENBQUNDLEdBQVIsQ0FBWWEsaUJBQWhCLEVBQW1DWCxlQUFlLEdBQUdILE9BQU8sQ0FBQ0MsR0FBUixDQUFZYSxpQkFBOUI7QUFDcEM7O0FBRUQsSUFBTUUsTUFBTSxHQUFHLElBQUlDLGtCQUFKLENBQXFCO0FBQ2xDYixFQUFBQSxnQkFBZ0IsRUFBaEJBLGdCQURrQztBQUVsQ0wsRUFBQUEsYUFBYSxFQUFiQSxhQUZrQztBQUdsQ21CLEVBQUFBLE9BQU8sRUFBRWIsUUFIeUI7QUFJbENjLEVBQUFBLFdBQVcsRUFBRWhCLGVBSnFCO0FBS2xDaUIsRUFBQUEsV0FBVyxFQUFFLENBQUNwQixPQUFPLENBQUNDLEdBQVIsQ0FBWW9CLHNCQUFiLElBQXVDLElBTGxCLEVBQXJCLENBQWY7OztBQVFBckIsT0FBTyxDQUFDc0IsRUFBUixDQUFXLE1BQVgsRUFBbUIsWUFBTTtBQUN2QixNQUFJLENBQUNsQixnQkFBTCxFQUF1QjtBQUNyQm1CLElBQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUFhLDJCQUEyQkMsSUFBeEM7QUFDQVQsSUFBQUEsTUFBTSxDQUFDVSxnQkFBUDtBQUNELEdBSEQsTUFHTztBQUNMSCxJQUFBQSxPQUFPLENBQUNDLElBQVIsQ0FBYSxvQkFBYXhCLE9BQU8sQ0FBQ0MsR0FBUixDQUFZQyxjQUF6QixpQkFBcUR1QixJQUFsRTtBQUNEO0FBQ0YsQ0FQRDs7QUFTQVQsTUFBTSxDQUFDVyxTQUFQIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuaW1wb3J0IG9zIGZyb20gJ29zJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IEJhYXBhblJFUExTZXJ2ZXIgZnJvbSAnLi9iYWFwYW4nO1xuaW1wb3J0ICdjb2xvcnMnO1xuXG5sZXQgd29ya3NwYWNlUGF0aCA9IHByb2Nlc3MuZW52LkJBQVBBTl9XU19QQVRIO1xubGV0IHJlcGxIaXN0b3J5UGF0aCA9IG51bGw7XG5sZXQgcGVyc2lzdFdvcmtzcGFjZSA9IHRydWU7XG5jb25zdCBIT01FX0RJUiA9IG9zLmhvbWVkaXIoKTtcblxuaWYgKCF3b3Jrc3BhY2VQYXRoKSB7XG4gIGNvbnN0IFdPUktTUEFDRV9ESVIgPSBgLmJhYXBhbi93b3Jrc3BhY2VfJHtwcm9jZXNzLnBpZH1fJHtEYXRlLm5vdygpfWA7XG4gIHdvcmtzcGFjZVBhdGggPSBwYXRoLmpvaW4oSE9NRV9ESVIsIFdPUktTUEFDRV9ESVIpO1xuICBwcm9jZXNzLmVudi5CQUFQQU5fV1NfUEFUSCA9IHdvcmtzcGFjZVBhdGg7XG4gIHBlcnNpc3RXb3Jrc3BhY2UgPSBmYWxzZTtcbn1cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfUkVQTF9ISVNUT1JZID09PSB1bmRlZmluZWQgfHwgcHJvY2Vzcy5lbnYuTk9ERV9SRVBMX0hJU1RPUlkgIT09ICcnKSB7XG4gIC8vIGlmIHNwZWNpZmllZCwgc2V0IHVzZXIgc3BlY2lmaWVkIHBhdGggdG8gbm9kZSByZXBsIGhpc3RvcnlcbiAgcmVwbEhpc3RvcnlQYXRoID0gcGF0aC5qb2luKEhPTUVfRElSLCAnLm5vZGVfcmVwbF9oaXN0b3J5Jyk7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX1JFUExfSElTVE9SWSkgcmVwbEhpc3RvcnlQYXRoID0gcHJvY2Vzcy5lbnYuTk9ERV9SRVBMX0hJU1RPUlk7XG59XG5cbmNvbnN0IGJhYXBhbiA9IG5ldyBCYWFwYW5SRVBMU2VydmVyKHtcbiAgcGVyc2lzdFdvcmtzcGFjZSxcbiAgd29ya3NwYWNlUGF0aCxcbiAgaG9tZURpcjogSE9NRV9ESVIsXG4gIGhpc3RvcnlQYXRoOiByZXBsSGlzdG9yeVBhdGgsXG4gIGhpc3RvcnlTaXplOiArcHJvY2Vzcy5lbnYuTk9ERV9SRVBMX0hJU1RPUllfU0laRSB8fCAxMDAwLFxufSk7XG5cbnByb2Nlc3Mub24oJ2V4aXQnLCAoKSA9PiB7XG4gIGlmICghcGVyc2lzdFdvcmtzcGFjZSkge1xuICAgIGNvbnNvbGUuaW5mbygnQ2xlYW5pbmcgdXAgd29ya3NwYWNlLi4uJy5ncmV5KTtcbiAgICBiYWFwYW4uY2xlYW5VcFdvcmtzcGFjZSgpO1xuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUuaW5mbyhgV29ya3NwYWNlICR7cHJvY2Vzcy5lbnYuQkFBUEFOX1dTX1BBVEh9IHByZXNlcnZlZCFgLmdyZXkpO1xuICB9XG59KTtcblxuYmFhcGFuLnN0YXJ0UmVwbCgpO1xuIl19