From e67d32c5d0239aedcfd8def4578e101960e84384 Mon Sep 17 00:00:00 2001 From: Vallie Joseph Date: Fri, 2 Dec 2022 19:57:31 +0000 Subject: [PATCH] updating actions io --- actions-exec-1.1.1.tgz | Bin 14375 -> 0 bytes actions-io-1.1.2.tgz | Bin 0 -> 10442 bytes dist/index.js | 795 +++++++++++++++++++++++++++++++++++------ package-lock.json | 14 +- package.json | 2 +- 5 files changed, 682 insertions(+), 129 deletions(-) delete mode 100644 actions-exec-1.1.1.tgz create mode 100644 actions-io-1.1.2.tgz diff --git a/actions-exec-1.1.1.tgz b/actions-exec-1.1.1.tgz deleted file mode 100644 index f7c86b87f7812cf3e8302d58d94304688b9e465e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14375 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 AasU7T literal 0 HcmV?d00001 diff --git a/dist/index.js b/dist/index.js index 47a99f1..4ba9ad6 100644 --- a/dist/index.js +++ b/dist/index.js @@ -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 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 + */ +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 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 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: diff --git a/package-lock.json b/package-lock.json index cccb7be..278ef35 100644 --- a/package-lock.json +++ b/package-lock.json @@ -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", diff --git a/package.json b/package.json index ea471b5..5d41f01 100644 --- a/package.json +++ b/package.json @@ -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" },