UNPKG

@patchworkdev/pdk

Version:

Patchwork Development Kit

78 lines (77 loc) 3.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ponder = ponder; const abis_1 = require("./abis"); const api_1 = require("./api"); const config_1 = require("./config"); const env_1 = require("./env"); const eventHooks_1 = require("./eventHooks"); const schema_1 = require("./schema"); const types_1 = require("./types"); const typescriptSchemas_1 = require("./typescriptSchemas"); function ponder(props = { trpc: true }) { return { name: 'Ponder', configProps: props, generate: async ({ context, task }) => { return task.newListr([ { title: 'Processing ABIs...', task: async () => { // await new Promise((resolve) => setTimeout(resolve, 1000)); await (0, abis_1.generateABIs)(context.rootDir); }, }, { title: 'Generating Ponder schema...', task: async () => { await (0, schema_1.generateSchema)(context.rootDir); }, }, { title: 'Generating Typescript schemas...', task: async () => { await (0, typescriptSchemas_1.generateTypescriptSchemas)(context.rootDir); }, }, { title: 'Generating event filters', task: async () => { await (0, eventHooks_1.generateEventHooks)(context.rootDir); }, }, { title: 'Generating ponder config', task: async () => { await (0, config_1.generateConfig)(context.rootDir); }, }, { title: 'Generating tRPC endpoints...', enabled: () => props.trpc, task: async (ctx) => { const artifacts = await (0, api_1.generateAPI)(context.rootDir); for (const [key, value] of Object.entries(artifacts)) { ctx.artifacts[key] = value; } }, }, { title: 'Generating types', task: async (ctx) => { const artifacts = await (0, types_1.generateTypes)(context.rootDir); for (const [key, value] of Object.entries(artifacts)) { ctx.artifacts[key] = value; } }, }, { title: 'Generating Ponder env...', task: async (ctx) => { await (0, env_1.generatePonderEnv)(context.rootDir); }, }, ], { concurrent: false }); }, }; }