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.
- package/package.json +42 -42
- package/packages/{index.js → create-server-nodejs/index.js} +11 -81
- package/packages/{templates/server-nodejs-v1 → create-server-nodejs/templates/server-nodejs-mongodb}/.env.example +1 -1
- package/packages/create-server-nodejs/templates/server-nodejs-mongodb/Middlewares/auth.middleware.js +4 -0
- package/packages/create-server-nodejs/templates/server-nodejs-mongodb/README.md +28 -0
- package/packages/create-server-nodejs/templates/server-nodejs-mongodb/Routers/user.routes.js +8 -0
- package/packages/create-server-nodejs/templates/server-nodejs-mongodb/Utils/helpers.js +3 -0
- package/packages/create-server-nodejs/templates/server-nodejs-mongodb/app.js +20 -0
- package/packages/create-server-nodejs/templates/server-nodejs-mongodb/package.json +24 -0
- package/packages/create-server-nodejs/templates/server-nodejs-mongodb/server.js +12 -0
- package/packages/create-server-nodejs/templates/server-nodejs-postgresql/.env.example +3 -0
- package/packages/create-server-nodejs/templates/server-nodejs-postgresql/Middlewares/auth.middleware.js +4 -0
- package/packages/create-server-nodejs/templates/server-nodejs-postgresql/README.md +28 -0
- package/packages/create-server-nodejs/templates/server-nodejs-postgresql/Routers/user.routes.js +8 -0
- package/packages/create-server-nodejs/templates/server-nodejs-postgresql/Utils/helpers.js +3 -0
- package/packages/create-server-nodejs/templates/server-nodejs-postgresql/app.js +20 -0
- package/packages/create-server-nodejs/templates/server-nodejs-postgresql/package.json +25 -0
- package/packages/create-server-nodejs/templates/server-nodejs-postgresql/prisma/schema.prisma +16 -0
- package/packages/create-server-nodejs/templates/server-nodejs-postgresql/server.js +12 -0
- package/packages/templates/server-nodejs-v1/app.js +0 -12
- 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
|
-
"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
|
|
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
|
-
|
|
142
|
+
---
|
|
206
143
|
|
|
207
|
-
|
|
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
|
-
|
|
146
|
+
- **Controllers/** → Application logic
|
|
147
|
+
- **Models/** → Database models
|
|
148
|
+
- **Routers/** → API routes
|
|
149
|
+
- **Middlewares/** → Authentication & middlewares
|
|
150
|
+
- **Utils/** → Helper functions
|
|
215
151
|
|
|
216
|
-
|
|
217
|
-
- MongoDB + Mongoose or PostgreSQL + Prisma
|
|
218
|
-
- JWT Authentication
|
|
219
|
-
- bcryptjs, cors, morgan, dotenv
|
|
220
|
-
- Nodemon (dev dependency)
|
|
152
|
+
---
|
|
221
153
|
|
|
222
|
-
|
|
223
|
-
This project is licensed under the MIT License.
|
|
154
|
+
**Database:** ${isPostgres ? 'PostgreSQL + Prisma' : 'MongoDB + Mongoose'}
|
|
224
155
|
|
|
225
|
-
|
|
226
|
-
Happy coding!
|
|
156
|
+
Happy coding! ✨
|
|
227
157
|
`,
|
|
228
158
|
|
|
229
159
|
'Routers/user.routes.js': `import express from "express";
|
|
@@ -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,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,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,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,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
|
-
})
|