Merge pull request #392 from crazy-max/exec-output
Use built-in `getExecOutput`
This commit is contained in:
		
						commit
						b44cfd9087
					
				@ -1,10 +1,10 @@
 | 
				
			|||||||
import * as fs from 'fs';
 | 
					import * as fs from 'fs';
 | 
				
			||||||
import * as path from 'path';
 | 
					import * as path from 'path';
 | 
				
			||||||
import * as semver from 'semver';
 | 
					import * as semver from 'semver';
 | 
				
			||||||
 | 
					import * as exec from '@actions/exec';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import * as buildx from '../src/buildx';
 | 
					import * as buildx from '../src/buildx';
 | 
				
			||||||
import * as context from '../src/context';
 | 
					import * as context from '../src/context';
 | 
				
			||||||
import * as docker from '../src/docker';
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
const tmpNameSync = path.join('/tmp/.docker-build-push-jest', '.tmpname-jest').split(path.sep).join(path.posix.sep);
 | 
					const tmpNameSync = path.join('/tmp/.docker-build-push-jest', '.tmpname-jest').split(path.sep).join(path.posix.sep);
 | 
				
			||||||
const digest = 'sha256:bfb45ab72e46908183546477a08f8867fc40cebadd00af54b071b097aed127a9';
 | 
					const digest = 'sha256:bfb45ab72e46908183546477a08f8867fc40cebadd00af54b071b097aed127a9';
 | 
				
			||||||
@ -92,9 +92,26 @@ describe('isLocalOrTarExporter', () => {
 | 
				
			|||||||
  );
 | 
					  );
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					describe('isAvailable', () => {
 | 
				
			||||||
 | 
					  const execSpy: jest.SpyInstance = jest.spyOn(exec, 'getExecOutput');
 | 
				
			||||||
 | 
					  buildx.isAvailable();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  expect(execSpy).toHaveBeenCalledWith(`docker`, ['buildx'], {
 | 
				
			||||||
 | 
					    silent: true,
 | 
				
			||||||
 | 
					    ignoreReturnCode: true
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
describe('getVersion', () => {
 | 
					describe('getVersion', () => {
 | 
				
			||||||
  async function isDaemonRunning() {
 | 
					  async function isDaemonRunning() {
 | 
				
			||||||
    return await docker.isDaemonRunning();
 | 
					    return await exec
 | 
				
			||||||
 | 
					      .getExecOutput(`docker`, ['version', '--format', '{{.Server.Os}}'], {
 | 
				
			||||||
 | 
					        ignoreReturnCode: true,
 | 
				
			||||||
 | 
					        silent: true
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					      .then(res => {
 | 
				
			||||||
 | 
					        return !res.stdout.includes(' ') && res.exitCode == 0;
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  (isDaemonRunning() ? it : it.skip)(
 | 
					  (isDaemonRunning() ? it : it.skip)(
 | 
				
			||||||
    'valid',
 | 
					    'valid',
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										774
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										774
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -2514,9 +2514,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
 | 
				
			|||||||
const fs = __importStar(__webpack_require__(747));
 | 
					const fs = __importStar(__webpack_require__(747));
 | 
				
			||||||
const buildx = __importStar(__webpack_require__(295));
 | 
					const buildx = __importStar(__webpack_require__(295));
 | 
				
			||||||
const context = __importStar(__webpack_require__(842));
 | 
					const context = __importStar(__webpack_require__(842));
 | 
				
			||||||
const exec = __importStar(__webpack_require__(757));
 | 
					 | 
				
			||||||
const stateHelper = __importStar(__webpack_require__(647));
 | 
					const stateHelper = __importStar(__webpack_require__(647));
 | 
				
			||||||
const core = __importStar(__webpack_require__(186));
 | 
					const core = __importStar(__webpack_require__(186));
 | 
				
			||||||
 | 
					const exec = __importStar(__webpack_require__(514));
 | 
				
			||||||
function run() {
 | 
					function run() {
 | 
				
			||||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
					    return __awaiter(this, void 0, void 0, function* () {
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
@ -2533,9 +2533,13 @@ function run() {
 | 
				
			|||||||
            const defContext = context.defaultContext();
 | 
					            const defContext = context.defaultContext();
 | 
				
			||||||
            let inputs = yield context.getInputs(defContext);
 | 
					            let inputs = yield context.getInputs(defContext);
 | 
				
			||||||
            const args = yield context.getArgs(inputs, defContext, buildxVersion);
 | 
					            const args = yield context.getArgs(inputs, defContext, buildxVersion);
 | 
				
			||||||
            yield exec.exec('docker', args).then(res => {
 | 
					            yield exec
 | 
				
			||||||
                if (res.stderr != '' && !res.success) {
 | 
					                .getExecOutput('docker', args, {
 | 
				
			||||||
                    throw new Error(`buildx call failed with: ${res.stderr.match(/(.*)\s*$/)[0]}`);
 | 
					                ignoreReturnCode: true
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					                .then(res => {
 | 
				
			||||||
 | 
					                if (res.stderr.length > 0 && res.exitCode != 0) {
 | 
				
			||||||
 | 
					                    throw new Error(`buildx bake failed with: ${res.stderr.match(/(.*)\s*$/)[0].trim()}`);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
            const imageID = yield buildx.getImageID();
 | 
					            const imageID = yield buildx.getImageID();
 | 
				
			||||||
@ -2991,7 +2995,7 @@ const os = __importStar(__webpack_require__(87));
 | 
				
			|||||||
const events = __importStar(__webpack_require__(614));
 | 
					const events = __importStar(__webpack_require__(614));
 | 
				
			||||||
const child = __importStar(__webpack_require__(4));
 | 
					const child = __importStar(__webpack_require__(4));
 | 
				
			||||||
const path = __importStar(__webpack_require__(622));
 | 
					const path = __importStar(__webpack_require__(622));
 | 
				
			||||||
const io = __importStar(__webpack_require__(436));
 | 
					const io = __importStar(__webpack_require__(351));
 | 
				
			||||||
const ioUtil = __importStar(__webpack_require__(962));
 | 
					const ioUtil = __importStar(__webpack_require__(962));
 | 
				
			||||||
const timers_1 = __webpack_require__(213);
 | 
					const timers_1 = __webpack_require__(213);
 | 
				
			||||||
/* eslint-disable @typescript-eslint/unbound-method */
 | 
					/* eslint-disable @typescript-eslint/unbound-method */
 | 
				
			||||||
@ -3728,7 +3732,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
					Object.defineProperty(exports, "__esModule", { value: true });
 | 
				
			||||||
exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;
 | 
					exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;
 | 
				
			||||||
const command_1 = __webpack_require__(351);
 | 
					const command_1 = __webpack_require__(241);
 | 
				
			||||||
const file_command_1 = __webpack_require__(185);
 | 
					const file_command_1 = __webpack_require__(185);
 | 
				
			||||||
const utils_1 = __webpack_require__(278);
 | 
					const utils_1 = __webpack_require__(278);
 | 
				
			||||||
const os = __importStar(__webpack_require__(87));
 | 
					const os = __importStar(__webpack_require__(87));
 | 
				
			||||||
@ -4647,6 +4651,105 @@ exports.request = request;
 | 
				
			|||||||
//# sourceMappingURL=index.js.map
 | 
					//# sourceMappingURL=index.js.map
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ 241:
 | 
				
			||||||
 | 
					/***/ (function(__unusedmodule, exports, __webpack_require__) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
 | 
				
			||||||
 | 
					    if (k2 === undefined) k2 = k;
 | 
				
			||||||
 | 
					    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
 | 
				
			||||||
 | 
					}) : (function(o, m, k, k2) {
 | 
				
			||||||
 | 
					    if (k2 === undefined) k2 = k;
 | 
				
			||||||
 | 
					    o[k2] = m[k];
 | 
				
			||||||
 | 
					}));
 | 
				
			||||||
 | 
					var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
 | 
				
			||||||
 | 
					    Object.defineProperty(o, "default", { enumerable: true, value: v });
 | 
				
			||||||
 | 
					}) : function(o, v) {
 | 
				
			||||||
 | 
					    o["default"] = v;
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					var __importStar = (this && this.__importStar) || function (mod) {
 | 
				
			||||||
 | 
					    if (mod && mod.__esModule) return mod;
 | 
				
			||||||
 | 
					    var result = {};
 | 
				
			||||||
 | 
					    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
 | 
				
			||||||
 | 
					    __setModuleDefault(result, mod);
 | 
				
			||||||
 | 
					    return result;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					Object.defineProperty(exports, "__esModule", { value: true });
 | 
				
			||||||
 | 
					exports.issue = exports.issueCommand = void 0;
 | 
				
			||||||
 | 
					const os = __importStar(__webpack_require__(87));
 | 
				
			||||||
 | 
					const utils_1 = __webpack_require__(278);
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Commands
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Command Format:
 | 
				
			||||||
 | 
					 *   ::name key=value,key=value::message
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Examples:
 | 
				
			||||||
 | 
					 *   ::warning::This is the message
 | 
				
			||||||
 | 
					 *   ::set-env name=MY_VAR::some value
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					function issueCommand(command, properties, message) {
 | 
				
			||||||
 | 
					    const cmd = new Command(command, properties, message);
 | 
				
			||||||
 | 
					    process.stdout.write(cmd.toString() + os.EOL);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					exports.issueCommand = issueCommand;
 | 
				
			||||||
 | 
					function issue(name, message = '') {
 | 
				
			||||||
 | 
					    issueCommand(name, {}, message);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					exports.issue = issue;
 | 
				
			||||||
 | 
					const CMD_STRING = '::';
 | 
				
			||||||
 | 
					class Command {
 | 
				
			||||||
 | 
					    constructor(command, properties, message) {
 | 
				
			||||||
 | 
					        if (!command) {
 | 
				
			||||||
 | 
					            command = 'missing.command';
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        this.command = command;
 | 
				
			||||||
 | 
					        this.properties = properties;
 | 
				
			||||||
 | 
					        this.message = message;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    toString() {
 | 
				
			||||||
 | 
					        let cmdStr = CMD_STRING + this.command;
 | 
				
			||||||
 | 
					        if (this.properties && Object.keys(this.properties).length > 0) {
 | 
				
			||||||
 | 
					            cmdStr += ' ';
 | 
				
			||||||
 | 
					            let first = true;
 | 
				
			||||||
 | 
					            for (const key in this.properties) {
 | 
				
			||||||
 | 
					                if (this.properties.hasOwnProperty(key)) {
 | 
				
			||||||
 | 
					                    const val = this.properties[key];
 | 
				
			||||||
 | 
					                    if (val) {
 | 
				
			||||||
 | 
					                        if (first) {
 | 
				
			||||||
 | 
					                            first = false;
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        else {
 | 
				
			||||||
 | 
					                            cmdStr += ',';
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        cmdStr += `${key}=${escapeProperty(val)}`;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        cmdStr += `${CMD_STRING}${escapeData(this.message)}`;
 | 
				
			||||||
 | 
					        return cmdStr;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					function escapeData(s) {
 | 
				
			||||||
 | 
					    return utils_1.toCommandValue(s)
 | 
				
			||||||
 | 
					        .replace(/%/g, '%25')
 | 
				
			||||||
 | 
					        .replace(/\r/g, '%0D')
 | 
				
			||||||
 | 
					        .replace(/\n/g, '%0A');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					function escapeProperty(s) {
 | 
				
			||||||
 | 
					    return utils_1.toCommandValue(s)
 | 
				
			||||||
 | 
					        .replace(/%/g, '%25')
 | 
				
			||||||
 | 
					        .replace(/\r/g, '%0D')
 | 
				
			||||||
 | 
					        .replace(/\n/g, '%0A')
 | 
				
			||||||
 | 
					        .replace(/:/g, '%3A')
 | 
				
			||||||
 | 
					        .replace(/,/g, '%2C');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					//# sourceMappingURL=command.js.map
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/***/ }),
 | 
					/***/ }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/***/ 278:
 | 
					/***/ 278:
 | 
				
			||||||
@ -4823,8 +4926,8 @@ const sync_1 = __importDefault(__webpack_require__(750));
 | 
				
			|||||||
const fs_1 = __importDefault(__webpack_require__(747));
 | 
					const fs_1 = __importDefault(__webpack_require__(747));
 | 
				
			||||||
const path_1 = __importDefault(__webpack_require__(622));
 | 
					const path_1 = __importDefault(__webpack_require__(622));
 | 
				
			||||||
const semver = __importStar(__webpack_require__(383));
 | 
					const semver = __importStar(__webpack_require__(383));
 | 
				
			||||||
 | 
					const exec = __importStar(__webpack_require__(514));
 | 
				
			||||||
const context = __importStar(__webpack_require__(842));
 | 
					const context = __importStar(__webpack_require__(842));
 | 
				
			||||||
const exec = __importStar(__webpack_require__(757));
 | 
					 | 
				
			||||||
function getImageIDFile() {
 | 
					function getImageIDFile() {
 | 
				
			||||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
					    return __awaiter(this, void 0, void 0, function* () {
 | 
				
			||||||
        return path_1.default.join(context.tmpDir(), 'iidfile').split(path_1.default.sep).join(path_1.default.posix.sep);
 | 
					        return path_1.default.join(context.tmpDir(), 'iidfile').split(path_1.default.sep).join(path_1.default.posix.sep);
 | 
				
			||||||
@ -4907,20 +5010,30 @@ function hasGitAuthToken(secrets) {
 | 
				
			|||||||
exports.hasGitAuthToken = hasGitAuthToken;
 | 
					exports.hasGitAuthToken = hasGitAuthToken;
 | 
				
			||||||
function isAvailable() {
 | 
					function isAvailable() {
 | 
				
			||||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
					    return __awaiter(this, void 0, void 0, function* () {
 | 
				
			||||||
        return yield exec.exec(`docker`, ['buildx'], true).then(res => {
 | 
					        return yield exec
 | 
				
			||||||
            if (res.stderr != '' && !res.success) {
 | 
					            .getExecOutput('docker', ['buildx'], {
 | 
				
			||||||
 | 
					            ignoreReturnCode: true,
 | 
				
			||||||
 | 
					            silent: true
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					            .then(res => {
 | 
				
			||||||
 | 
					            if (res.stderr.length > 0 && res.exitCode != 0) {
 | 
				
			||||||
                return false;
 | 
					                return false;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            return res.success;
 | 
					            return res.exitCode == 0;
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
exports.isAvailable = isAvailable;
 | 
					exports.isAvailable = isAvailable;
 | 
				
			||||||
function getVersion() {
 | 
					function getVersion() {
 | 
				
			||||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
					    return __awaiter(this, void 0, void 0, function* () {
 | 
				
			||||||
        return yield exec.exec(`docker`, ['buildx', 'version'], true).then(res => {
 | 
					        return yield exec
 | 
				
			||||||
            if (res.stderr != '' && !res.success) {
 | 
					            .getExecOutput('docker', ['buildx', 'version'], {
 | 
				
			||||||
                throw new Error(res.stderr);
 | 
					            ignoreReturnCode: true,
 | 
				
			||||||
 | 
					            silent: true
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					            .then(res => {
 | 
				
			||||||
 | 
					            if (res.stderr.length > 0 && res.exitCode != 0) {
 | 
				
			||||||
 | 
					                throw new Error(res.stderr.trim());
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            return parseVersion(res.stdout);
 | 
					            return parseVersion(res.stdout);
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
@ -5063,341 +5176,6 @@ exports.createTokenAuth = createTokenAuth;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
 | 
					 | 
				
			||||||
    if (k2 === undefined) k2 = k;
 | 
					 | 
				
			||||||
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
 | 
					 | 
				
			||||||
}) : (function(o, m, k, k2) {
 | 
					 | 
				
			||||||
    if (k2 === undefined) k2 = k;
 | 
					 | 
				
			||||||
    o[k2] = m[k];
 | 
					 | 
				
			||||||
}));
 | 
					 | 
				
			||||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
 | 
					 | 
				
			||||||
    Object.defineProperty(o, "default", { enumerable: true, value: v });
 | 
					 | 
				
			||||||
}) : function(o, v) {
 | 
					 | 
				
			||||||
    o["default"] = v;
 | 
					 | 
				
			||||||
});
 | 
					 | 
				
			||||||
var __importStar = (this && this.__importStar) || function (mod) {
 | 
					 | 
				
			||||||
    if (mod && mod.__esModule) return mod;
 | 
					 | 
				
			||||||
    var result = {};
 | 
					 | 
				
			||||||
    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
 | 
					 | 
				
			||||||
    __setModuleDefault(result, mod);
 | 
					 | 
				
			||||||
    return result;
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
					 | 
				
			||||||
exports.issue = exports.issueCommand = void 0;
 | 
					 | 
				
			||||||
const os = __importStar(__webpack_require__(87));
 | 
					 | 
				
			||||||
const utils_1 = __webpack_require__(278);
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * Commands
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Command Format:
 | 
					 | 
				
			||||||
 *   ::name key=value,key=value::message
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Examples:
 | 
					 | 
				
			||||||
 *   ::warning::This is the message
 | 
					 | 
				
			||||||
 *   ::set-env name=MY_VAR::some value
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
function issueCommand(command, properties, message) {
 | 
					 | 
				
			||||||
    const cmd = new Command(command, properties, message);
 | 
					 | 
				
			||||||
    process.stdout.write(cmd.toString() + os.EOL);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
exports.issueCommand = issueCommand;
 | 
					 | 
				
			||||||
function issue(name, message = '') {
 | 
					 | 
				
			||||||
    issueCommand(name, {}, message);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
exports.issue = issue;
 | 
					 | 
				
			||||||
const CMD_STRING = '::';
 | 
					 | 
				
			||||||
class Command {
 | 
					 | 
				
			||||||
    constructor(command, properties, message) {
 | 
					 | 
				
			||||||
        if (!command) {
 | 
					 | 
				
			||||||
            command = 'missing.command';
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        this.command = command;
 | 
					 | 
				
			||||||
        this.properties = properties;
 | 
					 | 
				
			||||||
        this.message = message;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    toString() {
 | 
					 | 
				
			||||||
        let cmdStr = CMD_STRING + this.command;
 | 
					 | 
				
			||||||
        if (this.properties && Object.keys(this.properties).length > 0) {
 | 
					 | 
				
			||||||
            cmdStr += ' ';
 | 
					 | 
				
			||||||
            let first = true;
 | 
					 | 
				
			||||||
            for (const key in this.properties) {
 | 
					 | 
				
			||||||
                if (this.properties.hasOwnProperty(key)) {
 | 
					 | 
				
			||||||
                    const val = this.properties[key];
 | 
					 | 
				
			||||||
                    if (val) {
 | 
					 | 
				
			||||||
                        if (first) {
 | 
					 | 
				
			||||||
                            first = false;
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                        else {
 | 
					 | 
				
			||||||
                            cmdStr += ',';
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                        cmdStr += `${key}=${escapeProperty(val)}`;
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        cmdStr += `${CMD_STRING}${escapeData(this.message)}`;
 | 
					 | 
				
			||||||
        return cmdStr;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function escapeData(s) {
 | 
					 | 
				
			||||||
    return utils_1.toCommandValue(s)
 | 
					 | 
				
			||||||
        .replace(/%/g, '%25')
 | 
					 | 
				
			||||||
        .replace(/\r/g, '%0D')
 | 
					 | 
				
			||||||
        .replace(/\n/g, '%0A');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function escapeProperty(s) {
 | 
					 | 
				
			||||||
    return utils_1.toCommandValue(s)
 | 
					 | 
				
			||||||
        .replace(/%/g, '%25')
 | 
					 | 
				
			||||||
        .replace(/\r/g, '%0D')
 | 
					 | 
				
			||||||
        .replace(/\n/g, '%0A')
 | 
					 | 
				
			||||||
        .replace(/:/g, '%3A')
 | 
					 | 
				
			||||||
        .replace(/,/g, '%2C');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
//# sourceMappingURL=command.js.map
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ }),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ 357:
 | 
					 | 
				
			||||||
/***/ (function(module) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
module.exports = require("assert");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ }),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ 373:
 | 
					 | 
				
			||||||
/***/ (function(module) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
module.exports = require("crypto");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ }),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ 380:
 | 
					 | 
				
			||||||
/***/ (function(module, __unusedexports, __webpack_require__) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Determine if version is greater than all the versions possible in the range.
 | 
					 | 
				
			||||||
const outside = __webpack_require__(420)
 | 
					 | 
				
			||||||
const gtr = (version, range, options) => outside(version, range, '>', options)
 | 
					 | 
				
			||||||
module.exports = gtr
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ }),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ 383:
 | 
					 | 
				
			||||||
/***/ (function(module, __unusedexports, __webpack_require__) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// just pre-load all the stuff that index.js lazily exports
 | 
					 | 
				
			||||||
const internalRe = __webpack_require__(523)
 | 
					 | 
				
			||||||
module.exports = {
 | 
					 | 
				
			||||||
  re: internalRe.re,
 | 
					 | 
				
			||||||
  src: internalRe.src,
 | 
					 | 
				
			||||||
  tokens: internalRe.t,
 | 
					 | 
				
			||||||
  SEMVER_SPEC_VERSION: __webpack_require__(293).SEMVER_SPEC_VERSION,
 | 
					 | 
				
			||||||
  SemVer: __webpack_require__(88),
 | 
					 | 
				
			||||||
  compareIdentifiers: __webpack_require__(463).compareIdentifiers,
 | 
					 | 
				
			||||||
  rcompareIdentifiers: __webpack_require__(463).rcompareIdentifiers,
 | 
					 | 
				
			||||||
  parse: __webpack_require__(925),
 | 
					 | 
				
			||||||
  valid: __webpack_require__(601),
 | 
					 | 
				
			||||||
  clean: __webpack_require__(848),
 | 
					 | 
				
			||||||
  inc: __webpack_require__(900),
 | 
					 | 
				
			||||||
  diff: __webpack_require__(297),
 | 
					 | 
				
			||||||
  major: __webpack_require__(688),
 | 
					 | 
				
			||||||
  minor: __webpack_require__(447),
 | 
					 | 
				
			||||||
  patch: __webpack_require__(866),
 | 
					 | 
				
			||||||
  prerelease: __webpack_require__(16),
 | 
					 | 
				
			||||||
  compare: __webpack_require__(309),
 | 
					 | 
				
			||||||
  rcompare: __webpack_require__(417),
 | 
					 | 
				
			||||||
  compareLoose: __webpack_require__(804),
 | 
					 | 
				
			||||||
  compareBuild: __webpack_require__(156),
 | 
					 | 
				
			||||||
  sort: __webpack_require__(426),
 | 
					 | 
				
			||||||
  rsort: __webpack_require__(701),
 | 
					 | 
				
			||||||
  gt: __webpack_require__(123),
 | 
					 | 
				
			||||||
  lt: __webpack_require__(194),
 | 
					 | 
				
			||||||
  eq: __webpack_require__(898),
 | 
					 | 
				
			||||||
  neq: __webpack_require__(17),
 | 
					 | 
				
			||||||
  gte: __webpack_require__(522),
 | 
					 | 
				
			||||||
  lte: __webpack_require__(520),
 | 
					 | 
				
			||||||
  cmp: __webpack_require__(98),
 | 
					 | 
				
			||||||
  coerce: __webpack_require__(466),
 | 
					 | 
				
			||||||
  Comparator: __webpack_require__(532),
 | 
					 | 
				
			||||||
  Range: __webpack_require__(828),
 | 
					 | 
				
			||||||
  satisfies: __webpack_require__(55),
 | 
					 | 
				
			||||||
  toComparators: __webpack_require__(706),
 | 
					 | 
				
			||||||
  maxSatisfying: __webpack_require__(579),
 | 
					 | 
				
			||||||
  minSatisfying: __webpack_require__(832),
 | 
					 | 
				
			||||||
  minVersion: __webpack_require__(179),
 | 
					 | 
				
			||||||
  validRange: __webpack_require__(741),
 | 
					 | 
				
			||||||
  outside: __webpack_require__(420),
 | 
					 | 
				
			||||||
  gtr: __webpack_require__(380),
 | 
					 | 
				
			||||||
  ltr: __webpack_require__(323),
 | 
					 | 
				
			||||||
  intersects: __webpack_require__(8),
 | 
					 | 
				
			||||||
  simplifyRange: __webpack_require__(561),
 | 
					 | 
				
			||||||
  subset: __webpack_require__(863),
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ }),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ 413:
 | 
					 | 
				
			||||||
/***/ (function(module) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
module.exports = require("stream");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ }),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ 417:
 | 
					 | 
				
			||||||
/***/ (function(module, __unusedexports, __webpack_require__) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const compare = __webpack_require__(309)
 | 
					 | 
				
			||||||
const rcompare = (a, b, loose) => compare(b, a, loose)
 | 
					 | 
				
			||||||
module.exports = rcompare
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ }),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ 420:
 | 
					 | 
				
			||||||
/***/ (function(module, __unusedexports, __webpack_require__) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const SemVer = __webpack_require__(88)
 | 
					 | 
				
			||||||
const Comparator = __webpack_require__(532)
 | 
					 | 
				
			||||||
const {ANY} = Comparator
 | 
					 | 
				
			||||||
const Range = __webpack_require__(828)
 | 
					 | 
				
			||||||
const satisfies = __webpack_require__(55)
 | 
					 | 
				
			||||||
const gt = __webpack_require__(123)
 | 
					 | 
				
			||||||
const lt = __webpack_require__(194)
 | 
					 | 
				
			||||||
const lte = __webpack_require__(520)
 | 
					 | 
				
			||||||
const gte = __webpack_require__(522)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const outside = (version, range, hilo, options) => {
 | 
					 | 
				
			||||||
  version = new SemVer(version, options)
 | 
					 | 
				
			||||||
  range = new Range(range, options)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  let gtfn, ltefn, ltfn, comp, ecomp
 | 
					 | 
				
			||||||
  switch (hilo) {
 | 
					 | 
				
			||||||
    case '>':
 | 
					 | 
				
			||||||
      gtfn = gt
 | 
					 | 
				
			||||||
      ltefn = lte
 | 
					 | 
				
			||||||
      ltfn = lt
 | 
					 | 
				
			||||||
      comp = '>'
 | 
					 | 
				
			||||||
      ecomp = '>='
 | 
					 | 
				
			||||||
      break
 | 
					 | 
				
			||||||
    case '<':
 | 
					 | 
				
			||||||
      gtfn = lt
 | 
					 | 
				
			||||||
      ltefn = gte
 | 
					 | 
				
			||||||
      ltfn = gt
 | 
					 | 
				
			||||||
      comp = '<'
 | 
					 | 
				
			||||||
      ecomp = '<='
 | 
					 | 
				
			||||||
      break
 | 
					 | 
				
			||||||
    default:
 | 
					 | 
				
			||||||
      throw new TypeError('Must provide a hilo val of "<" or ">"')
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // If it satisfies the range it is not outside
 | 
					 | 
				
			||||||
  if (satisfies(version, range, options)) {
 | 
					 | 
				
			||||||
    return false
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // From now on, variable terms are as if we're in "gtr" mode.
 | 
					 | 
				
			||||||
  // but note that everything is flipped for the "ltr" function.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  for (let i = 0; i < range.set.length; ++i) {
 | 
					 | 
				
			||||||
    const comparators = range.set[i]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    let high = null
 | 
					 | 
				
			||||||
    let low = null
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    comparators.forEach((comparator) => {
 | 
					 | 
				
			||||||
      if (comparator.semver === ANY) {
 | 
					 | 
				
			||||||
        comparator = new Comparator('>=0.0.0')
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      high = high || comparator
 | 
					 | 
				
			||||||
      low = low || comparator
 | 
					 | 
				
			||||||
      if (gtfn(comparator.semver, high.semver, options)) {
 | 
					 | 
				
			||||||
        high = comparator
 | 
					 | 
				
			||||||
      } else if (ltfn(comparator.semver, low.semver, options)) {
 | 
					 | 
				
			||||||
        low = comparator
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // If the edge version comparator has a operator then our version
 | 
					 | 
				
			||||||
    // isn't outside it
 | 
					 | 
				
			||||||
    if (high.operator === comp || high.operator === ecomp) {
 | 
					 | 
				
			||||||
      return false
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // If the lowest version comparator has an operator and our version
 | 
					 | 
				
			||||||
    // is less than it then it isn't higher than the range
 | 
					 | 
				
			||||||
    if ((!low.operator || low.operator === comp) &&
 | 
					 | 
				
			||||||
        ltefn(version, low.semver)) {
 | 
					 | 
				
			||||||
      return false
 | 
					 | 
				
			||||||
    } else if (low.operator === ecomp && ltfn(version, low.semver)) {
 | 
					 | 
				
			||||||
      return false
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return true
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
module.exports = outside
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ }),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ 426:
 | 
					 | 
				
			||||||
/***/ (function(module, __unusedexports, __webpack_require__) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const compareBuild = __webpack_require__(156)
 | 
					 | 
				
			||||||
const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))
 | 
					 | 
				
			||||||
module.exports = sort
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ }),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ 427:
 | 
					 | 
				
			||||||
/***/ (function(module) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const debug = (
 | 
					 | 
				
			||||||
  typeof process === 'object' &&
 | 
					 | 
				
			||||||
  process.env &&
 | 
					 | 
				
			||||||
  process.env.NODE_DEBUG &&
 | 
					 | 
				
			||||||
  /\bsemver\b/i.test(process.env.NODE_DEBUG)
 | 
					 | 
				
			||||||
) ? (...args) => console.error('SEMVER', ...args)
 | 
					 | 
				
			||||||
  : () => {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
module.exports = debug
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ }),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ 429:
 | 
					 | 
				
			||||||
/***/ (function(__unusedmodule, exports) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
"use strict";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Object.defineProperty(exports, '__esModule', { value: true });
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function getUserAgent() {
 | 
					 | 
				
			||||||
  if (typeof navigator === "object" && "userAgent" in navigator) {
 | 
					 | 
				
			||||||
    return navigator.userAgent;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if (typeof process === "object" && "version" in process) {
 | 
					 | 
				
			||||||
    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  return "<environment undetectable>";
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
exports.getUserAgent = getUserAgent;
 | 
					 | 
				
			||||||
//# sourceMappingURL=index.js.map
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ }),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ 436:
 | 
					 | 
				
			||||||
/***/ (function(__unusedmodule, exports, __webpack_require__) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
"use strict";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
 | 
					var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
 | 
				
			||||||
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
 | 
					    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
 | 
				
			||||||
    return new (P || (P = Promise))(function (resolve, reject) {
 | 
					    return new (P || (P = Promise))(function (resolve, reject) {
 | 
				
			||||||
@ -5688,6 +5466,242 @@ function copyFile(srcFile, destFile, force) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
//# sourceMappingURL=io.js.map
 | 
					//# sourceMappingURL=io.js.map
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ 357:
 | 
				
			||||||
 | 
					/***/ (function(module) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = require("assert");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ 373:
 | 
				
			||||||
 | 
					/***/ (function(module) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = require("crypto");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ 380:
 | 
				
			||||||
 | 
					/***/ (function(module, __unusedexports, __webpack_require__) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Determine if version is greater than all the versions possible in the range.
 | 
				
			||||||
 | 
					const outside = __webpack_require__(420)
 | 
				
			||||||
 | 
					const gtr = (version, range, options) => outside(version, range, '>', options)
 | 
				
			||||||
 | 
					module.exports = gtr
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ 383:
 | 
				
			||||||
 | 
					/***/ (function(module, __unusedexports, __webpack_require__) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// just pre-load all the stuff that index.js lazily exports
 | 
				
			||||||
 | 
					const internalRe = __webpack_require__(523)
 | 
				
			||||||
 | 
					module.exports = {
 | 
				
			||||||
 | 
					  re: internalRe.re,
 | 
				
			||||||
 | 
					  src: internalRe.src,
 | 
				
			||||||
 | 
					  tokens: internalRe.t,
 | 
				
			||||||
 | 
					  SEMVER_SPEC_VERSION: __webpack_require__(293).SEMVER_SPEC_VERSION,
 | 
				
			||||||
 | 
					  SemVer: __webpack_require__(88),
 | 
				
			||||||
 | 
					  compareIdentifiers: __webpack_require__(463).compareIdentifiers,
 | 
				
			||||||
 | 
					  rcompareIdentifiers: __webpack_require__(463).rcompareIdentifiers,
 | 
				
			||||||
 | 
					  parse: __webpack_require__(925),
 | 
				
			||||||
 | 
					  valid: __webpack_require__(601),
 | 
				
			||||||
 | 
					  clean: __webpack_require__(848),
 | 
				
			||||||
 | 
					  inc: __webpack_require__(900),
 | 
				
			||||||
 | 
					  diff: __webpack_require__(297),
 | 
				
			||||||
 | 
					  major: __webpack_require__(688),
 | 
				
			||||||
 | 
					  minor: __webpack_require__(447),
 | 
				
			||||||
 | 
					  patch: __webpack_require__(866),
 | 
				
			||||||
 | 
					  prerelease: __webpack_require__(16),
 | 
				
			||||||
 | 
					  compare: __webpack_require__(309),
 | 
				
			||||||
 | 
					  rcompare: __webpack_require__(417),
 | 
				
			||||||
 | 
					  compareLoose: __webpack_require__(804),
 | 
				
			||||||
 | 
					  compareBuild: __webpack_require__(156),
 | 
				
			||||||
 | 
					  sort: __webpack_require__(426),
 | 
				
			||||||
 | 
					  rsort: __webpack_require__(701),
 | 
				
			||||||
 | 
					  gt: __webpack_require__(123),
 | 
				
			||||||
 | 
					  lt: __webpack_require__(194),
 | 
				
			||||||
 | 
					  eq: __webpack_require__(898),
 | 
				
			||||||
 | 
					  neq: __webpack_require__(17),
 | 
				
			||||||
 | 
					  gte: __webpack_require__(522),
 | 
				
			||||||
 | 
					  lte: __webpack_require__(520),
 | 
				
			||||||
 | 
					  cmp: __webpack_require__(98),
 | 
				
			||||||
 | 
					  coerce: __webpack_require__(466),
 | 
				
			||||||
 | 
					  Comparator: __webpack_require__(532),
 | 
				
			||||||
 | 
					  Range: __webpack_require__(828),
 | 
				
			||||||
 | 
					  satisfies: __webpack_require__(55),
 | 
				
			||||||
 | 
					  toComparators: __webpack_require__(706),
 | 
				
			||||||
 | 
					  maxSatisfying: __webpack_require__(579),
 | 
				
			||||||
 | 
					  minSatisfying: __webpack_require__(832),
 | 
				
			||||||
 | 
					  minVersion: __webpack_require__(179),
 | 
				
			||||||
 | 
					  validRange: __webpack_require__(741),
 | 
				
			||||||
 | 
					  outside: __webpack_require__(420),
 | 
				
			||||||
 | 
					  gtr: __webpack_require__(380),
 | 
				
			||||||
 | 
					  ltr: __webpack_require__(323),
 | 
				
			||||||
 | 
					  intersects: __webpack_require__(8),
 | 
				
			||||||
 | 
					  simplifyRange: __webpack_require__(561),
 | 
				
			||||||
 | 
					  subset: __webpack_require__(863),
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ 413:
 | 
				
			||||||
 | 
					/***/ (function(module) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = require("stream");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ 417:
 | 
				
			||||||
 | 
					/***/ (function(module, __unusedexports, __webpack_require__) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const compare = __webpack_require__(309)
 | 
				
			||||||
 | 
					const rcompare = (a, b, loose) => compare(b, a, loose)
 | 
				
			||||||
 | 
					module.exports = rcompare
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ 420:
 | 
				
			||||||
 | 
					/***/ (function(module, __unusedexports, __webpack_require__) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const SemVer = __webpack_require__(88)
 | 
				
			||||||
 | 
					const Comparator = __webpack_require__(532)
 | 
				
			||||||
 | 
					const {ANY} = Comparator
 | 
				
			||||||
 | 
					const Range = __webpack_require__(828)
 | 
				
			||||||
 | 
					const satisfies = __webpack_require__(55)
 | 
				
			||||||
 | 
					const gt = __webpack_require__(123)
 | 
				
			||||||
 | 
					const lt = __webpack_require__(194)
 | 
				
			||||||
 | 
					const lte = __webpack_require__(520)
 | 
				
			||||||
 | 
					const gte = __webpack_require__(522)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const outside = (version, range, hilo, options) => {
 | 
				
			||||||
 | 
					  version = new SemVer(version, options)
 | 
				
			||||||
 | 
					  range = new Range(range, options)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  let gtfn, ltefn, ltfn, comp, ecomp
 | 
				
			||||||
 | 
					  switch (hilo) {
 | 
				
			||||||
 | 
					    case '>':
 | 
				
			||||||
 | 
					      gtfn = gt
 | 
				
			||||||
 | 
					      ltefn = lte
 | 
				
			||||||
 | 
					      ltfn = lt
 | 
				
			||||||
 | 
					      comp = '>'
 | 
				
			||||||
 | 
					      ecomp = '>='
 | 
				
			||||||
 | 
					      break
 | 
				
			||||||
 | 
					    case '<':
 | 
				
			||||||
 | 
					      gtfn = lt
 | 
				
			||||||
 | 
					      ltefn = gte
 | 
				
			||||||
 | 
					      ltfn = gt
 | 
				
			||||||
 | 
					      comp = '<'
 | 
				
			||||||
 | 
					      ecomp = '<='
 | 
				
			||||||
 | 
					      break
 | 
				
			||||||
 | 
					    default:
 | 
				
			||||||
 | 
					      throw new TypeError('Must provide a hilo val of "<" or ">"')
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // If it satisfies the range it is not outside
 | 
				
			||||||
 | 
					  if (satisfies(version, range, options)) {
 | 
				
			||||||
 | 
					    return false
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // From now on, variable terms are as if we're in "gtr" mode.
 | 
				
			||||||
 | 
					  // but note that everything is flipped for the "ltr" function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  for (let i = 0; i < range.set.length; ++i) {
 | 
				
			||||||
 | 
					    const comparators = range.set[i]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    let high = null
 | 
				
			||||||
 | 
					    let low = null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    comparators.forEach((comparator) => {
 | 
				
			||||||
 | 
					      if (comparator.semver === ANY) {
 | 
				
			||||||
 | 
					        comparator = new Comparator('>=0.0.0')
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      high = high || comparator
 | 
				
			||||||
 | 
					      low = low || comparator
 | 
				
			||||||
 | 
					      if (gtfn(comparator.semver, high.semver, options)) {
 | 
				
			||||||
 | 
					        high = comparator
 | 
				
			||||||
 | 
					      } else if (ltfn(comparator.semver, low.semver, options)) {
 | 
				
			||||||
 | 
					        low = comparator
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // If the edge version comparator has a operator then our version
 | 
				
			||||||
 | 
					    // isn't outside it
 | 
				
			||||||
 | 
					    if (high.operator === comp || high.operator === ecomp) {
 | 
				
			||||||
 | 
					      return false
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // If the lowest version comparator has an operator and our version
 | 
				
			||||||
 | 
					    // is less than it then it isn't higher than the range
 | 
				
			||||||
 | 
					    if ((!low.operator || low.operator === comp) &&
 | 
				
			||||||
 | 
					        ltefn(version, low.semver)) {
 | 
				
			||||||
 | 
					      return false
 | 
				
			||||||
 | 
					    } else if (low.operator === ecomp && ltfn(version, low.semver)) {
 | 
				
			||||||
 | 
					      return false
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  return true
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = outside
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ 426:
 | 
				
			||||||
 | 
					/***/ (function(module, __unusedexports, __webpack_require__) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const compareBuild = __webpack_require__(156)
 | 
				
			||||||
 | 
					const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))
 | 
				
			||||||
 | 
					module.exports = sort
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ 427:
 | 
				
			||||||
 | 
					/***/ (function(module) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const debug = (
 | 
				
			||||||
 | 
					  typeof process === 'object' &&
 | 
				
			||||||
 | 
					  process.env &&
 | 
				
			||||||
 | 
					  process.env.NODE_DEBUG &&
 | 
				
			||||||
 | 
					  /\bsemver\b/i.test(process.env.NODE_DEBUG)
 | 
				
			||||||
 | 
					) ? (...args) => console.error('SEMVER', ...args)
 | 
				
			||||||
 | 
					  : () => {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = debug
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/***/ 429:
 | 
				
			||||||
 | 
					/***/ (function(__unusedmodule, exports) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Object.defineProperty(exports, '__esModule', { value: true });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function getUserAgent() {
 | 
				
			||||||
 | 
					  if (typeof navigator === "object" && "userAgent" in navigator) {
 | 
				
			||||||
 | 
					    return navigator.userAgent;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (typeof process === "object" && "version" in process) {
 | 
				
			||||||
 | 
					    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return "<environment undetectable>";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exports.getUserAgent = getUserAgent;
 | 
				
			||||||
 | 
					//# sourceMappingURL=index.js.map
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/***/ }),
 | 
					/***/ }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/***/ 438:
 | 
					/***/ 438:
 | 
				
			||||||
@ -11109,68 +11123,6 @@ module.exports = function(data, options={}){
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/***/ }),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ 757:
 | 
					 | 
				
			||||||
/***/ (function(__unusedmodule, exports, __webpack_require__) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
"use strict";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
 | 
					 | 
				
			||||||
    if (k2 === undefined) k2 = k;
 | 
					 | 
				
			||||||
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
 | 
					 | 
				
			||||||
}) : (function(o, m, k, k2) {
 | 
					 | 
				
			||||||
    if (k2 === undefined) k2 = k;
 | 
					 | 
				
			||||||
    o[k2] = m[k];
 | 
					 | 
				
			||||||
}));
 | 
					 | 
				
			||||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
 | 
					 | 
				
			||||||
    Object.defineProperty(o, "default", { enumerable: true, value: v });
 | 
					 | 
				
			||||||
}) : function(o, v) {
 | 
					 | 
				
			||||||
    o["default"] = v;
 | 
					 | 
				
			||||||
});
 | 
					 | 
				
			||||||
var __importStar = (this && this.__importStar) || function (mod) {
 | 
					 | 
				
			||||||
    if (mod && mod.__esModule) return mod;
 | 
					 | 
				
			||||||
    var result = {};
 | 
					 | 
				
			||||||
    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
 | 
					 | 
				
			||||||
    __setModuleDefault(result, mod);
 | 
					 | 
				
			||||||
    return result;
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
 | 
					 | 
				
			||||||
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
 | 
					 | 
				
			||||||
    return new (P || (P = Promise))(function (resolve, reject) {
 | 
					 | 
				
			||||||
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
 | 
					 | 
				
			||||||
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
 | 
					 | 
				
			||||||
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
 | 
					 | 
				
			||||||
        step((generator = generator.apply(thisArg, _arguments || [])).next());
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
					 | 
				
			||||||
exports.exec = void 0;
 | 
					 | 
				
			||||||
const aexec = __importStar(__webpack_require__(514));
 | 
					 | 
				
			||||||
exports.exec = (command, args = [], silent) => __awaiter(void 0, void 0, void 0, function* () {
 | 
					 | 
				
			||||||
    let stdout = '';
 | 
					 | 
				
			||||||
    let stderr = '';
 | 
					 | 
				
			||||||
    const options = {
 | 
					 | 
				
			||||||
        silent: silent,
 | 
					 | 
				
			||||||
        ignoreReturnCode: true
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    options.listeners = {
 | 
					 | 
				
			||||||
        stdout: (data) => {
 | 
					 | 
				
			||||||
            stdout += data.toString();
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        stderr: (data) => {
 | 
					 | 
				
			||||||
            stderr += data.toString();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    const returnCode = yield aexec.exec(command, args, options);
 | 
					 | 
				
			||||||
    return {
 | 
					 | 
				
			||||||
        success: returnCode === 0,
 | 
					 | 
				
			||||||
        stdout: stdout.trim(),
 | 
					 | 
				
			||||||
        stderr: stderr.trim()
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
});
 | 
					 | 
				
			||||||
//# sourceMappingURL=exec.js.map
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***/ }),
 | 
					/***/ }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/***/ 758:
 | 
					/***/ 758:
 | 
				
			||||||
@ -13513,7 +13465,7 @@ const path = __importStar(__webpack_require__(622));
 | 
				
			|||||||
const semver = __importStar(__webpack_require__(383));
 | 
					const semver = __importStar(__webpack_require__(383));
 | 
				
			||||||
const tmp = __importStar(__webpack_require__(517));
 | 
					const tmp = __importStar(__webpack_require__(517));
 | 
				
			||||||
const core = __importStar(__webpack_require__(186));
 | 
					const core = __importStar(__webpack_require__(186));
 | 
				
			||||||
const command_1 = __webpack_require__(351);
 | 
					const command_1 = __webpack_require__(241);
 | 
				
			||||||
const github = __importStar(__webpack_require__(438));
 | 
					const github = __importStar(__webpack_require__(438));
 | 
				
			||||||
const buildx = __importStar(__webpack_require__(295));
 | 
					const buildx = __importStar(__webpack_require__(295));
 | 
				
			||||||
let _defaultContext, _tmpDir;
 | 
					let _defaultContext, _tmpDir;
 | 
				
			||||||
 | 
				
			|||||||
@ -2,9 +2,9 @@ import csvparse from 'csv-parse/lib/sync';
 | 
				
			|||||||
import fs from 'fs';
 | 
					import fs from 'fs';
 | 
				
			||||||
import path from 'path';
 | 
					import path from 'path';
 | 
				
			||||||
import * as semver from 'semver';
 | 
					import * as semver from 'semver';
 | 
				
			||||||
 | 
					import * as exec from '@actions/exec';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import * as context from './context';
 | 
					import * as context from './context';
 | 
				
			||||||
import * as exec from './exec';
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export async function getImageIDFile(): Promise<string> {
 | 
					export async function getImageIDFile(): Promise<string> {
 | 
				
			||||||
  return path.join(context.tmpDir(), 'iidfile').split(path.sep).join(path.posix.sep);
 | 
					  return path.join(context.tmpDir(), 'iidfile').split(path.sep).join(path.posix.sep);
 | 
				
			||||||
@ -80,21 +80,31 @@ export function hasGitAuthToken(secrets: string[]): Boolean {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export async function isAvailable(): Promise<Boolean> {
 | 
					export async function isAvailable(): Promise<Boolean> {
 | 
				
			||||||
  return await exec.exec(`docker`, ['buildx'], true).then(res => {
 | 
					  return await exec
 | 
				
			||||||
    if (res.stderr != '' && !res.success) {
 | 
					    .getExecOutput('docker', ['buildx'], {
 | 
				
			||||||
      return false;
 | 
					      ignoreReturnCode: true,
 | 
				
			||||||
    }
 | 
					      silent: true
 | 
				
			||||||
    return res.success;
 | 
					    })
 | 
				
			||||||
  });
 | 
					    .then(res => {
 | 
				
			||||||
 | 
					      if (res.stderr.length > 0 && res.exitCode != 0) {
 | 
				
			||||||
 | 
					        return false;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      return res.exitCode == 0;
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export async function getVersion(): Promise<string> {
 | 
					export async function getVersion(): Promise<string> {
 | 
				
			||||||
  return await exec.exec(`docker`, ['buildx', 'version'], true).then(res => {
 | 
					  return await exec
 | 
				
			||||||
    if (res.stderr != '' && !res.success) {
 | 
					    .getExecOutput('docker', ['buildx', 'version'], {
 | 
				
			||||||
      throw new Error(res.stderr);
 | 
					      ignoreReturnCode: true,
 | 
				
			||||||
    }
 | 
					      silent: true
 | 
				
			||||||
    return parseVersion(res.stdout);
 | 
					    })
 | 
				
			||||||
  });
 | 
					    .then(res => {
 | 
				
			||||||
 | 
					      if (res.stderr.length > 0 && res.exitCode != 0) {
 | 
				
			||||||
 | 
					        throw new Error(res.stderr.trim());
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      return parseVersion(res.stdout);
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export async function parseVersion(stdout: string): Promise<string> {
 | 
					export async function parseVersion(stdout: string): Promise<string> {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +0,0 @@
 | 
				
			|||||||
import * as exec from './exec';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export async function isDaemonRunning(): Promise<boolean> {
 | 
					 | 
				
			||||||
  return await exec.exec(`docker`, ['version', '--format', '{{.Server.Os}}'], true).then(res => {
 | 
					 | 
				
			||||||
    return !res.stdout.includes(' ') && res.success;
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										34
									
								
								src/exec.ts
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								src/exec.ts
									
									
									
									
									
								
							@ -1,34 +0,0 @@
 | 
				
			|||||||
import * as aexec from '@actions/exec';
 | 
					 | 
				
			||||||
import {ExecOptions} from '@actions/exec';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export interface ExecResult {
 | 
					 | 
				
			||||||
  success: boolean;
 | 
					 | 
				
			||||||
  stdout: string;
 | 
					 | 
				
			||||||
  stderr: string;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export const exec = async (command: string, args: string[] = [], silent?: boolean): Promise<ExecResult> => {
 | 
					 | 
				
			||||||
  let stdout: string = '';
 | 
					 | 
				
			||||||
  let stderr: string = '';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  const options: ExecOptions = {
 | 
					 | 
				
			||||||
    silent: silent,
 | 
					 | 
				
			||||||
    ignoreReturnCode: true
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
  options.listeners = {
 | 
					 | 
				
			||||||
    stdout: (data: Buffer) => {
 | 
					 | 
				
			||||||
      stdout += data.toString();
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    stderr: (data: Buffer) => {
 | 
					 | 
				
			||||||
      stderr += data.toString();
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  const returnCode: number = await aexec.exec(command, args, options);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  return {
 | 
					 | 
				
			||||||
    success: returnCode === 0,
 | 
					 | 
				
			||||||
    stdout: stdout.trim(),
 | 
					 | 
				
			||||||
    stderr: stderr.trim()
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
							
								
								
									
										16
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								src/main.ts
									
									
									
									
									
								
							@ -1,9 +1,9 @@
 | 
				
			|||||||
import * as fs from 'fs';
 | 
					import * as fs from 'fs';
 | 
				
			||||||
import * as buildx from './buildx';
 | 
					import * as buildx from './buildx';
 | 
				
			||||||
import * as context from './context';
 | 
					import * as context from './context';
 | 
				
			||||||
import * as exec from './exec';
 | 
					 | 
				
			||||||
import * as stateHelper from './state-helper';
 | 
					import * as stateHelper from './state-helper';
 | 
				
			||||||
import * as core from '@actions/core';
 | 
					import * as core from '@actions/core';
 | 
				
			||||||
 | 
					import * as exec from '@actions/exec';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
async function run(): Promise<void> {
 | 
					async function run(): Promise<void> {
 | 
				
			||||||
  try {
 | 
					  try {
 | 
				
			||||||
@ -23,11 +23,15 @@ async function run(): Promise<void> {
 | 
				
			|||||||
    let inputs: context.Inputs = await context.getInputs(defContext);
 | 
					    let inputs: context.Inputs = await context.getInputs(defContext);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const args: string[] = await context.getArgs(inputs, defContext, buildxVersion);
 | 
					    const args: string[] = await context.getArgs(inputs, defContext, buildxVersion);
 | 
				
			||||||
    await exec.exec('docker', args).then(res => {
 | 
					    await exec
 | 
				
			||||||
      if (res.stderr != '' && !res.success) {
 | 
					      .getExecOutput('docker', args, {
 | 
				
			||||||
        throw new Error(`buildx call failed with: ${res.stderr.match(/(.*)\s*$/)![0]}`);
 | 
					        ignoreReturnCode: true
 | 
				
			||||||
      }
 | 
					      })
 | 
				
			||||||
    });
 | 
					      .then(res => {
 | 
				
			||||||
 | 
					        if (res.stderr.length > 0 && res.exitCode != 0) {
 | 
				
			||||||
 | 
					          throw new Error(`buildx bake failed with: ${res.stderr.match(/(.*)\s*$/)![0].trim()}`);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const imageID = await buildx.getImageID();
 | 
					    const imageID = await buildx.getImageID();
 | 
				
			||||||
    if (imageID) {
 | 
					    if (imageID) {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user