@patchworkdev/pdk
Version:
Patchwork Development Kit
78 lines (77 loc) • 3.04 kB
JavaScript
;
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 });
},
};
}