@codeenthusiast09/create-express-app 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @codeenthusiast09/create-express-app
2
2
 
3
- [![npm version](https://badge.fury.io/js/@codeenthusiast09%2Fcreate-express-app.svg)](https://www.npmjs.com/package/@codeenthusiast09/create-express-app)
4
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
3
+ [![npm version](https://badge.fury.io/js/@codeenthusiast09%2Fcreate-express-app.svg?v=2)](https://www.npmjs.com/package/@codeenthusiast09/create-express-app)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?v=2)](https://opensource.org/licenses/MIT)
5
5
 
6
6
  CLI tool to generate production-ready Express TypeScript projects with flexible database options.
7
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;GAIG;AAEH,qBAAa,SAAS;IACpB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM;IAOrD;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/B;;;;OAIG;YACW,YAAY;IAU1B;;;;;;;OAOG;IACH;;OAEG;YACW,iBAAiB;IAiD/B;;OAEG;YACW,oBAAoB;IAgClC;;;;OAIG;YACW,iBAAiB;IAwB/B;;;;OAIG;YACW,iBAAiB;IAM/B;;;;OAIG;YACW,aAAa;CAG5B"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;GAIG;AAEH,qBAAa,SAAS;IACpB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM;IAOrD;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/B;;;;OAIG;YACW,YAAY;IAU1B;;;;;;;OAOG;IACH;;OAEG;YACW,iBAAiB;IAiD/B;;OAEG;YACW,oBAAoB;IA8BlC;;;;OAIG;YACW,iBAAiB;IAwB/B;;;;OAIG;YACW,iBAAiB;IAM/B;;;;OAIG;YACW,aAAa;CAG5B"}
package/dist/generator.js CHANGED
@@ -104,28 +104,26 @@ class Generator {
104
104
  const prismaDir = path_1.default.join(this.targetPath, "prisma");
105
105
  const schemaPath = path_1.default.join(prismaDir, "schema.prisma");
106
106
  const schemaContent = `// This is your Prisma schema file
107
- // Learn more: https://pris.ly/d/prisma-schema
107
+ // Learn more: https://pris.ly/d/prisma-schema
108
108
 
109
- generator client {
110
- provider = "prisma-client-js"
111
- }
109
+ generator client {
110
+ provider = "prisma-client-js"
111
+ }
112
112
 
113
- datasource db {
114
- provider = "postgresql"
115
- url = env("DATABASE_URL")
116
- }
113
+ datasource db {
114
+ provider = "postgresql"
115
+ url = env("DATABASE_URL")
116
+ }
117
117
 
118
- // Example User model
119
- // Uncomment and modify as needed
120
- // model User {
121
- // id String @id @default(uuid())
122
- // email String @unique
123
- // name String?
124
- // password String
125
- // createdAt DateTime @default(now())
126
- // updatedAt DateTime @updatedAt
127
- // }
128
- `;
118
+ // model User {
119
+ // id String @id @default(uuid())
120
+ // email String @unique
121
+ // name String?
122
+ // password String
123
+ // createdAt DateTime @default(now())
124
+ // updatedAt DateTime @updatedAt
125
+ // }
126
+ `;
129
127
  await fs_extra_1.default.ensureDir(prismaDir);
130
128
  await fs_extra_1.default.writeFile(schemaPath, schemaContent);
131
129
  }
@@ -148,8 +146,8 @@ class Generator {
148
146
  packageJson.scripts["db:studio"] = "prisma studio";
149
147
  }
150
148
  else if (this.config.orm === "drizzle") {
151
- packageJson.scripts["db:push"] = "drizzle-kit push:pg";
152
- packageJson.scripts["db:generate"] = "drizzle-kit generate:pg";
149
+ packageJson.scripts["db:push"] = "drizzle-kit push";
150
+ packageJson.scripts["db:generate"] = "drizzle-kit generate";
153
151
  packageJson.scripts["db:studio"] = "drizzle-kit studio";
154
152
  }
155
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
10
10
  const prompts_1 = require("./prompts");
11
11
  const generator_1 = require("./generator");
12
12
  const installer_1 = require("./installer");
13
+ const package_json_1 = require("../package.json");
13
14
  /**
14
15
  * Main CLI Entry Point
15
16
  *
@@ -25,7 +26,7 @@ const program = new commander_1.Command();
25
26
  program
26
27
  .name("create-express-app")
27
28
  .description("Generate a production-ready Express TypeScript project")
28
- .version("1.0.0")
29
+ .version(package_json_1.version)
29
30
  .argument("[project-name]", "Name of the project")
30
31
  .action(async (projectName) => {
31
32
  try {
@@ -94,8 +95,8 @@ function showSuccessMessage(config) {
94
95
  console.log(chalk_1.default.gray(" # Run this to create your database tables"));
95
96
  }
96
97
  else if (config.orm === "drizzle") {
97
- console.log(chalk_1.default.white(" npx drizzle-kit generate:pg"));
98
- console.log(chalk_1.default.white(" npx drizzle-kit push:pg"));
98
+ console.log(chalk_1.default.white(" npx drizzle-kit generate"));
99
+ console.log(chalk_1.default.white(" npx drizzle-kit push"));
99
100
  }
100
101
  }
101
102
  console.log();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;;;GAMG;AAEH,qBAAa,SAAS;IACpB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM;IAKtD;;;;;OAKG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB1C;;OAEG;YACW,2BAA2B;IAqCzC;;;;OAIG;YACW,mBAAmB;IAkBjC;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA2C/B"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;;;GAMG;AAEH,qBAAa,SAAS;IACpB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM;IAKtD;;;;;OAKG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB1C;;OAEG;YACW,2BAA2B;IAqCzC;;;;OAIG;YACW,mBAAmB;IAkBjC;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAiC/B"}
package/dist/installer.js CHANGED
@@ -114,15 +114,6 @@ class Installer {
114
114
  cwd: this.projectPath,
115
115
  stdio: "pipe",
116
116
  });
117
- // Configure git user (for the initial commit)
118
- await (0, execa_1.default)("git", ["config", "user.email", "user@example.com"], {
119
- cwd: this.projectPath,
120
- stdio: "pipe",
121
- });
122
- await (0, execa_1.default)("git", ["config", "user.name", "User"], {
123
- cwd: this.projectPath,
124
- stdio: "pipe",
125
- });
126
117
  // Add all files
127
118
  await (0, execa_1.default)("git", ["add", "."], {
128
119
  cwd: this.projectPath,
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@codeenthusiast09/create-express-app",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "CLI tool to generate production-ready Express TypeScript projects with flexible database options (MongoDB, PostgreSQL with Prisma or Drizzle)",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
7
- "create-express-app": "./bin/cli.cjs"
7
+ "create-express-app": "./bin/cli.js"
8
8
  },
9
9
  "repository": {
10
10
  "type": "git",
@@ -128,10 +128,8 @@ export const errorHandler = (
128
128
  */
129
129
  export const asyncHandler = <
130
130
  P = ParamsDictionary,
131
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
132
- ResBody = any,
133
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
134
- ReqBody = any,
131
+ ResBody = unknown,
132
+ ReqBody = unknown,
135
133
  ReqQuery = ParsedQs,
136
134
  >(
137
135
  fn: (
@@ -0,0 +1,10 @@
1
+ // src/modules/users/dto/create-user.dto.ts
2
+ import { z } from 'zod';
3
+
4
+ export const createUserSchema = z.object({
5
+ name: z.string().min(1),
6
+ email: z.string().email(),
7
+ password: z.string().min(8),
8
+ });
9
+
10
+ export type CreateUserDto = z.infer<typeof createUserSchema>;
@@ -0,0 +1,18 @@
1
+ // src/modules/users/users.controller.ts
2
+ import { Request, Response } from 'express';
3
+ import { ResponseHelper } from '@/common/utils/response-helper';
4
+ import { UsersService } from './users.service';
5
+
6
+ export class UsersController {
7
+ private service = new UsersService();
8
+
9
+ findAll = async (_req: Request, res: Response): Promise<void> => {
10
+ const users = await this.service.findAll();
11
+ ResponseHelper.success(res, users);
12
+ };
13
+
14
+ findOne = async (req: Request<{ id: string }>, res: Response): Promise<void> => {
15
+ const user = await this.service.findOne(req.params.id);
16
+ ResponseHelper.success(res, user);
17
+ };
18
+ }
@@ -0,0 +1,12 @@
1
+ // src/modules/users/users.router.ts
2
+ import { Router } from 'express';
3
+ import { asyncHandler } from '@/common/middleware/error.middleware';
4
+ import { UsersController } from './users.controller';
5
+
6
+ const router = Router();
7
+ const controller = new UsersController();
8
+
9
+ router.get('/', asyncHandler(controller.findAll));
10
+ router.get('/:id', asyncHandler<{ id: string }>(controller.findOne));
11
+
12
+ export default router;
@@ -0,0 +1,18 @@
1
+ // src/modules/users/users.service.ts
2
+ import { AppError } from '@/common/middleware/error.middleware';
3
+
4
+ type User = { id: string; name: string; email: string };
5
+
6
+ const MOCK_USERS: User[] = [{ id: '1', name: 'Alice', email: 'alice@example.com' }];
7
+
8
+ export class UsersService {
9
+ async findAll(): Promise<User[]> {
10
+ return MOCK_USERS;
11
+ }
12
+
13
+ async findOne(id: string): Promise<User> {
14
+ const user = MOCK_USERS.find((u) => u.id === id);
15
+ if (!user) throw new AppError('User not found', 404);
16
+ return user;
17
+ }
18
+ }
@@ -3,11 +3,12 @@ import express, { Application } from 'express';
3
3
  import cors from 'cors';
4
4
  import helmet from 'helmet';
5
5
  import compression from 'compression';
6
- // import rateLimit from 'express-rate-limit';
6
+ import rateLimit from 'express-rate-limit';
7
7
  import { logger } from './common/utils/logger';
8
8
  import { httpLogger } from './common/utils/http-logger';
9
9
  import { errorHandler, notFoundHandler } from './common/middleware/error.middleware';
10
10
  import { connectDatabase, disconnectDatabase } from './database';
11
+ import usersRouter from './modules/users/users.router';
11
12
 
12
13
  /**
13
14
  * Express Application Setup
@@ -28,19 +29,15 @@ app.use(
28
29
  /**
29
30
  * Performance Middleware
30
31
  */
31
- app.use(compression()); // Compress responses
32
-
33
- /**
34
- * Rate Limiting (Applied to API routes only)
35
- * Comment it out to use it 👇🏽 and the import 👆🏽
36
- */
37
- // const limiter = rateLimit({
38
- // windowMs: 15 * 60 * 1000, // 15 minutes
39
- // max: 100, // Limit each IP to 100 requests per window
40
- // message: 'Too many requests from this IP, please try again later.',
41
- // standardHeaders: true, // Return rate limit info in `RateLimit-*` headers
42
- // legacyHeaders: false, // Disable `X-RateLimit-*` headers
43
- // });
32
+ app.use(compression());
33
+
34
+ const limiter = rateLimit({
35
+ windowMs: 15 * 60 * 1000,
36
+ max: 100,
37
+ message: 'Too many requests from this IP, please try again later.',
38
+ standardHeaders: true,
39
+ legacyHeaders: false,
40
+ });
44
41
 
45
42
  /**
46
43
  * Body Parsing Middleware
@@ -77,13 +74,9 @@ app.get('/', (_req, res) => {
77
74
  });
78
75
 
79
76
  /**
80
- * API Routes
81
- *
82
- * Apply rate limiting to all API routes
83
- * Add your routes here:
84
- * app.use('/api/users', limiter, userRoutes);
85
- * app.use('/api/posts', limiter, postRoutes);
77
+ * API Routes — apply limiter to every route
86
78
  */
79
+ app.use('/api/users', limiter, usersRouter);
87
80
 
88
81
  /**
89
82
  * Error Handling (must be last)
@@ -1,43 +0,0 @@
1
- # Database Dependencies
2
-
3
- This boilerplate supports three database options. The CLI will automatically install the correct dependencies based on your choice.
4
-
5
- ## MongoDB with Mongoose (Default)
6
-
7
- ```bash
8
- npm install mongoose
9
- npm install -D @types/mongoose
10
- ```
11
-
12
- ## PostgreSQL with Prisma
13
-
14
- ```bash
15
- npm install @prisma/client
16
- npm install -D prisma
17
- ```
18
-
19
- After installation, run:
20
-
21
- ```bash
22
- npx prisma init
23
- npx prisma migrate dev
24
- npx prisma generate
25
- ```
26
-
27
- ## PostgreSQL with Drizzle
28
-
29
- ```bash
30
- npm install drizzle-orm pg
31
- npm install -D drizzle-kit @types/pg
32
- ```
33
-
34
- After installation, run:
35
-
36
- ```bash
37
- npx drizzle-kit generate:pg
38
- npx drizzle-kit push:pg
39
- ```
40
-
41
- ---
42
-
43
- **Note:** The CLI tool will handle all of this automatically during project setup.
File without changes