Skip to main content

Squid CLI cheatsheet

The sqd CLI tool has built-in aliasing that picks up the commands defined in commands.json in the project root. In all squid templates this file is pre-populated with some handy scripts briefly described below.

One can always inspect the available commands defined in commands.json with

sqd --help

The commands defined by commands.json will appear in the SQUID COMMANDS help sections.

Before using the sqd CLI tool, make sure all the project dependencies are installed:

npm ci

Building the squid​

sqd build             Build the squid project
sqd clean Delete all build artifacts

Running the squid​

info

Both sqd up and sqd down assume that the docker compose command is supported and the docker deamon is running. Modify the definitions in commands.json accordingly if docker-compose should be used instead.

sqd up                  Start a local PG database
sqd down Drop the local PG database
sqd run [PATH] Run all the services defined in squid.yaml locally
sqd serve Start the GraphQL server
sqd serve:prod Start the GraphQL API server with caching and limits

DB migrations​

Read TypeORM Migration generation for details.

sqd migration:apply             apply pending migrations
sqd migration:generate generate the migration for the schema defined in schema.graphql
sqd migration:clean clean the db/migrations folder

Code generation​

Consult TypeORM Model generation for TypeORM model generation details, and Type-safe decoding for type generation.

info

Depending on the template, sqd typegen is aliased to a different typegen tool specific to the chain type and thus has different usage. Consult sqd typegen --help for details.

sqd codegen        Generate TypeORM entities from schema.graphql
sqd typegen Generate data access classes for an ABI file(s) in the ./abi folder