UNPKG

smooth-release

Version:

Smart CLI tool to safely and automatically do every step to release a new version of a library hosted on GitHub and published on npm

84 lines (57 loc) 2.39 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.askForToken = undefined; var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _os = require('os'); var _os2 = _interopRequireDefault(_os); var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _mkdirp = require('mkdirp'); var _mkdirp2 = _interopRequireDefault(_mkdirp); var _utils = require('../utils'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var tokenFilePath = _os2.default.homedir() + '/.smooth-release/gh_token'; _mkdirp2.default.sync(_path2.default.dirname(tokenFilePath)); var token = _fs2.default.existsSync(tokenFilePath) ? _fs2.default.readFileSync(tokenFilePath, { encoding: 'utf8' }) : null; exports.default = function (_tokenParam) { return _tokenParam || token; }; var askForToken = exports.askForToken = function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(message) { var token; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: (0, _utils.info)(''); _context.next = 3; return _utils.rl.question(message || 'Could not find any stored GitHub token. Please write here a valid token:'); case 3: token = _context.sent; if (!(!token || token.length !== 40)) { _context.next = 6; break; } return _context.abrupt('return', askForToken('The given token was invalid! Please write here a valid token:')); case 6: _fs2.default.writeFileSync(tokenFilePath, token); (0, _utils.info)('\nToken correctly saved. Please restart smooth-release.'); process.exit(0); case 9: case 'end': return _context.stop(); } } }, _callee, undefined); })); return function askForToken(_x) { return _ref.apply(this, arguments); }; }();