create-server-nodejs 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.
Files changed (21) hide show
  1. package/package.json +42 -42
  2. package/packages/{index.js → create-server-nodejs/index.js} +11 -81
  3. package/packages/{templates/server-nodejs-v1 → create-server-nodejs/templates/server-nodejs-mongodb}/.env.example +1 -1
  4. package/packages/create-server-nodejs/templates/server-nodejs-mongodb/Middlewares/auth.middleware.js +4 -0
  5. package/packages/create-server-nodejs/templates/server-nodejs-mongodb/README.md +28 -0
  6. package/packages/create-server-nodejs/templates/server-nodejs-mongodb/Routers/user.routes.js +8 -0
  7. package/packages/create-server-nodejs/templates/server-nodejs-mongodb/Utils/helpers.js +3 -0
  8. package/packages/create-server-nodejs/templates/server-nodejs-mongodb/app.js +20 -0
  9. package/packages/create-server-nodejs/templates/server-nodejs-mongodb/package.json +24 -0
  10. package/packages/create-server-nodejs/templates/server-nodejs-mongodb/server.js +12 -0
  11. package/packages/create-server-nodejs/templates/server-nodejs-postgresql/.env.example +3 -0
  12. package/packages/create-server-nodejs/templates/server-nodejs-postgresql/Middlewares/auth.middleware.js +4 -0
  13. package/packages/create-server-nodejs/templates/server-nodejs-postgresql/README.md +28 -0
  14. package/packages/create-server-nodejs/templates/server-nodejs-postgresql/Routers/user.routes.js +8 -0
  15. package/packages/create-server-nodejs/templates/server-nodejs-postgresql/Utils/helpers.js +3 -0
  16. package/packages/create-server-nodejs/templates/server-nodejs-postgresql/app.js +20 -0
  17. package/packages/create-server-nodejs/templates/server-nodejs-postgresql/package.json +25 -0
  18. package/packages/create-server-nodejs/templates/server-nodejs-postgresql/prisma/schema.prisma +16 -0
  19. package/packages/create-server-nodejs/templates/server-nodejs-postgresql/server.js +12 -0
  20. package/packages/templates/server-nodejs-v1/app.js +0 -12
  21. package/packages/templates/server-nodejs-v1/server.js +0 -15
package/package.json CHANGED
@@ -1,42 +1,42 @@
1
- {
2
- "name": "create-server-nodejs",
3
- "version": "1.0.4",
4
- "description": "",
5
- "main": "server.js",
6
- "scripts": {
7
- "start": "node server.js",
8
- "dev": "nodemon server.js"
9
- },
10
- "keywords": [
11
- "capuio",
12
- "server",
13
- "nodejs",
14
- "express",
15
- "mongodb",
16
- "jwt",
17
- "bcryptjs",
18
- "cors",
19
- "dotenv",
20
- "morgan",
21
- "multer",
22
- "nodemon"
23
- ],
24
- "author": "",
25
- "license": "MIT",
26
- "type": "module",
27
- "bin": {
28
- "create-server-nodejs": "./packages/index.js"
29
- },
30
- "dependencies": {
31
- "bcryptjs": "^3.0.3",
32
- "chalk": "^5.6.2",
33
- "cors": "^2.8.6",
34
- "dotenv": "^17.4.1",
35
- "express": "^5.2.1",
36
- "jsonwebtoken": "^9.0.3",
37
- "mongoose": "^9.4.1",
38
- "morgan": "^1.10.1",
39
- "multer": "^2.1.1",
40
- "nodemon": "^3.1.14"
41
- }
42
- }
1
+ {
2
+ "name": "create-server-nodejs",
3
+ "version": "1.0.6",
4
+ "description": "",
5
+ "main": "server.js",
6
+ "scripts": {
7
+ "start": "node server.js",
8
+ "dev": "nodemon server.js"
9
+ },
10
+ "keywords": [
11
+ "capuio",
12
+ "server",
13
+ "nodejs",
14
+ "express",
15
+ "mongodb",
16
+ "jwt",
17
+ "bcryptjs",
18
+ "cors",
19
+ "dotenv",
20
+ "morgan",
21
+ "multer",
22
+ "nodemon"
23
+ ],
24
+ "author": "",
25
+ "license": "MIT",
26
+ "type": "module",
27
+ "bin": {
28
+ "create-server-nodejs": "./packages/create-server-nodejs/index.js"
29
+ },
30
+ "dependencies": {
31
+ "bcryptjs": "^3.0.3",
32
+ "chalk": "^5.6.2",
33
+ "cors": "^2.8.6",
34
+ "dotenv": "^17.4.1",
35
+ "express": "^5.2.1",
36
+ "jsonwebtoken": "^9.0.3",
37
+ "mongoose": "^9.4.1",
38
+ "morgan": "^1.10.1",
39
+ "multer": "^2.1.1",
40
+ "nodemon": "^3.1.14"
41
+ }
42
+ }
@@ -128,102 +128,32 @@ JWT_SECRET=your_jwt_secret_key_here
128
128
 
129
129
  'README.md': `# ${isCurrentDir ? path.basename(process.cwd()) : projectName}
130
130
 
131
- A fast and modern CLI tool to scaffold ready-to-use **Node.js Express** backend projects.
132
-
133
- Generate a clean, professional Express server with support for **MongoDB** and **PostgreSQL** in seconds.
134
-
135
- ---
136
-
137
- ## ✨ Features
138
-
139
- - ⚡ Extremely fast project generation
140
- - 📁 Clean and scalable folder structure
141
- - 🗄️ **MongoDB + Mongoose** (default)
142
- - 🐘 **PostgreSQL + Prisma** support
143
- - 🔐 JWT authentication middleware included
144
- - 📦 Automatic \`npm install\`
145
- - 🌐 Install in current directory with \`.\`
146
- - ✨ Full ES Modules support (\`"type": "module"\`)
147
- - 🚀 Ready for production
131
+ A clean Node.js Express backend scaffolded with [create-server-nodejs](https://www.npmjs.com/package/create-server-nodejs).
148
132
 
149
133
  ---
150
134
 
151
135
  ## Quick Start
152
136
 
153
- ### Create a new project (MongoDB - Default)
154
-
155
- \`\`\`bash
156
- npx create-server-nodejs my-app
157
- \`\`\`
158
-
159
- ### Create with PostgreSQL
160
-
161
- \`\`\`bash
162
- npx create-server-nodejs my-app --postgresql
163
- \`\`\`
164
-
165
- ### Install in current directory
166
-
167
137
  \`\`\`bash
168
- npx create-server-nodejs .
169
- \`\`\`
170
-
171
- ## Project Structure
172
-
173
- \`\`\`bash
174
- my-app/
175
- ├── Controllers/ # Controllers and business logic
176
- ├── Models/ # Database models
177
- ├── Routers/ # API routes
178
- ├── Middlewares/ # Authentication, validation, error handling
179
- ├── Utils/ # Helper functions
180
- ├── config/ # Configuration files
181
- ├── prisma/ # Prisma schema (only when using PostgreSQL)
182
- ├── server.js
183
- ├── app.js
184
- ├── .env.example
185
- ├── package.json
186
- └── README.md
187
- \`\`\`
188
-
189
- ## How to Run
190
-
191
- \`\`\`bash
192
- cd my-app
193
-
194
- # Copy environment variables
195
138
  cp .env.example .env
196
-
197
- # For PostgreSQL only:
198
- # npx prisma generate
199
- # npx prisma db push
200
-
201
- # Run development server
202
139
  npm run dev
203
140
  \`\`\`
204
141
 
205
- ## Available Options
142
+ ---
206
143
 
207
- | Command | Description |
208
- |---|---|
209
- | \`npx create-server-nodejs <name>\` | Create a new project |
210
- | \`npx create-server-nodejs .\` | Scaffold in current directory |
211
- | \`--mongodb\` | Use MongoDB + Mongoose (default) |
212
- | \`--postgresql\` | Use PostgreSQL + Prisma |
144
+ ## Folder Structure
213
145
 
214
- ## Tech Stack
146
+ - **Controllers/** → Application logic
147
+ - **Models/** → Database models
148
+ - **Routers/** → API routes
149
+ - **Middlewares/** → Authentication & middlewares
150
+ - **Utils/** → Helper functions
215
151
 
216
- - Express.js
217
- - MongoDB + Mongoose or PostgreSQL + Prisma
218
- - JWT Authentication
219
- - bcryptjs, cors, morgan, dotenv
220
- - Nodemon (dev dependency)
152
+ ---
221
153
 
222
- ## License
223
- This project is licensed under the MIT License.
154
+ **Database:** ${isPostgres ? 'PostgreSQL + Prisma' : 'MongoDB + Mongoose'}
224
155
 
225
- Made with ❤️ for faster backend development
226
- Happy coding!
156
+ Happy coding!
227
157
  `,
228
158
 
229
159
  'Routers/user.routes.js': `import express from "express";
@@ -1,3 +1,3 @@
1
1
  PORT=5000
2
- DB_URL=mongodb://localhost:27017/test
2
+ DB_URL=mongodb://localhost:27017/server
3
3
  JWT_SECRET=your_jwt_secret_key_here
@@ -0,0 +1,4 @@
1
+ export const protect = (req, res, next) => {
2
+ console.log("Auth middleware called");
3
+ next();
4
+ };
@@ -0,0 +1,28 @@
1
+ # server
2
+
3
+ A clean Node.js Express backend scaffolded with [create-server-nodejs](https://www.npmjs.com/package/create-server-nodejs).
4
+
5
+ ---
6
+
7
+ ## Quick Start
8
+
9
+ ```bash
10
+ cp .env.example .env
11
+ npm run dev
12
+ ```
13
+
14
+ ---
15
+
16
+ ## Folder Structure
17
+
18
+ - **Controllers/** → Application logic
19
+ - **Models/** → Database models
20
+ - **Routers/** → API routes
21
+ - **Middlewares/** → Authentication & middlewares
22
+ - **Utils/** → Helper functions
23
+
24
+ ---
25
+
26
+ **Database:** MongoDB + Mongoose
27
+
28
+ Happy coding! ✨
@@ -0,0 +1,8 @@
1
+ import express from "express";
2
+ const router = express.Router();
3
+
4
+ router.get("/", (req, res) => {
5
+ res.json({ message: "User routes working!" });
6
+ });
7
+
8
+ export default router;
@@ -0,0 +1,3 @@
1
+ export const generateRandomString = (length = 8) => {
2
+ return Math.random().toString(36).substring(2, length + 2);
3
+ };
@@ -0,0 +1,20 @@
1
+ import express from "express";
2
+ import morgan from "morgan";
3
+ import cors from "cors";
4
+
5
+ const app = express();
6
+
7
+ app.use(express.json());
8
+ app.use(express.urlencoded({ extended: true }));
9
+ app.use(morgan("dev"));
10
+ app.use(cors());
11
+
12
+ import userRouter from "./Routers/user.routes.js";
13
+
14
+ app.use("/api/users", userRouter);
15
+
16
+ app.get("/", (req, res) => {
17
+ res.json({ message: "Welcome to the API 🚀" });
18
+ });
19
+
20
+ export { app };
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "server",
3
+ "version": "1.0.0",
4
+ "description": "Express backend with MongoDB + Mongoose",
5
+ "main": "server.js",
6
+ "type": "module",
7
+ "scripts": {
8
+ "start": "node server.js",
9
+ "dev": "nodemon server.js"
10
+ },
11
+ "dependencies": {
12
+ "bcryptjs": "^2.4.3",
13
+ "cors": "^2.8.5",
14
+ "dotenv": "^16.4.5",
15
+ "express": "^4.19.2",
16
+ "jsonwebtoken": "^9.0.2",
17
+ "morgan": "^1.10.0"
18
+ ,
19
+ "mongoose": "^8.3.1"
20
+ },
21
+ "devDependencies": {
22
+ "nodemon": "^3.1.0"
23
+ }
24
+ }
@@ -0,0 +1,12 @@
1
+ import { app } from "./app.js";
2
+ import dotenv from "dotenv";
3
+
4
+ dotenv.config();
5
+
6
+ const PORT = process.env.PORT || 5000;
7
+
8
+ app.listen(PORT, () => {
9
+ console.log(`⚡ Server is running on port ${PORT}`);
10
+ });
11
+
12
+ console.log("⚡ Connected to MongoDB");
@@ -0,0 +1,3 @@
1
+ PORT=5000
2
+ DATABASE_URL="postgresql://username:password@localhost:5432/server-ql?schema=public"
3
+ JWT_SECRET=your_jwt_secret_key_here
@@ -0,0 +1,4 @@
1
+ export const protect = (req, res, next) => {
2
+ console.log("Auth middleware called");
3
+ next();
4
+ };
@@ -0,0 +1,28 @@
1
+ # server-ql
2
+
3
+ A clean Node.js Express backend scaffolded with [create-server-nodejs](https://www.npmjs.com/package/create-server-nodejs).
4
+
5
+ ---
6
+
7
+ ## Quick Start
8
+
9
+ ```bash
10
+ cp .env.example .env
11
+ npm run dev
12
+ ```
13
+
14
+ ---
15
+
16
+ ## Folder Structure
17
+
18
+ - **Controllers/** → Application logic
19
+ - **Models/** → Database models
20
+ - **Routers/** → API routes
21
+ - **Middlewares/** → Authentication & middlewares
22
+ - **Utils/** → Helper functions
23
+
24
+ ---
25
+
26
+ **Database:** PostgreSQL + Prisma
27
+
28
+ Happy coding! ✨
@@ -0,0 +1,8 @@
1
+ import express from "express";
2
+ const router = express.Router();
3
+
4
+ router.get("/", (req, res) => {
5
+ res.json({ message: "User routes working!" });
6
+ });
7
+
8
+ export default router;
@@ -0,0 +1,3 @@
1
+ export const generateRandomString = (length = 8) => {
2
+ return Math.random().toString(36).substring(2, length + 2);
3
+ };
@@ -0,0 +1,20 @@
1
+ import express from "express";
2
+ import morgan from "morgan";
3
+ import cors from "cors";
4
+
5
+ const app = express();
6
+
7
+ app.use(express.json());
8
+ app.use(express.urlencoded({ extended: true }));
9
+ app.use(morgan("dev"));
10
+ app.use(cors());
11
+
12
+ import userRouter from "./Routers/user.routes.js";
13
+
14
+ app.use("/api/users", userRouter);
15
+
16
+ app.get("/", (req, res) => {
17
+ res.json({ message: "Welcome to the API 🚀" });
18
+ });
19
+
20
+ export { app };
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "server-ql",
3
+ "version": "1.0.0",
4
+ "description": "Express backend with PostgreSQL + Prisma",
5
+ "main": "server.js",
6
+ "type": "module",
7
+ "scripts": {
8
+ "start": "node server.js",
9
+ "dev": "nodemon server.js"
10
+ },
11
+ "dependencies": {
12
+ "bcryptjs": "^2.4.3",
13
+ "cors": "^2.8.5",
14
+ "dotenv": "^16.4.5",
15
+ "express": "^4.19.2",
16
+ "jsonwebtoken": "^9.0.2",
17
+ "morgan": "^1.10.0"
18
+ ,
19
+ "@prisma/client": "^5.15.0",
20
+ "prisma": "^5.15.0"
21
+ },
22
+ "devDependencies": {
23
+ "nodemon": "^3.1.0"
24
+ }
25
+ }
@@ -0,0 +1,16 @@
1
+ generator client {
2
+ provider = "prisma-client-js"
3
+ }
4
+
5
+ datasource db {
6
+ provider = "postgresql"
7
+ url = env("DATABASE_URL")
8
+ }
9
+
10
+ model User {
11
+ id Int @id @default(autoincrement())
12
+ email String @unique
13
+ password String
14
+ createdAt DateTime @default(now())
15
+ updatedAt DateTime @updatedAt
16
+ }
@@ -0,0 +1,12 @@
1
+ import { app } from "./app.js";
2
+ import dotenv from "dotenv";
3
+
4
+ dotenv.config();
5
+
6
+ const PORT = process.env.PORT || 5000;
7
+
8
+ app.listen(PORT, () => {
9
+ console.log(`⚡ Server is running on port ${PORT}`);
10
+ });
11
+
12
+ console.log("⚡ Connected to PostgreSQL");
@@ -1,12 +0,0 @@
1
- import express from "express"
2
- import morgan from "morgan";
3
-
4
- export const app = express();
5
-
6
- app.use(express.json());
7
- app.use(morgan("dev"))
8
-
9
-
10
- app.use("/",(req,res)=>{
11
- res.send("hello world")
12
- })
@@ -1,15 +0,0 @@
1
- import { app } from "./app.js"
2
- import mongoose from "mongoose"
3
- import dotenv from "dotenv"
4
-
5
- dotenv.config()
6
-
7
- app.listen(process.env.PORT, () => {
8
- console.log(`⚡ Server is running on port ${process.env.PORT}`);
9
- });
10
-
11
- mongoose.connect(process.env.DB_URL).then(() => {
12
- console.log("⚡ Database connected")
13
- }).catch(err => {
14
- console.log(err)
15
- })