UNPKG

pact-toolbox

Version:

A tool to help you build, test and deploy your Pact smart contracts

61 lines (59 loc) 2.01 kB
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_utils = require_chunk.__toESM(require("@pact-toolbox/utils")); const fs = require_chunk.__toESM(require("fs")); const pathe = require_chunk.__toESM(require("pathe")); const __pact_toolbox_fabricator = require_chunk.__toESM(require("@pact-toolbox/fabricator")); //#region src/commands/generate/module.ts const moduleCommand = (0, citty.defineCommand)({ meta: { name: "module", description: "Generate contracts and components" }, args: { name: { type: "positional", description: "Name of the module", valueHint: "my-module", required: true }, namespace: { type: "string", description: "Namespace of the module", valueHint: "free", default: "free" }, "admin-keyset": { type: "string", description: "Admin keyset of the module", valueHint: "admin-keyset", default: "admin-keyset" }, force: { type: "boolean", description: "Force overwrite existing module", default: false, alias: ["f"] } }, run: async ({ args }) => { const config = await (0, __pact_toolbox_config.resolveConfig)(); const contractDir = config.contractsDir || "pact"; const code = (0, __pact_toolbox_fabricator.generateModule)({ namespace: args.namespace, adminKeyset: args["admin-keyset"], name: args.name }); const fileName = `${args.name}.pact`; const path = (0, pathe.join)(contractDir, fileName); if ((0, fs.existsSync)(path) && !args.force) { __pact_toolbox_utils.logger.error(`Module ${fileName} already exists in ${contractDir} directory.`); return; } await (0, __pact_toolbox_utils.writeFile)(path, code); __pact_toolbox_utils.logger.box(`Module ${fileName} generated in ${contractDir} directory.\nPlease review the generated code before deploying it.`); } }); //#endregion exports.moduleCommand = moduleCommand;