{"_id":"@akash-electron/ts-backend","_rev":"7-a893bbb243acad55147e92f9f097621f","name":"@akash-electron/ts-backend","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.0":{"name":"@akash-electron/ts-backend","version":"1.0.0","keywords":[],"author":"","license":"MIT","_id":"@akash-electron/ts-backend@1.0.0","maintainers":[{"name":"akash-electron","email":"akkushakku5143@gmail.com"}],"dist":{"shasum":"960fe436371d96e014d014abac8786fd7190144c","tarball":"https://registry.npmjs.org/@akash-electron/ts-backend/-/ts-backend-1.0.0.tgz","fileCount":16,"integrity":"sha512-GXhVQrS0DkXpsiABmZyykrCeeQiEW4+QTFOZogJLefK7GSeL19rp/9jHYHf0zp6tmpYmiM0qj1lo/9fjmJJmFw==","signatures":[{"sig":"MEUCIQCb2W0WD7b4bXMeATHyv3eUmzR7LHKUFgxzX1q6aTvfXAIgT6KPtUTiC0+62WoiMmyV9UHNpZHIObl20wh6e4crb9E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11990},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"nodemon --exec ts-node src/server.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/server.js"},"_npmUser":{"name":"akash-electron","email":"akkushakku5143@gmail.com"},"_npmVersion":"10.8.2","description":"A robust, scalable, and production-ready starter template for building Node.js backends with TypeScript. This boilerplate follows industry best practices for architecture, error handling, and type safety.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","dotenv":"^17.2.4","helmet":"^8.1.0","morgan":"^1.10.1","express":"^5.2.1","nodemon":"^3.1.11","ts-node":"^10.9.2","winston":"^3.19.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.2.2","@types/morgan":"^1.9.10","@types/express":"^5.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ts-backend_1.0.0_1770565050408_0.0024536851065415366","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@akash-electron/ts-backend","version":"1.0.1","keywords":["typescript","backend","boilerplate","express","starter","api","cli"],"author":{"name":"Akash Electron"},"license":"MIT","_id":"@akash-electron/ts-backend@1.0.1","maintainers":[{"name":"akash-electron","email":"akkushakku5143@gmail.com"}],"bin":{"ts-backend-init":"bin/init.js"},"dist":{"shasum":"d9a2112c0f6079dc2301810666a641b9c2871241","tarball":"https://registry.npmjs.org/@akash-electron/ts-backend/-/ts-backend-1.0.1.tgz","fileCount":24,"integrity":"sha512-hKpWypcrG87YCFvFH1DOpH40jUsQxIHaFDjBMaKMcgnmC8wX1P8R5vUIqBU6jC5mxS/zUC3aivFajkjImKURNA==","signatures":[{"sig":"MEYCIQDztyE4vvSpPrWLwn9cwsHMWEHt/TgwBrM1MOeLT8wBVQIhAIUCJQsxpCpcbn7HMXQAvl2iH0osceZ7KMfmXjIX8OV0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16846},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"nodemon --exec ts-node src/server.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/server.js"},"_npmUser":{"name":"akash-electron","email":"akkushakku5143@gmail.com"},"_npmVersion":"10.8.2","description":"A robust, scalable, and production-ready starter template for building Node.js backends with TypeScript. This boilerplate follows industry best practices for architecture, error handling, and type safety.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","dotenv":"^17.2.4","helmet":"^8.1.0","morgan":"^1.10.1","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.11","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.2.2","@types/morgan":"^1.9.10","@types/express":"^5.0.6"},"_npmOperationalInternal":{"tmp":"tmp/ts-backend_1.0.1_1770566246667_0.45798334926960593","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@akash-electron/ts-backend","version":"1.0.2","keywords":["typescript","backend","boilerplate","express","starter","api","cli"],"author":{"name":"Akash Electron"},"license":"MIT","_id":"@akash-electron/ts-backend@1.0.2","maintainers":[{"name":"akash-electron","email":"akkushakku5143@gmail.com"}],"bin":{"ts-backend-init":"bin/init.js"},"dist":{"shasum":"26c0d7599f78fc28f91a67c8320d934285178795","tarball":"https://registry.npmjs.org/@akash-electron/ts-backend/-/ts-backend-1.0.2.tgz","fileCount":30,"integrity":"sha512-PToUq1em9HD1cZJTt7+bKo28IhOmU/jG9zAN7SRfLUE+R5zUj7OrI5+7VT6/5RP1vMgRU8BG4luCyY8eTx8vMQ==","signatures":[{"sig":"MEUCIQC7ku1+oFkeKoRA95yklNqow50FeZNJpuau8s/OWqknvAIgWaS5+srmtFva6bQWEUnCYODo/QR5HYhwFkuYyKDBARY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17972},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"nodemon --exec ts-node src/server.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/server.js"},"_npmUser":{"name":"akash-electron","email":"akkushakku5143@gmail.com"},"_npmVersion":"10.8.2","description":"A robust, scalable, and production-ready starter template for building Node.js backends with TypeScript. This boilerplate follows industry best practices for architecture, error handling, and type safety.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","dotenv":"^17.2.4","helmet":"^8.1.0","morgan":"^1.10.1","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.11","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.2.2","@types/morgan":"^1.9.10","@types/express":"^5.0.6"},"_npmOperationalInternal":{"tmp":"tmp/ts-backend_1.0.2_1770567102629_0.25664623643512186","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@akash-electron/ts-backend","version":"1.0.3","keywords":["typescript","backend","boilerplate","express","starter","api","cli"],"author":{"name":"Akash Electron"},"license":"MIT","_id":"@akash-electron/ts-backend@1.0.3","maintainers":[{"name":"akash-electron","email":"akkushakku5143@gmail.com"}],"bin":{"ts-backend-init":"bin/init.js"},"dist":{"shasum":"32542465156ee7a7030787aa5b7f55a325fdc515","tarball":"https://registry.npmjs.org/@akash-electron/ts-backend/-/ts-backend-1.0.3.tgz","fileCount":19,"integrity":"sha512-z1FWEg6/zpN3zQr9A5Id6cdtdT7o/tj6MrR6ev6uU7jEyNRYWXSORv5qifKndxvLEXMlMVNBfbKeH6hmAT0FsA==","signatures":[{"sig":"MEYCIQDi9V9CkH2yJq1rF1cRxjPS7b8DifYRr+ajp5/qFVWgIgIhAPJ6BMvz31hJr+Xj1+QCgY40oEgIXdoCpQ1L/BoP9h4P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12120},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"06987116f8499f021e1dddbad929f12f92874608","scripts":{"dev":"nodemon --exec ts-node src/server.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/server.js"},"_npmUser":{"name":"akash-electron","email":"akkushakku5143@gmail.com"},"_npmVersion":"10.8.2","description":"A robust, scalable, and production-ready starter template for building Node.js backends with TypeScript. This boilerplate follows industry best practices for architecture, error handling, and type safety.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","dotenv":"^17.2.4","helmet":"^8.1.0","morgan":"^1.10.1","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.11","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.2.2","@types/morgan":"^1.9.10","@types/express":"^5.0.6"},"_npmOperationalInternal":{"tmp":"tmp/ts-backend_1.0.3_1770579055196_0.9822923000474666","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@akash-electron/ts-backend","version":"1.0.4","keywords":["typescript","backend","boilerplate","express","starter","api","cli"],"author":{"name":"Akash Electron"},"license":"MIT","_id":"@akash-electron/ts-backend@1.0.4","maintainers":[{"name":"akash-electron","email":"akkushakku5143@gmail.com"}],"bin":{"ts-backend-init":"bin/init.js"},"dist":{"shasum":"31673fbaeac6ee2649ca6e6a44b42a40e7c3ba9f","tarball":"https://registry.npmjs.org/@akash-electron/ts-backend/-/ts-backend-1.0.4.tgz","fileCount":19,"integrity":"sha512-fKAnt5+yw6Xdp3ycuqLch3POm36j8V9MdCdppxg6UnNFJ0BxM2nWfnh/rTI70OSfJuTG5lTP/7YViBBkvDGjag==","signatures":[{"sig":"MEUCIE8Cac0jDxy0RbRAY109FFbm2J4S68Txeq8A2wTRhwCvAiEA6Epf1wlRXFzxbP5lT3t8C462hEOzH+ces/BBZHsSOs4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12128},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0d2b4b908f7765859b41b64cbfb2dd428da84376","scripts":{"dev":"nodemon --exec ts-node src/server.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/server.js"},"_npmUser":{"name":"akash-electron","email":"akkushakku5143@gmail.com"},"_npmVersion":"10.8.2","description":"A robust, scalable, and production-ready starter template for building Node.js backends with TypeScript. This boilerplate follows industry best practices for architecture, error handling, and type safety.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","dotenv":"^17.2.4","helmet":"^8.1.0","morgan":"^1.10.1","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.11","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.2.2","@types/morgan":"^1.9.10","@types/express":"^5.0.6"},"_npmOperationalInternal":{"tmp":"tmp/ts-backend_1.0.4_1770579267942_0.30137385723280485","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@akash-electron/ts-backend","version":"1.0.5","keywords":["typescript","backend","boilerplate","express","starter","api","cli"],"author":{"name":"Akash Electron"},"license":"MIT","_id":"@akash-electron/ts-backend@1.0.5","maintainers":[{"name":"akash-electron","email":"akkushakku5143@gmail.com"}],"bin":{"ts-backend-init":"bin/init.js"},"dist":{"shasum":"f6f1bc6b736c009ba6a5bee89935e24ab6fc5a06","tarball":"https://registry.npmjs.org/@akash-electron/ts-backend/-/ts-backend-1.0.5.tgz","fileCount":20,"integrity":"sha512-Lld8IAM66sD/TqArvNV8aoNPs6wumjD5fKegsbX70kH3aE4TeI4w2XJHioojrH5kDJGn9HiThm+JVQekxPVAPg==","signatures":[{"sig":"MEQCIFxhzICmY8jUXZlOc7alx8BRTRSUd3LoqGrgx0v1f8xEAiAdp098ZNN5V+5MBskB7sajxMmxvPyFxCZjfqGx8tlt2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13385},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"75d800572dc7cb37e69082a8ea6ed72d024f91ca","scripts":{"dev":"nodemon --exec ts-node src/server.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/server.js"},"_npmUser":{"name":"akash-electron","email":"akkushakku5143@gmail.com"},"_npmVersion":"10.8.2","description":"A robust, scalable, and production-ready starter template for building Node.js backends with TypeScript. This boilerplate follows industry best practices for architecture, error handling, and type safety.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"zod":"^4.3.6","cors":"^2.8.6","dotenv":"^17.2.4","helmet":"^8.1.0","morgan":"^1.10.1","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.11","ts-node":"^10.9.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^25.2.2","@types/morgan":"^1.9.10","@types/express":"^5.0.6"},"_npmOperationalInternal":{"tmp":"tmp/ts-backend_1.0.5_1770579704331_0.8226180075490244","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@akash-electron/ts-backend","version":"1.0.6","description":"A robust, scalable, and production-ready starter template for building Node.js backends with TypeScript. This boilerplate follows industry best practices for architecture, error handling, and type safety.","main":"dist/index.js","types":"dist/index.d.ts","bin":{"ts-backend":"bin/init.js","ts-backend-init":"bin/init.js"},"scripts":{"dev":"nodemon --exec ts-node src/server.ts","build":"tsc","start":"node dist/server.js","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["typescript","backend","boilerplate","express","starter","api","cli"],"author":{"name":"Akash Electron"},"license":"MIT","publishConfig":{"access":"public"},"dependencies":{"cors":"^2.8.6","dotenv":"^17.2.4","express":"^5.2.1","fs-extra":"^11.3.4","helmet":"^8.1.0","morgan":"^1.10.1","winston":"^3.19.0","zod":"^4.3.6"},"devDependencies":{"@types/cors":"^2.8.19","@types/express":"^5.0.6","@types/morgan":"^1.9.10","@types/node":"^25.2.2","nodemon":"^3.1.11","ts-node":"^10.9.2","typescript":"^5.9.3"},"_id":"@akash-electron/ts-backend@1.0.6","gitHead":"75d800572dc7cb37e69082a8ea6ed72d024f91ca","_nodeVersion":"20.19.6","_npmVersion":"10.8.2","dist":{"integrity":"sha512-OSlbYbwrLJmcOsEH1YdNueJht8hwDAobh/qJ4GddUJQkH92GAkLeWqZ5QtKnHKvgByGEWVN0i5V59M5TQF0BnA==","shasum":"9ec1428e194675548c2681b32c38367328e115c6","tarball":"https://registry.npmjs.org/@akash-electron/ts-backend/-/ts-backend-1.0.6.tgz","fileCount":36,"unpackedSize":22003,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFGJvUcgUdN1PS3QrS7FA2iWQl3scgb+cDujtdR724ySAiAXmH3/2JPrMqo4/KUU6y79+21xqjznZF3zGUX+LQV8xA=="}]},"_npmUser":{"name":"akash-electron","email":"akkushakku5143@gmail.com"},"directories":{},"maintainers":[{"name":"akash-electron","email":"akkushakku5143@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ts-backend_1.0.6_1772623534558_0.6220038618945898"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-08T15:37:30.292Z","modified":"2026-03-04T11:25:34.794Z","1.0.0":"2026-02-08T15:37:30.571Z","1.0.1":"2026-02-08T15:57:26.804Z","1.0.2":"2026-02-08T16:11:42.777Z","1.0.3":"2026-02-08T19:30:55.388Z","1.0.4":"2026-02-08T19:34:28.076Z","1.0.5":"2026-02-08T19:41:44.478Z","1.0.6":"2026-03-04T11:25:34.684Z"},"author":{"name":"Akash Electron"},"license":"MIT","keywords":["typescript","backend","boilerplate","express","starter","api","cli"],"description":"A robust, scalable, and production-ready starter template for building Node.js backends with TypeScript. This boilerplate follows industry best practices for architecture, error handling, and type safety.","maintainers":[{"name":"akash-electron","email":"akkushakku5143@gmail.com"}],"readme":"## 🚀 Quick Start\n\nInitialize your new TypeScript backend project in seconds:\n\n```bash\n# Create a new project in the current directory\nnpx @akash-electron/ts-backend .\n\n# OR create a new project in a new folder\nnpx @akash-electron/ts-backend my-backend-api\n```\n\n## 📦 What's Included?\n\nThis package is a full-featured boilerplate generator that sets up:\n\n- **TypeScript** pre-configured for Node.js\n- **Express 5** for modern routing\n- **Zod** for schema validation\n- **Winston & Morgan** for structured logging\n- **CatchAsync & AppError** for clean, centralized error handling\n- **Security** with `helmet` and `cors`\n- **Developer Experience** with `nodemon` and `ts-node`\n\n---\n\n## 📂 Project Structure\n\n```text\nsrc/\n├── config/             # Env vars, database, and logger config\n├── controllers/        # Request/Response logic\n├── middlewares/        # Error handlers, auth, etc.\n├── models/             # Data schemas\n├── routes/             # API endpoints\n├── services/           # Business logic\n├── utils/              # Global helpers (AppError, catchAsync)\n├── validations/        # Zod validation schemas\n├── types/              # TS interface definitions\n├── app.ts              # Express setup\n└── server.ts           # Server entry point\n```\n\n## 🛠️ Usage Post-Initialization\n\nOnce you run the initialization command:\n\n1. **Install Dependencies**\n   ```bash\n   npm install\n   ```\n2. **Setup Environment**\n   Rename `.env.example` to `.env` and configure your variables.\n3. **Run in Development**\n   ```bash\n   npm run dev\n   ```\n4. **Build for Production**\n   ```bash\n   npm run build\n   ```\n\n---\n\n## 🛡️ Important Files (Quick Reference)\n\n### `src/utils/AppError.ts`\n\n```typescript\nexport class AppError extends Error {\n  public readonly statusCode: number;\n  public readonly isOperational: boolean;\n\n  constructor(message: string, statusCode: number) {\n    super(message);\n    this.statusCode = statusCode;\n    this.isOperational = true;\n    Error.captureStackTrace(this, this.constructor);\n  }\n}\n```\n\n### `src/middlewares/errorMiddleware.ts`\n\n```typescript\nimport { Request, Response, NextFunction } from \"express\";\nimport { AppError } from \"../utils/AppError\";\n\nexport const globalErrorHandler = (\n  err: any,\n  req: Request,\n  res: Response,\n  next: NextFunction,\n) => {\n  err.statusCode = err.statusCode || 500;\n  err.status = err.status || \"error\";\n\n  res.status(err.statusCode).json({\n    status: err.status,\n    message: err.message,\n    ...(process.env.NODE_ENV === \"development\" && { stack: err.stack }),\n  });\n};\n```\n\n### `src/utils/catchAsync.ts`\n\n```typescript\nimport { Request, Response, NextFunction } from \"express\";\n\nexport const catchAsync = (fn: Function) => {\n  return (req: Request, res: Response, next: NextFunction) => {\n    fn(req, res, next).catch(next);\n  };\n};\n```\n\n---\n\n## 📝 Best Practices Included\n\n- **Environment Safety**: Validate `.env` variables at startup.\n- **Security Check**: Pre-configured with `helmet` for secure headers.\n- **Clean Code**: Deep separation of concerns (Routes → Controllers → Services).\n- **Graceful Shutdown**: Handles `SIGTERM` and `SIGINT` signals to close DB connections properly.\n","readmeFilename":"README.md"}