pkg-fetch
Version:
59 lines (39 loc) • 1.46 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _assign = require('babel-runtime/core-js/object/assign');
var _assign2 = _interopRequireDefault(_assign);
exports.localPlace = localPlace;
exports.remotePlace = remotePlace;
var _semver = require('semver');
var _expandTemplate = require('expand-template');
var _expandTemplate2 = _interopRequireDefault(_expandTemplate);
var _os = require('os');
var _os2 = _interopRequireDefault(_os);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _places = require('../places.json');
var _places2 = _interopRequireDefault(_places);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var expand = (0, _expandTemplate2.default)();
function tagFromVersion(version) {
var mj = (0, _semver.major)(version);
var mn = (0, _semver.minor)(version);
return 'v' + mj + '.' + mn;
}
function localPlace(opts) {
var p = _places2.default.localPlace;
var version = opts.version;
var tag = tagFromVersion(version);
(0, _assign2.default)(opts, { tag: tag });
var atHome = p.replace('~', _os2.default.homedir());
return expand(_path2.default.resolve(atHome), opts);
}
function remotePlace(opts) {
var p = _places2.default.remotePlace;
var version = opts.version;
var tag = tagFromVersion(version);
(0, _assign2.default)(opts, { tag: tag });
return { tag: tag, name: expand(p, opts) };
}