UNPKG

@socketsecurity/lib

Version:

Core utilities and infrastructure for Socket.dev security tools

86 lines (85 loc) 3.06 kB
"use strict"; /* Socket Lib - Built with esbuild */ var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var specs_exports = {}; __export(specs_exports, { getRepoUrlDetails: () => getRepoUrlDetails, gitHubTagRefUrl: () => gitHubTagRefUrl, gitHubTgzUrl: () => gitHubTgzUrl, isGitHubTgzSpec: () => isGitHubTgzSpec, isGitHubUrlSpec: () => isGitHubUrlSpec }); module.exports = __toCommonJS(specs_exports); var import_objects = require("../objects"); var import_strings = require("../strings"); let _npmPackageArg; // @__NO_SIDE_EFFECTS__ function getNpmPackageArg() { if (_npmPackageArg === void 0) { _npmPackageArg = require("../external/npm-package-arg"); } return _npmPackageArg; } // @__NO_SIDE_EFFECTS__ function getRepoUrlDetails(repoUrl = "") { const userAndRepo = repoUrl.replace(/^.+github.com\//, "").split("/"); const user = userAndRepo[0] || ""; const project = userAndRepo.length > 1 ? userAndRepo[1]?.slice(0, -".git".length) || "" : ""; return { user, project }; } // @__NO_SIDE_EFFECTS__ function gitHubTagRefUrl(user, project, tag) { return `https://api.github.com/repos/${user}/${project}/git/ref/tags/${tag}`; } // @__NO_SIDE_EFFECTS__ function gitHubTgzUrl(user, project, sha) { return `https://github.com/${user}/${project}/archive/${sha}.tar.gz`; } // @__NO_SIDE_EFFECTS__ function isGitHubTgzSpec(spec, where) { let parsedSpec; if ((0, import_objects.isObjectObject)(spec)) { parsedSpec = spec; } else { const npmPackageArg = /* @__PURE__ */ getNpmPackageArg(); parsedSpec = npmPackageArg(spec, where); } const typedSpec = parsedSpec; return typedSpec.type === "remote" && !!typedSpec.saveSpec?.endsWith(".tar.gz"); } // @__NO_SIDE_EFFECTS__ function isGitHubUrlSpec(spec, where) { let parsedSpec; if ((0, import_objects.isObjectObject)(spec)) { parsedSpec = spec; } else { const npmPackageArg = /* @__PURE__ */ getNpmPackageArg(); parsedSpec = npmPackageArg(spec, where); } const typedSpec = parsedSpec; return typedSpec.type === "git" && typedSpec.hosted?.domain === "github.com" && (0, import_strings.isNonEmptyString)(typedSpec.gitCommittish); } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { getRepoUrlDetails, gitHubTagRefUrl, gitHubTgzUrl, isGitHubTgzSpec, isGitHubUrlSpec });