2.0.1 • Published 4 months ago

pathgen v2.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
4 months ago
██╗     ██╗   ██╗██████╗  ██████╗ ██╗
██║     ██║   ██║██╔══██╗██╔════╝ ██║
██║     ██║   ██║██║  ██║██║  ███╗██║
██║     ██║   ██║██║  ██║██║   ██║██║
███████╗╚██████╔╝██████╔╝╚██████╔╝██║
╚══════╝ ╚═════╝ ╚═════╝  ╚═════╝ ╚═╝
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 in src/app/api/
  • Generates TypeScript interfaces and route objects for type safety and autocompletion
  • Supports nested routes (e.g., /api/admin/productsapiRoutes.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 for route.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" to package.json scripts and run npm run pathgen.
  • Global Install: Use pathgen directly.
  • Note: With local install, pathgen alone won’t work; use npx.

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 in src/app/api/

Options

OptionDescriptionDefault Value
-d, --dirDirectory to explore for route.ts files./src/app/api/
-o, --outputPath to generated routes file./src/lib/apiRoutes.ts
-v, --versionShow version number-
-h, --helpDisplay help information-
2.0.1

4 months ago

2.0.0

5 months ago

1.1.0

5 months ago

1.0.8

5 months ago

1.0.7

5 months ago

1.0.6

5 months ago

1.0.1

5 months ago

1.0.0

5 months ago