2.0.1 • Published 4 months ago
pathgen v2.0.1
██╗ ██╗ ██╗██████╗ ██████╗ ██╗
██║ ██║ ██║██╔══██╗██╔════╝ ██║
██║ ██║ ██║██║ ██║██║ ███╗██║
██║ ██║ ██║██║ ██║██║ ██║██║
███████╗╚██████╔╝██████╔╝╚██████╔╝██║
╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝
Manage your API routes effortlessly with Pathgen CLI
English
pathgen Overview
pathgen
is a CLI tool for Next.js developers that explores and structures API routes based on existing route.ts
files in the src/app/api/
directory, enabling type support and centralized management.
Features
- Explores and structures API routes from
route.ts
files insrc/app/api/
- Generates TypeScript interfaces and route objects for type safety and autocompletion
- Supports nested routes (e.g.,
/api/admin/products
→apiRoutes.routes.admin.routes.products.path
) - Lightweight and easy to integrate
Installation
Global Installation
npm install -g pathgen
Local Installation (Recommended)
npm install --save-dev pathgen
Usage
Basic Command
npx pathgen
- Default directory:
./src/app/api/
- Default output:
./src/lib/apiRoutes.ts
Custom Options
npx pathgen --dir ./custom/app/api --output ./custom/apiRoutes.ts
--dir
: Directory to explore forroute.ts
files (default:./src/app/api/
)--output
: Generated TypeScript file path (default:./src/lib/apiRoutes.ts
)
Execution Notes
- Local Install: Use
npx pathgen
or add"pathgen": "pathgen"
topackage.json
scripts and runnpm run pathgen
. - Global Install: Use
pathgen
directly. - Note: With local install,
pathgen
alone won’t work; usenpx
.
Example
src/app/api/
├── admin/
│ └── products/
│ └── route.ts
├── users/
│ └── route.ts
└── route.ts
After npx pathgen
:
// src/lib/apiRoutes.ts
interface ApiRoutes {
routes: {
admin: {
routes: {
products: {
path: string;
};
};
};
users: {
path: string;
};
"": {
path: string;
};
};
}
export const apiRoutes: ApiRoutes = {
"routes": {
"admin": {
"routes": {
"products": {
"path": "/api/admin/products"
}
}
},
"users": {
"path": "/api/users"
},
"": {
"path": "/api"
}
}
};
Prerequisites
- Node.js (v14 or higher)
- Next.js project with
route.ts
files insrc/app/api/
Options
Option | Description | Default Value |
---|---|---|
-d, --dir | Directory to explore for route.ts files | ./src/app/api/ |
-o, --output | Path to generated routes file | ./src/lib/apiRoutes.ts |
-v, --version | Show version number | - |
-h, --help | Display help information | - |