npm-upgrade
Version:
Interactive CLI utility to easily update outdated NPM dependencies
36 lines (35 loc) • 1.3 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getRepositoryInfo = getRepositoryInfo;
var _has2 = _interopRequireDefault(require("lodash/has"));
var _url = require("url");
const KNOWN_REPOSITORIES = {
'github.com': parsedRepositoryUrl => {
const repositoryId = /^(.+?\/.+?)(?:\/|\.git$|$)/.exec(parsedRepositoryUrl.pathname.slice(1))[1];
const rootUrl = `https://github.com/${repositoryId}`;
return {
repositoryId,
fileUrlBuilder: filename => `${rootUrl}/blob/-/${filename}`,
releasesPageUrl: `${rootUrl}/releases`
};
},
'gitlab.com': parsedRepositoryUrl => {
const repositoryId = /^(.+?\/.+?)(?:\/|\.git$|$)/.exec(parsedRepositoryUrl.pathname.slice(1))[1];
const rootUrl = `https://gitlab.com/${repositoryId}`;
return {
repositoryId,
fileUrlBuilder: filename => `${rootUrl}/-/blob/master/${filename}`,
releasesPageUrl: `${rootUrl}/-/releases`
};
}
};
function getRepositoryInfo(repositoryUrl) {
const parsedUrl = (0, _url.parse)(repositoryUrl);
const {
hostname
} = parsedUrl;
return (0, _has2.default)(KNOWN_REPOSITORIES, hostname) ? KNOWN_REPOSITORIES[hostname](parsedUrl) : null;
}