@demon-utils/playwright 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/demon-demo-init.js +56 -0
- package/dist/bin/demon-demo-init.js.map +10 -0
- package/dist/bin/demon-demo-review.js +187 -523
- package/dist/bin/demon-demo-review.js.map +7 -7
- package/dist/bin/demoon.js +1445 -0
- package/dist/bin/demoon.js.map +22 -0
- package/dist/bin/review-template.html +62 -0
- package/dist/github-issue.js +749 -0
- package/dist/github-issue.js.map +16 -0
- package/dist/index.js +1320 -867
- package/dist/index.js.map +16 -8
- package/dist/orchestrator.js +1421 -0
- package/dist/orchestrator.js.map +20 -0
- package/dist/review-generator.js +424 -0
- package/dist/review-generator.js.map +12 -0
- package/dist/review-template.html +62 -0
- package/package.json +11 -2
- package/src/bin/demon-demo-init.ts +59 -0
- package/src/bin/demon-demo-review.ts +19 -97
- package/src/bin/demoon.ts +140 -0
- package/src/feedback-server.ts +138 -0
- package/src/git-context.test.ts +68 -2
- package/src/git-context.ts +48 -9
- package/src/github-issue.test.ts +188 -0
- package/src/github-issue.ts +139 -0
- package/src/html-generator.e2e.test.ts +361 -80
- package/src/index.ts +9 -3
- package/src/orchestrator.test.ts +183 -0
- package/src/orchestrator.ts +341 -0
- package/src/review-generator.ts +221 -0
- package/src/review-types.ts +3 -0
- package/src/review.ts +13 -7
- package/src/html-generator.test.ts +0 -561
- package/src/html-generator.ts +0 -461
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../node_modules/universal-user-agent/index.js", "../../../node_modules/@octokit/endpoint/dist-bundle/index.js", "../../../node_modules/fast-content-type-parse/index.js", "../../../node_modules/@octokit/request-error/dist-src/index.js", "../../../node_modules/@octokit/request/dist-bundle/index.js", "../../../node_modules/@octokit/graphql/dist-bundle/index.js", "../src/github-issue.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"export function getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && process.version !== undefined) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${\n process.arch\n })`;\n }\n\n return \"<environment undetectable>\";\n}\n",
|
|
6
|
+
"// pkg/dist-src/defaults.js\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/defaults.js\nvar userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nvar DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\"\n }\n};\n\n// pkg/dist-src/util/lowercase-keys.js\nfunction lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n\n// pkg/dist-src/util/is-plain-object.js\nfunction isPlainObject(value) {\n if (typeof value !== \"object\" || value === null) return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\") return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null) return true;\n const Ctor = Object.prototype.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);\n}\n\n// pkg/dist-src/util/merge-deep.js\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults)) Object.assign(result, { [key]: options[key] });\n else result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n\n// pkg/dist-src/util/remove-undefined-properties.js\nfunction removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\n\n// pkg/dist-src/merge.js\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n } else {\n options = Object.assign({}, route);\n }\n options.headers = lowercaseKeys(options.headers);\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n if (options.url === \"/graphql\") {\n if (defaults && defaults.mediaType.previews?.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(\n (preview) => !mergedOptions.mediaType.previews.includes(preview)\n ).concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, \"\"));\n }\n return mergedOptions;\n}\n\n// pkg/dist-src/util/add-query-parameters.js\nfunction addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return url + separator + names.map((name) => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\n\n// pkg/dist-src/util/extract-url-variable-names.js\nvar urlVariableRegex = /\\{[^{}}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/(?:^\\W+)|(?:(?<!\\W)\\W+$)/g, \"\").split(/,/);\n}\nfunction extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n\n// pkg/dist-src/util/omit.js\nfunction omit(object, keysToOmit) {\n const result = { __proto__: null };\n for (const key of Object.keys(object)) {\n if (keysToOmit.indexOf(key) === -1) {\n result[key] = object[key];\n }\n }\n return result;\n}\n\n// pkg/dist-src/util/url-template.js\nfunction encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n }).join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== void 0 && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(\n encodeValue(operator, value, isKeyOperator(operator) ? key : \"\")\n );\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n result.push(\n encodeValue(operator, value2, isKeyOperator(operator) ? key : \"\")\n );\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n tmp.push(encodeValue(operator, value2));\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n template = template.replace(\n /\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g,\n function(_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function(variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n }\n );\n if (template === \"/\") {\n return template;\n } else {\n return template.replace(/\\/$/, \"\");\n }\n}\n\n// pkg/dist-src/parse.js\nfunction parse(options) {\n let method = options.method.toUpperCase();\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\"\n ]);\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n headers.accept = headers.accept.split(/,/).map(\n (format) => format.replace(\n /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n `application/vnd$1$2.${options.mediaType.format}`\n )\n ).join(\",\");\n }\n if (url.endsWith(\"/graphql\")) {\n if (options.mediaType.previews?.length) {\n const previewsFromAcceptHeader = headers.accept.match(/(?<![\\w-])[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n }\n }\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n }\n }\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n return Object.assign(\n { method, url, headers },\n typeof body !== \"undefined\" ? { body } : null,\n options.request ? { request: options.request } : null\n );\n}\n\n// pkg/dist-src/endpoint-with-defaults.js\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS2 = merge(oldDefaults, newDefaults);\n const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);\n return Object.assign(endpoint2, {\n DEFAULTS: DEFAULTS2,\n defaults: withDefaults.bind(null, DEFAULTS2),\n merge: merge.bind(null, DEFAULTS2),\n parse\n });\n}\n\n// pkg/dist-src/index.js\nvar endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n",
|
|
7
|
+
"'use strict'\n\nconst NullObject = function NullObject () { }\nNullObject.prototype = Object.create(null)\n\n/**\n * RegExp to match *( \";\" parameter ) in RFC 7231 sec 3.1.1.1\n *\n * parameter = token \"=\" ( token / quoted-string )\n * token = 1*tchar\n * tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" / \"*\"\n * / \"+\" / \"-\" / \".\" / \"^\" / \"_\" / \"`\" / \"|\" / \"~\"\n * / DIGIT / ALPHA\n * ; any VCHAR, except delimiters\n * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE\n * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text\n * obs-text = %x80-FF\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n */\nconst paramRE = /; *([!#$%&'*+.^\\w`|~-]+)=(\"(?:[\\v\\u0020\\u0021\\u0023-\\u005b\\u005d-\\u007e\\u0080-\\u00ff]|\\\\[\\v\\u0020-\\u00ff])*\"|[!#$%&'*+.^\\w`|~-]+) */gu\n\n/**\n * RegExp to match quoted-pair in RFC 7230 sec 3.2.6\n *\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n * obs-text = %x80-FF\n */\nconst quotedPairRE = /\\\\([\\v\\u0020-\\u00ff])/gu\n\n/**\n * RegExp to match type in RFC 7231 sec 3.1.1.1\n *\n * media-type = type \"/\" subtype\n * type = token\n * subtype = token\n */\nconst mediaTypeRE = /^[!#$%&'*+.^\\w|~-]+\\/[!#$%&'*+.^\\w|~-]+$/u\n\n// default ContentType to prevent repeated object creation\nconst defaultContentType = { type: '', parameters: new NullObject() }\nObject.freeze(defaultContentType.parameters)\nObject.freeze(defaultContentType)\n\n/**\n * Parse media type to object.\n *\n * @param {string|object} header\n * @return {Object}\n * @public\n */\n\nfunction parse (header) {\n if (typeof header !== 'string') {\n throw new TypeError('argument header is required and must be a string')\n }\n\n let index = header.indexOf(';')\n const type = index !== -1\n ? header.slice(0, index).trim()\n : header.trim()\n\n if (mediaTypeRE.test(type) === false) {\n throw new TypeError('invalid media type')\n }\n\n const result = {\n type: type.toLowerCase(),\n parameters: new NullObject()\n }\n\n // parse parameters\n if (index === -1) {\n return result\n }\n\n let key\n let match\n let value\n\n paramRE.lastIndex = index\n\n while ((match = paramRE.exec(header))) {\n if (match.index !== index) {\n throw new TypeError('invalid parameter format')\n }\n\n index += match[0].length\n key = match[1].toLowerCase()\n value = match[2]\n\n if (value[0] === '\"') {\n // remove quotes and escapes\n value = value\n .slice(1, value.length - 1)\n\n quotedPairRE.test(value) && (value = value.replace(quotedPairRE, '$1'))\n }\n\n result.parameters[key] = value\n }\n\n if (index !== header.length) {\n throw new TypeError('invalid parameter format')\n }\n\n return result\n}\n\nfunction safeParse (header) {\n if (typeof header !== 'string') {\n return defaultContentType\n }\n\n let index = header.indexOf(';')\n const type = index !== -1\n ? header.slice(0, index).trim()\n : header.trim()\n\n if (mediaTypeRE.test(type) === false) {\n return defaultContentType\n }\n\n const result = {\n type: type.toLowerCase(),\n parameters: new NullObject()\n }\n\n // parse parameters\n if (index === -1) {\n return result\n }\n\n let key\n let match\n let value\n\n paramRE.lastIndex = index\n\n while ((match = paramRE.exec(header))) {\n if (match.index !== index) {\n return defaultContentType\n }\n\n index += match[0].length\n key = match[1].toLowerCase()\n value = match[2]\n\n if (value[0] === '\"') {\n // remove quotes and escapes\n value = value\n .slice(1, value.length - 1)\n\n quotedPairRE.test(value) && (value = value.replace(quotedPairRE, '$1'))\n }\n\n result.parameters[key] = value\n }\n\n if (index !== header.length) {\n return defaultContentType\n }\n\n return result\n}\n\nmodule.exports.default = { parse, safeParse }\nmodule.exports.parse = parse\nmodule.exports.safeParse = safeParse\nmodule.exports.defaultContentType = defaultContentType\n",
|
|
8
|
+
"class RequestError extends Error {\n name;\n /**\n * http status code\n */\n status;\n /**\n * Request options that lead to the error.\n */\n request;\n /**\n * Response object if a response was received\n */\n response;\n constructor(message, statusCode, options) {\n super(message);\n this.name = \"HttpError\";\n this.status = Number.parseInt(statusCode);\n if (Number.isNaN(this.status)) {\n this.status = 0;\n }\n if (\"response\" in options) {\n this.response = options.response;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n /(?<! ) .*$/,\n \" [REDACTED]\"\n )\n });\n }\n requestCopy.url = requestCopy.url.replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\").replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n }\n}\nexport {\n RequestError\n};\n",
|
|
9
|
+
"// pkg/dist-src/index.js\nimport { endpoint } from \"@octokit/endpoint\";\n\n// pkg/dist-src/defaults.js\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"9.2.4\";\n\n// pkg/dist-src/defaults.js\nvar defaults_default = {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`\n }\n};\n\n// pkg/dist-src/fetch-wrapper.js\nimport { safeParse } from \"fast-content-type-parse\";\n\n// pkg/dist-src/is-plain-object.js\nfunction isPlainObject(value) {\n if (typeof value !== \"object\" || value === null) return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\") return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null) return true;\n const Ctor = Object.prototype.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);\n}\n\n// pkg/dist-src/fetch-wrapper.js\nimport { RequestError } from \"@octokit/request-error\";\nasync function fetchWrapper(requestOptions) {\n const fetch = requestOptions.request?.fetch || globalThis.fetch;\n if (!fetch) {\n throw new Error(\n \"fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing\"\n );\n }\n const log = requestOptions.request?.log || console;\n const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;\n const body = isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body) ? JSON.stringify(requestOptions.body) : requestOptions.body;\n const requestHeaders = Object.fromEntries(\n Object.entries(requestOptions.headers).map(([name, value]) => [\n name,\n String(value)\n ])\n );\n let fetchResponse;\n try {\n fetchResponse = await fetch(requestOptions.url, {\n method: requestOptions.method,\n body,\n redirect: requestOptions.request?.redirect,\n headers: requestHeaders,\n signal: requestOptions.request?.signal,\n // duplex must be set if request.body is ReadableStream or Async Iterables.\n // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.\n ...requestOptions.body && { duplex: \"half\" }\n });\n } catch (error) {\n let message = \"Unknown Error\";\n if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n error.status = 500;\n throw error;\n }\n message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n }\n const requestError = new RequestError(message, 500, {\n request: requestOptions\n });\n requestError.cause = error;\n throw requestError;\n }\n const status = fetchResponse.status;\n const url = fetchResponse.url;\n const responseHeaders = {};\n for (const [key, value] of fetchResponse.headers) {\n responseHeaders[key] = value;\n }\n const octokitResponse = {\n url,\n status,\n headers: responseHeaders,\n data: \"\"\n };\n if (\"deprecation\" in responseHeaders) {\n const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return octokitResponse;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return octokitResponse;\n }\n throw new RequestError(fetchResponse.statusText, status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status === 304) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(\"Not modified\", status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status >= 400) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(toErrorMessage(octokitResponse.data), status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;\n return octokitResponse;\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (!contentType) {\n return response.text().catch(() => \"\");\n }\n const mimetype = safeParse(contentType);\n if (isJSONResponse(mimetype)) {\n let text = \"\";\n try {\n text = await response.text();\n return JSON.parse(text);\n } catch (err) {\n return text;\n }\n } else if (mimetype.type.startsWith(\"text/\") || mimetype.parameters.charset?.toLowerCase() === \"utf-8\") {\n return response.text().catch(() => \"\");\n } else {\n return response.arrayBuffer().catch(() => new ArrayBuffer(0));\n }\n}\nfunction isJSONResponse(mimetype) {\n return mimetype.type === \"application/json\" || mimetype.type === \"application/scim+json\";\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") {\n return data;\n }\n if (data instanceof ArrayBuffer) {\n return \"Unknown error\";\n }\n if (\"message\" in data) {\n const suffix = \"documentation_url\" in data ? ` - ${data.documentation_url}` : \"\";\n return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(\", \")}${suffix}` : `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint2 = oldEndpoint.defaults(newDefaults);\n const newApi = function(route, parameters) {\n const endpointOptions = endpoint2.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint2.parse(endpointOptions));\n }\n const request2 = (route2, parameters2) => {\n return fetchWrapper(\n endpoint2.parse(endpoint2.merge(route2, parameters2))\n );\n };\n Object.assign(request2, {\n endpoint: endpoint2,\n defaults: withDefaults.bind(null, endpoint2)\n });\n return endpointOptions.request.hook(request2, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint: endpoint2,\n defaults: withDefaults.bind(null, endpoint2)\n });\n}\n\n// pkg/dist-src/index.js\nvar request = withDefaults(endpoint, defaults_default);\nexport {\n request\n};\n",
|
|
10
|
+
"// pkg/dist-src/index.js\nimport { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"0.0.0-development\";\n\n// pkg/dist-src/with-defaults.js\nimport { request as Request2 } from \"@octokit/request\";\n\n// pkg/dist-src/graphql.js\nimport { request as Request } from \"@octokit/request\";\n\n// pkg/dist-src/error.js\nfunction _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nvar GraphqlResponseError = class extends Error {\n constructor(request2, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request2;\n this.headers = headers;\n this.response = response;\n this.errors = response.errors;\n this.data = response.data;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n name = \"GraphqlResponseError\";\n errors;\n data;\n};\n\n// pkg/dist-src/graphql.js\nvar NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n \"operationName\"\n];\nvar FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nvar GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request2, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(\n new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`)\n );\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(\n new Error(\n `[@octokit/graphql] \"${key}\" cannot be used as variable name`\n )\n );\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(\n parsedOptions\n ).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request2(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(\n requestOptions,\n headers,\n response.data\n );\n }\n return response.data.data;\n });\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(request2, newDefaults) {\n const newRequest = request2.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: newRequest.endpoint\n });\n}\n\n// pkg/dist-src/index.js\nvar graphql2 = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\nexport {\n GraphqlResponseError,\n graphql2 as graphql,\n withCustomRequest\n};\n",
|
|
11
|
+
"import { graphql as defaultGraphql } from \"@octokit/graphql\";\nimport { spawnSync } from \"node:child_process\";\n\nexport interface GitHubIssue {\n number: number;\n title: string;\n body: string;\n labels: string[];\n state: string;\n}\n\ninterface GitHubIssueGraphQLResponse {\n repository: {\n issue: {\n number: number;\n title: string;\n body: string;\n state: string;\n labels: {\n nodes: Array<{ name: string }>;\n };\n };\n };\n}\n\nexport type GraphQLFn = typeof defaultGraphql;\n\nexport interface FetchGitHubIssueOptions {\n graphql?: GraphQLFn;\n owner?: string;\n repo?: string;\n token?: string;\n}\n\nconst ISSUE_QUERY = `\n query($owner: String!, $repo: String!, $number: Int!) {\n repository(owner: $owner, name: $repo) {\n issue(number: $number) {\n number\n title\n body\n state\n labels(first: 20) {\n nodes {\n name\n }\n }\n }\n }\n }\n`;\n\nfunction getRepoInfoFromGit(): { owner: string; repo: string } | null {\n try {\n const proc = spawnSync(\"git\", [\"remote\", \"get-url\", \"origin\"], { encoding: \"utf-8\" });\n if (proc.status !== 0 || !proc.stdout) {\n return null;\n }\n\n const url = proc.stdout.trim();\n // Handle SSH format: git@github.com:owner/repo.git\n const sshMatch = url.match(/git@github\\.com:([^/]+)\\/(.+?)(?:\\.git)?$/);\n if (sshMatch) {\n return { owner: sshMatch[1]!, repo: sshMatch[2]! };\n }\n\n // Handle HTTPS format: https://github.com/owner/repo.git\n const httpsMatch = url.match(/https:\\/\\/github\\.com\\/([^/]+)\\/(.+?)(?:\\.git)?$/);\n if (httpsMatch) {\n return { owner: httpsMatch[1]!, repo: httpsMatch[2]! };\n }\n\n return null;\n } catch {\n return null;\n }\n}\n\nfunction getTokenFromEnvironment(): string | null {\n return process.env[\"GITHUB_TOKEN\"] ?? process.env[\"GH_TOKEN\"] ?? null;\n}\n\nexport async function fetchGitHubIssue(\n issueId: string | number,\n options?: FetchGitHubIssueOptions,\n): Promise<GitHubIssue> {\n const issueNumber = typeof issueId === \"string\" ? parseInt(issueId, 10) : issueId;\n if (isNaN(issueNumber)) {\n throw new Error(`Invalid issue ID: ${issueId}`);\n }\n\n // Get owner/repo from options or detect from git\n let owner = options?.owner;\n let repo = options?.repo;\n\n if (!owner || !repo) {\n const detected = getRepoInfoFromGit();\n if (!detected) {\n throw new Error(\n \"Could not detect repository owner/name from git remote. \" +\n \"Please provide owner and repo options, or run from a git repository with a GitHub origin.\"\n );\n }\n owner = owner ?? detected.owner;\n repo = repo ?? detected.repo;\n }\n\n // Get token from options or environment\n const token = options?.token ?? getTokenFromEnvironment();\n if (!token) {\n throw new Error(\n \"No GitHub token found. Please set GITHUB_TOKEN or GH_TOKEN environment variable, \" +\n \"or provide token in options.\"\n );\n }\n\n // Use provided graphql function or create one with the token\n const graphqlFn = options?.graphql ?? defaultGraphql.defaults({\n headers: {\n authorization: `token ${token}`,\n },\n });\n\n const response = await graphqlFn<GitHubIssueGraphQLResponse>(ISSUE_QUERY, {\n owner,\n repo,\n number: issueNumber,\n });\n\n const issue = response.repository.issue;\n\n return {\n number: issue.number,\n title: issue.title,\n body: issue.body ?? \"\",\n labels: issue.labels.nodes.map((l: { name: string }) => l.name),\n state: issue.state.toLowerCase(),\n };\n}\n"
|
|
12
|
+
],
|
|
13
|
+
"mappings": "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",
|
|
14
|
+
"debugId": "C7B1D170AF05809164756E2164756E21",
|
|
15
|
+
"names": []
|
|
16
|
+
}
|