Update @actions/io to 1.1.2 (#1029)
This commit is contained in:
		
							
								
								
									
										239
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										239
									
								
								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,12 +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 {
 | 
			
		||||
                const cmdPath = ioUtil.getCmdPath();
 | 
			
		||||
                if (yield ioUtil.isDirectory(inputPath, true)) {
 | 
			
		||||
                    yield exec(`rd /s /q "${inputPath}"`);
 | 
			
		||||
                    yield exec(`${cmdPath} /s /c "rd /s /q "%inputPath%""`, {
 | 
			
		||||
                        env: { inputPath }
 | 
			
		||||
                    });
 | 
			
		||||
                }
 | 
			
		||||
                else {
 | 
			
		||||
                    yield exec(`del /f /a "${inputPath}"`);
 | 
			
		||||
                    yield exec(`${cmdPath} /s /c "del /f /a "%inputPath%""`, {
 | 
			
		||||
                        env: { inputPath }
 | 
			
		||||
                    });
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            catch (err) {
 | 
			
		||||
@@ -233,7 +265,7 @@ function rmRF(inputPath) {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            if (isDir) {
 | 
			
		||||
                yield exec(`rm -rf "${inputPath}"`);
 | 
			
		||||
                yield execFile(`rm`, [`-rf`, `${inputPath}`]);
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                yield ioUtil.unlink(inputPath);
 | 
			
		||||
@@ -251,7 +283,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 +312,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* () {
 | 
			
		||||
@@ -16397,6 +16448,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 +16478,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 +16521,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 +16617,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
 | 
			
		||||
 | 
			
		||||
/***/ }),
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user