JSPM

create-worker-app

1.1.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q34403F
  • License MIT

Create Cloudflare Workers apps with Hono.js

Package Exports

  • create-worker-app
  • create-worker-app/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (create-worker-app) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

create-worker-app

🚀 The fastest way to create Cloudflare Workers applications with Hono.js

įŽ€äŊ“中文

✨ Features

  • âšĄī¸ Lightning Fast - Built on Hono.js, optimized for edge computing
  • 📝 TypeScript First - Full type support and IntelliSense
  • 📚 Auto API Documentation - OpenAPI/Swagger integration, visit /docs
  • đŸ› ī¸ Smart Route Generator - Interactive CLI for creating CRUD, Auth, Webhook templates
  • đŸŽ¯ Production Ready - Built-in error handling, CORS, logging middleware
  • 🚀 One-Click Deploy - Pre-configured Wrangler for multi-environment deployment

đŸƒâ€â™‚ī¸ Quick Start

Using npx (recommended):

npx create-worker-app my-app
cd my-app
npm install
npm run dev

Or install globally:

npm install -g create-worker-app
create-worker-app my-app

🎮 Interactive Setup

The CLI will guide you through the setup:

🚀 Create Worker App

✔ Project name: my-awesome-api
✔ Project description: A high-performance API service
✔ Will you need database configuration? â€Ļ No
✔ Include OpenAPI/Swagger documentation? â€Ļ Yes

📁 Creating project...

✅ Project created successfully!

đŸ—ī¸ Project Structure

my-app/
├── src/
│   ├── index.ts          # Application entry
│   ├── types/            # TypeScript type definitions
│   │   └── env.ts        # Environment types
│   ├── routes/           # API routes
│   │   └── health.ts     # Health check example
│   ├── schemas/          # Zod validation schemas
│   │   └── common.ts     # Common schemas
│   └── lib/              # Utilities
│       └── openapi.ts    # OpenAPI configuration
├── scripts/
│   └── generate-route.js # Route generator
├── wrangler.toml         # Cloudflare Workers config
├── tsconfig.json         # TypeScript config
├── package.json
└── README.md

đŸ”Ĩ Powerful Route Generator

npm run generate:route

Choose from templates:

  • Basic - Standard API route
  • CRUD Resource - Full REST endpoints
  • With Auth - JWT authenticated route
  • Webhook Handler - External webhook receiver

CLI Mode

# Generate basic route
npm run generate:route createUser post /api/users

# Generate authenticated route
npm run generate:route getProfile get /api/profile auth

# Generate CRUD resource (creates 5 endpoints)
npm run generate:route -- # Then select CRUD Resource

CRUD Generation Example

When selecting CRUD Resource:

✅ Created schema: src/schemas/product.ts
✅ Created CRUD routes: src/routes/product.ts
✅ Updated index.ts

Created endpoints:
- GET    /api/products     - List all products
- GET    /api/products/{id} - Get single product
- POST   /api/products     - Create new product
- PATCH  /api/products/{id} - Update product
- DELETE /api/products/{id} - Delete product

🚀 Development & Deployment

Local Development

npm run dev
# Visit http://localhost:8787
# API docs at http://localhost:8787/docs

Deploy to Cloudflare

# Deploy to development
npm run deploy

# Deploy to staging
npm run deploy:staging

# Deploy to production
npm run deploy:production

📋 Template Comparison

Template Use Case Features
Basic Standard API endpoints Request validation, error handling
CRUD Resource RESTful resources Full CRUD operations, pagination
With Auth Protected APIs JWT validation, user context
Webhook Handler External callbacks Signature verification, event handling

🔧 Configuration

Database Support

If you enable database configuration, a .env.example file will be created:

DB_HOST=
DB_PORT=
DB_NAME=
DB_USER=
DB_PASSWORD=

Environment Types

All environment variables are fully typed:

// src/types/env.ts
export interface Env {
  // Your environment variables
  API_KEY: string;
  DB_URL?: string;
}

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

MIT


Built with â¤ī¸ for Edge Computing