This repository is a comprehensive monorepo setup for developing a decentralized application using Next.js, Hardhat, and The Graph. Each part of the application is housed in its dedicated subdirectory within this monorepo. The repository uses pnpm as a workspace and package manager.
/packages/dapp
: Contains the Next.js frontend application./packages/hardhat
: Houses the Hardhat environment for smart contract development./packages/subgraph
: Setup for The Graph to handle indexing and querying blockchain data.
To get started with this monorepo, clone this repository and run the following command to install all dependencies:
pnpm install
This project includes the following development dependencies:
- Husky: For managing Git hooks.
- Lerna: For managing multi-package repositories.
- TypeScript: For static type checking.
- ESLint: For linting and maintaining code quality.
- @typescript-eslint/parser: TypeScript parser for ESLint.
- @typescript-eslint/eslint-plugin: ESLint plugin with TypeScript specific rules.
Husky is set up to run pre-commit hooks to ensure code quality. By default, it runs ESLint. You can customize the pre-commit hook to run additional scripts or checks.
-
Open the
.husky/pre-commit
file. -
Modify the file to include additional commands as needed. For example, to run tests before committing, you can add:
pnpm run lint pnpm run test
-
Save the file and commit your changes.
Contributions are welcome! Please refer to each package's README for more detailed guidelines on how to contribute effectively.
If you find this project helpful, please give it a star on GitHub!⭐
This project template is maintained by SummitShare.