Source: https://seerepo.com/r/subquery/subql/built
Markdown source: https://seerepo.com/r/subquery/subql/built.md
Description: subql is a TypeScript repo built with @nestjs/core, NestJS, and apollo-server-express.

# What is subql built with?

subql is a TypeScript repo built with @nestjs/core, NestJS, and apollo-server-express. It makes its content with yaml, js-yaml, EJS, qrcode-terminal, and csv-stringify, validates its data with Zod, class-transformer, class-validator, and graphql-query-complexity, is tested with assert and @nestjs/testing, deploys with pino, prom-client, pino-http, and rotating-file-stream, and uses MCP, lru-cache, and Postgres. It has 109,078 written lines, with 148 test files.

Read on November 6, 2026, at commit b35d488.

Repository: https://github.com/subquery/subql

## Frontend (packages/cli)

### Interface

- **Inquirer**: 3 files

## Backend (packages/cli)

### Services

- **[MCP](https://seerepo.com/uses/mcp)**: 34 files · [packages/cli/src/adapters/utils.ts, line 7](https://github.com/subquery/subql/blob/b35d488cfe4d9ff85cf2f6d1752ff7038e5a4eb8/packages/cli/src/adapters/utils.ts#L7)

## Support (packages/cli)

### Content

- **[yaml](https://seerepo.com/uses/yaml)**: 5 files
- **[js-yaml](https://seerepo.com/uses/js-yaml)**: 2 files
- **EJS**: 1 file
- **qrcode-terminal**: 1 file

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 42 files

### Testing

- **assert**: 11 files

### Tools

- **oclif**: 35 files
- **glob**: 2 files
- **rimraf**: 2 files
- **simple-git**: 2 files
- **@graphql-codegen/cli**: 1 file
- **resolve-from**: 1 file
- **terser-webpack-plugin**: 1 file
- **ts-node**: 1 file
- **tsconfig-paths-webpack-plugin**: 1 file
- **Webpack**: 1 file
- **webpack-merge**: 1 file

### Other

- **Axios**: 5 files
- **Ethers**: 5 files
- **Lodash**: 4 files
- **chalk**: 2 files
- **.ENV**: 1 file
- **fuzzy**: 1 file
- **GraphQL**: 1 file
- **json5**: 1 file
- **jsonc-parser**: 1 file
- **ws**: 1 file

## Support (packages/common-substrate)

### Validation

- **[class-transformer](https://seerepo.com/uses/class-transformer)**: 4 files
- **[class-validator](https://seerepo.com/uses/class-validator)**: 3 files

## Support (packages/common)

### Content

- **[js-yaml](https://seerepo.com/uses/js-yaml)**: 6 files

### Validation

- **[class-transformer](https://seerepo.com/uses/class-transformer)**: 5 files
- **[class-validator](https://seerepo.com/uses/class-validator)**: 5 files

### Testing

- **assert**: 1 file

### Deploy

- **[pino](https://seerepo.com/uses/pino)**: 1 file

### Tools

- **package-json-type**: 3 files
- **update-notifier**: 1 file

### Other

- **Axios**: 3 files
- **SemVer**: 2 files
- **form-data**: 1 file
- **reflect-metadata**: 1 file

## Backend (packages/node-core)

### The base

- **[@nestjs/core](https://seerepo.com/uses/nestjs-core)**: 2 files

### Data

- **[lru-cache](https://seerepo.com/uses/lru-cache)**: 1 file
- **[Postgres](https://seerepo.com/uses/postgres)**: 1 file · [packages/node-core/src/indexer/multiChainRewind.service.ts, line 10](https://github.com/subquery/subql/blob/b35d488cfe4d9ff85cf2f6d1752ff7038e5a4eb8/packages/node-core/src/indexer/multiChainRewind.service.ts#L10)

## Support (packages/node-core)

### The base

- **[NestJS](https://seerepo.com/uses/nestjs)**: 52 files · [in packages/node/package.json](https://github.com/subquery/subql/blob/b35d488cfe4d9ff85cf2f6d1752ff7038e5a4eb8/packages/node/package.json)

### Content

- **csv-stringify**: 1 file

### Validation

- **[class-transformer](https://seerepo.com/uses/class-transformer)**: 3 files
- **[class-validator](https://seerepo.com/uses/class-validator)**: 1 file

### Testing

- **assert**: 26 files
- **@nestjs/testing**: 4 files

### Deploy

- **[pino](https://seerepo.com/uses/pino)**: 5 files
- **[prom-client](https://seerepo.com/uses/prom-client)**: 1 file

### Tools

- **rimraf**: 1 file
- **source-map**: 1 file
- **yargs**: 1 file

### Other

- **Lodash**: 22 files
- **chalk**: 4 files
- **GraphQL**: 3 files
- **vm2**: 2 files
- **.ENV**: 1 file
- **async-mutex**: 1 file
- **Axios**: 1 file
- **dayjs**: 1 file
- **tar**: 1 file

## Backend (packages/node)

### The base

- **[@nestjs/core](https://seerepo.com/uses/nestjs-core)**: 3 files

### Data

- **[lru-cache](https://seerepo.com/uses/lru-cache)**: 1 file

## Support (packages/node)

### The base

- **[NestJS](https://seerepo.com/uses/nestjs)**: 19 files · [in packages/node/package.json](https://github.com/subquery/subql/blob/b35d488cfe4d9ff85cf2f6d1752ff7038e5a4eb8/packages/node/package.json)

### Content

- **[js-yaml](https://seerepo.com/uses/js-yaml)**: 1 file

### Testing

- **@nestjs/testing**: 5 files
- **assert**: 5 files

### Tools

- **rimraf**: 2 files

### Other

- **GraphQL**: 5 files
- **Lodash**: 2 files
- **Axios**: 1 file
- **fetch-h2**: 1 file
- **vm2**: 1 file

## Backend (packages/query)

### The base

- **[@nestjs/core](https://seerepo.com/uses/nestjs-core)**: 2 files

### Data

- **[Postgres](https://seerepo.com/uses/postgres)**: 7 files · [packages/node-core/src/indexer/multiChainRewind.service.ts, line 10](https://github.com/subquery/subql/blob/b35d488cfe4d9ff85cf2f6d1752ff7038e5a4eb8/packages/node-core/src/indexer/multiChainRewind.service.ts#L10)

## Support (packages/query)

### The base

- **[NestJS](https://seerepo.com/uses/nestjs)**: 5 files · [in packages/node/package.json](https://github.com/subquery/subql/blob/b35d488cfe4d9ff85cf2f6d1752ff7038e5a4eb8/packages/node/package.json)
- **apollo-server-express**: 1 file

### Validation

- **graphql-query-complexity**: 1 file

### Testing

- **assert**: 1 file

### Deploy

- **[pino](https://seerepo.com/uses/pino)**: 2 files
- **pino-http**: 1 file

### Tools

- **yargs**: 1 file

### Other

- **GraphQL**: 9 files
- **Lodash**: 4 files
- **compression**: 1 file
- **graphql-ws**: 1 file
- **ws**: 1 file

## Support (packages/types-core)

### Deploy

- **[pino](https://seerepo.com/uses/pino)**: 1 file

### Tools

- **package-json-type**: 1 file

## Support (packages/utils)

### Testing

- **assert**: 3 files

### Deploy

- **[pino](https://seerepo.com/uses/pino)**: 2 files
- **rotating-file-stream**: 1 file

### Other

- **GraphQL**: 2 files
- **graphql-tag**: 2 files
- **chalk**: 1 file
- **detect-port**: 1 file
- **flatted**: 1 file
- **Lodash**: 1 file

## Other repos with a similar stack

- [novuhq/novu](https://seerepo.com/r/novuhq/novu/built): MCP, @nestjs/core, lru-cache, NestJS, Zod, class-transformer, class-validator, pino · [Compare](https://seerepo.com/compare/novuhq/novu/vs/subquery/subql)
- [n8n-io/n8n](https://seerepo.com/r/n8n-io/n8n/built): MCP, lru-cache, Postgres, yaml, Zod, class-transformer, class-validator · [Compare](https://seerepo.com/compare/n8n-io/n8n/vs/subquery/subql)
- [ruvnet/ruflo](https://seerepo.com/r/ruvnet/ruflo/built): MCP, Postgres, yaml, js-yaml, Zod, pino, prom-client · [Compare](https://seerepo.com/compare/ruvnet/ruflo/vs/subquery/subql)
- [hoppscotch/hoppscotch](https://seerepo.com/r/hoppscotch/hoppscotch/built): @nestjs/core, Postgres, NestJS, js-yaml, Zod, class-transformer, class-validator · [Compare](https://seerepo.com/compare/hoppscotch/hoppscotch/vs/subquery/subql)
- [twentyhq/twenty](https://seerepo.com/r/twentyhq/twenty/built): MCP, @nestjs/core, Postgres, NestJS, Zod, class-transformer, class-validator · [Compare](https://seerepo.com/compare/subquery/subql/vs/twentyhq/twenty)
- [calcom/cal.diy](https://seerepo.com/r/calcom/cal.diy/built): @nestjs/core, lru-cache, Postgres, NestJS, Zod, class-transformer, class-validator · [Compare](https://seerepo.com/compare/calcom/cal.diy/vs/subquery/subql)

## Frequently asked questions

### What language is subql written in?

subql is written in TypeScript, with 109,078 written lines.

### What framework does subql use?

subql is built with @nestjs/core, NestJS, and apollo-server-express.

### What services does subql use?

subql uses MCP, lru-cache, and Postgres.

The proof: [packages/cli/src/adapters/utils.ts, line 7](https://github.com/subquery/subql/blob/b35d488cfe4d9ff85cf2f6d1752ff7038e5a4eb8/packages/cli/src/adapters/utils.ts#L7)

### Does subql have tests?

Yes. subql has 148 test files and is tested with assert and @nestjs/testing.

### Which repos have a stack like subql's?

The ones that share most of its stack: novuhq/novu, n8n-io/n8n, and ruvnet/ruflo.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
