UNPKG

aki-plugin-manager

Version:

Lightweight at-runtime plugin manager and loader

43 lines (42 loc) 1.47 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.searchRegistry = exports.getManifest = void 0; const https_1 = __importDefault(require("https")); const BASE_URL = "https://registry.npmjs.org"; const _cleanVersion = (version) => { if (version === "latest") return version; return version.replace(/^\D/, ""); }; const getManifest = (name, version) => { return new Promise((resolve) => { https_1.default.get(`${BASE_URL}/${name}/${_cleanVersion(version)}`, (stream) => { let body = ""; stream.on("data", (chunk) => { body += chunk; }); stream.on("end", () => { resolve(JSON.parse(body)); }); }); }); }; exports.getManifest = getManifest; const searchRegistry = (text, scope, limit) => { const scopeText = scope ? `scope:${scope} ` : ""; return new Promise((resolve) => { https_1.default.get(`${BASE_URL}/-/v1/search?size=${limit}&text=${scopeText}${text}`, (stream) => { let body = ""; stream.on("data", (chunk) => { body += chunk; }); stream.on("end", () => { resolve(JSON.parse(body)); }); }); }); }; exports.searchRegistry = searchRegistry;