UNPKG

baapan

Version:

Super Cool NPM Playground right on the Node REPL

43 lines (36 loc) 5.53 kB
#!/usr/bin/env node "use strict";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