A monorepo for NestJS development environment, providing reusable ESLint and TypeScript configurations.
This monorepo contains various configuration packages for NestJS development, designed to provide a consistent and high-quality development experience.
Provides modular ESLint configurations supporting multiple project types:
- Base: Basic configuration
- Node.js: Node.js project configuration
- NestJS: NestJS project configuration
- Next.js: Next.js project configuration
- React: React project configuration
- Jest: Test files configuration
Provides TypeScript configuration files:
- Base: Basic TypeScript configuration
- NestJS: NestJS project specific configuration
- Next.js: Next.js project specific configuration
- React Library: React library project configuration
- Package Manager: pnpm
- Build Tool: Turbo
- Language: TypeScript
- Code Quality: ESLint + Prettier
- Node.js: >= 20
- Node.js 18+
- pnpm 9.0.0+
pnpm install# Start development mode
pnpm dev
# Build all packages
pnpm build
# Lint code
pnpm lint
# Type checking
pnpm check-types
# Format code
pnpm formatnestjs-labs-dev/
├── packages/
│ ├── eslint-config/ # ESLint configuration package
│ │ ├── src/
│ │ │ ├── base.ts # Base configuration
│ │ │ ├── nest.ts # NestJS configuration
│ │ │ ├── next.ts # Next.js configuration
│ │ │ ├── react.ts # React configuration
│ │ │ ├── node.ts # Node.js configuration
│ │ │ ├── jest.ts # Jest configuration
│ │ │ └── index.ts # Main entry
│ │ └── package.json
│ └── typescript-config/ # TypeScript configuration package
│ ├── base.json # Base configuration
│ ├── nestjs.json # NestJS configuration
│ ├── nextjs.json # Next.js configuration
│ └── package.json
├── package.json
├── pnpm-workspace.yaml
├── turbo.json
└── README.md
Install and use ESLint configuration in your project:
pnpm add -D @nestjs-labs/eslint-configCreate eslint.config.js:
// Use complete NestJS configuration
import nestJsConfig from '@nestjs-labs/eslint-config/nest';
export default nestJsConfig;Install and use TypeScript configuration in your project:
pnpm add -D @nestjs-labs/typescript-configExtend configuration in tsconfig.json:
{
"extends": "@nestjs-labs/typescript-config/nestjs"
}MIT License
This project is inspired by and references the excellent work from @polkadot-js/dev, which provides shared development configurations and CI scripts for the Polkadot.js ecosystem. Their approach to creating reusable development tooling has been a great inspiration for this project.
- NestJS Official Website
- Turbo Documentation
- pnpm Documentation
- @polkadot-js/dev - Inspiration for this project