Files
2020-03-02 14:53:23 +07:00

56 lines
1.3 KiB
JavaScript

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.localPlace = localPlace;
exports.remotePlace = remotePlace;
var _semver = require("semver");
var _expandTemplate = _interopRequireDefault(require("expand-template"));
var _os = _interopRequireDefault(require("os"));
var _path = _interopRequireDefault(require("path"));
var _places = _interopRequireDefault(require("../places.json"));
var expand = (0, _expandTemplate.default)();
var PKG_CACHE_PATH = process.env.PKG_CACHE_PATH;
var cachePath = PKG_CACHE_PATH || _path.default.join(_os.default.homedir(), '.pkg-cache');
function tagFromVersion(version) {
var mj = (0, _semver.major)(version);
var mn = (0, _semver.minor)(version);
return `v${mj}.${mn}`;
}
function localPlace(opts) {
var p = _places.default.localPlace;
var version = opts.version;
var tag = tagFromVersion(version);
Object.assign(opts, {
tag
});
var atHome = _path.default.join(cachePath, p);
return expand(_path.default.resolve(atHome), opts);
}
function remotePlace(opts) {
var p = _places.default.remotePlace;
var version = opts.version;
var tag = tagFromVersion(version);
Object.assign(opts, {
tag
});
return {
tag,
name: expand(p, opts)
};
}