@patchworkdev/pdk
Version:
Patchwork Development Kit
33 lines (32 loc) • 1.73 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateAll = generateAll;
const path_1 = __importDefault(require("path"));
const cliProcessor_1 = require("../common/cliProcessor");
const logger_1 = require("../common/helpers/logger");
const contractDeployScripts_1 = require("./contractDeployScripts");
const contracts_1 = require("./contracts");
const services_1 = require("./services");
async function generateAll(configPath) {
logger_1.logger.info('Starting full generation process...');
logger_1.logger.info('Getting forge configuration...');
const { execa } = await import('execa');
const forgeConfig = JSON.parse((await execa('forge', ['config', '--json'])).stdout);
const srcDir = forgeConfig.src || path_1.default.join(process.cwd(), 'contracts', 'src');
const scriptDir = path_1.default.join(process.cwd(), 'contracts', 'script');
logger_1.logger.info('Generating contracts...');
await (0, contracts_1.generateContracts)([configPath], srcDir);
// Generate deploy scripts
logger_1.logger.info('Generating deploy scripts...');
await (0, contractDeployScripts_1.generateContractDeployScripts)([configPath], '../src', scriptDir);
// Build the contracts using cliProcessor
logger_1.logger.info('Building contracts...');
await cliProcessor_1.cliProcessor.buildContracts(process.cwd());
// Generate all services
logger_1.logger.info('Generating services...');
await (0, services_1.generateServices)(configPath);
logger_1.logger.info('All components generated successfully!');
}