pull/45/head
Automated 2023-01-16 09:27:32 +00:00
parent dfa210dd0b
commit ddee6faec6
1 changed files with 194 additions and 2 deletions

196
dist/index.js vendored
View File

@ -23,6 +23,10 @@ var __copyProps = (to, from, except, desc) => {
return to; return to;
}; };
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod mod
)); ));
@ -33,7 +37,8 @@ var require_constants = __commonJS({
"node_modules/semver/internal/constants.js"(exports, module2) { "node_modules/semver/internal/constants.js"(exports, module2) {
var SEMVER_SPEC_VERSION = "2.0.0"; var SEMVER_SPEC_VERSION = "2.0.0";
var MAX_LENGTH = 256; var MAX_LENGTH = 256;
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
9007199254740991;
var MAX_SAFE_COMPONENT_LENGTH = 16; var MAX_SAFE_COMPONENT_LENGTH = 16;
module2.exports = { module2.exports = {
SEMVER_SPEC_VERSION, SEMVER_SPEC_VERSION,
@ -291,6 +296,8 @@ var require_semver = __commonJS({
} }
} while (++i); } while (++i);
} }
// preminor will bump the version up to the next minor release, and immediately
// down to pre-release. premajor and prepatch work the same way.
inc(release, identifier) { inc(release, identifier) {
switch (release) { switch (release) {
case "premajor": case "premajor":
@ -1139,6 +1146,7 @@ var require_lru_cache = __commonJS({
this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false; this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false;
this.reset(); this.reset();
} }
// resize the cache when the max changes.
set max(mL) { set max(mL) {
if (typeof mL !== "number" || mL < 0) if (typeof mL !== "number" || mL < 0)
throw new TypeError("max must be a non-negative number"); throw new TypeError("max must be a non-negative number");
@ -1163,6 +1171,7 @@ var require_lru_cache = __commonJS({
get maxAge() { get maxAge() {
return this[MAX_AGE]; return this[MAX_AGE];
} }
// resize the cache when the lengthCalculator changes.
set lengthCalculator(lC) { set lengthCalculator(lC) {
if (typeof lC !== "function") if (typeof lC !== "function")
lC = naiveLength; lC = naiveLength;
@ -1477,6 +1486,7 @@ var require_range = __commonJS({
}); });
}); });
} }
// if ANY of the sets match ALL of its comparators, then pass
test(version2) { test(version2) {
if (!version2) { if (!version2) {
return false; return false;
@ -3430,6 +3440,10 @@ var require_lib = __commonJS({
return this.request(verb, requestUrl, stream, additionalHeaders); return this.request(verb, requestUrl, stream, additionalHeaders);
}); });
} }
/**
* Gets a typed object from an endpoint
* Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise
*/
getJson(requestUrl, additionalHeaders = {}) { getJson(requestUrl, additionalHeaders = {}) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
@ -3464,6 +3478,11 @@ var require_lib = __commonJS({
return this._processResponse(res, this.requestOptions); return this._processResponse(res, this.requestOptions);
}); });
} }
/**
* Makes a raw http request.
* All other methods such as get, post, patch, and request ultimately call this.
* Prefer get, del, post and patch
*/
request(verb, requestUrl, data, headers) { request(verb, requestUrl, data, headers) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
if (this._disposed) { if (this._disposed) {
@ -3524,12 +3543,20 @@ var require_lib = __commonJS({
return response; return response;
}); });
} }
/**
* Needs to be called if keepAlive is set to true in request options.
*/
dispose() { dispose() {
if (this._agent) { if (this._agent) {
this._agent.destroy(); this._agent.destroy();
} }
this._disposed = true; this._disposed = true;
} }
/**
* Raw request.
* @param info
* @param data
*/
requestRaw(info, data) { requestRaw(info, data) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@ -3546,6 +3573,12 @@ var require_lib = __commonJS({
}); });
}); });
} }
/**
* Raw request with callback.
* @param info
* @param data
* @param onResult
*/
requestRawWithCallback(info, data, onResult) { requestRawWithCallback(info, data, onResult) {
if (typeof data === "string") { if (typeof data === "string") {
if (!info.options.headers) { if (!info.options.headers) {
@ -3589,6 +3622,11 @@ var require_lib = __commonJS({
req.end(); req.end();
} }
} }
/**
* Gets an http agent. This function is useful when you need an http agent that handles
* routing through a proxy server - depending upon the url and proxy environment variables.
* @param serverUrl The server URL where the request will be sent. For example, https://api.github.com
*/
getAgent(serverUrl) { getAgent(serverUrl) {
const parsedUrl = new URL(serverUrl); const parsedUrl = new URL(serverUrl);
return this._getAgent(parsedUrl); return this._getAgent(parsedUrl);
@ -3791,6 +3829,7 @@ var require_auth = __commonJS({
} }
options.headers["Authorization"] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`; options.headers["Authorization"] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`;
} }
// This handler cannot handle 401
canHandleAuthentication() { canHandleAuthentication() {
return false; return false;
} }
@ -3805,12 +3844,15 @@ var require_auth = __commonJS({
constructor(token) { constructor(token) {
this.token = token; this.token = token;
} }
// currently implements pre-authorization
// TODO: support preAuth = false where it hooks on 401
prepareRequest(options) { prepareRequest(options) {
if (!options.headers) { if (!options.headers) {
throw Error("The request has no headers"); throw Error("The request has no headers");
} }
options.headers["Authorization"] = `Bearer ${this.token}`; options.headers["Authorization"] = `Bearer ${this.token}`;
} }
// This handler cannot handle 401
canHandleAuthentication() { canHandleAuthentication() {
return false; return false;
} }
@ -3825,12 +3867,15 @@ var require_auth = __commonJS({
constructor(token) { constructor(token) {
this.token = token; this.token = token;
} }
// currently implements pre-authorization
// TODO: support preAuth = false where it hooks on 401
prepareRequest(options) { prepareRequest(options) {
if (!options.headers) { if (!options.headers) {
throw Error("The request has no headers"); throw Error("The request has no headers");
} }
options.headers["Authorization"] = `Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`; options.headers["Authorization"] = `Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`;
} }
// This handler cannot handle 401
canHandleAuthentication() { canHandleAuthentication() {
return false; return false;
} }
@ -3984,6 +4029,12 @@ var require_summary = __commonJS({
constructor() { constructor() {
this._buffer = ""; this._buffer = "";
} }
/**
* Finds the summary file path from the environment, rejects if env var is not found or file does not exist
* Also checks r/w permissions.
*
* @returns step summary file path
*/
filePath() { filePath() {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
if (this._filePath) { if (this._filePath) {
@ -4002,6 +4053,15 @@ var require_summary = __commonJS({
return this._filePath; return this._filePath;
}); });
} }
/**
* Wraps content in an HTML tag, adding any HTML attributes
*
* @param {string} tag HTML tag to wrap
* @param {string | null} content content within the tag
* @param {[attribute: string]: string} attrs key-value list of HTML attributes to add
*
* @returns {string} content wrapped in HTML element
*/
wrap(tag, content, attrs = {}) { wrap(tag, content, attrs = {}) {
const htmlAttrs = Object.entries(attrs).map(([key, value]) => ` ${key}="${value}"`).join(""); const htmlAttrs = Object.entries(attrs).map(([key, value]) => ` ${key}="${value}"`).join("");
if (!content) { if (!content) {
@ -4009,6 +4069,13 @@ var require_summary = __commonJS({
} }
return `<${tag}${htmlAttrs}>${content}</${tag}>`; return `<${tag}${htmlAttrs}>${content}</${tag}>`;
} }
/**
* Writes text in the buffer to the summary buffer file and empties buffer. Will append by default.
*
* @param {SummaryWriteOptions} [options] (optional) options for write operation
*
* @returns {Promise<Summary>} summary instance
*/
write(options) { write(options) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite);
@ -4018,39 +4085,95 @@ var require_summary = __commonJS({
return this.emptyBuffer(); return this.emptyBuffer();
}); });
} }
/**
* Clears the summary buffer and wipes the summary file
*
* @returns {Summary} summary instance
*/
clear() { clear() {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
return this.emptyBuffer().write({ overwrite: true }); return this.emptyBuffer().write({ overwrite: true });
}); });
} }
/**
* Returns the current summary buffer as a string
*
* @returns {string} string of summary buffer
*/
stringify() { stringify() {
return this._buffer; return this._buffer;
} }
/**
* If the summary buffer is empty
*
* @returns {boolen} true if the buffer is empty
*/
isEmptyBuffer() { isEmptyBuffer() {
return this._buffer.length === 0; return this._buffer.length === 0;
} }
/**
* Resets the summary buffer without writing to summary file
*
* @returns {Summary} summary instance
*/
emptyBuffer() { emptyBuffer() {
this._buffer = ""; this._buffer = "";
return this; return this;
} }
/**
* Adds raw text to the summary buffer
*
* @param {string} text content to add
* @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false)
*
* @returns {Summary} summary instance
*/
addRaw(text, addEOL = false) { addRaw(text, addEOL = false) {
this._buffer += text; this._buffer += text;
return addEOL ? this.addEOL() : this; return addEOL ? this.addEOL() : this;
} }
/**
* Adds the operating system-specific end-of-line marker to the buffer
*
* @returns {Summary} summary instance
*/
addEOL() { addEOL() {
return this.addRaw(os_1.EOL); return this.addRaw(os_1.EOL);
} }
/**
* Adds an HTML codeblock to the summary buffer
*
* @param {string} code content to render within fenced code block
* @param {string} lang (optional) language to syntax highlight code
*
* @returns {Summary} summary instance
*/
addCodeBlock(code, lang) { addCodeBlock(code, lang) {
const attrs = Object.assign({}, lang && { lang }); const attrs = Object.assign({}, lang && { lang });
const element = this.wrap("pre", this.wrap("code", code), attrs); const element = this.wrap("pre", this.wrap("code", code), attrs);
return this.addRaw(element).addEOL(); return this.addRaw(element).addEOL();
} }
/**
* Adds an HTML list to the summary buffer
*
* @param {string[]} items list of items to render
* @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false)
*
* @returns {Summary} summary instance
*/
addList(items, ordered = false) { addList(items, ordered = false) {
const tag = ordered ? "ol" : "ul"; const tag = ordered ? "ol" : "ul";
const listItems = items.map((item) => this.wrap("li", item)).join(""); const listItems = items.map((item) => this.wrap("li", item)).join("");
const element = this.wrap(tag, listItems); const element = this.wrap(tag, listItems);
return this.addRaw(element).addEOL(); return this.addRaw(element).addEOL();
} }
/**
* Adds an HTML table to the summary buffer
*
* @param {SummaryTableCell[]} rows table rows
*
* @returns {Summary} summary instance
*/
addTable(rows) { addTable(rows) {
const tableBody = rows.map((row) => { const tableBody = rows.map((row) => {
const cells = row.map((cell) => { const cells = row.map((cell) => {
@ -4067,35 +4190,86 @@ var require_summary = __commonJS({
const element = this.wrap("table", tableBody); const element = this.wrap("table", tableBody);
return this.addRaw(element).addEOL(); return this.addRaw(element).addEOL();
} }
/**
* Adds a collapsable HTML details element to the summary buffer
*
* @param {string} label text for the closed state
* @param {string} content collapsable content
*
* @returns {Summary} summary instance
*/
addDetails(label, content) { addDetails(label, content) {
const element = this.wrap("details", this.wrap("summary", label) + content); const element = this.wrap("details", this.wrap("summary", label) + content);
return this.addRaw(element).addEOL(); return this.addRaw(element).addEOL();
} }
/**
* Adds an HTML image tag to the summary buffer
*
* @param {string} src path to the image you to embed
* @param {string} alt text description of the image
* @param {SummaryImageOptions} options (optional) addition image attributes
*
* @returns {Summary} summary instance
*/
addImage(src, alt, options) { addImage(src, alt, options) {
const { width, height } = options || {}; const { width, height } = options || {};
const attrs = Object.assign(Object.assign({}, width && { width }), height && { height }); const attrs = Object.assign(Object.assign({}, width && { width }), height && { height });
const element = this.wrap("img", null, Object.assign({ src, alt }, attrs)); const element = this.wrap("img", null, Object.assign({ src, alt }, attrs));
return this.addRaw(element).addEOL(); return this.addRaw(element).addEOL();
} }
/**
* Adds an HTML section heading element
*
* @param {string} text heading text
* @param {number | string} [level=1] (optional) the heading level, default: 1
*
* @returns {Summary} summary instance
*/
addHeading(text, level) { addHeading(text, level) {
const tag = `h${level}`; const tag = `h${level}`;
const allowedTag = ["h1", "h2", "h3", "h4", "h5", "h6"].includes(tag) ? tag : "h1"; const allowedTag = ["h1", "h2", "h3", "h4", "h5", "h6"].includes(tag) ? tag : "h1";
const element = this.wrap(allowedTag, text); const element = this.wrap(allowedTag, text);
return this.addRaw(element).addEOL(); return this.addRaw(element).addEOL();
} }
/**
* Adds an HTML thematic break (<hr>) to the summary buffer
*
* @returns {Summary} summary instance
*/
addSeparator() { addSeparator() {
const element = this.wrap("hr", null); const element = this.wrap("hr", null);
return this.addRaw(element).addEOL(); return this.addRaw(element).addEOL();
} }
/**
* Adds an HTML line break (<br>) to the summary buffer
*
* @returns {Summary} summary instance
*/
addBreak() { addBreak() {
const element = this.wrap("br", null); const element = this.wrap("br", null);
return this.addRaw(element).addEOL(); return this.addRaw(element).addEOL();
} }
/**
* Adds an HTML blockquote to the summary buffer
*
* @param {string} text quote text
* @param {string} cite (optional) citation url
*
* @returns {Summary} summary instance
*/
addQuote(text, cite) { addQuote(text, cite) {
const attrs = Object.assign({}, cite && { cite }); const attrs = Object.assign({}, cite && { cite });
const element = this.wrap("blockquote", text, attrs); const element = this.wrap("blockquote", text, attrs);
return this.addRaw(element).addEOL(); return this.addRaw(element).addEOL();
} }
/**
* Adds an HTML anchor tag to the summary buffer
*
* @param {string} text link text/content
* @param {string} href hyperlink
*
* @returns {Summary} summary instance
*/
addLink(text, href) { addLink(text, href) {
const element = this.wrap("a", text, { href }); const element = this.wrap("a", text, { href });
return this.addRaw(element).addEOL(); return this.addRaw(element).addEOL();
@ -4861,7 +5035,8 @@ var require_semver3 = __commonJS({
} }
exports.SEMVER_SPEC_VERSION = "2.0.0"; exports.SEMVER_SPEC_VERSION = "2.0.0";
var MAX_LENGTH = 256; var MAX_LENGTH = 256;
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
9007199254740991;
var MAX_SAFE_COMPONENT_LENGTH = 16; var MAX_SAFE_COMPONENT_LENGTH = 16;
var re = exports.re = []; var re = exports.re = [];
var src = exports.src = []; var src = exports.src = [];
@ -6453,6 +6628,15 @@ var require_toolrunner = __commonJS({
} }
return result; return result;
} }
/**
* Exec a tool.
* Output will be streamed to the live console.
* Returns promise with return code
*
* @param tool path to tool to exec
* @param options optional exec options. See ExecOptions
* @returns number
*/
exec() { exec() {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
if (!ioUtil.isRooted(this.toolPath) && (this.toolPath.includes("/") || IS_WINDOWS && this.toolPath.includes("\\"))) { if (!ioUtil.isRooted(this.toolPath) && (this.toolPath.includes("/") || IS_WINDOWS && this.toolPath.includes("\\"))) {
@ -7857,3 +8041,11 @@ main().catch((err) => {
actions.setFailed(err.message); actions.setFailed(err.message);
process.exit(1); process.exit(1);
}); });
/*! Bundled license information:
simple-concat/index.js:
(*! simple-concat. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)
simple-get/index.js:
(*! simple-get. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)
*/