From 02283e954255a3bcc4667da340f00d031edeba00 Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Fri, 16 Oct 2026 18:55:59 +0100 Subject: [PATCH] Move more GitHub-related definitions from `util.ts` to `github.ts` --- lib/entry-points.js | 104 ++++++++++++++++++++++---------------------- src/github.ts | 16 ++++++- src/util.ts | 16 +------ 3 files changed, 69 insertions(+), 67 deletions(-) diff --git a/lib/entry-points.js b/lib/entry-points.js index f5cb6b25c..841bb36a1 100644 --- a/lib/entry-points.js +++ b/lib/entry-points.js @@ -42967,11 +42967,11 @@ var require_tracingPolicy = __commonJS({ var import_log = require_log3(); var import_core_util = require_commonjs4(); var import_restError = require_restError3(); - var import_util59 = require_internal3(); + var import_util58 = require_internal3(); var tracingPolicyName2 = "tracingPolicy"; function tracingPolicy2(options = {}) { const userAgentPromise = (0, import_userAgent.getUserAgentValue)(options.userAgentPrefix); - const sanitizer = new import_util59.Sanitizer({ + const sanitizer = new import_util58.Sanitizer({ additionalAllowedQueryParameters: options.additionalAllowedQueryParameters }); const tracingClient = tryCreateTracingClient(); @@ -46597,11 +46597,11 @@ var require_response2 = __commonJS({ }); module2.exports = __toCommonJS2(response_exports); var import_core_rest_pipeline = require_commonjs6(); - var import_util59 = require_util9(); + var import_util58 = require_util9(); var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse"); function toCompatResponse2(response, options) { - let request3 = (0, import_util59.toWebResourceLike)(response.request); - let headers = (0, import_util59.toHttpHeadersLike)(response.headers); + let request3 = (0, import_util58.toWebResourceLike)(response.request); + let headers = (0, import_util58.toHttpHeadersLike)(response.headers); if (options?.createProxy) { return new Proxy(response, { get(target, prop, receiver) { @@ -46642,7 +46642,7 @@ var require_response2 = __commonJS({ return { ...compatResponse, headers, - request: (0, import_util59.toPipelineRequest)(compatResponse.request) + request: (0, import_util58.toPipelineRequest)(compatResponse.request) }; } } @@ -46749,7 +46749,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({ requestPolicyFactoryPolicyName: () => requestPolicyFactoryPolicyName2 }); module2.exports = __toCommonJS2(requestPolicyFactoryPolicy_exports); - var import_util59 = require_util9(); + var import_util58 = require_util9(); var import_response = require_response2(); var HttpPipelineLogLevel2 = /* @__PURE__ */ ((HttpPipelineLogLevel22) => { HttpPipelineLogLevel22[HttpPipelineLogLevel22["ERROR"] = 1] = "ERROR"; @@ -46773,14 +46773,14 @@ var require_requestPolicyFactoryPolicy = __commonJS({ async sendRequest(request3, next) { let httpPipeline = { async sendRequest(httpRequest) { - const response2 = await next((0, import_util59.toPipelineRequest)(httpRequest)); + const response2 = await next((0, import_util58.toPipelineRequest)(httpRequest)); return (0, import_response.toCompatResponse)(response2, { createProxy: true }); } }; for (const factory of orderedFactories) { httpPipeline = factory.create(httpPipeline, mockRequestPolicyOptions); } - const webResourceLike = (0, import_util59.toWebResourceLike)(request3, { createProxy: true }); + const webResourceLike = (0, import_util58.toWebResourceLike)(request3, { createProxy: true }); const response = await httpPipeline.sendRequest(webResourceLike); return (0, import_response.toPipelineResponse)(response); } @@ -46815,12 +46815,12 @@ var require_httpClientAdapter = __commonJS({ }); module2.exports = __toCommonJS2(httpClientAdapter_exports); var import_response = require_response2(); - var import_util59 = require_util9(); + var import_util58 = require_util9(); function convertHttpClient2(requestPolicyClient) { return { sendRequest: async (request3) => { const response = await requestPolicyClient.sendRequest( - (0, import_util59.toWebResourceLike)(request3, { createProxy: true }) + (0, import_util58.toWebResourceLike)(request3, { createProxy: true }) ); return (0, import_response.toPipelineResponse)(response); } @@ -46858,7 +46858,7 @@ var require_commonjs9 = __commonJS({ disableKeepAlivePolicyName: () => import_disableKeepAlivePolicy.disableKeepAlivePolicyName, requestPolicyFactoryPolicyName: () => import_requestPolicyFactoryPolicy.requestPolicyFactoryPolicyName, toCompatResponse: () => import_response.toCompatResponse, - toHttpHeadersLike: () => import_util59.toHttpHeadersLike + toHttpHeadersLike: () => import_util58.toHttpHeadersLike }); module2.exports = __toCommonJS2(src_exports); var import_extendedClient = require_extendedClient(); @@ -46866,7 +46866,7 @@ var require_commonjs9 = __commonJS({ var import_requestPolicyFactoryPolicy = require_requestPolicyFactoryPolicy(); var import_disableKeepAlivePolicy = require_disableKeepAlivePolicy(); var import_httpClientAdapter = require_httpClientAdapter(); - var import_util59 = require_util9(); + var import_util58 = require_util9(); } }); @@ -169594,6 +169594,43 @@ function asHTTPError(arg) { return void 0; } +// src/github.ts +var GITHUB_DOTCOM_URL = "https://github.com"; +function parseGitHubUrl(inputUrl) { + const originalUrl = inputUrl; + if (inputUrl.indexOf("://") === -1) { + inputUrl = `https://${inputUrl}`; + } + if (!inputUrl.startsWith("http://") && !inputUrl.startsWith("https://")) { + throw new ConfigurationError(`"${originalUrl}" is not a http or https URL`); + } + let url2; + try { + url2 = new URL(inputUrl); + } catch { + throw new ConfigurationError(`"${originalUrl}" is not a valid URL`); + } + if (url2.hostname === "github.com" || url2.hostname === "api.github.com") { + return GITHUB_DOTCOM_URL; + } + if (url2.pathname.indexOf("/api/v3") !== -1) { + url2.pathname = url2.pathname.substring(0, url2.pathname.indexOf("/api/v3")); + } + if (url2.hostname.startsWith("api.")) { + url2.hostname = url2.hostname.substring(4); + } + if (!url2.pathname.endsWith("/")) { + url2.pathname = `${url2.pathname}/`; + } + return url2.toString(); +} +function getCurrentInstance(env) { + return { + url: env.getRequired("GITHUB_SERVER_URL" /* GITHUB_SERVER_URL */), + apiURL: env.getRequired("GITHUB_API_URL" /* GITHUB_API_URL */) + }; +} + // src/util.ts var BASE_DATABASE_OIDS_FILE_NAME = "base-database-oids.json"; var BROKEN_VERSIONS = ["0.0.0-20211207"]; @@ -170639,43 +170676,6 @@ retry.VERSION = VERSION7; // src/api-client.ts var import_undici = __toESM(require_undici()); -// src/github.ts -var GITHUB_DOTCOM_URL = "https://github.com"; -function parseGitHubUrl(inputUrl) { - const originalUrl = inputUrl; - if (inputUrl.indexOf("://") === -1) { - inputUrl = `https://${inputUrl}`; - } - if (!inputUrl.startsWith("http://") && !inputUrl.startsWith("https://")) { - throw new ConfigurationError(`"${originalUrl}" is not a http or https URL`); - } - let url2; - try { - url2 = new URL(inputUrl); - } catch { - throw new ConfigurationError(`"${originalUrl}" is not a valid URL`); - } - if (url2.hostname === "github.com" || url2.hostname === "api.github.com") { - return GITHUB_DOTCOM_URL; - } - if (url2.pathname.indexOf("/api/v3") !== -1) { - url2.pathname = url2.pathname.substring(0, url2.pathname.indexOf("/api/v3")); - } - if (url2.hostname.startsWith("api.")) { - url2.hostname = url2.hostname.substring(4); - } - if (!url2.pathname.endsWith("/")) { - url2.pathname = `${url2.pathname}/`; - } - return url2.toString(); -} -function getCurrentInstance(env) { - return { - url: env.getRequired("GITHUB_SERVER_URL" /* GITHUB_SERVER_URL */), - apiURL: env.getRequired("GITHUB_API_URL" /* GITHUB_API_URL */) - }; -} - // src/repository.ts function isRepositoryNwoStr(val) { return val.includes("/"); @@ -183090,7 +183090,7 @@ var import_async = __toESM(require_async(), 1); var import_path7 = require("path"); // node_modules/archiver/lib/error.js -var import_util37 = __toESM(require("util"), 1); +var import_util36 = __toESM(require("util"), 1); var ERROR_CODES = { ABORTED: "archive was aborted", DIRECTORYDIRPATHREQUIRED: "diretory dirpath argument must be a non-empty string value", @@ -183115,7 +183115,7 @@ function ArchiverError(code, data) { this.code = code; this.data = data; } -import_util37.default.inherits(ArchiverError, Error); +import_util36.default.inherits(ArchiverError, Error); // node_modules/archiver/lib/core.js var import_readable_stream2 = __toESM(require_ours(), 1); diff --git a/src/github.ts b/src/github.ts index 6350fb3f3..e39cddfb0 100644 --- a/src/github.ts +++ b/src/github.ts @@ -1,5 +1,19 @@ import { ActionsEnvVars, type ReadOnlyEnv } from "./environment"; -import { ConfigurationError } from "./util"; +import { ConfigurationError } from "./errors"; + +export enum GitHubVariant { + /** [GitHub.com](https://github.com) */ + DOTCOM = "GitHub.com", + /** [GitHub Enterprise Server](https://docs.github.com/en/enterprise-server@latest/admin/overview/about-github-enterprise-server) */ + GHES = "GitHub Enterprise Server", + /** [GitHub Enterprise Cloud with data residency](https://docs.github.com/en/enterprise-cloud@latest/admin/data-residency/about-github-enterprise-cloud-with-data-residency) */ + GHEC_DR = "GitHub Enterprise Cloud with data residency", +} + +export type GitHubVersion = + | { type: GitHubVariant.DOTCOM } + | { type: GitHubVariant.GHEC_DR } + | { type: GitHubVariant.GHES; version: string }; /** A string representing a GitHub instance address. */ export type InstanceURL = string; diff --git a/src/util.ts b/src/util.ts index d1729acdc..032c158f4 100644 --- a/src/util.ts +++ b/src/util.ts @@ -24,6 +24,7 @@ import { type Env, } from "./environment"; import { ConfigurationError, getErrorMessage, wrapError } from "./errors"; +import { GitHubVariant, type GitHubVersion } from "./github"; import type { Language } from "./languages"; import type { Logger } from "./logging"; @@ -35,6 +36,7 @@ export { getEnv, isInTestMode, } from "./environment"; +export { GitHubVariant, type GitHubVersion } from "./github"; /** * The name of the file containing the base database OIDs, as stored in the @@ -471,20 +473,6 @@ const CODEQL_ACTION_WARNED_ABOUT_VERSION_ENV_VAR = let hasBeenWarnedAboutVersion = false; -export enum GitHubVariant { - /** [GitHub.com](https://github.com) */ - DOTCOM = "GitHub.com", - /** [GitHub Enterprise Server](https://docs.github.com/en/enterprise-server@latest/admin/overview/about-github-enterprise-server) */ - GHES = "GitHub Enterprise Server", - /** [GitHub Enterprise Cloud with data residency](https://docs.github.com/en/enterprise-cloud@latest/admin/data-residency/about-github-enterprise-cloud-with-data-residency) */ - GHEC_DR = "GitHub Enterprise Cloud with data residency", -} - -export type GitHubVersion = - | { type: GitHubVariant.DOTCOM } - | { type: GitHubVariant.GHEC_DR } - | { type: GitHubVariant.GHES; version: string }; - export function checkGitHubVersionInRange( version: GitHubVersion, logger: Logger,