diff --git a/dist/index.js b/dist/index.js index d53f3c8..6342f84 100644 --- a/dist/index.js +++ b/dist/index.js @@ -42,11 +42,11 @@ if (parcelRequire == null) { } var parcelRegister = parcelRequire.register; -parcelRegister("dE8Bn", function(module, exports) { -module.exports = $9ef5aef4681a6fb1$var$isexe; -$9ef5aef4681a6fb1$var$isexe.sync = $9ef5aef4681a6fb1$var$sync; +parcelRegister("02a0L", function(module, exports) { +module.exports = $0067f4153754ec94$var$isexe; +$0067f4153754ec94$var$isexe.sync = $0067f4153754ec94$var$sync; -function $9ef5aef4681a6fb1$var$checkPathExt(path, options) { +function $0067f4153754ec94$var$checkPathExt(path, options) { var pathext = options.pathExt !== undefined ? options.pathExt : process.env.PATHEXT; if (!pathext) return true; pathext = pathext.split(";"); @@ -57,37 +57,37 @@ function $9ef5aef4681a6fb1$var$checkPathExt(path, options) { } return false; } -function $9ef5aef4681a6fb1$var$checkStat(stat, path, options) { +function $0067f4153754ec94$var$checkStat(stat, path, options) { if (!stat.isSymbolicLink() && !stat.isFile()) return false; - return $9ef5aef4681a6fb1$var$checkPathExt(path, options); + return $0067f4153754ec94$var$checkPathExt(path, options); } -function $9ef5aef4681a6fb1$var$isexe(path, options, cb) { +function $0067f4153754ec94$var$isexe(path, options, cb) { $evV72$stat(path, function(er, stat) { - cb(er, er ? false : $9ef5aef4681a6fb1$var$checkStat(stat, path, options)); + cb(er, er ? false : $0067f4153754ec94$var$checkStat(stat, path, options)); }); } -function $9ef5aef4681a6fb1$var$sync(path, options) { - return $9ef5aef4681a6fb1$var$checkStat($evV72$statSync(path), path, options); +function $0067f4153754ec94$var$sync(path, options) { + return $0067f4153754ec94$var$checkStat($evV72$statSync(path), path, options); } }); -parcelRegister("5dXTc", function(module, exports) { -module.exports = $3cdc9f651a760b03$var$isexe; -$3cdc9f651a760b03$var$isexe.sync = $3cdc9f651a760b03$var$sync; +parcelRegister("eqVNx", function(module, exports) { +module.exports = $a82053d9edaeac9b$var$isexe; +$a82053d9edaeac9b$var$isexe.sync = $a82053d9edaeac9b$var$sync; -function $3cdc9f651a760b03$var$isexe(path, options, cb) { +function $a82053d9edaeac9b$var$isexe(path, options, cb) { $evV72$stat(path, function(er, stat) { - cb(er, er ? false : $3cdc9f651a760b03$var$checkStat(stat, options)); + cb(er, er ? false : $a82053d9edaeac9b$var$checkStat(stat, options)); }); } -function $3cdc9f651a760b03$var$sync(path, options) { - return $3cdc9f651a760b03$var$checkStat($evV72$statSync(path), options); +function $a82053d9edaeac9b$var$sync(path, options) { + return $a82053d9edaeac9b$var$checkStat($evV72$statSync(path), options); } -function $3cdc9f651a760b03$var$checkStat(stat, options) { - return stat.isFile() && $3cdc9f651a760b03$var$checkMode(stat, options); +function $a82053d9edaeac9b$var$checkStat(stat, options) { + return stat.isFile() && $a82053d9edaeac9b$var$checkMode(stat, options); } -function $3cdc9f651a760b03$var$checkMode(stat, options) { +function $a82053d9edaeac9b$var$checkMode(stat, options) { var mod = stat.mode; var uid = stat.uid; var gid = stat.gid; @@ -107,19 +107,19 @@ function $3cdc9f651a760b03$var$checkMode(stat, options) { -function $ec42a3295e12ea98$var$toArr(any) { +function $83fd64f7195557f0$var$toArr(any) { return any == null ? [] : Array.isArray(any) ? any : [ any ]; } -function $ec42a3295e12ea98$var$toVal(out, key, val, opts) { +function $83fd64f7195557f0$var$toVal(out, key, val, opts) { var x, old = out[key], nxt = !!~opts.string.indexOf(key) ? val == null || val === true ? "" : String(val) : typeof val === "boolean" ? val : !!~opts.boolean.indexOf(key) ? val === "false" ? false : val === "true" || (out._.push((x = +val, x * 0 === 0) ? x : val), !!val) : (x = +val, x * 0 === 0) ? x : val; out[key] = old == null ? nxt : Array.isArray(old) ? old.concat(nxt) : [ old, nxt ]; } -function $ec42a3295e12ea98$export$2e2bcd8739ae039(args, opts) { +function $83fd64f7195557f0$export$2e2bcd8739ae039(args, opts) { args = args || []; opts = opts || {}; var k, arr, arg, name, val, out = { @@ -130,10 +130,10 @@ function $ec42a3295e12ea98$export$2e2bcd8739ae039(args, opts) { const strict = opts.unknown !== void 0; const defaults = opts.default !== void 0; opts.alias = opts.alias || {}; - opts.string = $ec42a3295e12ea98$var$toArr(opts.string); - opts.boolean = $ec42a3295e12ea98$var$toArr(opts.boolean); + opts.string = $83fd64f7195557f0$var$toArr(opts.string); + opts.boolean = $83fd64f7195557f0$var$toArr(opts.boolean); if (alibi) for(k in opts.alias){ - arr = opts.alias[k] = $ec42a3295e12ea98$var$toArr(opts.alias[k]); + arr = opts.alias[k] = $83fd64f7195557f0$var$toArr(opts.alias[k]); for(i = 0; i < arr.length; i++)(opts.alias[arr[i]] = arr.concat(k)).splice(i, 1); } for(i = opts.boolean.length; i-- > 0;){ @@ -179,7 +179,7 @@ function $ec42a3295e12ea98$export$2e2bcd8739ae039(args, opts) { for(idx = 0; idx < arr.length; idx++){ name = arr[idx]; if (strict && !~keys.indexOf(name)) return opts.unknown("-".repeat(j) + name); - $ec42a3295e12ea98$var$toVal(out, name, idx + 1 < arr.length || val, opts); + $83fd64f7195557f0$var$toVal(out, name, idx + 1 < arr.length || val, opts); } } } @@ -194,9 +194,9 @@ function $ec42a3295e12ea98$export$2e2bcd8739ae039(args, opts) { } -var $bbb9dac42384d004$exports = {}; +var $0bb303b6376d48ba$exports = {}; "use strict"; -var $bbb9dac42384d004$var$__createBinding = $bbb9dac42384d004$exports && $bbb9dac42384d004$exports.__createBinding || (Object.create ? function(o, m, k, k2) { +var $0bb303b6376d48ba$var$__createBinding = $0bb303b6376d48ba$exports && $0bb303b6376d48ba$exports.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, @@ -208,7 +208,7 @@ var $bbb9dac42384d004$var$__createBinding = $bbb9dac42384d004$exports && $bbb9da if (k2 === undefined) k2 = k; o[k2] = m[k]; }); -var $bbb9dac42384d004$var$__setModuleDefault = $bbb9dac42384d004$exports && $bbb9dac42384d004$exports.__setModuleDefault || (Object.create ? function(o, v) { +var $0bb303b6376d48ba$var$__setModuleDefault = $0bb303b6376d48ba$exports && $0bb303b6376d48ba$exports.__setModuleDefault || (Object.create ? function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v @@ -216,16 +216,16 @@ var $bbb9dac42384d004$var$__setModuleDefault = $bbb9dac42384d004$exports && $bbb } : function(o, v) { o["default"] = v; }); -var $bbb9dac42384d004$var$__importStar = $bbb9dac42384d004$exports && $bbb9dac42384d004$exports.__importStar || function(mod) { +var $0bb303b6376d48ba$var$__importStar = $0bb303b6376d48ba$exports && $0bb303b6376d48ba$exports.__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)) $bbb9dac42384d004$var$__createBinding(result, mod, k); + for(var k in mod)if (k !== "default" && Object.hasOwnProperty.call(mod, k)) $0bb303b6376d48ba$var$__createBinding(result, mod, k); } - $bbb9dac42384d004$var$__setModuleDefault(result, mod); + $0bb303b6376d48ba$var$__setModuleDefault(result, mod); return result; }; -var $bbb9dac42384d004$var$__awaiter = $bbb9dac42384d004$exports && $bbb9dac42384d004$exports.__awaiter || function(thisArg, _arguments, P, generator) { +var $0bb303b6376d48ba$var$__awaiter = $0bb303b6376d48ba$exports && $0bb303b6376d48ba$exports.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function(resolve) { resolve(value); @@ -252,13 +252,13 @@ var $bbb9dac42384d004$var$__awaiter = $bbb9dac42384d004$exports && $bbb9dac42384 step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -Object.defineProperty($bbb9dac42384d004$exports, "__esModule", { +Object.defineProperty($0bb303b6376d48ba$exports, "__esModule", { value: true }); -$bbb9dac42384d004$exports.getState = $bbb9dac42384d004$exports.saveState = $bbb9dac42384d004$exports.group = $bbb9dac42384d004$exports.endGroup = $bbb9dac42384d004$exports.startGroup = $bbb9dac42384d004$exports.info = $bbb9dac42384d004$exports.notice = $bbb9dac42384d004$exports.warning = $bbb9dac42384d004$exports.error = $bbb9dac42384d004$exports.debug = $bbb9dac42384d004$exports.isDebug = $bbb9dac42384d004$exports.setFailed = $bbb9dac42384d004$exports.setCommandEcho = $bbb9dac42384d004$exports.setOutput = $bbb9dac42384d004$exports.getBooleanInput = $bbb9dac42384d004$exports.getMultilineInput = $bbb9dac42384d004$exports.getInput = $bbb9dac42384d004$exports.addPath = $bbb9dac42384d004$exports.setSecret = $bbb9dac42384d004$exports.exportVariable = $bbb9dac42384d004$exports.ExitCode = void 0; -var $6aa988ea1669fe85$exports = {}; +$0bb303b6376d48ba$exports.getState = $0bb303b6376d48ba$exports.saveState = $0bb303b6376d48ba$exports.group = $0bb303b6376d48ba$exports.endGroup = $0bb303b6376d48ba$exports.startGroup = $0bb303b6376d48ba$exports.info = $0bb303b6376d48ba$exports.notice = $0bb303b6376d48ba$exports.warning = $0bb303b6376d48ba$exports.error = $0bb303b6376d48ba$exports.debug = $0bb303b6376d48ba$exports.isDebug = $0bb303b6376d48ba$exports.setFailed = $0bb303b6376d48ba$exports.setCommandEcho = $0bb303b6376d48ba$exports.setOutput = $0bb303b6376d48ba$exports.getBooleanInput = $0bb303b6376d48ba$exports.getMultilineInput = $0bb303b6376d48ba$exports.getInput = $0bb303b6376d48ba$exports.addPath = $0bb303b6376d48ba$exports.setSecret = $0bb303b6376d48ba$exports.exportVariable = $0bb303b6376d48ba$exports.ExitCode = void 0; +var $6605380e9069822e$exports = {}; "use strict"; -var $6aa988ea1669fe85$var$__createBinding = $6aa988ea1669fe85$exports && $6aa988ea1669fe85$exports.__createBinding || (Object.create ? function(o, m, k, k2) { +var $6605380e9069822e$var$__createBinding = $6605380e9069822e$exports && $6605380e9069822e$exports.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, @@ -270,7 +270,7 @@ var $6aa988ea1669fe85$var$__createBinding = $6aa988ea1669fe85$exports && $6aa988 if (k2 === undefined) k2 = k; o[k2] = m[k]; }); -var $6aa988ea1669fe85$var$__setModuleDefault = $6aa988ea1669fe85$exports && $6aa988ea1669fe85$exports.__setModuleDefault || (Object.create ? function(o, v) { +var $6605380e9069822e$var$__setModuleDefault = $6605380e9069822e$exports && $6605380e9069822e$exports.__setModuleDefault || (Object.create ? function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v @@ -278,43 +278,43 @@ var $6aa988ea1669fe85$var$__setModuleDefault = $6aa988ea1669fe85$exports && $6aa } : function(o, v) { o["default"] = v; }); -var $6aa988ea1669fe85$var$__importStar = $6aa988ea1669fe85$exports && $6aa988ea1669fe85$exports.__importStar || function(mod) { +var $6605380e9069822e$var$__importStar = $6605380e9069822e$exports && $6605380e9069822e$exports.__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)) $6aa988ea1669fe85$var$__createBinding(result, mod, k); + for(var k in mod)if (k !== "default" && Object.hasOwnProperty.call(mod, k)) $6605380e9069822e$var$__createBinding(result, mod, k); } - $6aa988ea1669fe85$var$__setModuleDefault(result, mod); + $6605380e9069822e$var$__setModuleDefault(result, mod); return result; }; -Object.defineProperty($6aa988ea1669fe85$exports, "__esModule", { +Object.defineProperty($6605380e9069822e$exports, "__esModule", { value: true }); -$6aa988ea1669fe85$exports.issue = $6aa988ea1669fe85$exports.issueCommand = void 0; +$6605380e9069822e$exports.issue = $6605380e9069822e$exports.issueCommand = void 0; -const $6aa988ea1669fe85$var$os = $6aa988ea1669fe85$var$__importStar($evV72$os1); -var $1f87556d0f647bcd$exports = {}; +const $6605380e9069822e$var$os = $6605380e9069822e$var$__importStar($evV72$os1); +var $25a8cc9396483764$exports = {}; "use strict"; // We use any as a valid input type -/* eslint-disable @typescript-eslint/no-explicit-any */ Object.defineProperty($1f87556d0f647bcd$exports, "__esModule", { +/* eslint-disable @typescript-eslint/no-explicit-any */ Object.defineProperty($25a8cc9396483764$exports, "__esModule", { value: true }); -$1f87556d0f647bcd$exports.toCommandProperties = $1f87556d0f647bcd$exports.toCommandValue = void 0; +$25a8cc9396483764$exports.toCommandProperties = $25a8cc9396483764$exports.toCommandValue = void 0; /** * Sanitizes an input into a string so it can be passed into issueCommand safely * @param input input to sanitize into a string - */ function $1f87556d0f647bcd$var$toCommandValue(input) { + */ function $25a8cc9396483764$var$toCommandValue(input) { if (input === null || input === undefined) return ""; else if (typeof input === "string" || input instanceof String) return input; return JSON.stringify(input); } -$1f87556d0f647bcd$exports.toCommandValue = $1f87556d0f647bcd$var$toCommandValue; +$25a8cc9396483764$exports.toCommandValue = $25a8cc9396483764$var$toCommandValue; /** * * @param annotationProperties * @returns The command properties to send with the actual annotation command * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 - */ function $1f87556d0f647bcd$var$toCommandProperties(annotationProperties) { + */ function $25a8cc9396483764$var$toCommandProperties(annotationProperties) { if (!Object.keys(annotationProperties).length) return {}; return { title: annotationProperties.title, @@ -324,7 +324,7 @@ $1f87556d0f647bcd$exports.toCommandValue = $1f87556d0f647bcd$var$toCommandValue; endColumn: annotationProperties.endColumn }; } -$1f87556d0f647bcd$exports.toCommandProperties = $1f87556d0f647bcd$var$toCommandProperties; +$25a8cc9396483764$exports.toCommandProperties = $25a8cc9396483764$var$toCommandProperties; /** @@ -336,17 +336,17 @@ $1f87556d0f647bcd$exports.toCommandProperties = $1f87556d0f647bcd$var$toCommandP * Examples: * ::warning::This is the message * ::set-env name=MY_VAR::some value - */ function $6aa988ea1669fe85$var$issueCommand(command, properties, message) { - const cmd = new $6aa988ea1669fe85$var$Command(command, properties, message); - process.stdout.write(cmd.toString() + $6aa988ea1669fe85$var$os.EOL); + */ function $6605380e9069822e$var$issueCommand(command, properties, message) { + const cmd = new $6605380e9069822e$var$Command(command, properties, message); + process.stdout.write(cmd.toString() + $6605380e9069822e$var$os.EOL); } -$6aa988ea1669fe85$exports.issueCommand = $6aa988ea1669fe85$var$issueCommand; -function $6aa988ea1669fe85$var$issue(name, message = "") { - $6aa988ea1669fe85$var$issueCommand(name, {}, message); +$6605380e9069822e$exports.issueCommand = $6605380e9069822e$var$issueCommand; +function $6605380e9069822e$var$issue(name, message = "") { + $6605380e9069822e$var$issueCommand(name, {}, message); } -$6aa988ea1669fe85$exports.issue = $6aa988ea1669fe85$var$issue; -const $6aa988ea1669fe85$var$CMD_STRING = "::"; -class $6aa988ea1669fe85$var$Command { +$6605380e9069822e$exports.issue = $6605380e9069822e$var$issue; +const $6605380e9069822e$var$CMD_STRING = "::"; +class $6605380e9069822e$var$Command { constructor(command, properties, message){ if (!command) command = "missing.command"; this.command = command; @@ -354,7 +354,7 @@ class $6aa988ea1669fe85$var$Command { this.message = message; } toString() { - let cmdStr = $6aa988ea1669fe85$var$CMD_STRING + this.command; + let cmdStr = $6605380e9069822e$var$CMD_STRING + this.command; if (this.properties && Object.keys(this.properties).length > 0) { cmdStr += " "; let first = true; @@ -363,26 +363,26 @@ class $6aa988ea1669fe85$var$Command { if (val) { if (first) first = false; else cmdStr += ","; - cmdStr += `${key}=${$6aa988ea1669fe85$var$escapeProperty(val)}`; + cmdStr += `${key}=${$6605380e9069822e$var$escapeProperty(val)}`; } } } - cmdStr += `${$6aa988ea1669fe85$var$CMD_STRING}${$6aa988ea1669fe85$var$escapeData(this.message)}`; + cmdStr += `${$6605380e9069822e$var$CMD_STRING}${$6605380e9069822e$var$escapeData(this.message)}`; return cmdStr; } } -function $6aa988ea1669fe85$var$escapeData(s) { - return $1f87556d0f647bcd$exports.toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A"); +function $6605380e9069822e$var$escapeData(s) { + return $25a8cc9396483764$exports.toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A"); } -function $6aa988ea1669fe85$var$escapeProperty(s) { - return $1f87556d0f647bcd$exports.toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); +function $6605380e9069822e$var$escapeProperty(s) { + return $25a8cc9396483764$exports.toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); } -var $71d1c579b85cee7b$exports = {}; +var $86b37aa3c11138f6$exports = {}; "use strict"; // For internal use, subject to change. -var $71d1c579b85cee7b$var$__createBinding = $71d1c579b85cee7b$exports && $71d1c579b85cee7b$exports.__createBinding || (Object.create ? function(o, m, k, k2) { +var $86b37aa3c11138f6$var$__createBinding = $86b37aa3c11138f6$exports && $86b37aa3c11138f6$exports.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, @@ -394,7 +394,7 @@ var $71d1c579b85cee7b$var$__createBinding = $71d1c579b85cee7b$exports && $71d1c5 if (k2 === undefined) k2 = k; o[k2] = m[k]; }); -var $71d1c579b85cee7b$var$__setModuleDefault = $71d1c579b85cee7b$exports && $71d1c579b85cee7b$exports.__setModuleDefault || (Object.create ? function(o, v) { +var $86b37aa3c11138f6$var$__setModuleDefault = $86b37aa3c11138f6$exports && $86b37aa3c11138f6$exports.__setModuleDefault || (Object.create ? function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v @@ -402,44 +402,44 @@ var $71d1c579b85cee7b$var$__setModuleDefault = $71d1c579b85cee7b$exports && $71d } : function(o, v) { o["default"] = v; }); -var $71d1c579b85cee7b$var$__importStar = $71d1c579b85cee7b$exports && $71d1c579b85cee7b$exports.__importStar || function(mod) { +var $86b37aa3c11138f6$var$__importStar = $86b37aa3c11138f6$exports && $86b37aa3c11138f6$exports.__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)) $71d1c579b85cee7b$var$__createBinding(result, mod, k); + for(var k in mod)if (k !== "default" && Object.hasOwnProperty.call(mod, k)) $86b37aa3c11138f6$var$__createBinding(result, mod, k); } - $71d1c579b85cee7b$var$__setModuleDefault(result, mod); + $86b37aa3c11138f6$var$__setModuleDefault(result, mod); return result; }; -Object.defineProperty($71d1c579b85cee7b$exports, "__esModule", { +Object.defineProperty($86b37aa3c11138f6$exports, "__esModule", { value: true }); -$71d1c579b85cee7b$exports.issueCommand = void 0; +$86b37aa3c11138f6$exports.issueCommand = void 0; // We use any as a valid input type -/* eslint-disable @typescript-eslint/no-explicit-any */ const $71d1c579b85cee7b$var$fs = $71d1c579b85cee7b$var$__importStar($evV72$fs); +/* eslint-disable @typescript-eslint/no-explicit-any */ const $86b37aa3c11138f6$var$fs = $86b37aa3c11138f6$var$__importStar($evV72$fs); -const $71d1c579b85cee7b$var$os = $71d1c579b85cee7b$var$__importStar($evV72$os1); +const $86b37aa3c11138f6$var$os = $86b37aa3c11138f6$var$__importStar($evV72$os1); -function $71d1c579b85cee7b$var$issueCommand(command, message) { +function $86b37aa3c11138f6$var$issueCommand(command, message) { const filePath = process.env[`GITHUB_${command}`]; if (!filePath) throw new Error(`Unable to find environment variable for file command ${command}`); - if (!$71d1c579b85cee7b$var$fs.existsSync(filePath)) throw new Error(`Missing file at path: ${filePath}`); - $71d1c579b85cee7b$var$fs.appendFileSync(filePath, `${$1f87556d0f647bcd$exports.toCommandValue(message)}${$71d1c579b85cee7b$var$os.EOL}`, { + if (!$86b37aa3c11138f6$var$fs.existsSync(filePath)) throw new Error(`Missing file at path: ${filePath}`); + $86b37aa3c11138f6$var$fs.appendFileSync(filePath, `${$25a8cc9396483764$exports.toCommandValue(message)}${$86b37aa3c11138f6$var$os.EOL}`, { encoding: "utf8" }); } -$71d1c579b85cee7b$exports.issueCommand = $71d1c579b85cee7b$var$issueCommand; +$86b37aa3c11138f6$exports.issueCommand = $86b37aa3c11138f6$var$issueCommand; -const $bbb9dac42384d004$var$os = $bbb9dac42384d004$var$__importStar($evV72$os1); +const $0bb303b6376d48ba$var$os = $0bb303b6376d48ba$var$__importStar($evV72$os1); -const $bbb9dac42384d004$var$path = $bbb9dac42384d004$var$__importStar($evV72$path1); +const $0bb303b6376d48ba$var$path = $0bb303b6376d48ba$var$__importStar($evV72$path1); /** * The code to exit an action - */ var $bbb9dac42384d004$var$ExitCode; + */ var $0bb303b6376d48ba$var$ExitCode; (function(ExitCode) { /** * A code indicating that the action was successful @@ -447,7 +447,7 @@ const $bbb9dac42384d004$var$path = $bbb9dac42384d004$var$__importStar($evV72$pat /** * A code indicating that the action was a failure */ ExitCode[ExitCode["Failure"] = 1] = "Failure"; -})($bbb9dac42384d004$var$ExitCode = $bbb9dac42384d004$exports.ExitCode || ($bbb9dac42384d004$exports.ExitCode = {})); +})($0bb303b6376d48ba$var$ExitCode = $0bb303b6376d48ba$exports.ExitCode || ($0bb303b6376d48ba$exports.ExitCode = {})); //----------------------------------------------------------------------- // Variables //----------------------------------------------------------------------- @@ -456,36 +456,36 @@ const $bbb9dac42384d004$var$path = $bbb9dac42384d004$var$__importStar($evV72$pat * @param name the name of the variable to set * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify */ // eslint-disable-next-line @typescript-eslint/no-explicit-any -function $bbb9dac42384d004$var$exportVariable(name, val) { - const convertedVal = $1f87556d0f647bcd$exports.toCommandValue(val); +function $0bb303b6376d48ba$var$exportVariable(name, val) { + const convertedVal = $25a8cc9396483764$exports.toCommandValue(val); process.env[name] = convertedVal; const filePath = process.env["GITHUB_ENV"] || ""; if (filePath) { const delimiter = "_GitHubActionsFileCommandDelimeter_"; - const commandValue = `${name}<<${delimiter}${$bbb9dac42384d004$var$os.EOL}${convertedVal}${$bbb9dac42384d004$var$os.EOL}${delimiter}`; - $71d1c579b85cee7b$exports.issueCommand("ENV", commandValue); - } else $6aa988ea1669fe85$exports.issueCommand("set-env", { + const commandValue = `${name}<<${delimiter}${$0bb303b6376d48ba$var$os.EOL}${convertedVal}${$0bb303b6376d48ba$var$os.EOL}${delimiter}`; + $86b37aa3c11138f6$exports.issueCommand("ENV", commandValue); + } else $6605380e9069822e$exports.issueCommand("set-env", { name: name }, convertedVal); } -$bbb9dac42384d004$exports.exportVariable = $bbb9dac42384d004$var$exportVariable; +$0bb303b6376d48ba$exports.exportVariable = $0bb303b6376d48ba$var$exportVariable; /** * Registers a secret which will get masked from logs * @param secret value of the secret - */ function $bbb9dac42384d004$var$setSecret(secret) { - $6aa988ea1669fe85$exports.issueCommand("add-mask", {}, secret); + */ function $0bb303b6376d48ba$var$setSecret(secret) { + $6605380e9069822e$exports.issueCommand("add-mask", {}, secret); } -$bbb9dac42384d004$exports.setSecret = $bbb9dac42384d004$var$setSecret; +$0bb303b6376d48ba$exports.setSecret = $0bb303b6376d48ba$var$setSecret; /** * Prepends inputPath to the PATH (for this action and future actions) * @param inputPath - */ function $bbb9dac42384d004$var$addPath(inputPath) { + */ function $0bb303b6376d48ba$var$addPath(inputPath) { const filePath = process.env["GITHUB_PATH"] || ""; - if (filePath) $71d1c579b85cee7b$exports.issueCommand("PATH", inputPath); - else $6aa988ea1669fe85$exports.issueCommand("add-path", {}, inputPath); - process.env["PATH"] = `${inputPath}${$bbb9dac42384d004$var$path.delimiter}${process.env["PATH"]}`; + if (filePath) $86b37aa3c11138f6$exports.issueCommand("PATH", inputPath); + else $6605380e9069822e$exports.issueCommand("add-path", {}, inputPath); + process.env["PATH"] = `${inputPath}${$0bb303b6376d48ba$var$path.delimiter}${process.env["PATH"]}`; } -$bbb9dac42384d004$exports.addPath = $bbb9dac42384d004$var$addPath; +$0bb303b6376d48ba$exports.addPath = $0bb303b6376d48ba$var$addPath; /** * Gets the value of an input. * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. @@ -494,13 +494,13 @@ $bbb9dac42384d004$exports.addPath = $bbb9dac42384d004$var$addPath; * @param name name of the input to get * @param options optional. See InputOptions. * @returns string - */ function $bbb9dac42384d004$var$getInput(name, options) { + */ function $0bb303b6376d48ba$var$getInput(name, options) { const val = process.env[`INPUT_${name.replace(/ /g, "_").toUpperCase()}`] || ""; if (options && options.required && !val) throw new Error(`Input required and not supplied: ${name}`); if (options && options.trimWhitespace === false) return val; return val.trim(); } -$bbb9dac42384d004$exports.getInput = $bbb9dac42384d004$var$getInput; +$0bb303b6376d48ba$exports.getInput = $0bb303b6376d48ba$var$getInput; /** * Gets the values of an multiline input. Each value is also trimmed. * @@ -508,11 +508,11 @@ $bbb9dac42384d004$exports.getInput = $bbb9dac42384d004$var$getInput; * @param options optional. See InputOptions. * @returns string[] * - */ function $bbb9dac42384d004$var$getMultilineInput(name, options) { - const inputs = $bbb9dac42384d004$var$getInput(name, options).split("\n").filter((x)=>x !== ""); + */ function $0bb303b6376d48ba$var$getMultilineInput(name, options) { + const inputs = $0bb303b6376d48ba$var$getInput(name, options).split("\n").filter((x)=>x !== ""); return inputs; } -$bbb9dac42384d004$exports.getMultilineInput = $bbb9dac42384d004$var$getMultilineInput; +$0bb303b6376d48ba$exports.getMultilineInput = $0bb303b6376d48ba$var$getMultilineInput; /** * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. * Support boolean input list: `true | True | TRUE | false | False | FALSE` . @@ -522,7 +522,7 @@ $bbb9dac42384d004$exports.getMultilineInput = $bbb9dac42384d004$var$getMultiline * @param name name of the input to get * @param options optional. See InputOptions. * @returns boolean - */ function $bbb9dac42384d004$var$getBooleanInput(name, options) { + */ function $0bb303b6376d48ba$var$getBooleanInput(name, options) { const trueValue = [ "true", "True", @@ -533,33 +533,33 @@ $bbb9dac42384d004$exports.getMultilineInput = $bbb9dac42384d004$var$getMultiline "False", "FALSE" ]; - const val = $bbb9dac42384d004$var$getInput(name, options); + const val = $0bb303b6376d48ba$var$getInput(name, options); if (trueValue.includes(val)) return true; if (falseValue.includes(val)) return false; throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` + `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); } -$bbb9dac42384d004$exports.getBooleanInput = $bbb9dac42384d004$var$getBooleanInput; +$0bb303b6376d48ba$exports.getBooleanInput = $0bb303b6376d48ba$var$getBooleanInput; /** * Sets the value of an output. * * @param name name of the output to set * @param value value to store. Non-string values will be converted to a string via JSON.stringify */ // eslint-disable-next-line @typescript-eslint/no-explicit-any -function $bbb9dac42384d004$var$setOutput(name, value) { - process.stdout.write($bbb9dac42384d004$var$os.EOL); - $6aa988ea1669fe85$exports.issueCommand("set-output", { +function $0bb303b6376d48ba$var$setOutput(name, value) { + process.stdout.write($0bb303b6376d48ba$var$os.EOL); + $6605380e9069822e$exports.issueCommand("set-output", { name: name }, value); } -$bbb9dac42384d004$exports.setOutput = $bbb9dac42384d004$var$setOutput; +$0bb303b6376d48ba$exports.setOutput = $0bb303b6376d48ba$var$setOutput; /** * Enables or disables the echoing of commands into stdout for the rest of the step. * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. * - */ function $bbb9dac42384d004$var$setCommandEcho(enabled) { - $6aa988ea1669fe85$exports.issue("echo", enabled ? "on" : "off"); + */ function $0bb303b6376d48ba$var$setCommandEcho(enabled) { + $6605380e9069822e$exports.issue("echo", enabled ? "on" : "off"); } -$bbb9dac42384d004$exports.setCommandEcho = $bbb9dac42384d004$var$setCommandEcho; +$0bb303b6376d48ba$exports.setCommandEcho = $0bb303b6376d48ba$var$setCommandEcho; //----------------------------------------------------------------------- // Results //----------------------------------------------------------------------- @@ -567,74 +567,74 @@ $bbb9dac42384d004$exports.setCommandEcho = $bbb9dac42384d004$var$setCommandEcho; * Sets the action status to failed. * When the action exits it will be with an exit code of 1 * @param message add error issue message - */ function $bbb9dac42384d004$var$setFailed(message) { - process.exitCode = $bbb9dac42384d004$var$ExitCode.Failure; - $bbb9dac42384d004$var$error(message); + */ function $0bb303b6376d48ba$var$setFailed(message) { + process.exitCode = $0bb303b6376d48ba$var$ExitCode.Failure; + $0bb303b6376d48ba$var$error(message); } -$bbb9dac42384d004$exports.setFailed = $bbb9dac42384d004$var$setFailed; +$0bb303b6376d48ba$exports.setFailed = $0bb303b6376d48ba$var$setFailed; //----------------------------------------------------------------------- // Logging Commands //----------------------------------------------------------------------- /** * Gets whether Actions Step Debug is on or not - */ function $bbb9dac42384d004$var$isDebug() { + */ function $0bb303b6376d48ba$var$isDebug() { return process.env["RUNNER_DEBUG"] === "1"; } -$bbb9dac42384d004$exports.isDebug = $bbb9dac42384d004$var$isDebug; +$0bb303b6376d48ba$exports.isDebug = $0bb303b6376d48ba$var$isDebug; /** * Writes debug message to user log * @param message debug message - */ function $bbb9dac42384d004$var$debug(message) { - $6aa988ea1669fe85$exports.issueCommand("debug", {}, message); + */ function $0bb303b6376d48ba$var$debug(message) { + $6605380e9069822e$exports.issueCommand("debug", {}, message); } -$bbb9dac42384d004$exports.debug = $bbb9dac42384d004$var$debug; +$0bb303b6376d48ba$exports.debug = $0bb303b6376d48ba$var$debug; /** * Adds an error issue * @param message error issue message. Errors will be converted to string via toString() * @param properties optional properties to add to the annotation. - */ function $bbb9dac42384d004$var$error(message, properties = {}) { - $6aa988ea1669fe85$exports.issueCommand("error", $1f87556d0f647bcd$exports.toCommandProperties(properties), message instanceof Error ? message.toString() : message); + */ function $0bb303b6376d48ba$var$error(message, properties = {}) { + $6605380e9069822e$exports.issueCommand("error", $25a8cc9396483764$exports.toCommandProperties(properties), message instanceof Error ? message.toString() : message); } -$bbb9dac42384d004$exports.error = $bbb9dac42384d004$var$error; +$0bb303b6376d48ba$exports.error = $0bb303b6376d48ba$var$error; /** * Adds a warning issue * @param message warning issue message. Errors will be converted to string via toString() * @param properties optional properties to add to the annotation. - */ function $bbb9dac42384d004$var$warning(message, properties = {}) { - $6aa988ea1669fe85$exports.issueCommand("warning", $1f87556d0f647bcd$exports.toCommandProperties(properties), message instanceof Error ? message.toString() : message); + */ function $0bb303b6376d48ba$var$warning(message, properties = {}) { + $6605380e9069822e$exports.issueCommand("warning", $25a8cc9396483764$exports.toCommandProperties(properties), message instanceof Error ? message.toString() : message); } -$bbb9dac42384d004$exports.warning = $bbb9dac42384d004$var$warning; +$0bb303b6376d48ba$exports.warning = $0bb303b6376d48ba$var$warning; /** * Adds a notice issue * @param message notice issue message. Errors will be converted to string via toString() * @param properties optional properties to add to the annotation. - */ function $bbb9dac42384d004$var$notice(message, properties = {}) { - $6aa988ea1669fe85$exports.issueCommand("notice", $1f87556d0f647bcd$exports.toCommandProperties(properties), message instanceof Error ? message.toString() : message); + */ function $0bb303b6376d48ba$var$notice(message, properties = {}) { + $6605380e9069822e$exports.issueCommand("notice", $25a8cc9396483764$exports.toCommandProperties(properties), message instanceof Error ? message.toString() : message); } -$bbb9dac42384d004$exports.notice = $bbb9dac42384d004$var$notice; +$0bb303b6376d48ba$exports.notice = $0bb303b6376d48ba$var$notice; /** * Writes info to log with console.log. * @param message info message - */ function $bbb9dac42384d004$var$info(message) { - process.stdout.write(message + $bbb9dac42384d004$var$os.EOL); + */ function $0bb303b6376d48ba$var$info(message) { + process.stdout.write(message + $0bb303b6376d48ba$var$os.EOL); } -$bbb9dac42384d004$exports.info = $bbb9dac42384d004$var$info; +$0bb303b6376d48ba$exports.info = $0bb303b6376d48ba$var$info; /** * Begin an output group. * * Output until the next `groupEnd` will be foldable in this group * * @param name The name of the output group - */ function $bbb9dac42384d004$var$startGroup(name) { - $6aa988ea1669fe85$exports.issue("group", name); + */ function $0bb303b6376d48ba$var$startGroup(name) { + $6605380e9069822e$exports.issue("group", name); } -$bbb9dac42384d004$exports.startGroup = $bbb9dac42384d004$var$startGroup; +$0bb303b6376d48ba$exports.startGroup = $0bb303b6376d48ba$var$startGroup; /** * End an output group. - */ function $bbb9dac42384d004$var$endGroup() { - $6aa988ea1669fe85$exports.issue("endgroup"); + */ function $0bb303b6376d48ba$var$endGroup() { + $6605380e9069822e$exports.issue("endgroup"); } -$bbb9dac42384d004$exports.endGroup = $bbb9dac42384d004$var$endGroup; +$0bb303b6376d48ba$exports.endGroup = $0bb303b6376d48ba$var$endGroup; /** * Wrap an asynchronous function call in a group. * @@ -642,19 +642,19 @@ $bbb9dac42384d004$exports.endGroup = $bbb9dac42384d004$var$endGroup; * * @param name The name of the group * @param fn The function to wrap in the group - */ function $bbb9dac42384d004$var$group(name, fn) { - return $bbb9dac42384d004$var$__awaiter(this, void 0, void 0, function*() { - $bbb9dac42384d004$var$startGroup(name); + */ function $0bb303b6376d48ba$var$group(name, fn) { + return $0bb303b6376d48ba$var$__awaiter(this, void 0, void 0, function*() { + $0bb303b6376d48ba$var$startGroup(name); let result; try { result = yield fn(); } finally{ - $bbb9dac42384d004$var$endGroup(); + $0bb303b6376d48ba$var$endGroup(); } return result; }); } -$bbb9dac42384d004$exports.group = $bbb9dac42384d004$var$group; +$0bb303b6376d48ba$exports.group = $0bb303b6376d48ba$var$group; //----------------------------------------------------------------------- // Wrapper action state //----------------------------------------------------------------------- @@ -664,29 +664,29 @@ $bbb9dac42384d004$exports.group = $bbb9dac42384d004$var$group; * @param name name of the state to store * @param value value to store. Non-string values will be converted to a string via JSON.stringify */ // eslint-disable-next-line @typescript-eslint/no-explicit-any -function $bbb9dac42384d004$var$saveState(name, value) { - $6aa988ea1669fe85$exports.issueCommand("save-state", { +function $0bb303b6376d48ba$var$saveState(name, value) { + $6605380e9069822e$exports.issueCommand("save-state", { name: name }, value); } -$bbb9dac42384d004$exports.saveState = $bbb9dac42384d004$var$saveState; +$0bb303b6376d48ba$exports.saveState = $0bb303b6376d48ba$var$saveState; /** * Gets the value of an state set by this action's main execution. * * @param name name of the state to get * @returns string - */ function $bbb9dac42384d004$var$getState(name) { + */ function $0bb303b6376d48ba$var$getState(name) { return process.env[`STATE_${name}`] || ""; } -$bbb9dac42384d004$exports.getState = $bbb9dac42384d004$var$getState; +$0bb303b6376d48ba$exports.getState = $0bb303b6376d48ba$var$getState; function $76d06fcdc9bff1f5$export$77714ac6976d0316(args) { - const opts = (0, $ec42a3295e12ea98$export$2e2bcd8739ae039)(args, { + const opts = (0, $83fd64f7195557f0$export$2e2bcd8739ae039)(args, { default: { - "cache-map": (0, $bbb9dac42384d004$exports.getInput)("cache-map") || "{}", - "scratch-dir": (0, $bbb9dac42384d004$exports.getInput)("scratch-dir") || "scratch", - "skip-extraction": ((0, $bbb9dac42384d004$exports.getInput)("skip-extraction") || "false") === "true", + "cache-map": (0, $0bb303b6376d48ba$exports.getInput)("cache-map") || "{}", + "scratch-dir": (0, $0bb303b6376d48ba$exports.getInput)("scratch-dir") || "scratch", + "skip-extraction": ((0, $0bb303b6376d48ba$exports.getInput)("skip-extraction") || "false") === "true", "extract": process.env[`STATE_POST`] !== undefined, "help": false }, @@ -708,7 +708,7 @@ function $76d06fcdc9bff1f5$export$77714ac6976d0316(args) { } }); if (opts["cache-source"] && opts["cache-target"]) { - (0, $bbb9dac42384d004$exports.warning)("The `cache-source` and `cache-target` options are deprecated. Use `cache-map` instead."); + (0, $0bb303b6376d48ba$exports.warning)("The `cache-source` and `cache-target` options are deprecated. Use `cache-map` instead."); opts["cache-map"] = JSON.stringify({ [opts["cache-source"]]: opts["cache-target"] }); @@ -743,6 +743,24 @@ function $76d06fcdc9bff1f5$export$febacabd0d01c81(cacheOptions) { else throw new Error(`Expected the 'target' key in the cache options, got:\n${cacheOptions}`); } } +function $76d06fcdc9bff1f5$export$6d2b3473b0986646(cacheOptions) { + if (typeof cacheOptions === "string") // only the target path is provided + return ""; + else { + // object is provided + if ("uid" in cacheOptions && cacheOptions.uid !== undefined) return cacheOptions.uid.toString(); + else return ""; + } +} +function $76d06fcdc9bff1f5$export$4e7da3a92c2dad69(cacheOptions) { + if (typeof cacheOptions === "string") // only the target path is provided + return ""; + else { + // object is provided + if ("gid" in cacheOptions && cacheOptions.gid !== undefined) return cacheOptions.gid.toString(); + else return ""; + } +} function $76d06fcdc9bff1f5$export$238315f403b84074(cacheOptions) { if (typeof cacheOptions === "string") // only the target path is provided return `type=cache,target=${cacheOptions}`; @@ -754,30 +772,30 @@ function $76d06fcdc9bff1f5$export$238315f403b84074(cacheOptions) { } -var $03c48d50d9d7039f$exports = {}; -var $92de28abfb9027ac$exports = {}; +var $57fb336faab90461$exports = {}; +var $3e93ed16e4c135d4$exports = {}; "use strict"; -var $9f07a96c8577f666$exports = {}; +var $ba992259a21941a5$exports = {}; "use strict"; -var $37f30101baa1381d$exports = {}; +var $9ae68499da2d8dc7$exports = {}; "use strict"; -var $10bb1950eec72619$exports = {}; -const $10bb1950eec72619$var$isWindows = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys"; +var $f1b992f1222e6b3f$exports = {}; +const $f1b992f1222e6b3f$var$isWindows = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys"; -const $10bb1950eec72619$var$COLON = $10bb1950eec72619$var$isWindows ? ";" : ":"; -var $0b1af7ee1bc1c627$exports = {}; +const $f1b992f1222e6b3f$var$COLON = $f1b992f1222e6b3f$var$isWindows ? ";" : ":"; +var $618a1a794aa1288c$exports = {}; -var $0b1af7ee1bc1c627$var$core; +var $618a1a794aa1288c$var$core; -if (process.platform === "win32" || $parcel$global.TESTING_WINDOWS) $0b1af7ee1bc1c627$var$core = (parcelRequire("dE8Bn")); -else $0b1af7ee1bc1c627$var$core = (parcelRequire("5dXTc")); -$0b1af7ee1bc1c627$exports = $0b1af7ee1bc1c627$var$isexe; -$0b1af7ee1bc1c627$var$isexe.sync = $0b1af7ee1bc1c627$var$sync; -function $0b1af7ee1bc1c627$var$isexe(path, options, cb) { +if (process.platform === "win32" || $parcel$global.TESTING_WINDOWS) $618a1a794aa1288c$var$core = (parcelRequire("02a0L")); +else $618a1a794aa1288c$var$core = (parcelRequire("eqVNx")); +$618a1a794aa1288c$exports = $618a1a794aa1288c$var$isexe; +$618a1a794aa1288c$var$isexe.sync = $618a1a794aa1288c$var$sync; +function $618a1a794aa1288c$var$isexe(path, options, cb) { if (typeof options === "function") { cb = options; options = {}; @@ -785,13 +803,13 @@ function $0b1af7ee1bc1c627$var$isexe(path, options, cb) { if (!cb) { if (typeof Promise !== "function") throw new TypeError("callback not provided"); return new Promise(function(resolve, reject) { - $0b1af7ee1bc1c627$var$isexe(path, options || {}, function(er, is) { + $618a1a794aa1288c$var$isexe(path, options || {}, function(er, is) { if (er) reject(er); else resolve(is); }); }); } - $0b1af7ee1bc1c627$var$core(path, options || {}, function(er, is) { + $618a1a794aa1288c$var$core(path, options || {}, function(er, is) { // ignore EACCES because that just means we aren't allowed to run it if (er) { if (er.code === "EACCES" || options && options.ignoreErrors) { @@ -802,10 +820,10 @@ function $0b1af7ee1bc1c627$var$isexe(path, options, cb) { cb(er, is); }); } -function $0b1af7ee1bc1c627$var$sync(path, options) { +function $618a1a794aa1288c$var$sync(path, options) { // my kingdom for a filtered catch try { - return $0b1af7ee1bc1c627$var$core.sync(path, options || {}); + return $618a1a794aa1288c$var$core.sync(path, options || {}); } catch (er) { if (options && options.ignoreErrors || er.code === "EACCES") return false; else throw er; @@ -813,27 +831,27 @@ function $0b1af7ee1bc1c627$var$sync(path, options) { } -const $10bb1950eec72619$var$getNotFoundError = (cmd)=>Object.assign(new Error(`not found: ${cmd}`), { +const $f1b992f1222e6b3f$var$getNotFoundError = (cmd)=>Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" }); -const $10bb1950eec72619$var$getPathInfo = (cmd, opt)=>{ - const colon = opt.colon || $10bb1950eec72619$var$COLON; +const $f1b992f1222e6b3f$var$getPathInfo = (cmd, opt)=>{ + const colon = opt.colon || $f1b992f1222e6b3f$var$COLON; // If it has a slash, then we don't bother searching the pathenv. // just check the file itself, and that's it. - const pathEnv = cmd.match(/\//) || $10bb1950eec72619$var$isWindows && cmd.match(/\\/) ? [ + const pathEnv = cmd.match(/\//) || $f1b992f1222e6b3f$var$isWindows && cmd.match(/\\/) ? [ "" ] : [ // windows always checks the cwd first - ...$10bb1950eec72619$var$isWindows ? [ + ...$f1b992f1222e6b3f$var$isWindows ? [ process.cwd() ] : [], ...(opt.path || process.env.PATH || /* istanbul ignore next: very unusual */ "").split(colon) ]; - const pathExtExe = $10bb1950eec72619$var$isWindows ? opt.pathExt || process.env.PATHEXT || ".EXE;.CMD;.BAT;.COM" : ""; - const pathExt = $10bb1950eec72619$var$isWindows ? pathExtExe.split(colon) : [ + const pathExtExe = $f1b992f1222e6b3f$var$isWindows ? opt.pathExt || process.env.PATHEXT || ".EXE;.CMD;.BAT;.COM" : ""; + const pathExt = $f1b992f1222e6b3f$var$isWindows ? pathExtExe.split(colon) : [ "" ]; - if ($10bb1950eec72619$var$isWindows) { + if ($f1b992f1222e6b3f$var$isWindows) { if (cmd.indexOf(".") !== -1 && pathExt[0] !== "") pathExt.unshift(""); } return { @@ -842,16 +860,16 @@ const $10bb1950eec72619$var$getPathInfo = (cmd, opt)=>{ pathExtExe: pathExtExe }; }; -const $10bb1950eec72619$var$which = (cmd, opt, cb)=>{ +const $f1b992f1222e6b3f$var$which = (cmd, opt, cb)=>{ if (typeof opt === "function") { cb = opt; opt = {}; } if (!opt) opt = {}; - const { pathEnv: pathEnv, pathExt: pathExt, pathExtExe: pathExtExe } = $10bb1950eec72619$var$getPathInfo(cmd, opt); + const { pathEnv: pathEnv, pathExt: pathExt, pathExtExe: pathExtExe } = $f1b992f1222e6b3f$var$getPathInfo(cmd, opt); const found = []; const step = (i)=>new Promise((resolve, reject)=>{ - if (i === pathEnv.length) return opt.all && found.length ? resolve(found) : reject($10bb1950eec72619$var$getNotFoundError(cmd)); + if (i === pathEnv.length) return opt.all && found.length ? resolve(found) : reject($f1b992f1222e6b3f$var$getNotFoundError(cmd)); const ppRaw = pathEnv[i]; const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw; const pCmd = $evV72$join(pathPart, cmd); @@ -861,7 +879,7 @@ const $10bb1950eec72619$var$which = (cmd, opt, cb)=>{ const subStep = (p, i, ii)=>new Promise((resolve, reject)=>{ if (ii === pathExt.length) return resolve(step(i + 1)); const ext = pathExt[ii]; - $0b1af7ee1bc1c627$exports(p + ext, { + $618a1a794aa1288c$exports(p + ext, { pathExt: pathExtExe }, (er, is)=>{ if (!er && is) { @@ -873,9 +891,9 @@ const $10bb1950eec72619$var$which = (cmd, opt, cb)=>{ }); return cb ? step(0).then((res)=>cb(null, res), cb) : step(0); }; -const $10bb1950eec72619$var$whichSync = (cmd, opt)=>{ +const $f1b992f1222e6b3f$var$whichSync = (cmd, opt)=>{ opt = opt || {}; - const { pathEnv: pathEnv, pathExt: pathExt, pathExtExe: pathExtExe } = $10bb1950eec72619$var$getPathInfo(cmd, opt); + const { pathEnv: pathEnv, pathExt: pathExt, pathExtExe: pathExtExe } = $f1b992f1222e6b3f$var$getPathInfo(cmd, opt); const found = []; for(let i = 0; i < pathEnv.length; i++){ const ppRaw = pathEnv[i]; @@ -885,7 +903,7 @@ const $10bb1950eec72619$var$whichSync = (cmd, opt)=>{ for(let j = 0; j < pathExt.length; j++){ const cur = p + pathExt[j]; try { - const is = $0b1af7ee1bc1c627$exports.sync(cur, { + const is = $618a1a794aa1288c$exports.sync(cur, { pathExt: pathExtExe }); if (is) { @@ -897,26 +915,26 @@ const $10bb1950eec72619$var$whichSync = (cmd, opt)=>{ } if (opt.all && found.length) return found; if (opt.nothrow) return null; - throw $10bb1950eec72619$var$getNotFoundError(cmd); + throw $f1b992f1222e6b3f$var$getNotFoundError(cmd); }; -$10bb1950eec72619$exports = $10bb1950eec72619$var$which; -$10bb1950eec72619$var$which.sync = $10bb1950eec72619$var$whichSync; +$f1b992f1222e6b3f$exports = $f1b992f1222e6b3f$var$which; +$f1b992f1222e6b3f$var$which.sync = $f1b992f1222e6b3f$var$whichSync; -var $3487f7b8c16699fc$exports = {}; +var $77303ac1821927db$exports = {}; "use strict"; -const $3487f7b8c16699fc$var$pathKey = (options = {})=>{ +const $77303ac1821927db$var$pathKey = (options = {})=>{ const environment = options.env || process.env; const platform = options.platform || process.platform; if (platform !== "win32") return "PATH"; return Object.keys(environment).reverse().find((key)=>key.toUpperCase() === "PATH") || "Path"; }; -$3487f7b8c16699fc$exports = $3487f7b8c16699fc$var$pathKey; +$77303ac1821927db$exports = $77303ac1821927db$var$pathKey; // TODO: Remove this for the next major release -$3487f7b8c16699fc$exports.default = $3487f7b8c16699fc$var$pathKey; +$77303ac1821927db$exports.default = $77303ac1821927db$var$pathKey; -function $37f30101baa1381d$var$resolveCommandAttempt(parsed, withoutPathExt) { +function $9ae68499da2d8dc7$var$resolveCommandAttempt(parsed, withoutPathExt) { const env = parsed.options.env || process.env; const cwd = process.cwd(); const hasCustomCwd = parsed.options.cwd != null; @@ -930,8 +948,8 @@ function $37f30101baa1381d$var$resolveCommandAttempt(parsed, withoutPathExt) { /* Empty */ } let resolved; try { - resolved = $10bb1950eec72619$exports.sync(parsed.command, { - path: env[$3487f7b8c16699fc$exports({ + resolved = $f1b992f1222e6b3f$exports.sync(parsed.command, { + path: env[$77303ac1821927db$exports({ env: env })], pathExt: withoutPathExt ? $evV72$delimiter : undefined @@ -945,23 +963,23 @@ function $37f30101baa1381d$var$resolveCommandAttempt(parsed, withoutPathExt) { if (resolved) resolved = $evV72$resolve(hasCustomCwd ? parsed.options.cwd : "", resolved); return resolved; } -function $37f30101baa1381d$var$resolveCommand(parsed) { - return $37f30101baa1381d$var$resolveCommandAttempt(parsed) || $37f30101baa1381d$var$resolveCommandAttempt(parsed, true); +function $9ae68499da2d8dc7$var$resolveCommand(parsed) { + return $9ae68499da2d8dc7$var$resolveCommandAttempt(parsed) || $9ae68499da2d8dc7$var$resolveCommandAttempt(parsed, true); } -$37f30101baa1381d$exports = $37f30101baa1381d$var$resolveCommand; +$9ae68499da2d8dc7$exports = $9ae68499da2d8dc7$var$resolveCommand; -var $cbf6c9fb7b5a3003$export$ae50443ffc990749; -var $cbf6c9fb7b5a3003$export$6ea29ee575e3f5ff; +var $44f2128ace0ec487$export$ae50443ffc990749; +var $44f2128ace0ec487$export$6ea29ee575e3f5ff; "use strict"; // See http://www.robvanderwoude.com/escapechars.php -const $cbf6c9fb7b5a3003$var$metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g; -function $cbf6c9fb7b5a3003$var$escapeCommand(arg) { +const $44f2128ace0ec487$var$metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g; +function $44f2128ace0ec487$var$escapeCommand(arg) { // Escape meta chars - arg = arg.replace($cbf6c9fb7b5a3003$var$metaCharsRegExp, "^$1"); + arg = arg.replace($44f2128ace0ec487$var$metaCharsRegExp, "^$1"); return arg; } -function $cbf6c9fb7b5a3003$var$escapeArgument(arg, doubleEscapeMetaChars) { +function $44f2128ace0ec487$var$escapeArgument(arg, doubleEscapeMetaChars) { // Convert to string arg = `${arg}`; // Algorithm below is based on https://qntm.org/cmd @@ -976,27 +994,27 @@ function $cbf6c9fb7b5a3003$var$escapeArgument(arg, doubleEscapeMetaChars) { // Quote the whole thing: arg = `"${arg}"`; // Escape meta chars - arg = arg.replace($cbf6c9fb7b5a3003$var$metaCharsRegExp, "^$1"); + arg = arg.replace($44f2128ace0ec487$var$metaCharsRegExp, "^$1"); // Double escape meta chars if necessary - if (doubleEscapeMetaChars) arg = arg.replace($cbf6c9fb7b5a3003$var$metaCharsRegExp, "^$1"); + if (doubleEscapeMetaChars) arg = arg.replace($44f2128ace0ec487$var$metaCharsRegExp, "^$1"); return arg; } -$cbf6c9fb7b5a3003$export$ae50443ffc990749 = $cbf6c9fb7b5a3003$var$escapeCommand; -$cbf6c9fb7b5a3003$export$6ea29ee575e3f5ff = $cbf6c9fb7b5a3003$var$escapeArgument; +$44f2128ace0ec487$export$ae50443ffc990749 = $44f2128ace0ec487$var$escapeCommand; +$44f2128ace0ec487$export$6ea29ee575e3f5ff = $44f2128ace0ec487$var$escapeArgument; -var $4bfe3bff3b3eb488$exports = {}; +var $3cca0e63723ee076$exports = {}; "use strict"; -var $550cee7733391e8f$exports = {}; +var $f6fe1e947c2cffc1$exports = {}; "use strict"; -var $41ec2024f8465164$exports = {}; +var $77a201907d13785e$exports = {}; "use strict"; -$41ec2024f8465164$exports = /^#!(.*)/; +$77a201907d13785e$exports = /^#!(.*)/; -$550cee7733391e8f$exports = (string = "")=>{ - const match = string.match($41ec2024f8465164$exports); +$f6fe1e947c2cffc1$exports = (string = "")=>{ + const match = string.match($77a201907d13785e$exports); if (!match) return null; const [path, argument] = match[0].replace(/#! ?/, "").split(" "); const binary = path.split("/").pop(); @@ -1005,7 +1023,7 @@ $550cee7733391e8f$exports = (string = "")=>{ }; -function $4bfe3bff3b3eb488$var$readShebang(command) { +function $3cca0e63723ee076$var$readShebang(command) { // Read the first 150 bytes from the file const size = 150; const buffer = Buffer.alloc(size); @@ -1016,30 +1034,30 @@ function $4bfe3bff3b3eb488$var$readShebang(command) { $evV72$closeSync(fd); } catch (e) {} // Attempt to extract shebang (null is returned if not a shebang) - return $550cee7733391e8f$exports(buffer.toString()); + return $f6fe1e947c2cffc1$exports(buffer.toString()); } -$4bfe3bff3b3eb488$exports = $4bfe3bff3b3eb488$var$readShebang; +$3cca0e63723ee076$exports = $3cca0e63723ee076$var$readShebang; -const $9f07a96c8577f666$var$isWin = process.platform === "win32"; -const $9f07a96c8577f666$var$isExecutableRegExp = /\.(?:com|exe)$/i; -const $9f07a96c8577f666$var$isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i; -function $9f07a96c8577f666$var$detectShebang(parsed) { - parsed.file = $37f30101baa1381d$exports(parsed); - const shebang = parsed.file && $4bfe3bff3b3eb488$exports(parsed.file); +const $ba992259a21941a5$var$isWin = process.platform === "win32"; +const $ba992259a21941a5$var$isExecutableRegExp = /\.(?:com|exe)$/i; +const $ba992259a21941a5$var$isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i; +function $ba992259a21941a5$var$detectShebang(parsed) { + parsed.file = $9ae68499da2d8dc7$exports(parsed); + const shebang = parsed.file && $3cca0e63723ee076$exports(parsed.file); if (shebang) { parsed.args.unshift(parsed.file); parsed.command = shebang; - return $37f30101baa1381d$exports(parsed); + return $9ae68499da2d8dc7$exports(parsed); } return parsed.file; } -function $9f07a96c8577f666$var$parseNonShell(parsed) { - if (!$9f07a96c8577f666$var$isWin) return parsed; +function $ba992259a21941a5$var$parseNonShell(parsed) { + if (!$ba992259a21941a5$var$isWin) return parsed; // Detect & add support for shebangs - const commandFile = $9f07a96c8577f666$var$detectShebang(parsed); + const commandFile = $ba992259a21941a5$var$detectShebang(parsed); // We don't need a shell if the command filename is an executable - const needsShell = !$9f07a96c8577f666$var$isExecutableRegExp.test(commandFile); + const needsShell = !$ba992259a21941a5$var$isExecutableRegExp.test(commandFile); // If a shell is required, use cmd.exe and take care of escaping everything correctly // Note that `forceShell` is an hidden option used only in tests if (parsed.options.forceShell || needsShell) { @@ -1047,13 +1065,13 @@ function $9f07a96c8577f666$var$parseNonShell(parsed) { // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called, // we need to double escape them - const needsDoubleEscapeMetaChars = $9f07a96c8577f666$var$isCmdShimRegExp.test(commandFile); + const needsDoubleEscapeMetaChars = $ba992259a21941a5$var$isCmdShimRegExp.test(commandFile); // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\bar) // This is necessary otherwise it will always fail with ENOENT in those cases parsed.command = $evV72$normalize(parsed.command); // Escape command & arguments - parsed.command = $cbf6c9fb7b5a3003$export$ae50443ffc990749(parsed.command); - parsed.args = parsed.args.map((arg)=>$cbf6c9fb7b5a3003$export$6ea29ee575e3f5ff(arg, needsDoubleEscapeMetaChars)); + parsed.command = $44f2128ace0ec487$export$ae50443ffc990749(parsed.command); + parsed.args = parsed.args.map((arg)=>$44f2128ace0ec487$export$6ea29ee575e3f5ff(arg, needsDoubleEscapeMetaChars)); const shellCommand = [ parsed.command ].concat(parsed.args).join(" "); @@ -1068,7 +1086,7 @@ function $9f07a96c8577f666$var$parseNonShell(parsed) { } return parsed; } -function $9f07a96c8577f666$var$parse(command, args, options) { +function $ba992259a21941a5$var$parse(command, args, options) { // Normalize arguments, similar to nodejs if (args && !Array.isArray(args)) { options = args; @@ -1088,15 +1106,15 @@ function $9f07a96c8577f666$var$parse(command, args, options) { } }; // Delegate further parsing to shell or non-shell - return options.shell ? parsed : $9f07a96c8577f666$var$parseNonShell(parsed); + return options.shell ? parsed : $ba992259a21941a5$var$parseNonShell(parsed); } -$9f07a96c8577f666$exports = $9f07a96c8577f666$var$parse; +$ba992259a21941a5$exports = $ba992259a21941a5$var$parse; -var $1ef36613317ba37d$exports = {}; +var $ac602fd4d31c6b69$exports = {}; "use strict"; -const $1ef36613317ba37d$var$isWin = process.platform === "win32"; -function $1ef36613317ba37d$var$notFoundError(original, syscall) { +const $ac602fd4d31c6b69$var$isWin = process.platform === "win32"; +function $ac602fd4d31c6b69$var$notFoundError(original, syscall) { return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), { code: "ENOENT", errno: "ENOENT", @@ -1105,60 +1123,60 @@ function $1ef36613317ba37d$var$notFoundError(original, syscall) { spawnargs: original.args }); } -function $1ef36613317ba37d$var$hookChildProcess(cp, parsed) { - if (!$1ef36613317ba37d$var$isWin) return; +function $ac602fd4d31c6b69$var$hookChildProcess(cp, parsed) { + if (!$ac602fd4d31c6b69$var$isWin) return; const originalEmit = cp.emit; cp.emit = function(name, arg1) { // If emitting "exit" event and exit code is 1, we need to check if // the command exists and emit an "error" instead // See https://github.com/IndigoUnited/node-cross-spawn/issues/16 if (name === "exit") { - const err = $1ef36613317ba37d$var$verifyENOENT(arg1, parsed, "spawn"); + const err = $ac602fd4d31c6b69$var$verifyENOENT(arg1, parsed, "spawn"); if (err) return originalEmit.call(cp, "error", err); } return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params }; } -function $1ef36613317ba37d$var$verifyENOENT(status, parsed) { - if ($1ef36613317ba37d$var$isWin && status === 1 && !parsed.file) return $1ef36613317ba37d$var$notFoundError(parsed.original, "spawn"); +function $ac602fd4d31c6b69$var$verifyENOENT(status, parsed) { + if ($ac602fd4d31c6b69$var$isWin && status === 1 && !parsed.file) return $ac602fd4d31c6b69$var$notFoundError(parsed.original, "spawn"); return null; } -function $1ef36613317ba37d$var$verifyENOENTSync(status, parsed) { - if ($1ef36613317ba37d$var$isWin && status === 1 && !parsed.file) return $1ef36613317ba37d$var$notFoundError(parsed.original, "spawnSync"); +function $ac602fd4d31c6b69$var$verifyENOENTSync(status, parsed) { + if ($ac602fd4d31c6b69$var$isWin && status === 1 && !parsed.file) return $ac602fd4d31c6b69$var$notFoundError(parsed.original, "spawnSync"); return null; } -$1ef36613317ba37d$exports = { - hookChildProcess: $1ef36613317ba37d$var$hookChildProcess, - verifyENOENT: $1ef36613317ba37d$var$verifyENOENT, - verifyENOENTSync: $1ef36613317ba37d$var$verifyENOENTSync, - notFoundError: $1ef36613317ba37d$var$notFoundError +$ac602fd4d31c6b69$exports = { + hookChildProcess: $ac602fd4d31c6b69$var$hookChildProcess, + verifyENOENT: $ac602fd4d31c6b69$var$verifyENOENT, + verifyENOENTSync: $ac602fd4d31c6b69$var$verifyENOENTSync, + notFoundError: $ac602fd4d31c6b69$var$notFoundError }; -function $92de28abfb9027ac$var$spawn(command, args, options) { +function $3e93ed16e4c135d4$var$spawn(command, args, options) { // Parse the arguments - const parsed = $9f07a96c8577f666$exports(command, args, options); + const parsed = $ba992259a21941a5$exports(command, args, options); // Spawn the child process const spawned = $evV72$spawn(parsed.command, parsed.args, parsed.options); // Hook into child process "exit" event to emit an error if the command // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16 - $1ef36613317ba37d$exports.hookChildProcess(spawned, parsed); + $ac602fd4d31c6b69$exports.hookChildProcess(spawned, parsed); return spawned; } -function $92de28abfb9027ac$var$spawnSync(command, args, options) { +function $3e93ed16e4c135d4$var$spawnSync(command, args, options) { // Parse the arguments - const parsed = $9f07a96c8577f666$exports(command, args, options); + const parsed = $ba992259a21941a5$exports(command, args, options); // Spawn the child process const result = $evV72$spawnSync(parsed.command, parsed.args, parsed.options); // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16 - result.error = result.error || $1ef36613317ba37d$exports.verifyENOENTSync(result.status, parsed); + result.error = result.error || $ac602fd4d31c6b69$exports.verifyENOENTSync(result.status, parsed); return result; } -$92de28abfb9027ac$exports = $92de28abfb9027ac$var$spawn; -$92de28abfb9027ac$exports.spawn = $92de28abfb9027ac$var$spawn; -$92de28abfb9027ac$exports.sync = $92de28abfb9027ac$var$spawnSync; -$92de28abfb9027ac$exports._parse = $9f07a96c8577f666$exports; -$92de28abfb9027ac$exports._enoent = $1ef36613317ba37d$exports; +$3e93ed16e4c135d4$exports = $3e93ed16e4c135d4$var$spawn; +$3e93ed16e4c135d4$exports.spawn = $3e93ed16e4c135d4$var$spawn; +$3e93ed16e4c135d4$exports.sync = $3e93ed16e4c135d4$var$spawnSync; +$3e93ed16e4c135d4$exports._parse = $ba992259a21941a5$exports; +$3e93ed16e4c135d4$exports._enoent = $ac602fd4d31c6b69$exports; /** Spawns a child process, as long as you ask nicely. @@ -1168,12 +1186,12 @@ $92de28abfb9027ac$exports._enoent = $1ef36613317ba37d$exports; * @param {{ rejectOnError?: boolean, stdin?: string, stderr?: (data: string) => void, stdout?: (data: string) => void }} [options] - Options. * @param {any} [spawnOptions] - Options that are passed directly to child_process.spawn. Also supports stdin: string. * @returns {Promise<{ stdout: string, stderr: string }>} - */ const $03c48d50d9d7039f$var$spawnPlease = (command, args, options = {}, spawnOptions = {})=>{ + */ const $57fb336faab90461$var$spawnPlease = (command, args, options = {}, spawnOptions = {})=>{ // defaults if (options.rejectOnError === undefined) options.rejectOnError = true; let stdout = ""; let stderr = ""; - const child = $92de28abfb9027ac$exports(command, args, spawnOptions); + const child = $3e93ed16e4c135d4$exports(command, args, spawnOptions); return new Promise((resolve, reject)=>{ if (options.stdin !== undefined && options.stdin != null) child.stdin.write(options.stdin); child.stdin.end(); @@ -1195,13 +1213,13 @@ $92de28abfb9027ac$exports._enoent = $1ef36613317ba37d$exports; }); }); }; -$03c48d50d9d7039f$exports = $03c48d50d9d7039f$var$spawnPlease; +$57fb336faab90461$exports = $57fb336faab90461$var$spawnPlease; async function $4c028fad90f63861$export$889ea624f2cb2c57(command, args) { try { - return await (0, (/*@__PURE__*/$parcel$interopDefault($03c48d50d9d7039f$exports)))(command, args); + return await (0, (/*@__PURE__*/$parcel$interopDefault($57fb336faab90461$exports)))(command, args); } catch (error) { console.error(`Error running command: ${command} ${args.join(" ")}`); throw error; @@ -1260,13 +1278,18 @@ async function $bd1d73aff0732146$var$injectCache(cacheSource, cacheOptions, scra await (0, $evV72$fspromises).writeFile((0, $evV72$path).join(cacheSource, "buildstamp"), date); const targetPath = (0, $76d06fcdc9bff1f5$export$febacabd0d01c81)(cacheOptions); const mountArgs = (0, $76d06fcdc9bff1f5$export$238315f403b84074)(cacheOptions); + // If UID OR GID are set, then add chown to restore files ownership. + let ownershipCommand = ""; + const uid = (0, $76d06fcdc9bff1f5$export$6d2b3473b0986646)(cacheOptions); + const gid = (0, $76d06fcdc9bff1f5$export$4e7da3a92c2dad69)(cacheOptions); + if (uid !== "" || gid !== "") ownershipCommand = `&& chown -R ${uid}:${gid} ${targetPath}`; // Prepare Dancefile to Access Caches const dancefileContent = ` FROM busybox:1 COPY buildstamp buildstamp RUN --mount=${mountArgs} \ --mount=type=bind,source=.,target=/var/dance-cache \ - cp -p -R /var/dance-cache/. ${targetPath} || true + cp -p -R /var/dance-cache/. ${targetPath} ${ownershipCommand} || true `; await (0, $evV72$fspromises).writeFile((0, $evV72$path).join(scratchDir, "Dancefile.inject"), dancefileContent); console.log(dancefileContent); @@ -1288,7 +1311,7 @@ RUN --mount=${mountArgs} \ }); } catch (err) { // Ignore Cleaning Errors - (0, $bbb9dac42384d004$exports.notice)(`Error while cleaning cache source directory: ${err}. Ignoring...`); + (0, $0bb303b6376d48ba$exports.notice)(`Error while cleaning cache source directory: ${err}. Ignoring...`); } } async function $bd1d73aff0732146$export$38c65e9f06d3d433(opts) { diff --git a/dist/index.js.map b/dist/index.js.map index 4317da3..3596dba 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"mappings":"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;QACd,MAAM,KAAK,KAAK,CAAC,EAAE,IAAI,EAAE;QACzB,MAAO,IAAI,MAAM,GAAG,EACnB,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,EAAE;IAE3B;IAGD,OAAO;AACR;;;;A;A,I,wC,A,6B,0B,e,I,C,O,M,G,S,C,E,C,E,C,E,E;I,I,O,W,K;I,O,c,C,G,I;Q,Y;Q,K;Y,O,C,C,E;Q;I;A,I,S,C,E,C,E,C,E,E;I,I,O,W,K;I,C,C,G,G,C,C,E;A,C;A,I,2C,A,6B,0B,kB,I,C,O,M,G,S,C,E,C;I,O,c,C,G,W;Q,Y;Q,O;I;A,I,S,C,E,C;I,C,C,U,G;A,C;A,I,qC,A,6B,0B,Y,I,S,G;I,I,O,I,U,E,O;I,I,S,C;I,I,O,M;Q,I,I,K,I,I,M,a,O,c,C,I,C,K,I,sC,Q,K;I;I,yC,Q;I,O;A;A,I,kC,A,6B,0B,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,O,c,C,2B,c;I,O;A;A,0B,Q,G,0B,S,G,0B,K,G,0B,Q,G,0B,U,G,0B,I,G,0B,M,G,0B,O,G,0B,K,G,0B,K,G,0B,O,G,0B,S,G,0B,c,G,0B,S,G,0B,e,G,0B,iB,G,0B,Q,G,0B,O,G,0B,S,G,0B,c,G,0B,Q,G,K;;A;A,I,wC,A,6B,0B,e,I,C,O,M,G,S,C,E,C,E,C,E,E;I,I,O,W,K;I,O,c,C,G,I;Q,Y;Q,K;Y,O,C,C,E;Q;I;A,I,S,C,E,C,E,C,E,E;I,I,O,W,K;I,C,C,G,G,C,C,E;A,C;A,I,2C,A,6B,0B,kB,I,C,O,M,G,S,C,E,C;I,O,c,C,G,W;Q,Y;Q,O;I;A,I,S,C,E,C;I,C,C,U,G;A,C;A,I,qC,A,6B,0B,Y,I,S,G;I,I,O,I,U,E,O;I,I,S,C;I,I,O,M;Q,I,I,K,I,I,M,a,O,c,C,I,C,K,I,sC,Q,K;I;I,yC,Q;I,O;A;A,O,c,C,2B,c;I,O;A;A,0B,K,G,0B,Y,G,K;;AItHA,MAAA,2BAAA,mCAAA;;A;AEAA,mCAAmC;AACnC,qDAAA,G,O,c,C,2B,c;I,O;A;A,0B,mB,G,0B,c,G,K;AAKA;;;CAGG,GACH,SAAgB,qCAAe,KAAU;IACvC,IAAI,UAAU,QAAQ,UAAU,WAC9B,OAAO;SACF,IAAI,OAAO,UAAU,YAAY,iBAAiB,QACvD,OAAO;IAET,OAAO,KAAK,SAAS,CAAC;AACxB;AAPA,0BAAA,cAAA,GAAA;AASA;;;;;CAKG,GACH,SAAgB,0CACd,oBAA0C;IAE1C,IAAI,CAAC,OAAO,IAAI,CAAC,sBAAsB,MAAM,EAC3C,OAAO,CAAA;IAGT,OAAO;QACL,OAAO,qBAAqB,KAAK;QACjC,MAAM,qBAAqB,SAAS;QACpC,SAAS,qBAAqB,OAAO;QACrC,KAAK,qBAAqB,WAAW;QACrC,WAAW,qBAAqB,SAAS;IAC1C;AACH;AAdA,0BAAA,mBAAA,GAAA;;;AFbA;;;;;;;;;CASG,GACH,SAAgB,mCACd,OAAe,EACf,UAA6B,EAC7B,OAAY;IAEZ,MAAM,MAAM,IAAI,8BAAQ,SAAS,YAAY;IAC7C,QAAQ,MAAM,CAAC,KAAK,CAAC,IAAI,QAAQ,KAAK,yBAAG,GAAG;AAC9C;AAPA,0BAAA,YAAA,GAAA;AASA,SAAgB,4BAAM,IAAY,EAAE,UAAU,EAAE;IAC9C,mCAAa,MAAM,CAAA,GAAI;AACzB;AAFA,0BAAA,KAAA,GAAA;AAIA,MAAM,mCAAa;AAEnB,MAAM;IAKJ,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe,CAA3E;QACE,IAAI,CAAC,SACH,UAAU;QAGZ,IAAI,CAAC,OAAO,GAAG;QACf,IAAI,CAAC,UAAU,GAAG;QAClB,IAAI,CAAC,OAAO,GAAG;IACjB;IAEA,WAAA;QACE,IAAI,SAAS,mCAAa,IAAI,CAAC,OAAO;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG;YAC9D,UAAU;YACV,IAAI,QAAQ;YACZ,IAAK,MAAM,OAAO,IAAI,CAAC,UAAU,CAC/B,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM;gBACvC,MAAM,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI;gBAChC,IAAI,KAAK;oBACP,IAAI,OACF,QAAQ;yBAER,UAAU;oBAGZ,UAAU,CAAA,EAAG,IAAG,CAAA,EAAI,qCAAe,KAAI,CAAE;gBAC1C;YACF;QAEJ;QAED,UAAU,CAAA,EAAG,iCAAU,EAAG,iCAAW,IAAI,CAAC,OAAO,EAAC,CAAE;QACpD,OAAO;IACT;AACD;AAED,SAAS,iCAAW,CAAM;IACxB,OAAO,yCAAe,GACnB,OAAO,CAAC,MAAM,OACd,OAAO,CAAC,OAAO,OACf,OAAO,CAAC,OAAO;AACpB;AAEA,SAAS,qCAAe,CAAM;IAC5B,OAAO,yCAAe,GACnB,OAAO,CAAC,MAAM,OACd,OAAO,CAAC,OAAO,OACf,OAAO,CAAC,OAAO,OACf,OAAO,CAAC,MAAM,OACd,OAAO,CAAC,MAAM;AACnB;;;;A;AI7FA,uCAAuC;A,I,wC,A,6B,0B,e,I,C,O,M,G,S,C,E,C,E,C,E,E;I,I,O,W,K;I,O,c,C,G,I;Q,Y;Q,K;Y,O,C,C,E;Q;I;A,I,S,C,E,C,E,C,E,E;I,I,O,W,K;I,C,C,G,G,C,C,E;A,C;A,I,2C,A,6B,0B,kB,I,C,O,M,G,S,C,E,C;I,O,c,C,G,W;Q,Y;Q,O;I;A,I,S,C,E,C;I,C,C,U,G;A,C;A,I,qC,A,6B,0B,Y,I,S,G;I,I,O,I,U,E,O;I,I,S,C;I,I,O,M;Q,I,I,K,I,I,M,a,O,c,C,I,C,K,I,sC,Q,K;I;I,yC,Q;I,O;A;A,O,c,C,2B,c;I,O;A;A,0B,Y,G,K;;AAEvC,mCAAmC;AACnC,qDAAA,GAEA,MAAA,2BAAA,mCAAA;;AACA,MAAA,2BAAA,mCAAA;;AAGA,SAAgB,mCAAa,OAAe,EAAE,OAAY;IACxD,MAAM,WAAW,QAAQ,GAAG,CAAC,CAAA,OAAA,EAAU,QAAO,CAAE,CAAC;IACjD,IAAI,CAAC,UACH,MAAM,IAAI,MACR,CAAA,qDAAA,EAAwD,QAAO,CAAE;IAGrE,IAAI,CAAC,yBAAG,UAAU,CAAC,WACjB,MAAM,IAAI,MAAM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","sources":["node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js","node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js","src/index.ts","src/inject-cache.ts","src/opts.ts","node_modules/.pnpm/mri@1.2.0/node_modules/mri/lib/index.mjs","node_modules/.pnpm/@actions+core@1.5.0/node_modules/@actions/core/lib/core.js","node_modules/.pnpm/@actions+core@1.5.0/node_modules/@actions/core/src/core.ts","node_modules/.pnpm/@actions+core@1.5.0/node_modules/@actions/core/lib/command.js","node_modules/.pnpm/@actions+core@1.5.0/node_modules/@actions/core/src/command.ts","node_modules/.pnpm/@actions+core@1.5.0/node_modules/@actions/core/lib/utils.js","node_modules/.pnpm/@actions+core@1.5.0/node_modules/@actions/core/src/utils.ts","node_modules/.pnpm/@actions+core@1.5.0/node_modules/@actions/core/lib/file-command.js","node_modules/.pnpm/@actions+core@1.5.0/node_modules/@actions/core/src/file-command.ts","src/run.ts","node_modules/.pnpm/spawn-please@3.0.0/node_modules/spawn-please/src/index.js","node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/index.js","node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/parse.js","node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/util/resolveCommand.js","node_modules/.pnpm/which@2.0.2/node_modules/which/which.js","node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js","node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js","node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/util/escape.js","node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/util/readShebang.js","node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js","node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js","node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/enoent.js","src/extract-cache.ts"],"sourcesContent":["module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction checkPathExt (path, options) {\n var pathext = options.pathExt !== undefined ?\n options.pathExt : process.env.PATHEXT\n\n if (!pathext) {\n return true\n }\n\n pathext = pathext.split(';')\n if (pathext.indexOf('') !== -1) {\n return true\n }\n for (var i = 0; i < pathext.length; i++) {\n var p = pathext[i].toLowerCase()\n if (p && path.substr(-p.length).toLowerCase() === p) {\n return true\n }\n }\n return false\n}\n\nfunction checkStat (stat, path, options) {\n if (!stat.isSymbolicLink() && !stat.isFile()) {\n return false\n }\n return checkPathExt(path, options)\n}\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, path, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), path, options)\n}\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), options)\n}\n\nfunction checkStat (stat, options) {\n return stat.isFile() && checkMode(stat, options)\n}\n\nfunction checkMode (stat, options) {\n var mod = stat.mode\n var uid = stat.uid\n var gid = stat.gid\n\n var myUid = options.uid !== undefined ?\n options.uid : process.getuid && process.getuid()\n var myGid = options.gid !== undefined ?\n options.gid : process.getgid && process.getgid()\n\n var u = parseInt('100', 8)\n var g = parseInt('010', 8)\n var o = parseInt('001', 8)\n var ug = u | g\n\n var ret = (mod & o) ||\n (mod & g) && gid === myGid ||\n (mod & u) && uid === myUid ||\n (mod & ug) && myUid === 0\n\n return ret\n}\n","import fs from \"fs/promises\";\nimport os from \"os\";\nimport { injectCaches } from \"./inject-cache.js\";\nimport { extractCaches } from \"./extract-cache.js\";\nimport { help, parseOpts } from \"./opts.js\";\n\nasync function main(args: string[]) {\n const opts = parseOpts(args);\n\n if (opts.help) {\n return help();\n }\n\n if (opts.extract) {\n // Run the post step\n await extractCaches(opts);\n } else {\n // Otherwise, this is the main step\n if (process.env.GITHUB_STATE !== undefined) {\n await fs.appendFile(process.env.GITHUB_STATE, `POST=true${os.EOL}`);\n }\n await injectCaches(opts);\n }\n}\n\ntry {\n await main(process.argv);\n} catch (err) {\n console.error(err);\n if (err instanceof Error) {\n console.error(err.stack);\n }\n process.exit(1);\n}\n","import fs from 'fs/promises';\nimport path from 'path';\nimport { CacheOptions, Opts, getCacheMap, getMountArgsString, getTargetPath } from './opts.js';\nimport { run } from './run.js';\nimport { notice } from '@actions/core';\n\nasync function injectCache(cacheSource: string, cacheOptions: CacheOptions, scratchDir: string) {\n // Clean Scratch Directory\n await fs.rm(scratchDir, { recursive: true, force: true });\n await fs.mkdir(scratchDir, { recursive: true });\n\n // Prepare Cache Source Directory\n await fs.mkdir(cacheSource, { recursive: true });\n\n // Prepare Timestamp for Layer Cache Busting\n const date = new Date().toISOString();\n await fs.writeFile(path.join(cacheSource, 'buildstamp'), date);\n\n const targetPath = getTargetPath(cacheOptions);\n const mountArgs = getMountArgsString(cacheOptions);\n\n // Prepare Dancefile to Access Caches\n const dancefileContent = `\nFROM busybox:1\nCOPY buildstamp buildstamp\nRUN --mount=${mountArgs} \\\n --mount=type=bind,source=.,target=/var/dance-cache \\\n cp -p -R /var/dance-cache/. ${targetPath} || true\n`;\n await fs.writeFile(path.join(scratchDir, 'Dancefile.inject'), dancefileContent);\n console.log(dancefileContent);\n\n // Inject Data into Docker Cache\n await run('docker', ['buildx', 'build', '-f', path.join(scratchDir, 'Dancefile.inject'), '--tag', 'dance:inject', cacheSource]);\n\n // Clean Directories\n try {\n await fs.rm(cacheSource, { recursive: true, force: true });\n } catch (err) {\n // Ignore Cleaning Errors\n notice(`Error while cleaning cache source directory: ${err}. Ignoring...`);\n }\n}\n\n\nexport async function injectCaches(opts: Opts) {\n const cacheMap = getCacheMap(opts);\n const scratchDir = opts['scratch-dir'];\n\n // Inject Caches for each source-target pair\n for (const [cacheSource, cacheOptions] of Object.entries(cacheMap)) {\n await injectCache(cacheSource, cacheOptions, scratchDir);\n }\n}\n","import mri from 'mri';\nimport { getInput, warning } from '@actions/core';\n\nexport type Opts = {\n \"extract\": boolean\n \"cache-map\": string\n \"scratch-dir\": string\n \"skip-extraction\": boolean\n help: boolean\n /** @deprecated Use `cache-map` instead */\n \"cache-source\"?: string\n /** @deprecated Use `cache-map` instead */\n \"cache-target\"?: string\n}\n\nexport function parseOpts(args: string[]): mri.Argv {\n const opts = mri(args, {\n default: {\n \"cache-map\": getInput(\"cache-map\") || \"{}\",\n \"scratch-dir\": getInput(\"scratch-dir\") || \"scratch\",\n \"skip-extraction\": (getInput(\"skip-extraction\") || \"false\") === \"true\",\n \"extract\": process.env[`STATE_POST`] !== undefined,\n \"help\": false,\n },\n string: [\"cache-map\", \"scratch-dir\", \"cache-source\", \"cache-target\"],\n boolean: [\"skip-extraction\", \"help\", \"extract\"],\n alias: {\n \"help\": [\"h\"],\n },\n })\n\n if (opts[\"cache-source\"] && opts[\"cache-target\"]) {\n warning(\"The `cache-source` and `cache-target` options are deprecated. Use `cache-map` instead.\")\n\n opts[\"cache-map\"] = JSON.stringify({\n [opts[\"cache-source\"]]: opts[\"cache-target\"],\n });\n }\n\n return opts;\n}\n\nexport function help() {\n console.log(`build-cache-dance [options]\nSave 'RUN --mount=type=cache' caches on GitHub Actions or other CI platforms\n\nOptions:\n --extract Extract the cache from the docker container (extract step). Otherwise, inject the cache (main step)\n --cache-map The map of actions source paths to container destination paths or mount arguments\n --scratch-dir Where the action is stores some temporary files for its processing. Default: 'scratch'\n --skip-extraction Skip the extraction of the cache from the docker container\n --help Show this help\n`);\n}\n\nexport type SourcePath = string\nexport type TargetPath = string\nexport type ToStringable = {\n toString(): string;\n}\nexport type CacheOptions = TargetPath | { target: TargetPath } & Record\nexport type CacheMap = Record\n\nexport function getCacheMap(opts: Opts): CacheMap {\n try {\n return JSON.parse(opts[\"cache-map\"]) as CacheMap;\n } catch (e) {\n throw new Error(`Failed to parse cache map. Expected JSON, got:\\n${opts[\"cache-map\"]}\\n${e}`);\n }\n}\n\nexport function getTargetPath(cacheOptions: CacheOptions): TargetPath {\n if (typeof cacheOptions === \"string\") {\n // only the target path is provided\n return cacheOptions;\n } else {\n // object is provided\n if (\"target\" in cacheOptions) {\n return cacheOptions.target;\n } else {\n throw new Error(`Expected the 'target' key in the cache options, got:\\n${cacheOptions}`);\n }\n }\n}\n\n/**\n * Convert a cache options to a string that is passed to --mount=\n * @param CacheOptions The cache options to convert to a string\n */\nexport function getMountArgsString(cacheOptions: CacheOptions): string {\n if (typeof cacheOptions === \"string\") {\n // only the target path is provided\n return `type=cache,target=${cacheOptions}`;\n } else {\n // other options are provided\n const otherOptions = Object.entries(cacheOptions).map(([key, value]) => `${key}=${value}`).join(\",\");\n return `type=cache,${otherOptions}`;\n }\n}\n","function toArr(any) {\n\treturn any == null ? [] : Array.isArray(any) ? any : [any];\n}\n\nfunction toVal(out, key, val, opts) {\n\tvar x, old=out[key], nxt=(\n\t\t!!~opts.string.indexOf(key) ? (val == null || val === true ? '' : String(val))\n\t\t: typeof val === 'boolean' ? val\n\t\t: !!~opts.boolean.indexOf(key) ? (val === 'false' ? false : val === 'true' || (out._.push((x = +val,x * 0 === 0) ? x : val),!!val))\n\t\t: (x = +val,x * 0 === 0) ? x : val\n\t);\n\tout[key] = old == null ? nxt : (Array.isArray(old) ? old.concat(nxt) : [old, nxt]);\n}\n\nexport default function (args, opts) {\n\targs = args || [];\n\topts = opts || {};\n\n\tvar k, arr, arg, name, val, out={ _:[] };\n\tvar i=0, j=0, idx=0, len=args.length;\n\n\tconst alibi = opts.alias !== void 0;\n\tconst strict = opts.unknown !== void 0;\n\tconst defaults = opts.default !== void 0;\n\n\topts.alias = opts.alias || {};\n\topts.string = toArr(opts.string);\n\topts.boolean = toArr(opts.boolean);\n\n\tif (alibi) {\n\t\tfor (k in opts.alias) {\n\t\t\tarr = opts.alias[k] = toArr(opts.alias[k]);\n\t\t\tfor (i=0; i < arr.length; i++) {\n\t\t\t\t(opts.alias[arr[i]] = arr.concat(k)).splice(i, 1);\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (i=opts.boolean.length; i-- > 0;) {\n\t\tarr = opts.alias[opts.boolean[i]] || [];\n\t\tfor (j=arr.length; j-- > 0;) opts.boolean.push(arr[j]);\n\t}\n\n\tfor (i=opts.string.length; i-- > 0;) {\n\t\tarr = opts.alias[opts.string[i]] || [];\n\t\tfor (j=arr.length; j-- > 0;) opts.string.push(arr[j]);\n\t}\n\n\tif (defaults) {\n\t\tfor (k in opts.default) {\n\t\t\tname = typeof opts.default[k];\n\t\t\tarr = opts.alias[k] = opts.alias[k] || [];\n\t\t\tif (opts[name] !== void 0) {\n\t\t\t\topts[name].push(k);\n\t\t\t\tfor (i=0; i < arr.length; i++) {\n\t\t\t\t\topts[name].push(arr[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst keys = strict ? Object.keys(opts.alias) : [];\n\n\tfor (i=0; i < len; i++) {\n\t\targ = args[i];\n\n\t\tif (arg === '--') {\n\t\t\tout._ = out._.concat(args.slice(++i));\n\t\t\tbreak;\n\t\t}\n\n\t\tfor (j=0; j < arg.length; j++) {\n\t\t\tif (arg.charCodeAt(j) !== 45) break; // \"-\"\n\t\t}\n\n\t\tif (j === 0) {\n\t\t\tout._.push(arg);\n\t\t} else if (arg.substring(j, j + 3) === 'no-') {\n\t\t\tname = arg.substring(j + 3);\n\t\t\tif (strict && !~keys.indexOf(name)) {\n\t\t\t\treturn opts.unknown(arg);\n\t\t\t}\n\t\t\tout[name] = false;\n\t\t} else {\n\t\t\tfor (idx=j+1; idx < arg.length; idx++) {\n\t\t\t\tif (arg.charCodeAt(idx) === 61) break; // \"=\"\n\t\t\t}\n\n\t\t\tname = arg.substring(j, idx);\n\t\t\tval = arg.substring(++idx) || (i+1 === len || (''+args[i+1]).charCodeAt(0) === 45 || args[++i]);\n\t\t\tarr = (j === 2 ? [name] : name);\n\n\t\t\tfor (idx=0; idx < arr.length; idx++) {\n\t\t\t\tname = arr[idx];\n\t\t\t\tif (strict && !~keys.indexOf(name)) return opts.unknown('-'.repeat(j) + name);\n\t\t\t\ttoVal(out, name, (idx + 1 < arr.length) || val, opts);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (defaults) {\n\t\tfor (k in opts.default) {\n\t\t\tif (out[k] === void 0) {\n\t\t\t\tout[k] = opts.default[k];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (alibi) {\n\t\tfor (k in out) {\n\t\t\tarr = opts.alias[k] || [];\n\t\t\twhile (arr.length > 0) {\n\t\t\t\tout[arr.shift()] = out[k];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn out;\n}\n",null,null,null,null,null,null,null,null,"import spawnPlease from 'spawn-please'\nimport cp, { type ChildProcess } from 'child_process';\n\nexport async function run(command: string, args: string[]) {\n try {\n return await spawnPlease(command, args);\n } catch (error) {\n console.error(`Error running command: ${command} ${args.join(' ')}`);\n throw error;\n }\n}\n\nexport async function runPiped([command1, args1]: [string, string[]], [command2, args2]: [string, string[]]) {\n const cp1 = cp.spawn(command1, args1, { stdio: ['inherit', 'pipe', 'inherit'] });\n const cp2 = cp.spawn(command2, args2, { stdio: ['pipe', 'inherit', 'inherit'] });\n\n cp1.stdout.pipe(cp2.stdin);\n\n await Promise.all([assertSuccess(cp1), assertSuccess(cp2)]);\n}\n\nfunction assertSuccess(cp: ChildProcess) {\n return new Promise((resolve, reject) => {\n cp.on('error', (error) => {\n reject(error);\n });\n cp.on('close', (code) => {\n if (code !== 0) {\n reject(new Error(`process exited with code ${code}`));\n }\n resolve();\n });\n });\n}\n","const spawn = require('cross-spawn')\n\n/** Spawns a child process, as long as you ask nicely.\n * \n * @param {string} command - The shell command to execute.\n * @param {string[]} [args] - An array of arguments that are given after the command.\n * @param {{ rejectOnError?: boolean, stdin?: string, stderr?: (data: string) => void, stdout?: (data: string) => void }} [options] - Options.\n * @param {any} [spawnOptions] - Options that are passed directly to child_process.spawn. Also supports stdin: string.\n * @returns {Promise<{ stdout: string, stderr: string }>}\n */\nconst spawnPlease = (command, args, options={}, spawnOptions={}) => {\n // defaults\n if (options.rejectOnError === undefined) {\n options.rejectOnError = true\n }\n\n let stdout = ''\n let stderr = ''\n const child = spawn(command, args, spawnOptions)\n\n return new Promise((resolve, reject) => {\n if (options.stdin !== undefined && options.stdin != null) {\n child.stdin.write(options.stdin)\n }\n child.stdin.end()\n\n child.stdout.on('data', data => {\n stdout += data\n if (options.stdout) options.stdout(data)\n })\n\n child.stderr.on('data', data => {\n stderr += data\n if (options.stderr) options.stderr(data)\n })\n\n if (options.rejectOnError) {\n child.addListener('error', reject)\n }\n\n child.on('close', code => {\n if (code !== 0 && options.rejectOnError) {\n reject(stderr)\n } else {\n resolve({ stdout, stderr })\n }\n })\n })\n}\n\nmodule.exports = spawnPlease\n","'use strict';\n\nconst cp = require('child_process');\nconst parse = require('./lib/parse');\nconst enoent = require('./lib/enoent');\n\nfunction spawn(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n\n // Hook into child process \"exit\" event to emit an error if the command\n // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n enoent.hookChildProcess(spawned, parsed);\n\n return spawned;\n}\n\nfunction spawnSync(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);\n\n // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);\n\n return result;\n}\n\nmodule.exports = spawn;\nmodule.exports.spawn = spawn;\nmodule.exports.sync = spawnSync;\n\nmodule.exports._parse = parse;\nmodule.exports._enoent = enoent;\n","'use strict';\n\nconst path = require('path');\nconst resolveCommand = require('./util/resolveCommand');\nconst escape = require('./util/escape');\nconst readShebang = require('./util/readShebang');\n\nconst isWin = process.platform === 'win32';\nconst isExecutableRegExp = /\\.(?:com|exe)$/i;\nconst isCmdShimRegExp = /node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;\n\nfunction detectShebang(parsed) {\n parsed.file = resolveCommand(parsed);\n\n const shebang = parsed.file && readShebang(parsed.file);\n\n if (shebang) {\n parsed.args.unshift(parsed.file);\n parsed.command = shebang;\n\n return resolveCommand(parsed);\n }\n\n return parsed.file;\n}\n\nfunction parseNonShell(parsed) {\n if (!isWin) {\n return parsed;\n }\n\n // Detect & add support for shebangs\n const commandFile = detectShebang(parsed);\n\n // We don't need a shell if the command filename is an executable\n const needsShell = !isExecutableRegExp.test(commandFile);\n\n // If a shell is required, use cmd.exe and take care of escaping everything correctly\n // Note that `forceShell` is an hidden option used only in tests\n if (parsed.options.forceShell || needsShell) {\n // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`\n // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument\n // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,\n // we need to double escape them\n const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);\n\n // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\\bar)\n // This is necessary otherwise it will always fail with ENOENT in those cases\n parsed.command = path.normalize(parsed.command);\n\n // Escape command & arguments\n parsed.command = escape.command(parsed.command);\n parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));\n\n const shellCommand = [parsed.command].concat(parsed.args).join(' ');\n\n parsed.args = ['/d', '/s', '/c', `\"${shellCommand}\"`];\n parsed.command = process.env.comspec || 'cmd.exe';\n parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped\n }\n\n return parsed;\n}\n\nfunction parse(command, args, options) {\n // Normalize arguments, similar to nodejs\n if (args && !Array.isArray(args)) {\n options = args;\n args = null;\n }\n\n args = args ? args.slice(0) : []; // Clone array to avoid changing the original\n options = Object.assign({}, options); // Clone object to avoid changing the original\n\n // Build our parsed object\n const parsed = {\n command,\n args,\n options,\n file: undefined,\n original: {\n command,\n args,\n },\n };\n\n // Delegate further parsing to shell or non-shell\n return options.shell ? parsed : parseNonShell(parsed);\n}\n\nmodule.exports = parse;\n","'use strict';\n\nconst path = require('path');\nconst which = require('which');\nconst getPathKey = require('path-key');\n\nfunction resolveCommandAttempt(parsed, withoutPathExt) {\n const env = parsed.options.env || process.env;\n const cwd = process.cwd();\n const hasCustomCwd = parsed.options.cwd != null;\n // Worker threads do not have process.chdir()\n const shouldSwitchCwd = hasCustomCwd && process.chdir !== undefined && !process.chdir.disabled;\n\n // If a custom `cwd` was specified, we need to change the process cwd\n // because `which` will do stat calls but does not support a custom cwd\n if (shouldSwitchCwd) {\n try {\n process.chdir(parsed.options.cwd);\n } catch (err) {\n /* Empty */\n }\n }\n\n let resolved;\n\n try {\n resolved = which.sync(parsed.command, {\n path: env[getPathKey({ env })],\n pathExt: withoutPathExt ? path.delimiter : undefined,\n });\n } catch (e) {\n /* Empty */\n } finally {\n if (shouldSwitchCwd) {\n process.chdir(cwd);\n }\n }\n\n // If we successfully resolved, ensure that an absolute path is returned\n // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it\n if (resolved) {\n resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);\n }\n\n return resolved;\n}\n\nfunction resolveCommand(parsed) {\n return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);\n}\n\nmodule.exports = resolveCommand;\n","const isWindows = process.platform === 'win32' ||\n process.env.OSTYPE === 'cygwin' ||\n process.env.OSTYPE === 'msys'\n\nconst path = require('path')\nconst COLON = isWindows ? ';' : ':'\nconst isexe = require('isexe')\n\nconst getNotFoundError = (cmd) =>\n Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })\n\nconst getPathInfo = (cmd, opt) => {\n const colon = opt.colon || COLON\n\n // If it has a slash, then we don't bother searching the pathenv.\n // just check the file itself, and that's it.\n const pathEnv = cmd.match(/\\//) || isWindows && cmd.match(/\\\\/) ? ['']\n : (\n [\n // windows always checks the cwd first\n ...(isWindows ? [process.cwd()] : []),\n ...(opt.path || process.env.PATH ||\n /* istanbul ignore next: very unusual */ '').split(colon),\n ]\n )\n const pathExtExe = isWindows\n ? opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM'\n : ''\n const pathExt = isWindows ? pathExtExe.split(colon) : ['']\n\n if (isWindows) {\n if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')\n pathExt.unshift('')\n }\n\n return {\n pathEnv,\n pathExt,\n pathExtExe,\n }\n}\n\nconst which = (cmd, opt, cb) => {\n if (typeof opt === 'function') {\n cb = opt\n opt = {}\n }\n if (!opt)\n opt = {}\n\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n const step = i => new Promise((resolve, reject) => {\n if (i === pathEnv.length)\n return opt.all && found.length ? resolve(found)\n : reject(getNotFoundError(cmd))\n\n const ppRaw = pathEnv[i]\n const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n const pCmd = path.join(pathPart, cmd)\n const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n : pCmd\n\n resolve(subStep(p, i, 0))\n })\n\n const subStep = (p, i, ii) => new Promise((resolve, reject) => {\n if (ii === pathExt.length)\n return resolve(step(i + 1))\n const ext = pathExt[ii]\n isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {\n if (!er && is) {\n if (opt.all)\n found.push(p + ext)\n else\n return resolve(p + ext)\n }\n return resolve(subStep(p, i, ii + 1))\n })\n })\n\n return cb ? step(0).then(res => cb(null, res), cb) : step(0)\n}\n\nconst whichSync = (cmd, opt) => {\n opt = opt || {}\n\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n for (let i = 0; i < pathEnv.length; i ++) {\n const ppRaw = pathEnv[i]\n const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n const pCmd = path.join(pathPart, cmd)\n const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n : pCmd\n\n for (let j = 0; j < pathExt.length; j ++) {\n const cur = p + pathExt[j]\n try {\n const is = isexe.sync(cur, { pathExt: pathExtExe })\n if (is) {\n if (opt.all)\n found.push(cur)\n else\n return cur\n }\n } catch (ex) {}\n }\n }\n\n if (opt.all && found.length)\n return found\n\n if (opt.nothrow)\n return null\n\n throw getNotFoundError(cmd)\n}\n\nmodule.exports = which\nwhich.sync = whichSync\n","var fs = require('fs')\nvar core\nif (process.platform === 'win32' || global.TESTING_WINDOWS) {\n core = require('./windows.js')\n} else {\n core = require('./mode.js')\n}\n\nmodule.exports = isexe\nisexe.sync = sync\n\nfunction isexe (path, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n if (!cb) {\n if (typeof Promise !== 'function') {\n throw new TypeError('callback not provided')\n }\n\n return new Promise(function (resolve, reject) {\n isexe(path, options || {}, function (er, is) {\n if (er) {\n reject(er)\n } else {\n resolve(is)\n }\n })\n })\n }\n\n core(path, options || {}, function (er, is) {\n // ignore EACCES because that just means we aren't allowed to run it\n if (er) {\n if (er.code === 'EACCES' || options && options.ignoreErrors) {\n er = null\n is = false\n }\n }\n cb(er, is)\n })\n}\n\nfunction sync (path, options) {\n // my kingdom for a filtered catch\n try {\n return core.sync(path, options || {})\n } catch (er) {\n if (options && options.ignoreErrors || er.code === 'EACCES') {\n return false\n } else {\n throw er\n }\n }\n}\n","'use strict';\n\nconst pathKey = (options = {}) => {\n\tconst environment = options.env || process.env;\n\tconst platform = options.platform || process.platform;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(environment).reverse().find(key => key.toUpperCase() === 'PATH') || 'Path';\n};\n\nmodule.exports = pathKey;\n// TODO: Remove this for the next major release\nmodule.exports.default = pathKey;\n","'use strict';\n\n// See http://www.robvanderwoude.com/escapechars.php\nconst metaCharsRegExp = /([()\\][%!^\"`<>&|;, *?])/g;\n\nfunction escapeCommand(arg) {\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n return arg;\n}\n\nfunction escapeArgument(arg, doubleEscapeMetaChars) {\n // Convert to string\n arg = `${arg}`;\n\n // Algorithm below is based on https://qntm.org/cmd\n\n // Sequence of backslashes followed by a double quote:\n // double up all the backslashes and escape the double quote\n arg = arg.replace(/(\\\\*)\"/g, '$1$1\\\\\"');\n\n // Sequence of backslashes followed by the end of the string\n // (which will become a double quote later):\n // double up all the backslashes\n arg = arg.replace(/(\\\\*)$/, '$1$1');\n\n // All other backslashes occur literally\n\n // Quote the whole thing:\n arg = `\"${arg}\"`;\n\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n // Double escape meta chars if necessary\n if (doubleEscapeMetaChars) {\n arg = arg.replace(metaCharsRegExp, '^$1');\n }\n\n return arg;\n}\n\nmodule.exports.command = escapeCommand;\nmodule.exports.argument = escapeArgument;\n","'use strict';\n\nconst fs = require('fs');\nconst shebangCommand = require('shebang-command');\n\nfunction readShebang(command) {\n // Read the first 150 bytes from the file\n const size = 150;\n const buffer = Buffer.alloc(size);\n\n let fd;\n\n try {\n fd = fs.openSync(command, 'r');\n fs.readSync(fd, buffer, 0, size, 0);\n fs.closeSync(fd);\n } catch (e) { /* Empty */ }\n\n // Attempt to extract shebang (null is returned if not a shebang)\n return shebangCommand(buffer.toString());\n}\n\nmodule.exports = readShebang;\n","'use strict';\nconst shebangRegex = require('shebang-regex');\n\nmodule.exports = (string = '') => {\n\tconst match = string.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [path, argument] = match[0].replace(/#! ?/, '').split(' ');\n\tconst binary = path.split('/').pop();\n\n\tif (binary === 'env') {\n\t\treturn argument;\n\t}\n\n\treturn argument ? `${binary} ${argument}` : binary;\n};\n","'use strict';\nmodule.exports = /^#!(.*)/;\n","'use strict';\n\nconst isWin = process.platform === 'win32';\n\nfunction notFoundError(original, syscall) {\n return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {\n code: 'ENOENT',\n errno: 'ENOENT',\n syscall: `${syscall} ${original.command}`,\n path: original.command,\n spawnargs: original.args,\n });\n}\n\nfunction hookChildProcess(cp, parsed) {\n if (!isWin) {\n return;\n }\n\n const originalEmit = cp.emit;\n\n cp.emit = function (name, arg1) {\n // If emitting \"exit\" event and exit code is 1, we need to check if\n // the command exists and emit an \"error\" instead\n // See https://github.com/IndigoUnited/node-cross-spawn/issues/16\n if (name === 'exit') {\n const err = verifyENOENT(arg1, parsed, 'spawn');\n\n if (err) {\n return originalEmit.call(cp, 'error', err);\n }\n }\n\n return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params\n };\n}\n\nfunction verifyENOENT(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawn');\n }\n\n return null;\n}\n\nfunction verifyENOENTSync(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawnSync');\n }\n\n return null;\n}\n\nmodule.exports = {\n hookChildProcess,\n verifyENOENT,\n verifyENOENTSync,\n notFoundError,\n};\n","import fs from 'fs/promises';\nimport path from 'path';\nimport { CacheOptions, Opts, getCacheMap, getMountArgsString, getTargetPath } from './opts.js';\nimport { run, runPiped } from './run.js';\n\nasync function extractCache(cacheSource: string, cacheOptions: CacheOptions, scratchDir: string) {\n // Prepare Timestamp for Layer Cache Busting\n const date = new Date().toISOString();\n \n await fs.mkdir(scratchDir, { recursive: true });\n await fs.writeFile(path.join(scratchDir, 'buildstamp'), date);\n\n // Prepare Dancefile to Access Caches\n const targetPath = getTargetPath(cacheOptions);\n const mountArgs = getMountArgsString(cacheOptions);\n\n const dancefileContent = `\nFROM busybox:1\nCOPY buildstamp buildstamp\nRUN --mount=${mountArgs} \\\n mkdir -p /var/dance-cache/ \\\n && cp -p -R ${targetPath}/. /var/dance-cache/ || true\n`;\n await fs.writeFile(path.join(scratchDir, 'Dancefile.extract'), dancefileContent);\n console.log(dancefileContent);\n\n // Extract Data into Docker Image\n await run('docker', ['buildx', 'build', '-f', path.join(scratchDir, 'Dancefile.extract'), '--tag', 'dance:extract', '--load', scratchDir]);\n\n // Create Extraction Image\n try {\n await run('docker', ['rm', '-f', 'cache-container']);\n } catch (error) {\n // Ignore error if container does not exist\n }\n await run('docker', ['create', '-ti', '--name', 'cache-container', 'dance:extract']);\n\n // Unpack Docker Image into Scratch\n await runPiped(\n ['docker', ['cp', '-L', 'cache-container:/var/dance-cache', '-']],\n ['tar', ['-H', 'posix', '-x', '-C', scratchDir]]\n );\n\n // Move Cache into Its Place\n await fs.rm(cacheSource, { recursive: true, force: true });\n await fs.rename(path.join(scratchDir, 'dance-cache'), cacheSource);\n}\n\nexport async function extractCaches(opts: Opts) {\n if (opts[\"skip-extraction\"]) {\n console.log(\"skip-extraction is set. Skipping extraction step...\");\n return;\n }\n\n const cacheMap = getCacheMap(opts);\n const scratchDir = opts['scratch-dir'];\n\n // Extract Caches for each source-target pair\n for (const [cacheSource, cacheOptions] of Object.entries(cacheMap)) {\n await extractCache(cacheSource, cacheOptions, scratchDir);\n }\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../"} \ No newline at end of file +{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,4BAAM,IAAI,GAAG;;AAIb,SAAS,mCAAc,IAAI,EAAE,OAAO;IAClC,IAAI,UAAU,QAAQ,OAAO,KAAK,YAChC,QAAQ,OAAO,GAAG,QAAQ,GAAG,CAAC,OAAO;IAEvC,IAAI,CAAC,SACH,OAAO;IAGT,UAAU,QAAQ,KAAK,CAAC;IACxB,IAAI,QAAQ,OAAO,CAAC,QAAQ,IAC1B,OAAO;IAET,IAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,MAAM,EAAE,IAAK;QACvC,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,WAAW;QAC9B,IAAI,KAAK,KAAK,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,OAAO,GAChD,OAAO;IAEX;IACA,OAAO;AACT;AAEA,SAAS,gCAAW,IAAI,EAAE,IAAI,EAAE,OAAO;IACrC,IAAI,CAAC,KAAK,cAAc,MAAM,CAAC,KAAK,MAAM,IACxC,OAAO;IAET,OAAO,mCAAa,MAAM;AAC5B;AAEA,SAAS,4BAAO,IAAI,EAAE,OAAO,EAAE,EAAE;IAC/B,YAAQ,MAAM,SAAU,EAAE,EAAE,IAAI;QAC9B,GAAG,IAAI,KAAK,QAAQ,gCAAU,MAAM,MAAM;IAC5C;AACF;AAEA,SAAS,2BAAM,IAAI,EAAE,OAAO;IAC1B,OAAO,gCAAU,gBAAY,OAAO,MAAM;AAC5C;;;;;ACzCA,iBAAiB;AACjB,4BAAM,IAAI,GAAG;;AAIb,SAAS,4BAAO,IAAI,EAAE,OAAO,EAAE,EAAE;IAC/B,YAAQ,MAAM,SAAU,EAAE,EAAE,IAAI;QAC9B,GAAG,IAAI,KAAK,QAAQ,gCAAU,MAAM;IACtC;AACF;AAEA,SAAS,2BAAM,IAAI,EAAE,OAAO;IAC1B,OAAO,gCAAU,gBAAY,OAAO;AACtC;AAEA,SAAS,gCAAW,IAAI,EAAE,OAAO;IAC/B,OAAO,KAAK,MAAM,MAAM,gCAAU,MAAM;AAC1C;AAEA,SAAS,gCAAW,IAAI,EAAE,OAAO;IAC/B,IAAI,MAAM,KAAK,IAAI;IACnB,IAAI,MAAM,KAAK,GAAG;IAClB,IAAI,MAAM,KAAK,GAAG;IAElB,IAAI,QAAQ,QAAQ,GAAG,KAAK,YAC1B,QAAQ,GAAG,GAAG,QAAQ,MAAM,IAAI,QAAQ,MAAM;IAChD,IAAI,QAAQ,QAAQ,GAAG,KAAK,YAC1B,QAAQ,GAAG,GAAG,QAAQ,MAAM,IAAI,QAAQ,MAAM;IAEhD,IAAI,IAAI,SAAS,OAAO;IACxB,IAAI,IAAI,SAAS,OAAO;IACxB,IAAI,IAAI,SAAS,OAAO;IACxB,IAAI,KAAK,IAAI;IAEb,IAAI,MAAM,AAAC,MAAM,KACf,AAAC,MAAM,KAAM,QAAQ,SACrB,AAAC,MAAM,KAAM,QAAQ,SACrB,AAAC,MAAM,MAAO,UAAU;IAE1B,OAAO;AACT;;;;;;;;AIxCA,SAAS,4BAAM,GAAG;IACjB,OAAO,OAAO,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,OAAO,MAAM;QAAC;KAAI;AAC3D;AAEA,SAAS,4BAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI;IACjC,IAAI,GAAG,MAAI,GAAG,CAAC,IAAI,EAAE,MACpB,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,OAAQ,OAAO,QAAQ,QAAQ,OAAO,KAAK,OAAO,OACvE,OAAO,QAAQ,YAAY,MAC3B,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,OAAQ,QAAQ,UAAU,QAAQ,QAAQ,UAAW,CAAA,IAAI,CAAC,CAAC,IAAI,CAAC,AAAC,CAAA,IAAI,CAAC,KAAI,IAAI,MAAM,CAAA,IAAK,IAAI,MAAK,CAAC,CAAC,GAAE,IAC9H,AAAC,CAAA,IAAI,CAAC,KAAI,IAAI,MAAM,CAAA,IAAK,IAAI;IAEhC,GAAG,CAAC,IAAI,GAAG,OAAO,OAAO,MAAO,MAAM,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO;QAAC;QAAK;KAAI;AAClF;AAEe,kDAAU,IAAI,EAAE,IAAI;IAClC,OAAO,QAAQ,EAAE;IACjB,OAAO,QAAQ,CAAC;IAEhB,IAAI,GAAG,KAAK,KAAK,MAAM,KAAK,MAAI;QAAE,GAAE,EAAE;IAAC;IACvC,IAAI,IAAE,GAAG,IAAE,GAAG,MAAI,GAAG,MAAI,KAAK,MAAM;IAEpC,MAAM,QAAQ,KAAK,KAAK,KAAK,KAAK;IAClC,MAAM,SAAS,KAAK,OAAO,KAAK,KAAK;IACrC,MAAM,WAAW,KAAK,OAAO,KAAK,KAAK;IAEvC,KAAK,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC;IAC5B,KAAK,MAAM,GAAG,4BAAM,KAAK,MAAM;IAC/B,KAAK,OAAO,GAAG,4BAAM,KAAK,OAAO;IAEjC,IAAI,OACH,IAAK,KAAK,KAAK,KAAK,CAAE;QACrB,MAAM,KAAK,KAAK,CAAC,EAAE,GAAG,4BAAM,KAAK,KAAK,CAAC,EAAE;QACzC,IAAK,IAAE,GAAG,IAAI,IAAI,MAAM,EAAE,IACzB,AAAC,CAAA,KAAK,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,EAAC,EAAG,MAAM,CAAC,GAAG;IAEjD;IAGD,IAAK,IAAE,KAAK,OAAO,CAAC,MAAM,EAAE,MAAM,GAAI;QACrC,MAAM,KAAK,KAAK,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QACvC,IAAK,IAAE,IAAI,MAAM,EAAE,MAAM,GAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IACtD;IAEA,IAAK,IAAE,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAI;QACpC,MAAM,KAAK,KAAK,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QACtC,IAAK,IAAE,IAAI,MAAM,EAAE,MAAM,GAAI,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IACrD;IAEA,IAAI,UACH,IAAK,KAAK,KAAK,OAAO,CAAE;QACvB,OAAO,OAAO,KAAK,OAAO,CAAC,EAAE;QAC7B,MAAM,KAAK,KAAK,CAAC,EAAE,GAAG,KAAK,KAAK,CAAC,EAAE,IAAI,EAAE;QACzC,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,GAAG;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAChB,IAAK,IAAE,GAAG,IAAI,IAAI,MAAM,EAAE,IACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAExB;IACD;IAGD,MAAM,OAAO,SAAS,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;IAElD,IAAK,IAAE,GAAG,IAAI,KAAK,IAAK;QACvB,MAAM,IAAI,CAAC,EAAE;QAEb,IAAI,QAAQ,MAAM;YACjB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE;YAClC;QACD;QAEA,IAAK,IAAE,GAAG,IAAI,IAAI,MAAM,EAAE,IAAK;YAC9B,IAAI,IAAI,UAAU,CAAC,OAAO,IAAI,OAAO,MAAM;QAC5C;QAEA,IAAI,MAAM,GACT,IAAI,CAAC,CAAC,IAAI,CAAC;aACL,IAAI,IAAI,SAAS,CAAC,GAAG,IAAI,OAAO,OAAO;YAC7C,OAAO,IAAI,SAAS,CAAC,IAAI;YACzB,IAAI,UAAU,CAAC,CAAC,KAAK,OAAO,CAAC,OAC5B,OAAO,KAAK,OAAO,CAAC;YAErB,GAAG,CAAC,KAAK,GAAG;QACb,OAAO;YACN,IAAK,MAAI,IAAE,GAAG,MAAM,IAAI,MAAM,EAAE,MAAO;gBACtC,IAAI,IAAI,UAAU,CAAC,SAAS,IAAI,OAAO,MAAM;YAC9C;YAEA,OAAO,IAAI,SAAS,CAAC,GAAG;YACxB,MAAM,IAAI,SAAS,CAAC,EAAE,QAAS,IAAE,MAAM,OAAO,AAAC,CAAA,KAAG,IAAI,CAAC,IAAE,EAAE,AAAD,EAAG,UAAU,CAAC,OAAO,MAAM,IAAI,CAAC,EAAE,EAAE;YAC9F,MAAO,MAAM,IAAI;gBAAC;aAAK,GAAG;YAE1B,IAAK,MAAI,GAAG,MAAM,IAAI,MAAM,EAAE,MAAO;gBACpC,OAAO,GAAG,CAAC,IAAI;gBACf,IAAI,UAAU,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,OAAO,KAAK,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK;gBACxE,4BAAM,KAAK,MAAM,AAAC,MAAM,IAAI,IAAI,MAAM,IAAK,KAAK;YACjD;QACD;IACD;IAEA,IAAI,UAAU;QACb,IAAK,KAAK,KAAK,OAAO,CACrB,IAAI,GAAG,CAAC,EAAE,KAAK,KAAK,GACnB,GAAG,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,EAAE;IAG3B;IAEA,IAAI,OACH,IAAK,KAAK,IAAK;QACd,MAAM,KAAK,KAAK,CAAC,EAAE,IAAI,EAAE;QACzB,MAAO,IAAI,MAAM,GAAG,EACnB,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,EAAE;IAE3B;IAGD,OAAO;AACR;;;;A;A,I,wC,A,6B,0B,e,I,C,O,M,G,S,C,E,C,E,C,E,E;I,I,O,W,K;I,O,c,C,G,I;Q,Y;Q,K;Y,O,C,C,E;Q;I;A,I,S,C,E,C,E,C,E,E;I,I,O,W,K;I,C,C,G,G,C,C,E;A,C;A,I,2C,A,6B,0B,kB,I,C,O,M,G,S,C,E,C;I,O,c,C,G,W;Q,Y;Q,O;I;A,I,S,C,E,C;I,C,C,U,G;A,C;A,I,qC,A,6B,0B,Y,I,S,G;I,I,O,I,U,E,O;I,I,S,C;I,I,O,M;Q,I,I,K,I,I,M,a,O,c,C,I,C,K,I,sC,Q,K;I;I,yC,Q;I,O;A;A,I,kC,A,6B,0B,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,O,c,C,2B,c;I,O;A;A,0B,Q,G,0B,S,G,0B,K,G,0B,Q,G,0B,U,G,0B,I,G,0B,M,G,0B,O,G,0B,K,G,0B,K,G,0B,O,G,0B,S,G,0B,c,G,0B,S,G,0B,e,G,0B,iB,G,0B,Q,G,0B,O,G,0B,S,G,0B,c,G,0B,Q,G,K;;A;A,I,wC,A,6B,0B,e,I,C,O,M,G,S,C,E,C,E,C,E,E;I,I,O,W,K;I,O,c,C,G,I;Q,Y;Q,K;Y,O,C,C,E;Q;I;A,I,S,C,E,C,E,C,E,E;I,I,O,W,K;I,C,C,G,G,C,C,E;A,C;A,I,2C,A,6B,0B,kB,I,C,O,M,G,S,C,E,C;I,O,c,C,G,W;Q,Y;Q,O;I;A,I,S,C,E,C;I,C,C,U,G;A,C;A,I,qC,A,6B,0B,Y,I,S,G;I,I,O,I,U,E,O;I,I,S,C;I,I,O,M;Q,I,I,K,I,I,M,a,O,c,C,I,C,K,I,sC,Q,K;I;I,yC,Q;I,O;A;A,O,c,C,2B,c;I,O;A;A,0B,K,G,0B,Y,G,K;;AItHA,MAAA,2BAAA,mCAAA;;A;AEAA,mCAAmC;AACnC,qDAAA,G,O,c,C,2B,c;I,O;A;A,0B,mB,G,0B,c,G,K;AAKA;;;CAGG,GACH,SAAgB,qCAAe,KAAU;IACvC,IAAI,UAAU,QAAQ,UAAU,WAC9B,OAAO;SACF,IAAI,OAAO,UAAU,YAAY,iBAAiB,QACvD,OAAO;IAET,OAAO,KAAK,SAAS,CAAC;AACxB;AAPA,0BAAA,cAAA,GAAA;AASA;;;;;CAKG,GACH,SAAgB,0CACd,oBAA0C;IAE1C,IAAI,CAAC,OAAO,IAAI,CAAC,sBAAsB,MAAM,EAC3C,OAAO,CAAA;IAGT,OAAO;QACL,OAAO,qBAAqB,KAAK;QACjC,MAAM,qBAAqB,SAAS;QACpC,SAAS,qBAAqB,OAAO;QACrC,KAAK,qBAAqB,WAAW;QACrC,WAAW,qBAAqB,SAAS;IAC1C;AACH;AAdA,0BAAA,mBAAA,GAAA;;;AFbA;;;;;;;;;CASG,GACH,SAAgB,mCACd,OAAe,EACf,UAA6B,EAC7B,OAAY;IAEZ,MAAM,MAAM,IAAI,8BAAQ,SAAS,YAAY;IAC7C,QAAQ,MAAM,CAAC,KAAK,CAAC,IAAI,QAAQ,KAAK,yBAAG,GAAG;AAC9C;AAPA,0BAAA,YAAA,GAAA;AASA,SAAgB,4BAAM,IAAY,EAAE,UAAU,EAAE;IAC9C,mCAAa,MAAM,CAAA,GAAI;AACzB;AAFA,0BAAA,KAAA,GAAA;AAIA,MAAM,mCAAa;AAEnB,MAAM;IAKJ,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe,CAA3E;QACE,IAAI,CAAC,SACH,UAAU;QAGZ,IAAI,CAAC,OAAO,GAAG;QACf,IAAI,CAAC,UAAU,GAAG;QAClB,IAAI,CAAC,OAAO,GAAG;IACjB;IAEA,WAAA;QACE,IAAI,SAAS,mCAAa,IAAI,CAAC,OAAO;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG;YAC9D,UAAU;YACV,IAAI,QAAQ;YACZ,IAAK,MAAM,OAAO,IAAI,CAAC,UAAU,CAC/B,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM;gBACvC,MAAM,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI;gBAChC,IAAI,KAAK;oBACP,IAAI,OACF,QAAQ;yBAER,UAAU;oBAGZ,UAAU,CAAA,EAAG,IAAG,CAAA,EAAI,qCAAe,KAAI,CAAE;gBAC1C;YACF;QAEJ;QAED,UAAU,CAAA,EAAG,iCAAU,EAAG,iCAAW,IAAI,CAAC,OAAO,EAAC,CAAE;QACpD,OAAO;IACT;AACD;AAED,SAAS,iCAAW,CAAM;IACxB,OAAO,yCAAe,GACnB,OAAO,CAAC,MAAM,OACd,OAAO,CAAC,OAAO,OACf,OAAO,CAAC,OAAO;AACpB;AAEA,SAAS,qCAAe,CAAM;IAC5B,OAAO,yCAAe,GACnB,OAAO,CAAC,MAAM,OACd,OAAO,CAAC,OAAO,OACf,OAAO,CAAC,OAAO,OACf,OAAO,CAAC,MAAM,OACd,OAAO,CAAC,MAAM;AACnB;;;;A;AI7FA,uCAAuC;A,I,wC,A,6B,0B,e,I,C,O,M,G,S,C,E,C,E,C,E,E;I,I,O,W,K;I,O,c,C,G,I;Q,Y;Q,K;Y,O,C,C,E;Q;I;A,I,S,C,E,C,E,C,E,E;I,I,O,W,K;I,C,C,G,G,C,C,E;A,C;A,I,2C,A,6B,0B,kB,I,C,O,M,G,S,C,E,C;I,O,c,C,G,W;Q,Y;Q,O;I;A,I,S,C,E,C;I,C,C,U,G;A,C;A,I,qC,A,6B,0B,Y,I,S,G;I,I,O,I,U,E,O;I,I,S,C;I,I,O,M;Q,I,I,K,I,I,M,a,O,c,C,I,C,K,I,sC,Q,K;I;I,yC,Q;I,O;A;A,O,c,C,2B,c;I,O;A;A,0B,Y,G,K;;AAEvC,mCAAmC;AACnC,qDAAA,GAEA,MAAA,2BAAA,mCAAA;;AACA,MAAA,2BAAA,mCAAA;;AAGA,SAAgB,mCAAa,OAAe,EAAE,OAAY;IACxD,MAAM,WAAW,QAAQ,GAAG,CAAC,CAAA,OAAA,EAAU,QAAO,CAAE,CAAC;IACjD,IAAI,CAAC,UACH,MAAM,IAAI,MACR,CAAA,qDAAA,EAAwD,QAAO,CAAE;IAGrE,IAAI,CAAC,yBAAG,UAAU,CAAC,WACjB,MAAM,IAAI,MAAM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","sources":["node_modules/isexe/windows.js","node_modules/isexe/mode.js","src/index.ts","src/inject-cache.ts","src/opts.ts","node_modules/mri/lib/index.mjs","node_modules/@actions/core/lib/core.js","node_modules/@actions/core/src/core.ts","node_modules/@actions/core/lib/command.js","node_modules/@actions/core/src/command.ts","node_modules/@actions/core/lib/utils.js","node_modules/@actions/core/src/utils.ts","node_modules/@actions/core/lib/file-command.js","node_modules/@actions/core/src/file-command.ts","src/run.ts","node_modules/spawn-please/src/index.js","node_modules/cross-spawn/index.js","node_modules/cross-spawn/lib/parse.js","node_modules/cross-spawn/lib/util/resolveCommand.js","node_modules/which/which.js","node_modules/isexe/index.js","node_modules/path-key/index.js","node_modules/cross-spawn/lib/util/escape.js","node_modules/cross-spawn/lib/util/readShebang.js","node_modules/shebang-command/index.js","node_modules/shebang-regex/index.js","node_modules/cross-spawn/lib/enoent.js","src/extract-cache.ts"],"sourcesContent":["module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction checkPathExt (path, options) {\n var pathext = options.pathExt !== undefined ?\n options.pathExt : process.env.PATHEXT\n\n if (!pathext) {\n return true\n }\n\n pathext = pathext.split(';')\n if (pathext.indexOf('') !== -1) {\n return true\n }\n for (var i = 0; i < pathext.length; i++) {\n var p = pathext[i].toLowerCase()\n if (p && path.substr(-p.length).toLowerCase() === p) {\n return true\n }\n }\n return false\n}\n\nfunction checkStat (stat, path, options) {\n if (!stat.isSymbolicLink() && !stat.isFile()) {\n return false\n }\n return checkPathExt(path, options)\n}\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, path, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), path, options)\n}\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), options)\n}\n\nfunction checkStat (stat, options) {\n return stat.isFile() && checkMode(stat, options)\n}\n\nfunction checkMode (stat, options) {\n var mod = stat.mode\n var uid = stat.uid\n var gid = stat.gid\n\n var myUid = options.uid !== undefined ?\n options.uid : process.getuid && process.getuid()\n var myGid = options.gid !== undefined ?\n options.gid : process.getgid && process.getgid()\n\n var u = parseInt('100', 8)\n var g = parseInt('010', 8)\n var o = parseInt('001', 8)\n var ug = u | g\n\n var ret = (mod & o) ||\n (mod & g) && gid === myGid ||\n (mod & u) && uid === myUid ||\n (mod & ug) && myUid === 0\n\n return ret\n}\n","import fs from \"fs/promises\";\nimport os from \"os\";\nimport { injectCaches } from \"./inject-cache.js\";\nimport { extractCaches } from \"./extract-cache.js\";\nimport { help, parseOpts } from \"./opts.js\";\n\nasync function main(args: string[]) {\n const opts = parseOpts(args);\n\n if (opts.help) {\n return help();\n }\n\n if (opts.extract) {\n // Run the post step\n await extractCaches(opts);\n } else {\n // Otherwise, this is the main step\n if (process.env.GITHUB_STATE !== undefined) {\n await fs.appendFile(process.env.GITHUB_STATE, `POST=true${os.EOL}`);\n }\n await injectCaches(opts);\n }\n}\n\ntry {\n await main(process.argv);\n} catch (err) {\n console.error(err);\n if (err instanceof Error) {\n console.error(err.stack);\n }\n process.exit(1);\n}\n","import fs from 'fs/promises';\nimport path from 'path';\nimport { CacheOptions, Opts, getCacheMap, getMountArgsString, getTargetPath, getUID, getGID } from './opts.js';\nimport { run } from './run.js';\nimport { notice } from '@actions/core';\n\nasync function injectCache(cacheSource: string, cacheOptions: CacheOptions, scratchDir: string) {\n // Clean Scratch Directory\n await fs.rm(scratchDir, { recursive: true, force: true });\n await fs.mkdir(scratchDir, { recursive: true });\n\n // Prepare Cache Source Directory\n await fs.mkdir(cacheSource, { recursive: true });\n\n // Prepare Timestamp for Layer Cache Busting\n const date = new Date().toISOString();\n await fs.writeFile(path.join(cacheSource, 'buildstamp'), date);\n\n const targetPath = getTargetPath(cacheOptions);\n const mountArgs = getMountArgsString(cacheOptions);\n\n // If UID OR GID are set, then add chown to restore files ownership.\n let ownershipCommand = \"\";\n const uid = getUID(cacheOptions);\n const gid = getGID(cacheOptions);\n if (uid !== \"\" || gid !== \"\") {\n ownershipCommand = `&& chown -R ${uid}:${gid} ${targetPath}`\n }\n\n // Prepare Dancefile to Access Caches\n const dancefileContent = `\nFROM busybox:1\nCOPY buildstamp buildstamp\nRUN --mount=${mountArgs} \\\n --mount=type=bind,source=.,target=/var/dance-cache \\\n cp -p -R /var/dance-cache/. ${targetPath} ${ownershipCommand} || true\n`;\n await fs.writeFile(path.join(scratchDir, 'Dancefile.inject'), dancefileContent);\n console.log(dancefileContent);\n\n // Inject Data into Docker Cache\n await run('docker', ['buildx', 'build', '-f', path.join(scratchDir, 'Dancefile.inject'), '--tag', 'dance:inject', cacheSource]);\n\n // Clean Directories\n try {\n await fs.rm(cacheSource, { recursive: true, force: true });\n } catch (err) {\n // Ignore Cleaning Errors\n notice(`Error while cleaning cache source directory: ${err}. Ignoring...`);\n }\n}\n\n\nexport async function injectCaches(opts: Opts) {\n const cacheMap = getCacheMap(opts);\n const scratchDir = opts['scratch-dir'];\n\n // Inject Caches for each source-target pair\n for (const [cacheSource, cacheOptions] of Object.entries(cacheMap)) {\n await injectCache(cacheSource, cacheOptions, scratchDir);\n }\n}\n","import mri from 'mri';\nimport { getInput, warning } from '@actions/core';\n\nexport type Opts = {\n \"extract\": boolean\n \"cache-map\": string\n \"scratch-dir\": string\n \"skip-extraction\": boolean\n help: boolean\n /** @deprecated Use `cache-map` instead */\n \"cache-source\"?: string\n /** @deprecated Use `cache-map` instead */\n \"cache-target\"?: string\n}\n\nexport function parseOpts(args: string[]): mri.Argv {\n const opts = mri(args, {\n default: {\n \"cache-map\": getInput(\"cache-map\") || \"{}\",\n \"scratch-dir\": getInput(\"scratch-dir\") || \"scratch\",\n \"skip-extraction\": (getInput(\"skip-extraction\") || \"false\") === \"true\",\n \"extract\": process.env[`STATE_POST`] !== undefined,\n \"help\": false,\n },\n string: [\"cache-map\", \"scratch-dir\", \"cache-source\", \"cache-target\"],\n boolean: [\"skip-extraction\", \"help\", \"extract\"],\n alias: {\n \"help\": [\"h\"],\n },\n })\n\n if (opts[\"cache-source\"] && opts[\"cache-target\"]) {\n warning(\"The `cache-source` and `cache-target` options are deprecated. Use `cache-map` instead.\")\n\n opts[\"cache-map\"] = JSON.stringify({\n [opts[\"cache-source\"]]: opts[\"cache-target\"],\n });\n }\n\n return opts;\n}\n\nexport function help() {\n console.log(`build-cache-dance [options]\nSave 'RUN --mount=type=cache' caches on GitHub Actions or other CI platforms\n\nOptions:\n --extract Extract the cache from the docker container (extract step). Otherwise, inject the cache (main step)\n --cache-map The map of actions source paths to container destination paths or mount arguments\n --scratch-dir Where the action is stores some temporary files for its processing. Default: 'scratch'\n --skip-extraction Skip the extraction of the cache from the docker container\n --help Show this help\n`);\n}\n\nexport type SourcePath = string\nexport type TargetPath = string\nexport type ToStringable = {\n toString(): string;\n}\nexport type CacheOptions = TargetPath | { target: TargetPath } & Record\nexport type CacheMap = Record\n\nexport function getCacheMap(opts: Opts): CacheMap {\n try {\n return JSON.parse(opts[\"cache-map\"]) as CacheMap;\n } catch (e) {\n throw new Error(`Failed to parse cache map. Expected JSON, got:\\n${opts[\"cache-map\"]}\\n${e}`);\n }\n}\n\nexport function getTargetPath(cacheOptions: CacheOptions): TargetPath {\n if (typeof cacheOptions === \"string\") {\n // only the target path is provided\n return cacheOptions;\n } else {\n // object is provided\n if (\"target\" in cacheOptions) {\n return cacheOptions.target;\n } else {\n throw new Error(`Expected the 'target' key in the cache options, got:\\n${cacheOptions}`);\n }\n }\n}\n\nexport function getUID(cacheOptions: CacheOptions): string {\n if (typeof cacheOptions === \"string\") {\n // only the target path is provided\n return \"\";\n } else {\n // object is provided\n if (\"uid\" in cacheOptions && cacheOptions.uid !== undefined) {\n return cacheOptions.uid.toString();\n } else {\n return \"\";\n }\n }\n}\n\nexport function getGID(cacheOptions: CacheOptions): string {\n if (typeof cacheOptions === \"string\") {\n // only the target path is provided\n return \"\";\n } else {\n // object is provided\n if (\"gid\" in cacheOptions && cacheOptions.gid !== undefined) {\n return cacheOptions.gid.toString();\n } else {\n return \"\";\n }\n }\n}\n\n/**\n * Convert a cache options to a string that is passed to --mount=\n * @param CacheOptions The cache options to convert to a string\n */\nexport function getMountArgsString(cacheOptions: CacheOptions): string {\n if (typeof cacheOptions === \"string\") {\n // only the target path is provided\n return `type=cache,target=${cacheOptions}`;\n } else {\n // other options are provided\n const otherOptions = Object.entries(cacheOptions).map(([key, value]) => `${key}=${value}`).join(\",\");\n return `type=cache,${otherOptions}`;\n }\n}\n","function toArr(any) {\n\treturn any == null ? [] : Array.isArray(any) ? any : [any];\n}\n\nfunction toVal(out, key, val, opts) {\n\tvar x, old=out[key], nxt=(\n\t\t!!~opts.string.indexOf(key) ? (val == null || val === true ? '' : String(val))\n\t\t: typeof val === 'boolean' ? val\n\t\t: !!~opts.boolean.indexOf(key) ? (val === 'false' ? false : val === 'true' || (out._.push((x = +val,x * 0 === 0) ? x : val),!!val))\n\t\t: (x = +val,x * 0 === 0) ? x : val\n\t);\n\tout[key] = old == null ? nxt : (Array.isArray(old) ? old.concat(nxt) : [old, nxt]);\n}\n\nexport default function (args, opts) {\n\targs = args || [];\n\topts = opts || {};\n\n\tvar k, arr, arg, name, val, out={ _:[] };\n\tvar i=0, j=0, idx=0, len=args.length;\n\n\tconst alibi = opts.alias !== void 0;\n\tconst strict = opts.unknown !== void 0;\n\tconst defaults = opts.default !== void 0;\n\n\topts.alias = opts.alias || {};\n\topts.string = toArr(opts.string);\n\topts.boolean = toArr(opts.boolean);\n\n\tif (alibi) {\n\t\tfor (k in opts.alias) {\n\t\t\tarr = opts.alias[k] = toArr(opts.alias[k]);\n\t\t\tfor (i=0; i < arr.length; i++) {\n\t\t\t\t(opts.alias[arr[i]] = arr.concat(k)).splice(i, 1);\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (i=opts.boolean.length; i-- > 0;) {\n\t\tarr = opts.alias[opts.boolean[i]] || [];\n\t\tfor (j=arr.length; j-- > 0;) opts.boolean.push(arr[j]);\n\t}\n\n\tfor (i=opts.string.length; i-- > 0;) {\n\t\tarr = opts.alias[opts.string[i]] || [];\n\t\tfor (j=arr.length; j-- > 0;) opts.string.push(arr[j]);\n\t}\n\n\tif (defaults) {\n\t\tfor (k in opts.default) {\n\t\t\tname = typeof opts.default[k];\n\t\t\tarr = opts.alias[k] = opts.alias[k] || [];\n\t\t\tif (opts[name] !== void 0) {\n\t\t\t\topts[name].push(k);\n\t\t\t\tfor (i=0; i < arr.length; i++) {\n\t\t\t\t\topts[name].push(arr[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst keys = strict ? Object.keys(opts.alias) : [];\n\n\tfor (i=0; i < len; i++) {\n\t\targ = args[i];\n\n\t\tif (arg === '--') {\n\t\t\tout._ = out._.concat(args.slice(++i));\n\t\t\tbreak;\n\t\t}\n\n\t\tfor (j=0; j < arg.length; j++) {\n\t\t\tif (arg.charCodeAt(j) !== 45) break; // \"-\"\n\t\t}\n\n\t\tif (j === 0) {\n\t\t\tout._.push(arg);\n\t\t} else if (arg.substring(j, j + 3) === 'no-') {\n\t\t\tname = arg.substring(j + 3);\n\t\t\tif (strict && !~keys.indexOf(name)) {\n\t\t\t\treturn opts.unknown(arg);\n\t\t\t}\n\t\t\tout[name] = false;\n\t\t} else {\n\t\t\tfor (idx=j+1; idx < arg.length; idx++) {\n\t\t\t\tif (arg.charCodeAt(idx) === 61) break; // \"=\"\n\t\t\t}\n\n\t\t\tname = arg.substring(j, idx);\n\t\t\tval = arg.substring(++idx) || (i+1 === len || (''+args[i+1]).charCodeAt(0) === 45 || args[++i]);\n\t\t\tarr = (j === 2 ? [name] : name);\n\n\t\t\tfor (idx=0; idx < arr.length; idx++) {\n\t\t\t\tname = arr[idx];\n\t\t\t\tif (strict && !~keys.indexOf(name)) return opts.unknown('-'.repeat(j) + name);\n\t\t\t\ttoVal(out, name, (idx + 1 < arr.length) || val, opts);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (defaults) {\n\t\tfor (k in opts.default) {\n\t\t\tif (out[k] === void 0) {\n\t\t\t\tout[k] = opts.default[k];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (alibi) {\n\t\tfor (k in out) {\n\t\t\tarr = opts.alias[k] || [];\n\t\t\twhile (arr.length > 0) {\n\t\t\t\tout[arr.shift()] = out[k];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn out;\n}\n",null,null,null,null,null,null,null,null,"import spawnPlease from 'spawn-please'\nimport cp, { type ChildProcess } from 'child_process';\n\nexport async function run(command: string, args: string[]) {\n try {\n return await spawnPlease(command, args);\n } catch (error) {\n console.error(`Error running command: ${command} ${args.join(' ')}`);\n throw error;\n }\n}\n\nexport async function runPiped([command1, args1]: [string, string[]], [command2, args2]: [string, string[]]) {\n const cp1 = cp.spawn(command1, args1, { stdio: ['inherit', 'pipe', 'inherit'] });\n const cp2 = cp.spawn(command2, args2, { stdio: ['pipe', 'inherit', 'inherit'] });\n\n cp1.stdout.pipe(cp2.stdin);\n\n await Promise.all([assertSuccess(cp1), assertSuccess(cp2)]);\n}\n\nfunction assertSuccess(cp: ChildProcess) {\n return new Promise((resolve, reject) => {\n cp.on('error', (error) => {\n reject(error);\n });\n cp.on('close', (code) => {\n if (code !== 0) {\n reject(new Error(`process exited with code ${code}`));\n }\n resolve();\n });\n });\n}\n","const spawn = require('cross-spawn')\n\n/** Spawns a child process, as long as you ask nicely.\n * \n * @param {string} command - The shell command to execute.\n * @param {string[]} [args] - An array of arguments that are given after the command.\n * @param {{ rejectOnError?: boolean, stdin?: string, stderr?: (data: string) => void, stdout?: (data: string) => void }} [options] - Options.\n * @param {any} [spawnOptions] - Options that are passed directly to child_process.spawn. Also supports stdin: string.\n * @returns {Promise<{ stdout: string, stderr: string }>}\n */\nconst spawnPlease = (command, args, options={}, spawnOptions={}) => {\n // defaults\n if (options.rejectOnError === undefined) {\n options.rejectOnError = true\n }\n\n let stdout = ''\n let stderr = ''\n const child = spawn(command, args, spawnOptions)\n\n return new Promise((resolve, reject) => {\n if (options.stdin !== undefined && options.stdin != null) {\n child.stdin.write(options.stdin)\n }\n child.stdin.end()\n\n child.stdout.on('data', data => {\n stdout += data\n if (options.stdout) options.stdout(data)\n })\n\n child.stderr.on('data', data => {\n stderr += data\n if (options.stderr) options.stderr(data)\n })\n\n if (options.rejectOnError) {\n child.addListener('error', reject)\n }\n\n child.on('close', code => {\n if (code !== 0 && options.rejectOnError) {\n reject(stderr)\n } else {\n resolve({ stdout, stderr })\n }\n })\n })\n}\n\nmodule.exports = spawnPlease\n","'use strict';\n\nconst cp = require('child_process');\nconst parse = require('./lib/parse');\nconst enoent = require('./lib/enoent');\n\nfunction spawn(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n\n // Hook into child process \"exit\" event to emit an error if the command\n // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n enoent.hookChildProcess(spawned, parsed);\n\n return spawned;\n}\n\nfunction spawnSync(command, args, options) {\n // Parse the arguments\n const parsed = parse(command, args, options);\n\n // Spawn the child process\n const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);\n\n // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);\n\n return result;\n}\n\nmodule.exports = spawn;\nmodule.exports.spawn = spawn;\nmodule.exports.sync = spawnSync;\n\nmodule.exports._parse = parse;\nmodule.exports._enoent = enoent;\n","'use strict';\n\nconst path = require('path');\nconst resolveCommand = require('./util/resolveCommand');\nconst escape = require('./util/escape');\nconst readShebang = require('./util/readShebang');\n\nconst isWin = process.platform === 'win32';\nconst isExecutableRegExp = /\\.(?:com|exe)$/i;\nconst isCmdShimRegExp = /node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;\n\nfunction detectShebang(parsed) {\n parsed.file = resolveCommand(parsed);\n\n const shebang = parsed.file && readShebang(parsed.file);\n\n if (shebang) {\n parsed.args.unshift(parsed.file);\n parsed.command = shebang;\n\n return resolveCommand(parsed);\n }\n\n return parsed.file;\n}\n\nfunction parseNonShell(parsed) {\n if (!isWin) {\n return parsed;\n }\n\n // Detect & add support for shebangs\n const commandFile = detectShebang(parsed);\n\n // We don't need a shell if the command filename is an executable\n const needsShell = !isExecutableRegExp.test(commandFile);\n\n // If a shell is required, use cmd.exe and take care of escaping everything correctly\n // Note that `forceShell` is an hidden option used only in tests\n if (parsed.options.forceShell || needsShell) {\n // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`\n // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument\n // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,\n // we need to double escape them\n const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);\n\n // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\\bar)\n // This is necessary otherwise it will always fail with ENOENT in those cases\n parsed.command = path.normalize(parsed.command);\n\n // Escape command & arguments\n parsed.command = escape.command(parsed.command);\n parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));\n\n const shellCommand = [parsed.command].concat(parsed.args).join(' ');\n\n parsed.args = ['/d', '/s', '/c', `\"${shellCommand}\"`];\n parsed.command = process.env.comspec || 'cmd.exe';\n parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped\n }\n\n return parsed;\n}\n\nfunction parse(command, args, options) {\n // Normalize arguments, similar to nodejs\n if (args && !Array.isArray(args)) {\n options = args;\n args = null;\n }\n\n args = args ? args.slice(0) : []; // Clone array to avoid changing the original\n options = Object.assign({}, options); // Clone object to avoid changing the original\n\n // Build our parsed object\n const parsed = {\n command,\n args,\n options,\n file: undefined,\n original: {\n command,\n args,\n },\n };\n\n // Delegate further parsing to shell or non-shell\n return options.shell ? parsed : parseNonShell(parsed);\n}\n\nmodule.exports = parse;\n","'use strict';\n\nconst path = require('path');\nconst which = require('which');\nconst getPathKey = require('path-key');\n\nfunction resolveCommandAttempt(parsed, withoutPathExt) {\n const env = parsed.options.env || process.env;\n const cwd = process.cwd();\n const hasCustomCwd = parsed.options.cwd != null;\n // Worker threads do not have process.chdir()\n const shouldSwitchCwd = hasCustomCwd && process.chdir !== undefined && !process.chdir.disabled;\n\n // If a custom `cwd` was specified, we need to change the process cwd\n // because `which` will do stat calls but does not support a custom cwd\n if (shouldSwitchCwd) {\n try {\n process.chdir(parsed.options.cwd);\n } catch (err) {\n /* Empty */\n }\n }\n\n let resolved;\n\n try {\n resolved = which.sync(parsed.command, {\n path: env[getPathKey({ env })],\n pathExt: withoutPathExt ? path.delimiter : undefined,\n });\n } catch (e) {\n /* Empty */\n } finally {\n if (shouldSwitchCwd) {\n process.chdir(cwd);\n }\n }\n\n // If we successfully resolved, ensure that an absolute path is returned\n // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it\n if (resolved) {\n resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);\n }\n\n return resolved;\n}\n\nfunction resolveCommand(parsed) {\n return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);\n}\n\nmodule.exports = resolveCommand;\n","const isWindows = process.platform === 'win32' ||\n process.env.OSTYPE === 'cygwin' ||\n process.env.OSTYPE === 'msys'\n\nconst path = require('path')\nconst COLON = isWindows ? ';' : ':'\nconst isexe = require('isexe')\n\nconst getNotFoundError = (cmd) =>\n Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })\n\nconst getPathInfo = (cmd, opt) => {\n const colon = opt.colon || COLON\n\n // If it has a slash, then we don't bother searching the pathenv.\n // just check the file itself, and that's it.\n const pathEnv = cmd.match(/\\//) || isWindows && cmd.match(/\\\\/) ? ['']\n : (\n [\n // windows always checks the cwd first\n ...(isWindows ? [process.cwd()] : []),\n ...(opt.path || process.env.PATH ||\n /* istanbul ignore next: very unusual */ '').split(colon),\n ]\n )\n const pathExtExe = isWindows\n ? opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM'\n : ''\n const pathExt = isWindows ? pathExtExe.split(colon) : ['']\n\n if (isWindows) {\n if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')\n pathExt.unshift('')\n }\n\n return {\n pathEnv,\n pathExt,\n pathExtExe,\n }\n}\n\nconst which = (cmd, opt, cb) => {\n if (typeof opt === 'function') {\n cb = opt\n opt = {}\n }\n if (!opt)\n opt = {}\n\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n const step = i => new Promise((resolve, reject) => {\n if (i === pathEnv.length)\n return opt.all && found.length ? resolve(found)\n : reject(getNotFoundError(cmd))\n\n const ppRaw = pathEnv[i]\n const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n const pCmd = path.join(pathPart, cmd)\n const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n : pCmd\n\n resolve(subStep(p, i, 0))\n })\n\n const subStep = (p, i, ii) => new Promise((resolve, reject) => {\n if (ii === pathExt.length)\n return resolve(step(i + 1))\n const ext = pathExt[ii]\n isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {\n if (!er && is) {\n if (opt.all)\n found.push(p + ext)\n else\n return resolve(p + ext)\n }\n return resolve(subStep(p, i, ii + 1))\n })\n })\n\n return cb ? step(0).then(res => cb(null, res), cb) : step(0)\n}\n\nconst whichSync = (cmd, opt) => {\n opt = opt || {}\n\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n for (let i = 0; i < pathEnv.length; i ++) {\n const ppRaw = pathEnv[i]\n const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n const pCmd = path.join(pathPart, cmd)\n const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n : pCmd\n\n for (let j = 0; j < pathExt.length; j ++) {\n const cur = p + pathExt[j]\n try {\n const is = isexe.sync(cur, { pathExt: pathExtExe })\n if (is) {\n if (opt.all)\n found.push(cur)\n else\n return cur\n }\n } catch (ex) {}\n }\n }\n\n if (opt.all && found.length)\n return found\n\n if (opt.nothrow)\n return null\n\n throw getNotFoundError(cmd)\n}\n\nmodule.exports = which\nwhich.sync = whichSync\n","var fs = require('fs')\nvar core\nif (process.platform === 'win32' || global.TESTING_WINDOWS) {\n core = require('./windows.js')\n} else {\n core = require('./mode.js')\n}\n\nmodule.exports = isexe\nisexe.sync = sync\n\nfunction isexe (path, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n if (!cb) {\n if (typeof Promise !== 'function') {\n throw new TypeError('callback not provided')\n }\n\n return new Promise(function (resolve, reject) {\n isexe(path, options || {}, function (er, is) {\n if (er) {\n reject(er)\n } else {\n resolve(is)\n }\n })\n })\n }\n\n core(path, options || {}, function (er, is) {\n // ignore EACCES because that just means we aren't allowed to run it\n if (er) {\n if (er.code === 'EACCES' || options && options.ignoreErrors) {\n er = null\n is = false\n }\n }\n cb(er, is)\n })\n}\n\nfunction sync (path, options) {\n // my kingdom for a filtered catch\n try {\n return core.sync(path, options || {})\n } catch (er) {\n if (options && options.ignoreErrors || er.code === 'EACCES') {\n return false\n } else {\n throw er\n }\n }\n}\n","'use strict';\n\nconst pathKey = (options = {}) => {\n\tconst environment = options.env || process.env;\n\tconst platform = options.platform || process.platform;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(environment).reverse().find(key => key.toUpperCase() === 'PATH') || 'Path';\n};\n\nmodule.exports = pathKey;\n// TODO: Remove this for the next major release\nmodule.exports.default = pathKey;\n","'use strict';\n\n// See http://www.robvanderwoude.com/escapechars.php\nconst metaCharsRegExp = /([()\\][%!^\"`<>&|;, *?])/g;\n\nfunction escapeCommand(arg) {\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n return arg;\n}\n\nfunction escapeArgument(arg, doubleEscapeMetaChars) {\n // Convert to string\n arg = `${arg}`;\n\n // Algorithm below is based on https://qntm.org/cmd\n\n // Sequence of backslashes followed by a double quote:\n // double up all the backslashes and escape the double quote\n arg = arg.replace(/(\\\\*)\"/g, '$1$1\\\\\"');\n\n // Sequence of backslashes followed by the end of the string\n // (which will become a double quote later):\n // double up all the backslashes\n arg = arg.replace(/(\\\\*)$/, '$1$1');\n\n // All other backslashes occur literally\n\n // Quote the whole thing:\n arg = `\"${arg}\"`;\n\n // Escape meta chars\n arg = arg.replace(metaCharsRegExp, '^$1');\n\n // Double escape meta chars if necessary\n if (doubleEscapeMetaChars) {\n arg = arg.replace(metaCharsRegExp, '^$1');\n }\n\n return arg;\n}\n\nmodule.exports.command = escapeCommand;\nmodule.exports.argument = escapeArgument;\n","'use strict';\n\nconst fs = require('fs');\nconst shebangCommand = require('shebang-command');\n\nfunction readShebang(command) {\n // Read the first 150 bytes from the file\n const size = 150;\n const buffer = Buffer.alloc(size);\n\n let fd;\n\n try {\n fd = fs.openSync(command, 'r');\n fs.readSync(fd, buffer, 0, size, 0);\n fs.closeSync(fd);\n } catch (e) { /* Empty */ }\n\n // Attempt to extract shebang (null is returned if not a shebang)\n return shebangCommand(buffer.toString());\n}\n\nmodule.exports = readShebang;\n","'use strict';\nconst shebangRegex = require('shebang-regex');\n\nmodule.exports = (string = '') => {\n\tconst match = string.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [path, argument] = match[0].replace(/#! ?/, '').split(' ');\n\tconst binary = path.split('/').pop();\n\n\tif (binary === 'env') {\n\t\treturn argument;\n\t}\n\n\treturn argument ? `${binary} ${argument}` : binary;\n};\n","'use strict';\nmodule.exports = /^#!(.*)/;\n","'use strict';\n\nconst isWin = process.platform === 'win32';\n\nfunction notFoundError(original, syscall) {\n return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {\n code: 'ENOENT',\n errno: 'ENOENT',\n syscall: `${syscall} ${original.command}`,\n path: original.command,\n spawnargs: original.args,\n });\n}\n\nfunction hookChildProcess(cp, parsed) {\n if (!isWin) {\n return;\n }\n\n const originalEmit = cp.emit;\n\n cp.emit = function (name, arg1) {\n // If emitting \"exit\" event and exit code is 1, we need to check if\n // the command exists and emit an \"error\" instead\n // See https://github.com/IndigoUnited/node-cross-spawn/issues/16\n if (name === 'exit') {\n const err = verifyENOENT(arg1, parsed, 'spawn');\n\n if (err) {\n return originalEmit.call(cp, 'error', err);\n }\n }\n\n return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params\n };\n}\n\nfunction verifyENOENT(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawn');\n }\n\n return null;\n}\n\nfunction verifyENOENTSync(status, parsed) {\n if (isWin && status === 1 && !parsed.file) {\n return notFoundError(parsed.original, 'spawnSync');\n }\n\n return null;\n}\n\nmodule.exports = {\n hookChildProcess,\n verifyENOENT,\n verifyENOENTSync,\n notFoundError,\n};\n","import fs from 'fs/promises';\nimport path from 'path';\nimport { CacheOptions, Opts, getCacheMap, getMountArgsString, getTargetPath } from './opts.js';\nimport { run, runPiped } from './run.js';\n\nasync function extractCache(cacheSource: string, cacheOptions: CacheOptions, scratchDir: string) {\n // Prepare Timestamp for Layer Cache Busting\n const date = new Date().toISOString();\n \n await fs.mkdir(scratchDir, { recursive: true });\n await fs.writeFile(path.join(scratchDir, 'buildstamp'), date);\n\n // Prepare Dancefile to Access Caches\n const targetPath = getTargetPath(cacheOptions);\n const mountArgs = getMountArgsString(cacheOptions);\n\n const dancefileContent = `\nFROM busybox:1\nCOPY buildstamp buildstamp\nRUN --mount=${mountArgs} \\\n mkdir -p /var/dance-cache/ \\\n && cp -p -R ${targetPath}/. /var/dance-cache/ || true\n`;\n await fs.writeFile(path.join(scratchDir, 'Dancefile.extract'), dancefileContent);\n console.log(dancefileContent);\n\n // Extract Data into Docker Image\n await run('docker', ['buildx', 'build', '-f', path.join(scratchDir, 'Dancefile.extract'), '--tag', 'dance:extract', '--load', scratchDir]);\n\n // Create Extraction Image\n try {\n await run('docker', ['rm', '-f', 'cache-container']);\n } catch (error) {\n // Ignore error if container does not exist\n }\n await run('docker', ['create', '-ti', '--name', 'cache-container', 'dance:extract']);\n\n // Unpack Docker Image into Scratch\n await runPiped(\n ['docker', ['cp', '-L', 'cache-container:/var/dance-cache', '-']],\n ['tar', ['-H', 'posix', '-x', '-C', scratchDir]]\n );\n\n // Move Cache into Its Place\n await fs.rm(cacheSource, { recursive: true, force: true });\n await fs.rename(path.join(scratchDir, 'dance-cache'), cacheSource);\n}\n\nexport async function extractCaches(opts: Opts) {\n if (opts[\"skip-extraction\"]) {\n console.log(\"skip-extraction is set. Skipping extraction step...\");\n return;\n }\n\n const cacheMap = getCacheMap(opts);\n const scratchDir = opts['scratch-dir'];\n\n // Extract Caches for each source-target pair\n for (const [cacheSource, cacheOptions] of Object.entries(cacheMap)) {\n await extractCache(cacheSource, cacheOptions, scratchDir);\n }\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../"} \ No newline at end of file