mirror of
				https://github.com/actions/checkout.git
				synced 2025-11-04 13:29:15 +08:00 
			
		
		
		
	updating actions io
This commit is contained in:
		
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								actions-io-1.1.2.tgz
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								actions-io-1.1.2.tgz
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										795
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										795
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							@@ -98,6 +98,25 @@ module.exports = Octokit;
 | 
			
		||||
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
 | 
			
		||||
    if (k2 === undefined) k2 = k;
 | 
			
		||||
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
 | 
			
		||||
}) : (function(o, m, k, k2) {
 | 
			
		||||
    if (k2 === undefined) k2 = k;
 | 
			
		||||
    o[k2] = m[k];
 | 
			
		||||
}));
 | 
			
		||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
 | 
			
		||||
    Object.defineProperty(o, "default", { enumerable: true, value: v });
 | 
			
		||||
}) : function(o, v) {
 | 
			
		||||
    o["default"] = v;
 | 
			
		||||
});
 | 
			
		||||
var __importStar = (this && this.__importStar) || function (mod) {
 | 
			
		||||
    if (mod && mod.__esModule) return mod;
 | 
			
		||||
    var result = {};
 | 
			
		||||
    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
 | 
			
		||||
    __setModuleDefault(result, mod);
 | 
			
		||||
    return result;
 | 
			
		||||
};
 | 
			
		||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
 | 
			
		||||
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
 | 
			
		||||
    return new (P || (P = Promise))(function (resolve, reject) {
 | 
			
		||||
@@ -108,11 +127,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
 | 
			
		||||
    });
 | 
			
		||||
};
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
const childProcess = __webpack_require__(129);
 | 
			
		||||
const path = __webpack_require__(622);
 | 
			
		||||
exports.findInPath = exports.which = exports.mkdirP = exports.rmRF = exports.mv = exports.cp = void 0;
 | 
			
		||||
const assert_1 = __webpack_require__(357);
 | 
			
		||||
const childProcess = __importStar(__webpack_require__(129));
 | 
			
		||||
const path = __importStar(__webpack_require__(622));
 | 
			
		||||
const util_1 = __webpack_require__(669);
 | 
			
		||||
const ioUtil = __webpack_require__(672);
 | 
			
		||||
const ioUtil = __importStar(__webpack_require__(672));
 | 
			
		||||
const exec = util_1.promisify(childProcess.exec);
 | 
			
		||||
const execFile = util_1.promisify(childProcess.execFile);
 | 
			
		||||
/**
 | 
			
		||||
 * Copies a file or folder.
 | 
			
		||||
 * Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js
 | 
			
		||||
@@ -123,14 +145,14 @@ const exec = util_1.promisify(childProcess.exec);
 | 
			
		||||
 */
 | 
			
		||||
function cp(source, dest, options = {}) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
        const { force, recursive } = readCopyOptions(options);
 | 
			
		||||
        const { force, recursive, copySourceDirectory } = readCopyOptions(options);
 | 
			
		||||
        const destStat = (yield ioUtil.exists(dest)) ? yield ioUtil.stat(dest) : null;
 | 
			
		||||
        // Dest is an existing file, but not forcing
 | 
			
		||||
        if (destStat && destStat.isFile() && !force) {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        // If dest is an existing directory, should copy inside.
 | 
			
		||||
        const newDest = destStat && destStat.isDirectory()
 | 
			
		||||
        const newDest = destStat && destStat.isDirectory() && copySourceDirectory
 | 
			
		||||
            ? path.join(dest, path.basename(source))
 | 
			
		||||
            : dest;
 | 
			
		||||
        if (!(yield ioUtil.exists(source))) {
 | 
			
		||||
@@ -195,13 +217,22 @@ function rmRF(inputPath) {
 | 
			
		||||
        if (ioUtil.IS_WINDOWS) {
 | 
			
		||||
            // Node doesn't provide a delete operation, only an unlink function. This means that if the file is being used by another
 | 
			
		||||
            // program (e.g. antivirus), it won't be deleted. To address this, we shell out the work to rd/del.
 | 
			
		||||
            // Check for invalid characters
 | 
			
		||||
            // https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file
 | 
			
		||||
            if (/[*"<>|]/.test(inputPath)) {
 | 
			
		||||
                throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows');
 | 
			
		||||
            }
 | 
			
		||||
            try {
 | 
			
		||||
                if (yield ioUtil.isDirectory(inputPath, true)) {
 | 
			
		||||
                    yield exec(`rd /s /q "${inputPath}"`);
 | 
			
		||||
                }
 | 
			
		||||
                else {
 | 
			
		||||
                    yield exec(`del /f /a "${inputPath}"`);
 | 
			
		||||
                }
 | 
			
		||||
                const cmdPath = ioUtil.getCmdPath();
 | 
			
		||||
                // if (await ioUtil.isDirectory(inputPath, true)) {
 | 
			
		||||
                //   await execFile(`${cmdPath} /s /c "rd /s /q "%inputPath%""`, {
 | 
			
		||||
                //     env: {inputPath}
 | 
			
		||||
                //   })
 | 
			
		||||
                // } else {
 | 
			
		||||
                yield execFile(`${cmdPath} /s /c "del /f /a "%inputPath%""`, {
 | 
			
		||||
                    env: { inputPath }
 | 
			
		||||
                });
 | 
			
		||||
                // }
 | 
			
		||||
            }
 | 
			
		||||
            catch (err) {
 | 
			
		||||
                // if you try to delete a file that doesn't exist, desired result is achieved
 | 
			
		||||
@@ -221,9 +252,9 @@ function rmRF(inputPath) {
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            let isDir = false;
 | 
			
		||||
            // let isDir = false
 | 
			
		||||
            try {
 | 
			
		||||
                isDir = yield ioUtil.isDirectory(inputPath);
 | 
			
		||||
                // isDir = await ioUtil.isDirectory(inputPath)
 | 
			
		||||
            }
 | 
			
		||||
            catch (err) {
 | 
			
		||||
                // if you try to delete a file that doesn't exist, desired result is achieved
 | 
			
		||||
@@ -232,12 +263,11 @@ function rmRF(inputPath) {
 | 
			
		||||
                    throw err;
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            if (isDir) {
 | 
			
		||||
                yield exec(`rm -rf "${inputPath}"`);
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                yield ioUtil.unlink(inputPath);
 | 
			
		||||
            }
 | 
			
		||||
            // if (isDir) {
 | 
			
		||||
            yield execFile(`rm`, [`-rf`, `${inputPath}`]);
 | 
			
		||||
            // } else {
 | 
			
		||||
            // await ioUtil.unlink(inputPath)
 | 
			
		||||
            // }
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
@@ -251,7 +281,8 @@ exports.rmRF = rmRF;
 | 
			
		||||
 */
 | 
			
		||||
function mkdirP(fsPath) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
        yield ioUtil.mkdirP(fsPath);
 | 
			
		||||
        assert_1.ok(fsPath, 'a path argument must be provided');
 | 
			
		||||
        yield ioUtil.mkdir(fsPath, { recursive: true });
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.mkdirP = mkdirP;
 | 
			
		||||
@@ -279,62 +310,80 @@ function which(tool, check) {
 | 
			
		||||
                    throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            return result;
 | 
			
		||||
        }
 | 
			
		||||
        try {
 | 
			
		||||
            // build the list of extensions to try
 | 
			
		||||
            const extensions = [];
 | 
			
		||||
            if (ioUtil.IS_WINDOWS && process.env.PATHEXT) {
 | 
			
		||||
                for (const extension of process.env.PATHEXT.split(path.delimiter)) {
 | 
			
		||||
                    if (extension) {
 | 
			
		||||
                        extensions.push(extension);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            // if it's rooted, return it if exists. otherwise return empty.
 | 
			
		||||
            if (ioUtil.isRooted(tool)) {
 | 
			
		||||
                const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions);
 | 
			
		||||
                if (filePath) {
 | 
			
		||||
                    return filePath;
 | 
			
		||||
                }
 | 
			
		||||
                return '';
 | 
			
		||||
            }
 | 
			
		||||
            // if any path separators, return empty
 | 
			
		||||
            if (tool.includes('/') || (ioUtil.IS_WINDOWS && tool.includes('\\'))) {
 | 
			
		||||
                return '';
 | 
			
		||||
            }
 | 
			
		||||
            // build the list of directories
 | 
			
		||||
            //
 | 
			
		||||
            // Note, technically "where" checks the current directory on Windows. From a toolkit perspective,
 | 
			
		||||
            // it feels like we should not do this. Checking the current directory seems like more of a use
 | 
			
		||||
            // case of a shell, and the which() function exposed by the toolkit should strive for consistency
 | 
			
		||||
            // across platforms.
 | 
			
		||||
            const directories = [];
 | 
			
		||||
            if (process.env.PATH) {
 | 
			
		||||
                for (const p of process.env.PATH.split(path.delimiter)) {
 | 
			
		||||
                    if (p) {
 | 
			
		||||
                        directories.push(p);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            // return the first match
 | 
			
		||||
            for (const directory of directories) {
 | 
			
		||||
                const filePath = yield ioUtil.tryGetExecutablePath(directory + path.sep + tool, extensions);
 | 
			
		||||
                if (filePath) {
 | 
			
		||||
                    return filePath;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            return '';
 | 
			
		||||
        }
 | 
			
		||||
        catch (err) {
 | 
			
		||||
            throw new Error(`which failed with message ${err.message}`);
 | 
			
		||||
        const matches = yield findInPath(tool);
 | 
			
		||||
        if (matches && matches.length > 0) {
 | 
			
		||||
            return matches[0];
 | 
			
		||||
        }
 | 
			
		||||
        return '';
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.which = which;
 | 
			
		||||
/**
 | 
			
		||||
 * Returns a list of all occurrences of the given tool on the system path.
 | 
			
		||||
 *
 | 
			
		||||
 * @returns   Promise<string[]>  the paths of the tool
 | 
			
		||||
 */
 | 
			
		||||
function findInPath(tool) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
        if (!tool) {
 | 
			
		||||
            throw new Error("parameter 'tool' is required");
 | 
			
		||||
        }
 | 
			
		||||
        // build the list of extensions to try
 | 
			
		||||
        const extensions = [];
 | 
			
		||||
        if (ioUtil.IS_WINDOWS && process.env['PATHEXT']) {
 | 
			
		||||
            for (const extension of process.env['PATHEXT'].split(path.delimiter)) {
 | 
			
		||||
                if (extension) {
 | 
			
		||||
                    extensions.push(extension);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        // if it's rooted, return it if exists. otherwise return empty.
 | 
			
		||||
        if (ioUtil.isRooted(tool)) {
 | 
			
		||||
            const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions);
 | 
			
		||||
            if (filePath) {
 | 
			
		||||
                return [filePath];
 | 
			
		||||
            }
 | 
			
		||||
            return [];
 | 
			
		||||
        }
 | 
			
		||||
        // if any path separators, return empty
 | 
			
		||||
        if (tool.includes(path.sep)) {
 | 
			
		||||
            return [];
 | 
			
		||||
        }
 | 
			
		||||
        // build the list of directories
 | 
			
		||||
        //
 | 
			
		||||
        // Note, technically "where" checks the current directory on Windows. From a toolkit perspective,
 | 
			
		||||
        // it feels like we should not do this. Checking the current directory seems like more of a use
 | 
			
		||||
        // case of a shell, and the which() function exposed by the toolkit should strive for consistency
 | 
			
		||||
        // across platforms.
 | 
			
		||||
        const directories = [];
 | 
			
		||||
        if (process.env.PATH) {
 | 
			
		||||
            for (const p of process.env.PATH.split(path.delimiter)) {
 | 
			
		||||
                if (p) {
 | 
			
		||||
                    directories.push(p);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        // find all matches
 | 
			
		||||
        const matches = [];
 | 
			
		||||
        for (const directory of directories) {
 | 
			
		||||
            const filePath = yield ioUtil.tryGetExecutablePath(path.join(directory, tool), extensions);
 | 
			
		||||
            if (filePath) {
 | 
			
		||||
                matches.push(filePath);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return matches;
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.findInPath = findInPath;
 | 
			
		||||
function readCopyOptions(options) {
 | 
			
		||||
    const force = options.force == null ? true : options.force;
 | 
			
		||||
    const recursive = Boolean(options.recursive);
 | 
			
		||||
    return { force, recursive };
 | 
			
		||||
    const copySourceDirectory = options.copySourceDirectory == null
 | 
			
		||||
        ? true
 | 
			
		||||
        : Boolean(options.copySourceDirectory);
 | 
			
		||||
    return { force, recursive, copySourceDirectory };
 | 
			
		||||
}
 | 
			
		||||
function cpDirRecursive(sourceDir, destDir, currentDepth, force) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
@@ -4710,7 +4759,7 @@ module.exports = require("punycode");
 | 
			
		||||
/***/ 215:
 | 
			
		||||
/***/ (function(module) {
 | 
			
		||||
 | 
			
		||||
module.exports = {"name":"@octokit/rest","version":"16.43.1","publishConfig":{"access":"public"},"description":"GitHub REST API client for Node.js","keywords":["octokit","github","rest","api-client"],"author":"Gregor Martynus (https://github.com/gr2m)","contributors":[{"name":"Mike de Boer","email":"info@mikedeboer.nl"},{"name":"Fabian Jakobs","email":"fabian@c9.io"},{"name":"Joe Gallo","email":"joe@brassafrax.com"},{"name":"Gregor Martynus","url":"https://github.com/gr2m"}],"repository":"https://github.com/octokit/rest.js","dependencies":{"@octokit/auth-token":"^2.4.0","@octokit/plugin-paginate-rest":"^1.1.1","@octokit/plugin-request-log":"^1.0.0","@octokit/plugin-rest-endpoint-methods":"2.4.0","@octokit/request":"^5.2.0","@octokit/request-error":"^1.0.2","atob-lite":"^2.0.0","before-after-hook":"^2.0.0","btoa-lite":"^1.0.0","deprecation":"^2.0.0","lodash.get":"^4.4.2","lodash.set":"^4.3.2","lodash.uniq":"^4.5.0","octokit-pagination-methods":"^1.1.0","once":"^1.4.0","universal-user-agent":"^4.0.0"},"devDependencies":{"@gimenete/type-writer":"^0.1.3","@octokit/auth":"^1.1.1","@octokit/fixtures-server":"^5.0.6","@octokit/graphql":"^4.2.0","@types/node":"^13.1.0","bundlesize":"^0.18.0","chai":"^4.1.2","compression-webpack-plugin":"^3.1.0","cypress":"^3.0.0","glob":"^7.1.2","http-proxy-agent":"^4.0.0","lodash.camelcase":"^4.3.0","lodash.merge":"^4.6.1","lodash.upperfirst":"^4.3.1","lolex":"^5.1.2","mkdirp":"^1.0.0","mocha":"^7.0.1","mustache":"^4.0.0","nock":"^11.3.3","npm-run-all":"^4.1.2","nyc":"^15.0.0","prettier":"^1.14.2","proxy":"^1.0.0","semantic-release":"^17.0.0","sinon":"^8.0.0","sinon-chai":"^3.0.0","sort-keys":"^4.0.0","string-to-arraybuffer":"^1.0.0","string-to-jsdoc-comment":"^1.0.0","typescript":"^3.3.1","webpack":"^4.0.0","webpack-bundle-analyzer":"^3.0.0","webpack-cli":"^3.0.0"},"types":"index.d.ts","scripts":{"coverage":"nyc report --reporter=html && open coverage/index.html","lint":"prettier --check '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","lint:fix":"prettier --write '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","pretest":"npm run -s lint","test":"nyc mocha test/mocha-node-setup.js \"test/*/**/*-test.js\"","test:browser":"cypress run --browser chrome","build":"npm-run-all build:*","build:ts":"npm run -s update-endpoints:typescript","prebuild:browser":"mkdirp dist/","build:browser":"npm-run-all build:browser:*","build:browser:development":"webpack --mode development --entry . --output-library=Octokit --output=./dist/octokit-rest.js --profile --json > dist/bundle-stats.json","build:browser:production":"webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=Octokit --output-path=./dist --output-filename=octokit-rest.min.js --devtool source-map","generate-bundle-report":"webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html","update-endpoints":"npm-run-all update-endpoints:*","update-endpoints:fetch-json":"node scripts/update-endpoints/fetch-json","update-endpoints:typescript":"node scripts/update-endpoints/typescript","prevalidate:ts":"npm run -s build:ts","validate:ts":"tsc --target es6 --noImplicitAny index.d.ts","postvalidate:ts":"tsc --noEmit --target es6 test/typescript-validate.ts","start-fixtures-server":"octokit-fixtures-server"},"license":"MIT","files":["index.js","index.d.ts","lib","plugins"],"nyc":{"ignore":["test"]},"release":{"publish":["@semantic-release/npm",{"path":"@semantic-release/github","assets":["dist/*","!dist/*.map.gz"]}]},"bundlesize":[{"path":"./dist/octokit-rest.min.js.gz","maxSize":"33 kB"}]};
 | 
			
		||||
module.exports = {"name":"@octokit/rest","version":"16.43.1","publishConfig":{"access":"public"},"description":"GitHub REST API client for Node.js","keywords":["octokit","github","rest","api-client"],"author":"Gregor Martynus (https://github.com/gr2m)","contributors":[{"name":"Mike de Boer","email":"info@mikedeboer.nl"},{"name":"Fabian Jakobs","email":"fabian@c9.io"},{"name":"Joe Gallo","email":"joe@brassafrax.com"},{"name":"Gregor Martynus","url":"https://github.com/gr2m"}],"repository":"https://github.com/octokit/rest.js","dependencies":{"@octokit/auth-token":"^2.4.0","@octokit/plugin-paginate-rest":"^1.1.1","@octokit/plugin-request-log":"^1.0.0","@octokit/plugin-rest-endpoint-methods":"2.4.0","@octokit/request":"^5.2.0","@octokit/request-error":"^1.0.2","atob-lite":"^2.0.0","before-after-hook":"^2.0.0","btoa-lite":"^1.0.0","deprecation":"^2.0.0","lodash.get":"^4.4.2","lodash.set":"^4.3.2","lodash.uniq":"^4.5.0","octokit-pagination-methods":"^1.1.0","once":"^1.4.0","universal-user-agent":"^4.0.0"},"devDependencies":{"@gimenete/type-writer":"^0.1.3","@octokit/auth":"^1.1.1","@octokit/fixtures-server":"^5.0.6","@octokit/graphql":"^4.2.0","@types/node":"^13.1.0","bundlesize":"^0.18.0","chai":"^4.1.2","compression-webpack-plugin":"^3.1.0","cypress":"^3.0.0","glob":"^7.1.2","http-proxy-agent":"^4.0.0","lodash.camelcase":"^4.3.0","lodash.merge":"^4.6.1","lodash.upperfirst":"^4.3.1","lolex":"^5.1.2","mkdirp":"^1.0.0","mocha":"^7.0.1","mustache":"^4.0.0","nock":"^11.3.3","npm-run-all":"^4.1.2","nyc":"^15.0.0","prettier":"^1.14.2","proxy":"^1.0.0","semantic-release":"^17.0.0","sinon":"^8.0.0","sinon-chai":"^3.0.0","sort-keys":"^4.0.0","string-to-arraybuffer":"^1.0.0","string-to-jsdoc-comment":"^1.0.0","typescript":"^3.3.1","webpack":"^4.0.0","webpack-bundle-analyzer":"^3.0.0","webpack-cli":"^3.0.0"},"types":"index.d.ts","scripts":{"coverage":"nyc report --reporter=html && open coverage/index.html","lint":"prettier --check '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","lint:fix":"prettier --write '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","pretest":"npm run -s lint","test":"nyc mocha test/mocha-node-setup.js \"test/*/**/*-test.js\"","test:browser":"cypress run --browser chrome","build":"npm-run-all build:*","build:ts":"npm run -s update-endpoints:typescript","prebuild:browser":"mkdirp dist/","build:browser":"npm-run-all build:browser:*","build:browser:development":"webpack --mode development --entry . --output-library=Octokit --output=./dist/octokit-rest.js --profile --json > dist/bundle-stats.json","build:browser:production":"webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=Octokit --output-path=./dist --output-filename=octokit-rest.min.js --devtool source-map","generate-bundle-report":"webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html","update-endpoints":"npm-run-all update-endpoints:*","update-endpoints:fetch-json":"node scripts/update-endpoints/fetch-json","update-endpoints:typescript":"node scripts/update-endpoints/typescript","prevalidate:ts":"npm run -s build:ts","validate:ts":"tsc --target es6 --noImplicitAny index.d.ts","postvalidate:ts":"tsc --noEmit --target es6 test/typescript-validate.ts","start-fixtures-server":"octokit-fixtures-server"},"license":"MIT","files":["index.js","index.d.ts","lib","plugins"],"nyc":{"ignore":["test"]},"release":{"publish":["@semantic-release/npm",{"path":"@semantic-release/github","assets":["dist/*","!dist/*.map.gz"]}]},"bundlesize":[{"path":"./dist/octokit-rest.min.js.gz","maxSize":"33 kB"}],"_resolved":"https://registry.npmjs.org/@octokit/rest/-/rest-16.43.1.tgz","_integrity":"sha512-gfFKwRT/wFxq5qlNjnW2dh+qh74XgTQ2B179UX5K1HYCluioWj8Ndbgqw2PVqa1NnVJkGHp2ovMpVn/DImlmkw==","_from":"@octokit/rest@16.43.1"};
 | 
			
		||||
 | 
			
		||||
/***/ }),
 | 
			
		||||
 | 
			
		||||
@@ -12332,7 +12381,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
 | 
			
		||||
};
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
const core = __webpack_require__(470);
 | 
			
		||||
const io = __webpack_require__(1);
 | 
			
		||||
const io = __webpack_require__(667);
 | 
			
		||||
const fs = __webpack_require__(747);
 | 
			
		||||
const os = __webpack_require__(87);
 | 
			
		||||
const path = __webpack_require__(622);
 | 
			
		||||
@@ -16385,6 +16434,354 @@ exports.summary = _summary;
 | 
			
		||||
 | 
			
		||||
/***/ }),
 | 
			
		||||
 | 
			
		||||
/***/ 667:
 | 
			
		||||
/***/ (function(__unusedmodule, exports, __webpack_require__) {
 | 
			
		||||
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
 | 
			
		||||
    if (k2 === undefined) k2 = k;
 | 
			
		||||
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
 | 
			
		||||
}) : (function(o, m, k, k2) {
 | 
			
		||||
    if (k2 === undefined) k2 = k;
 | 
			
		||||
    o[k2] = m[k];
 | 
			
		||||
}));
 | 
			
		||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
 | 
			
		||||
    Object.defineProperty(o, "default", { enumerable: true, value: v });
 | 
			
		||||
}) : function(o, v) {
 | 
			
		||||
    o["default"] = v;
 | 
			
		||||
});
 | 
			
		||||
var __importStar = (this && this.__importStar) || function (mod) {
 | 
			
		||||
    if (mod && mod.__esModule) return mod;
 | 
			
		||||
    var result = {};
 | 
			
		||||
    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
 | 
			
		||||
    __setModuleDefault(result, mod);
 | 
			
		||||
    return result;
 | 
			
		||||
};
 | 
			
		||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
 | 
			
		||||
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
 | 
			
		||||
    return new (P || (P = Promise))(function (resolve, reject) {
 | 
			
		||||
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
 | 
			
		||||
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
 | 
			
		||||
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
 | 
			
		||||
        step((generator = generator.apply(thisArg, _arguments || [])).next());
 | 
			
		||||
    });
 | 
			
		||||
};
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.findInPath = exports.which = exports.mkdirP = exports.rmRF = exports.mv = exports.cp = void 0;
 | 
			
		||||
const assert_1 = __webpack_require__(357);
 | 
			
		||||
const childProcess = __importStar(__webpack_require__(129));
 | 
			
		||||
const path = __importStar(__webpack_require__(622));
 | 
			
		||||
const util_1 = __webpack_require__(669);
 | 
			
		||||
const ioUtil = __importStar(__webpack_require__(971));
 | 
			
		||||
const exec = util_1.promisify(childProcess.exec);
 | 
			
		||||
const execFile = util_1.promisify(childProcess.execFile);
 | 
			
		||||
/**
 | 
			
		||||
 * Copies a file or folder.
 | 
			
		||||
 * Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js
 | 
			
		||||
 *
 | 
			
		||||
 * @param     source    source path
 | 
			
		||||
 * @param     dest      destination path
 | 
			
		||||
 * @param     options   optional. See CopyOptions.
 | 
			
		||||
 */
 | 
			
		||||
function cp(source, dest, options = {}) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
        const { force, recursive, copySourceDirectory } = readCopyOptions(options);
 | 
			
		||||
        const destStat = (yield ioUtil.exists(dest)) ? yield ioUtil.stat(dest) : null;
 | 
			
		||||
        // Dest is an existing file, but not forcing
 | 
			
		||||
        if (destStat && destStat.isFile() && !force) {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        // If dest is an existing directory, should copy inside.
 | 
			
		||||
        const newDest = destStat && destStat.isDirectory() && copySourceDirectory
 | 
			
		||||
            ? path.join(dest, path.basename(source))
 | 
			
		||||
            : dest;
 | 
			
		||||
        if (!(yield ioUtil.exists(source))) {
 | 
			
		||||
            throw new Error(`no such file or directory: ${source}`);
 | 
			
		||||
        }
 | 
			
		||||
        const sourceStat = yield ioUtil.stat(source);
 | 
			
		||||
        if (sourceStat.isDirectory()) {
 | 
			
		||||
            if (!recursive) {
 | 
			
		||||
                throw new Error(`Failed to copy. ${source} is a directory, but tried to copy without recursive flag.`);
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                yield cpDirRecursive(source, newDest, 0, force);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            if (path.relative(source, newDest) === '') {
 | 
			
		||||
                // a file cannot be copied to itself
 | 
			
		||||
                throw new Error(`'${newDest}' and '${source}' are the same file`);
 | 
			
		||||
            }
 | 
			
		||||
            yield copyFile(source, newDest, force);
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.cp = cp;
 | 
			
		||||
/**
 | 
			
		||||
 * Moves a path.
 | 
			
		||||
 *
 | 
			
		||||
 * @param     source    source path
 | 
			
		||||
 * @param     dest      destination path
 | 
			
		||||
 * @param     options   optional. See MoveOptions.
 | 
			
		||||
 */
 | 
			
		||||
function mv(source, dest, options = {}) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
        if (yield ioUtil.exists(dest)) {
 | 
			
		||||
            let destExists = true;
 | 
			
		||||
            if (yield ioUtil.isDirectory(dest)) {
 | 
			
		||||
                // If dest is directory copy src into dest
 | 
			
		||||
                dest = path.join(dest, path.basename(source));
 | 
			
		||||
                destExists = yield ioUtil.exists(dest);
 | 
			
		||||
            }
 | 
			
		||||
            if (destExists) {
 | 
			
		||||
                if (options.force == null || options.force) {
 | 
			
		||||
                    yield rmRF(dest);
 | 
			
		||||
                }
 | 
			
		||||
                else {
 | 
			
		||||
                    throw new Error('Destination already exists');
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        yield mkdirP(path.dirname(dest));
 | 
			
		||||
        yield ioUtil.rename(source, dest);
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.mv = mv;
 | 
			
		||||
/**
 | 
			
		||||
 * Remove a path recursively with force
 | 
			
		||||
 *
 | 
			
		||||
 * @param inputPath path to remove
 | 
			
		||||
 */
 | 
			
		||||
function rmRF(inputPath) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
        if (ioUtil.IS_WINDOWS) {
 | 
			
		||||
            // Node doesn't provide a delete operation, only an unlink function. This means that if the file is being used by another
 | 
			
		||||
            // program (e.g. antivirus), it won't be deleted. To address this, we shell out the work to rd/del.
 | 
			
		||||
            // Check for invalid characters
 | 
			
		||||
            // https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file
 | 
			
		||||
            if (/[*"<>|]/.test(inputPath)) {
 | 
			
		||||
                throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows');
 | 
			
		||||
            }
 | 
			
		||||
            try {
 | 
			
		||||
                const cmdPath = ioUtil.getCmdPath();
 | 
			
		||||
                if (yield ioUtil.isDirectory(inputPath, true)) {
 | 
			
		||||
                    yield exec(`${cmdPath} /s /c "rd /s /q "%inputPath%""`, {
 | 
			
		||||
                        env: { inputPath }
 | 
			
		||||
                    });
 | 
			
		||||
                }
 | 
			
		||||
                else {
 | 
			
		||||
                    yield exec(`${cmdPath} /s /c "del /f /a "%inputPath%""`, {
 | 
			
		||||
                        env: { inputPath }
 | 
			
		||||
                    });
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            catch (err) {
 | 
			
		||||
                // if you try to delete a file that doesn't exist, desired result is achieved
 | 
			
		||||
                // other errors are valid
 | 
			
		||||
                if (err.code !== 'ENOENT')
 | 
			
		||||
                    throw err;
 | 
			
		||||
            }
 | 
			
		||||
            // Shelling out fails to remove a symlink folder with missing source, this unlink catches that
 | 
			
		||||
            try {
 | 
			
		||||
                yield ioUtil.unlink(inputPath);
 | 
			
		||||
            }
 | 
			
		||||
            catch (err) {
 | 
			
		||||
                // if you try to delete a file that doesn't exist, desired result is achieved
 | 
			
		||||
                // other errors are valid
 | 
			
		||||
                if (err.code !== 'ENOENT')
 | 
			
		||||
                    throw err;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            let isDir = false;
 | 
			
		||||
            try {
 | 
			
		||||
                isDir = yield ioUtil.isDirectory(inputPath);
 | 
			
		||||
            }
 | 
			
		||||
            catch (err) {
 | 
			
		||||
                // if you try to delete a file that doesn't exist, desired result is achieved
 | 
			
		||||
                // other errors are valid
 | 
			
		||||
                if (err.code !== 'ENOENT')
 | 
			
		||||
                    throw err;
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            if (isDir) {
 | 
			
		||||
                yield execFile(`rm`, [`-rf`, `${inputPath}`]);
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                yield ioUtil.unlink(inputPath);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.rmRF = rmRF;
 | 
			
		||||
/**
 | 
			
		||||
 * Make a directory.  Creates the full path with folders in between
 | 
			
		||||
 * Will throw if it fails
 | 
			
		||||
 *
 | 
			
		||||
 * @param   fsPath        path to create
 | 
			
		||||
 * @returns Promise<void>
 | 
			
		||||
 */
 | 
			
		||||
function mkdirP(fsPath) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
        assert_1.ok(fsPath, 'a path argument must be provided');
 | 
			
		||||
        yield ioUtil.mkdir(fsPath, { recursive: true });
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.mkdirP = mkdirP;
 | 
			
		||||
/**
 | 
			
		||||
 * Returns path of a tool had the tool actually been invoked.  Resolves via paths.
 | 
			
		||||
 * If you check and the tool does not exist, it will throw.
 | 
			
		||||
 *
 | 
			
		||||
 * @param     tool              name of the tool
 | 
			
		||||
 * @param     check             whether to check if tool exists
 | 
			
		||||
 * @returns   Promise<string>   path to tool
 | 
			
		||||
 */
 | 
			
		||||
function which(tool, check) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
        if (!tool) {
 | 
			
		||||
            throw new Error("parameter 'tool' is required");
 | 
			
		||||
        }
 | 
			
		||||
        // recursive when check=true
 | 
			
		||||
        if (check) {
 | 
			
		||||
            const result = yield which(tool, false);
 | 
			
		||||
            if (!result) {
 | 
			
		||||
                if (ioUtil.IS_WINDOWS) {
 | 
			
		||||
                    throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`);
 | 
			
		||||
                }
 | 
			
		||||
                else {
 | 
			
		||||
                    throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            return result;
 | 
			
		||||
        }
 | 
			
		||||
        const matches = yield findInPath(tool);
 | 
			
		||||
        if (matches && matches.length > 0) {
 | 
			
		||||
            return matches[0];
 | 
			
		||||
        }
 | 
			
		||||
        return '';
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.which = which;
 | 
			
		||||
/**
 | 
			
		||||
 * Returns a list of all occurrences of the given tool on the system path.
 | 
			
		||||
 *
 | 
			
		||||
 * @returns   Promise<string[]>  the paths of the tool
 | 
			
		||||
 */
 | 
			
		||||
function findInPath(tool) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
        if (!tool) {
 | 
			
		||||
            throw new Error("parameter 'tool' is required");
 | 
			
		||||
        }
 | 
			
		||||
        // build the list of extensions to try
 | 
			
		||||
        const extensions = [];
 | 
			
		||||
        if (ioUtil.IS_WINDOWS && process.env['PATHEXT']) {
 | 
			
		||||
            for (const extension of process.env['PATHEXT'].split(path.delimiter)) {
 | 
			
		||||
                if (extension) {
 | 
			
		||||
                    extensions.push(extension);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        // if it's rooted, return it if exists. otherwise return empty.
 | 
			
		||||
        if (ioUtil.isRooted(tool)) {
 | 
			
		||||
            const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions);
 | 
			
		||||
            if (filePath) {
 | 
			
		||||
                return [filePath];
 | 
			
		||||
            }
 | 
			
		||||
            return [];
 | 
			
		||||
        }
 | 
			
		||||
        // if any path separators, return empty
 | 
			
		||||
        if (tool.includes(path.sep)) {
 | 
			
		||||
            return [];
 | 
			
		||||
        }
 | 
			
		||||
        // build the list of directories
 | 
			
		||||
        //
 | 
			
		||||
        // Note, technically "where" checks the current directory on Windows. From a toolkit perspective,
 | 
			
		||||
        // it feels like we should not do this. Checking the current directory seems like more of a use
 | 
			
		||||
        // case of a shell, and the which() function exposed by the toolkit should strive for consistency
 | 
			
		||||
        // across platforms.
 | 
			
		||||
        const directories = [];
 | 
			
		||||
        if (process.env.PATH) {
 | 
			
		||||
            for (const p of process.env.PATH.split(path.delimiter)) {
 | 
			
		||||
                if (p) {
 | 
			
		||||
                    directories.push(p);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        // find all matches
 | 
			
		||||
        const matches = [];
 | 
			
		||||
        for (const directory of directories) {
 | 
			
		||||
            const filePath = yield ioUtil.tryGetExecutablePath(path.join(directory, tool), extensions);
 | 
			
		||||
            if (filePath) {
 | 
			
		||||
                matches.push(filePath);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return matches;
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.findInPath = findInPath;
 | 
			
		||||
function readCopyOptions(options) {
 | 
			
		||||
    const force = options.force == null ? true : options.force;
 | 
			
		||||
    const recursive = Boolean(options.recursive);
 | 
			
		||||
    const copySourceDirectory = options.copySourceDirectory == null
 | 
			
		||||
        ? true
 | 
			
		||||
        : Boolean(options.copySourceDirectory);
 | 
			
		||||
    return { force, recursive, copySourceDirectory };
 | 
			
		||||
}
 | 
			
		||||
function cpDirRecursive(sourceDir, destDir, currentDepth, force) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
        // Ensure there is not a run away recursive copy
 | 
			
		||||
        if (currentDepth >= 255)
 | 
			
		||||
            return;
 | 
			
		||||
        currentDepth++;
 | 
			
		||||
        yield mkdirP(destDir);
 | 
			
		||||
        const files = yield ioUtil.readdir(sourceDir);
 | 
			
		||||
        for (const fileName of files) {
 | 
			
		||||
            const srcFile = `${sourceDir}/${fileName}`;
 | 
			
		||||
            const destFile = `${destDir}/${fileName}`;
 | 
			
		||||
            const srcFileStat = yield ioUtil.lstat(srcFile);
 | 
			
		||||
            if (srcFileStat.isDirectory()) {
 | 
			
		||||
                // Recurse
 | 
			
		||||
                yield cpDirRecursive(srcFile, destFile, currentDepth, force);
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                yield copyFile(srcFile, destFile, force);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        // Change the mode for the newly created directory
 | 
			
		||||
        yield ioUtil.chmod(destDir, (yield ioUtil.stat(sourceDir)).mode);
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
// Buffered file copy
 | 
			
		||||
function copyFile(srcFile, destFile, force) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
        if ((yield ioUtil.lstat(srcFile)).isSymbolicLink()) {
 | 
			
		||||
            // unlink/re-link it
 | 
			
		||||
            try {
 | 
			
		||||
                yield ioUtil.lstat(destFile);
 | 
			
		||||
                yield ioUtil.unlink(destFile);
 | 
			
		||||
            }
 | 
			
		||||
            catch (e) {
 | 
			
		||||
                // Try to override file permission
 | 
			
		||||
                if (e.code === 'EPERM') {
 | 
			
		||||
                    yield ioUtil.chmod(destFile, '0666');
 | 
			
		||||
                    yield ioUtil.unlink(destFile);
 | 
			
		||||
                }
 | 
			
		||||
                // other errors = it doesn't exist, no work to do
 | 
			
		||||
            }
 | 
			
		||||
            // Copy over symlink
 | 
			
		||||
            const symlinkFull = yield ioUtil.readlink(srcFile);
 | 
			
		||||
            yield ioUtil.symlink(symlinkFull, destFile, ioUtil.IS_WINDOWS ? 'junction' : null);
 | 
			
		||||
        }
 | 
			
		||||
        else if (!(yield ioUtil.exists(destFile)) || force) {
 | 
			
		||||
            yield ioUtil.copyFile(srcFile, destFile);
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
//# sourceMappingURL=io.js.map
 | 
			
		||||
 | 
			
		||||
/***/ }),
 | 
			
		||||
 | 
			
		||||
/***/ 669:
 | 
			
		||||
/***/ (function(module) {
 | 
			
		||||
 | 
			
		||||
@@ -16397,6 +16794,25 @@ module.exports = require("util");
 | 
			
		||||
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
 | 
			
		||||
    if (k2 === undefined) k2 = k;
 | 
			
		||||
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
 | 
			
		||||
}) : (function(o, m, k, k2) {
 | 
			
		||||
    if (k2 === undefined) k2 = k;
 | 
			
		||||
    o[k2] = m[k];
 | 
			
		||||
}));
 | 
			
		||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
 | 
			
		||||
    Object.defineProperty(o, "default", { enumerable: true, value: v });
 | 
			
		||||
}) : function(o, v) {
 | 
			
		||||
    o["default"] = v;
 | 
			
		||||
});
 | 
			
		||||
var __importStar = (this && this.__importStar) || function (mod) {
 | 
			
		||||
    if (mod && mod.__esModule) return mod;
 | 
			
		||||
    var result = {};
 | 
			
		||||
    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
 | 
			
		||||
    __setModuleDefault(result, mod);
 | 
			
		||||
    return result;
 | 
			
		||||
};
 | 
			
		||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
 | 
			
		||||
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
 | 
			
		||||
    return new (P || (P = Promise))(function (resolve, reject) {
 | 
			
		||||
@@ -16408,9 +16824,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
 | 
			
		||||
};
 | 
			
		||||
var _a;
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
const assert_1 = __webpack_require__(357);
 | 
			
		||||
const fs = __webpack_require__(747);
 | 
			
		||||
const path = __webpack_require__(622);
 | 
			
		||||
exports.getCmdPath = exports.tryGetExecutablePath = exports.isRooted = exports.isDirectory = exports.exists = exports.IS_WINDOWS = exports.unlink = exports.symlink = exports.stat = exports.rmdir = exports.rename = exports.readlink = exports.readdir = exports.mkdir = exports.lstat = exports.copyFile = exports.chmod = void 0;
 | 
			
		||||
const fs = __importStar(__webpack_require__(747));
 | 
			
		||||
const path = __importStar(__webpack_require__(622));
 | 
			
		||||
_a = fs.promises, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink;
 | 
			
		||||
exports.IS_WINDOWS = process.platform === 'win32';
 | 
			
		||||
function exists(fsPath) {
 | 
			
		||||
@@ -16451,49 +16867,6 @@ function isRooted(p) {
 | 
			
		||||
    return p.startsWith('/');
 | 
			
		||||
}
 | 
			
		||||
exports.isRooted = isRooted;
 | 
			
		||||
/**
 | 
			
		||||
 * Recursively create a directory at `fsPath`.
 | 
			
		||||
 *
 | 
			
		||||
 * This implementation is optimistic, meaning it attempts to create the full
 | 
			
		||||
 * path first, and backs up the path stack from there.
 | 
			
		||||
 *
 | 
			
		||||
 * @param fsPath The path to create
 | 
			
		||||
 * @param maxDepth The maximum recursion depth
 | 
			
		||||
 * @param depth The current recursion depth
 | 
			
		||||
 */
 | 
			
		||||
function mkdirP(fsPath, maxDepth = 1000, depth = 1) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
        assert_1.ok(fsPath, 'a path argument must be provided');
 | 
			
		||||
        fsPath = path.resolve(fsPath);
 | 
			
		||||
        if (depth >= maxDepth)
 | 
			
		||||
            return exports.mkdir(fsPath);
 | 
			
		||||
        try {
 | 
			
		||||
            yield exports.mkdir(fsPath);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        catch (err) {
 | 
			
		||||
            switch (err.code) {
 | 
			
		||||
                case 'ENOENT': {
 | 
			
		||||
                    yield mkdirP(path.dirname(fsPath), maxDepth, depth + 1);
 | 
			
		||||
                    yield exports.mkdir(fsPath);
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                default: {
 | 
			
		||||
                    let stats;
 | 
			
		||||
                    try {
 | 
			
		||||
                        stats = yield exports.stat(fsPath);
 | 
			
		||||
                    }
 | 
			
		||||
                    catch (err2) {
 | 
			
		||||
                        throw err;
 | 
			
		||||
                    }
 | 
			
		||||
                    if (!stats.isDirectory())
 | 
			
		||||
                        throw err;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.mkdirP = mkdirP;
 | 
			
		||||
/**
 | 
			
		||||
 * Best effort attempt to determine whether a file exists and is executable.
 | 
			
		||||
 * @param filePath    file path to check
 | 
			
		||||
@@ -16590,6 +16963,12 @@ function isUnixExecutable(stats) {
 | 
			
		||||
        ((stats.mode & 8) > 0 && stats.gid === process.getgid()) ||
 | 
			
		||||
        ((stats.mode & 64) > 0 && stats.uid === process.getuid()));
 | 
			
		||||
}
 | 
			
		||||
// Get the path of cmd.exe in windows
 | 
			
		||||
function getCmdPath() {
 | 
			
		||||
    var _a;
 | 
			
		||||
    return (_a = process.env['COMSPEC']) !== null && _a !== void 0 ? _a : `cmd.exe`;
 | 
			
		||||
}
 | 
			
		||||
exports.getCmdPath = getCmdPath;
 | 
			
		||||
//# sourceMappingURL=io-util.js.map
 | 
			
		||||
 | 
			
		||||
/***/ }),
 | 
			
		||||
@@ -37418,6 +37797,190 @@ function onceStrict (fn) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/***/ }),
 | 
			
		||||
 | 
			
		||||
/***/ 971:
 | 
			
		||||
/***/ (function(__unusedmodule, exports, __webpack_require__) {
 | 
			
		||||
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
 | 
			
		||||
    if (k2 === undefined) k2 = k;
 | 
			
		||||
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
 | 
			
		||||
}) : (function(o, m, k, k2) {
 | 
			
		||||
    if (k2 === undefined) k2 = k;
 | 
			
		||||
    o[k2] = m[k];
 | 
			
		||||
}));
 | 
			
		||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
 | 
			
		||||
    Object.defineProperty(o, "default", { enumerable: true, value: v });
 | 
			
		||||
}) : function(o, v) {
 | 
			
		||||
    o["default"] = v;
 | 
			
		||||
});
 | 
			
		||||
var __importStar = (this && this.__importStar) || function (mod) {
 | 
			
		||||
    if (mod && mod.__esModule) return mod;
 | 
			
		||||
    var result = {};
 | 
			
		||||
    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
 | 
			
		||||
    __setModuleDefault(result, mod);
 | 
			
		||||
    return result;
 | 
			
		||||
};
 | 
			
		||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
 | 
			
		||||
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
 | 
			
		||||
    return new (P || (P = Promise))(function (resolve, reject) {
 | 
			
		||||
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
 | 
			
		||||
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
 | 
			
		||||
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
 | 
			
		||||
        step((generator = generator.apply(thisArg, _arguments || [])).next());
 | 
			
		||||
    });
 | 
			
		||||
};
 | 
			
		||||
var _a;
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.getCmdPath = exports.tryGetExecutablePath = exports.isRooted = exports.isDirectory = exports.exists = exports.IS_WINDOWS = exports.unlink = exports.symlink = exports.stat = exports.rmdir = exports.rename = exports.readlink = exports.readdir = exports.mkdir = exports.lstat = exports.copyFile = exports.chmod = void 0;
 | 
			
		||||
const fs = __importStar(__webpack_require__(747));
 | 
			
		||||
const path = __importStar(__webpack_require__(622));
 | 
			
		||||
_a = fs.promises, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink;
 | 
			
		||||
exports.IS_WINDOWS = process.platform === 'win32';
 | 
			
		||||
function exists(fsPath) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
        try {
 | 
			
		||||
            yield exports.stat(fsPath);
 | 
			
		||||
        }
 | 
			
		||||
        catch (err) {
 | 
			
		||||
            if (err.code === 'ENOENT') {
 | 
			
		||||
                return false;
 | 
			
		||||
            }
 | 
			
		||||
            throw err;
 | 
			
		||||
        }
 | 
			
		||||
        return true;
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.exists = exists;
 | 
			
		||||
function isDirectory(fsPath, useStat = false) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
        const stats = useStat ? yield exports.stat(fsPath) : yield exports.lstat(fsPath);
 | 
			
		||||
        return stats.isDirectory();
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.isDirectory = isDirectory;
 | 
			
		||||
/**
 | 
			
		||||
 * On OSX/Linux, true if path starts with '/'. On Windows, true for paths like:
 | 
			
		||||
 * \, \hello, \\hello\share, C:, and C:\hello (and corresponding alternate separator cases).
 | 
			
		||||
 */
 | 
			
		||||
function isRooted(p) {
 | 
			
		||||
    p = normalizeSeparators(p);
 | 
			
		||||
    if (!p) {
 | 
			
		||||
        throw new Error('isRooted() parameter "p" cannot be empty');
 | 
			
		||||
    }
 | 
			
		||||
    if (exports.IS_WINDOWS) {
 | 
			
		||||
        return (p.startsWith('\\') || /^[A-Z]:/i.test(p) // e.g. \ or \hello or \\hello
 | 
			
		||||
        ); // e.g. C: or C:\hello
 | 
			
		||||
    }
 | 
			
		||||
    return p.startsWith('/');
 | 
			
		||||
}
 | 
			
		||||
exports.isRooted = isRooted;
 | 
			
		||||
/**
 | 
			
		||||
 * Best effort attempt to determine whether a file exists and is executable.
 | 
			
		||||
 * @param filePath    file path to check
 | 
			
		||||
 * @param extensions  additional file extensions to try
 | 
			
		||||
 * @return if file exists and is executable, returns the file path. otherwise empty string.
 | 
			
		||||
 */
 | 
			
		||||
function tryGetExecutablePath(filePath, extensions) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
        let stats = undefined;
 | 
			
		||||
        try {
 | 
			
		||||
            // test file exists
 | 
			
		||||
            stats = yield exports.stat(filePath);
 | 
			
		||||
        }
 | 
			
		||||
        catch (err) {
 | 
			
		||||
            if (err.code !== 'ENOENT') {
 | 
			
		||||
                // eslint-disable-next-line no-console
 | 
			
		||||
                console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        if (stats && stats.isFile()) {
 | 
			
		||||
            if (exports.IS_WINDOWS) {
 | 
			
		||||
                // on Windows, test for valid extension
 | 
			
		||||
                const upperExt = path.extname(filePath).toUpperCase();
 | 
			
		||||
                if (extensions.some(validExt => validExt.toUpperCase() === upperExt)) {
 | 
			
		||||
                    return filePath;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                if (isUnixExecutable(stats)) {
 | 
			
		||||
                    return filePath;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        // try each extension
 | 
			
		||||
        const originalFilePath = filePath;
 | 
			
		||||
        for (const extension of extensions) {
 | 
			
		||||
            filePath = originalFilePath + extension;
 | 
			
		||||
            stats = undefined;
 | 
			
		||||
            try {
 | 
			
		||||
                stats = yield exports.stat(filePath);
 | 
			
		||||
            }
 | 
			
		||||
            catch (err) {
 | 
			
		||||
                if (err.code !== 'ENOENT') {
 | 
			
		||||
                    // eslint-disable-next-line no-console
 | 
			
		||||
                    console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            if (stats && stats.isFile()) {
 | 
			
		||||
                if (exports.IS_WINDOWS) {
 | 
			
		||||
                    // preserve the case of the actual file (since an extension was appended)
 | 
			
		||||
                    try {
 | 
			
		||||
                        const directory = path.dirname(filePath);
 | 
			
		||||
                        const upperName = path.basename(filePath).toUpperCase();
 | 
			
		||||
                        for (const actualName of yield exports.readdir(directory)) {
 | 
			
		||||
                            if (upperName === actualName.toUpperCase()) {
 | 
			
		||||
                                filePath = path.join(directory, actualName);
 | 
			
		||||
                                break;
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    catch (err) {
 | 
			
		||||
                        // eslint-disable-next-line no-console
 | 
			
		||||
                        console.log(`Unexpected error attempting to determine the actual case of the file '${filePath}': ${err}`);
 | 
			
		||||
                    }
 | 
			
		||||
                    return filePath;
 | 
			
		||||
                }
 | 
			
		||||
                else {
 | 
			
		||||
                    if (isUnixExecutable(stats)) {
 | 
			
		||||
                        return filePath;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return '';
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.tryGetExecutablePath = tryGetExecutablePath;
 | 
			
		||||
function normalizeSeparators(p) {
 | 
			
		||||
    p = p || '';
 | 
			
		||||
    if (exports.IS_WINDOWS) {
 | 
			
		||||
        // convert slashes on Windows
 | 
			
		||||
        p = p.replace(/\//g, '\\');
 | 
			
		||||
        // remove redundant slashes
 | 
			
		||||
        return p.replace(/\\\\+/g, '\\');
 | 
			
		||||
    }
 | 
			
		||||
    // remove redundant slashes
 | 
			
		||||
    return p.replace(/\/\/+/g, '/');
 | 
			
		||||
}
 | 
			
		||||
// on Mac/Linux, test the execute bit
 | 
			
		||||
//     R   W  X  R  W X R W X
 | 
			
		||||
//   256 128 64 32 16 8 4 2 1
 | 
			
		||||
function isUnixExecutable(stats) {
 | 
			
		||||
    return ((stats.mode & 1) > 0 ||
 | 
			
		||||
        ((stats.mode & 8) > 0 && stats.gid === process.getgid()) ||
 | 
			
		||||
        ((stats.mode & 64) > 0 && stats.uid === process.getuid()));
 | 
			
		||||
}
 | 
			
		||||
// Get the path of cmd.exe in windows
 | 
			
		||||
function getCmdPath() {
 | 
			
		||||
    var _a;
 | 
			
		||||
    return (_a = process.env['COMSPEC']) !== null && _a !== void 0 ? _a : `cmd.exe`;
 | 
			
		||||
}
 | 
			
		||||
exports.getCmdPath = getCmdPath;
 | 
			
		||||
//# sourceMappingURL=io-util.js.map
 | 
			
		||||
 | 
			
		||||
/***/ }),
 | 
			
		||||
 | 
			
		||||
/***/ 976:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										14
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -59,18 +59,8 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@actions/io": {
 | 
			
		||||
      "version": "file:actions-exec-1.1.1.tgz",
 | 
			
		||||
      "integrity": "sha512-Tx9iCldWRCHdXshU+wFNrtf3ibEiIh38inEVVF1nvXrpDwyqECsa2E63VvpmO0BXr6/QOnCsOYthrf8zzQjTwQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@actions/io": "^1.0.1"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@actions/io": {
 | 
			
		||||
          "version": "1.1.2",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.2.tgz",
 | 
			
		||||
          "integrity": "sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw=="
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      "version": "file:actions-io-1.1.2.tgz",
 | 
			
		||||
      "integrity": "sha512-/IuonxgI4LQ40baK2OdXByx6aH1/BwlzJGXeeRDjpXXL+KaFPMTC7uYjK4dCHBD96LQDZxKDbqjwbEuJfyzkWw=="
 | 
			
		||||
    },
 | 
			
		||||
    "@actions/tool-cache": {
 | 
			
		||||
      "version": "1.1.2",
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@
 | 
			
		||||
    "@actions/core": "^1.10.0",
 | 
			
		||||
    "@actions/exec": "^1.0.1",
 | 
			
		||||
    "@actions/github": "^2.2.0",
 | 
			
		||||
    "@actions/io": "actions-exec-1.1.1.tgz",
 | 
			
		||||
    "@actions/io": "actions-io-1.1.2.tgz",
 | 
			
		||||
    "@actions/tool-cache": "^1.1.2",
 | 
			
		||||
    "uuid": "^3.3.3"
 | 
			
		||||
  },
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user