pact-toolbox
Version:
A tool to help you build, test and deploy your Pact smart contracts
61 lines (59 loc) • 1.54 kB
JavaScript
const require_chunk = require('./chunk-CUT6urMc.cjs');
const citty = require_chunk.__toESM(require("citty"));
const __pact_toolbox_config = require_chunk.__toESM(require("@pact-toolbox/config"));
const __pact_toolbox_network = require_chunk.__toESM(require("@pact-toolbox/network"));
//#region src/commands/start.ts
const startCommand = (0, citty.defineCommand)({
meta: {
name: "start",
description: "Start a configured network locally"
},
args: {
network: {
type: "positional",
name: "version",
description: "Network to start",
required: false,
default: "local"
},
quiet: {
type: "boolean",
name: "quiet",
alias: "q",
description: "Silence logs",
required: false
},
tunnel: {
type: "boolean",
name: "tunnel",
alias: "t",
description: "Start a cloudflare tunnel to the network",
required: false,
default: false
},
clipboard: {
type: "boolean",
name: "clipboard",
alias: "c",
description: "Copy the network url to the clipboard",
required: false,
default: true
}
},
run: async ({ args }) => {
const config = await (0, __pact_toolbox_config.resolveConfig)();
const { network, quiet, tunnel } = args;
await (0, __pact_toolbox_network.createPactToolboxNetwork)(config, {
isDetached: !quiet && !tunnel,
logAccounts: true,
cleanup: true,
autoStart: true,
network,
conflictStrategy: "replace"
});
if (quiet || tunnel) process.exit(0);
else await new Promise(() => {});
}
});
//#endregion
exports.startCommand = startCommand;