UNPKG

install-module-linked

Version:
34 lines 1.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return getSpecifier; } }); var _getfilecompat = require("get-file-compat"); var _parseInstallStringts = /*#__PURE__*/ _interop_require_default(require("./parseInstallString.js")); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function getSpecifier(installString, callback) { var _parseInstallString = (0, _parseInstallStringts.default)(installString), name = _parseInstallString.name, version = _parseInstallString.version; if (version) return callback(undefined, installString); // URL-encode the package name (handles scoped packages: @scope/pkg -> @scope%2Fpkg) var encodedName = encodeURIComponent(name).replace(/%40/g, '@'); (0, _getfilecompat.getContent)("https://registry.npmjs.org/".concat(encodedName, "/latest"), 'utf8', function(err, res) { if (err) return callback(err); try { var _ref; var json = JSON.parse((_ref = res === null || res === void 0 ? void 0 : res.content) !== null && _ref !== void 0 ? _ref : 'null'); callback(undefined, "".concat(name, "@").concat(json.version)); } catch (err) { callback(err); } }); } /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }