neatnode 3.0.3 → 3.1.3

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 (56) hide show
  1. package/package.json +3 -1
  2. package/src/actions/createProject.js +15 -12
  3. package/src/cli.js +45 -30
  4. package/src/config/templates.js +12 -19
  5. package/src/utils/downloadRepoTemplate.js +47 -0
  6. package/templates/express-basic/.env.example +0 -3
  7. package/templates/express-basic/package-lock.json +0 -1505
  8. package/templates/express-basic/package.json +0 -21
  9. package/templates/express-basic/server.js +0 -11
  10. package/templates/express-basic/src/app.js +0 -45
  11. package/templates/express-basic/src/config/db.config.js +0 -12
  12. package/templates/express-basic/src/config/env.config.js +0 -11
  13. package/templates/express-basic/src/controllers/todo.controller.js +0 -90
  14. package/templates/express-basic/src/middleware/notFound.middleware.js +0 -5
  15. package/templates/express-basic/src/models/todo.model.js +0 -21
  16. package/templates/express-basic/src/routes/index.route.js +0 -10
  17. package/templates/express-basic/src/routes/todo.route.js +0 -15
  18. package/templates/express-basic/src/utils/responseHandler.js +0 -7
  19. package/templates/express-rest-api/.env.example +0 -7
  20. package/templates/express-rest-api/package-lock.json +0 -1977
  21. package/templates/express-rest-api/package.json +0 -30
  22. package/templates/express-rest-api/server.js +0 -14
  23. package/templates/express-rest-api/src/app.js +0 -55
  24. package/templates/express-rest-api/src/config/db.config.js +0 -14
  25. package/templates/express-rest-api/src/config/env.config.js +0 -13
  26. package/templates/express-rest-api/src/config/logger.config.js +0 -20
  27. package/templates/express-rest-api/src/controllers/user.controller.js +0 -35
  28. package/templates/express-rest-api/src/middleware/auth.middleware.js +0 -36
  29. package/templates/express-rest-api/src/middleware/error.middleware.js +0 -32
  30. package/templates/express-rest-api/src/middleware/rateLimiter.js +0 -13
  31. package/templates/express-rest-api/src/middleware/validateRequest.middleware.js +0 -15
  32. package/templates/express-rest-api/src/models/user.model.js +0 -31
  33. package/templates/express-rest-api/src/routes/user.route.js +0 -14
  34. package/templates/express-rest-api/src/schemas/user.schema.js +0 -43
  35. package/templates/express-rest-api/src/services/user.service.js +0 -54
  36. package/templates/express-rest-api/src/utils/ApiError.js +0 -17
  37. package/templates/express-rest-api/src/utils/ApiResponse.js +0 -9
  38. package/templates/express-rest-api/src/utils/CatchAsync.js +0 -5
  39. package/templates/express-rest-api/src/utils/Token.js +0 -16
  40. package/templates/express-socket/.env.example +0 -5
  41. package/templates/express-socket/package-lock.json +0 -2262
  42. package/templates/express-socket/package.json +0 -31
  43. package/templates/express-socket/server.js +0 -19
  44. package/templates/express-socket/src/app.js +0 -33
  45. package/templates/express-socket/src/config/db.config.js +0 -14
  46. package/templates/express-socket/src/config/env.config.js +0 -10
  47. package/templates/express-socket/src/config/logger.js +0 -20
  48. package/templates/express-socket/src/config/socket.js +0 -23
  49. package/templates/express-socket/src/middleware/auth.middleware.js +0 -36
  50. package/templates/express-socket/src/middleware/error.middleware.js +0 -31
  51. package/templates/express-socket/src/middleware/rateLimiter.js +0 -14
  52. package/templates/express-socket/src/middleware/validateRequest.middleware.js +0 -15
  53. package/templates/express-socket/src/utils/ApiError.js +0 -17
  54. package/templates/express-socket/src/utils/ApiResponse.js +0 -9
  55. package/templates/express-socket/src/utils/CatchAsync.js +0 -5
  56. package/templates/express-socket/src/utils/Token.js +0 -16
@@ -1,21 +0,0 @@
1
- {
2
- "name": "project-name",
3
- "version": "1.0.0",
4
- "description": "Minimal Express.js starter template — clean, fast, and production-ready structure.",
5
- "main": "server.js",
6
- "type": "module",
7
- "scripts": {
8
- "dev": "nodemon server.js",
9
- "start": "node server.js"
10
- },
11
- "dependencies": {
12
- "cors": "^2.8.5",
13
- "dotenv": "^17.2.3",
14
- "express": "^5.1.0",
15
- "mongoose": "^8.19.2",
16
- "morgan": "^1.10.1"
17
- },
18
- "devDependencies": {
19
- "nodemon": "^3.1.10"
20
- }
21
- }
@@ -1,11 +0,0 @@
1
- import app from "./src/app.js";
2
- import { connectDB } from "./src/config/db.config.js";
3
- import envConfig from "./src/config/env.config.js";
4
-
5
-
6
- connectDB();
7
-
8
- app.listen(envConfig.PORT || 3000, () => {
9
- console.log(`Server is running on http://localhost:${envConfig.PORT || 3000}`);
10
- });
11
-
@@ -1,45 +0,0 @@
1
- import express from 'express';
2
- import cors from 'cors';
3
- import morgan from 'morgan';
4
-
5
- import notFoundMiddleware from './middleware/notFound.middleware.js';
6
- import { sendResponse } from './utils/responseHandler.js';
7
- import indexRouter from './routes/index.route.js';
8
-
9
- // ROUTE_IMPORTS_START
10
- import todoRouter from './routes/todo.route.js';
11
- // ROUTE_IMPORTS_END
12
-
13
- // Initialize Express app
14
- const app = express();
15
-
16
-
17
- // Middleware
18
- app.use(express.json());
19
- app.use(express.urlencoded({ extended: true }));
20
- app.use(cors());
21
- app.use(morgan('dev'));
22
-
23
- // Routes
24
- app.use('/api', indexRouter);
25
-
26
-
27
- // ROUTE_USES_START
28
- app.use('/api/todo', todoRouter);
29
- // ROUTE_USES_END
30
-
31
-
32
-
33
- // Root Route
34
- app.get('/', (req, res) => {
35
- sendResponse(res, 'Welcome to Express Basic Template API');
36
- });
37
-
38
-
39
-
40
- // 404 Middleware
41
- app.use(notFoundMiddleware);
42
-
43
-
44
-
45
- export default app;
@@ -1,12 +0,0 @@
1
- import mongoose from "mongoose";
2
- import envConfig from "./env.config.js";
3
-
4
- export const connectDB = async () => {
5
- try {
6
- await mongoose.connect(envConfig.MONGODB_URI);
7
- console.log("Database connected");
8
-
9
- } catch (error) {
10
- console.error("Error connecting to database:", error);
11
- }
12
- };
@@ -1,11 +0,0 @@
1
- import dotenv from 'dotenv';
2
-
3
- dotenv.config();
4
-
5
- const envConfig = {
6
- PORT: process.env.PORT || 3000,
7
- MONGODB_URI: process.env.MONGODB_URI,
8
- CLIENT_URL: process.env.CLIENT_URL,
9
- };
10
-
11
- export default envConfig;
@@ -1,90 +0,0 @@
1
- import Todo from "../models/todo.model.js";
2
- import { sendResponse, errorResponse } from "../utils/responseHandler.js";
3
-
4
- // 🧩 Get all todos
5
- export const getTodos = async (req, res) => {
6
- try {
7
- const todos = await Todo.find();
8
- sendResponse(res, "Todos fetched successfully", todos);
9
- } catch (error) {
10
- errorResponse(res, 500, "Failed to fetch todos");
11
- console.log("Internal Server Error:", error);
12
- }
13
- };
14
-
15
- // 🧩 Get single todo by ID
16
- export const getTodoById = async (req, res) => {
17
- try {
18
- const { id } = req.params;
19
- const todo = await Todo.findById(id);
20
-
21
- if (!todo) {
22
- return errorResponse(res, 404, "Todo not found");
23
- }
24
-
25
- sendResponse(res, "Todo fetched successfully", todo);
26
- } catch (error) {
27
- errorResponse(res, 500, "Failed to fetch todo");
28
- console.log("Internal Server Error:", error);
29
- }
30
- };
31
-
32
- // 🧩 Create a new todo
33
- export const createTodo = async (req, res) => {
34
- try {
35
- const { title, description } = req.body;
36
-
37
- const newTodo = new Todo({
38
- title,
39
- description,
40
- completed: false,
41
- });
42
-
43
- const savedTodo = await newTodo.save();
44
- sendResponse(res, "Todo created successfully", savedTodo);
45
- } catch (error) {
46
- errorResponse(res, 500, "Failed to create todo");
47
- console.log("Internal Server Error:", error);
48
- }
49
- };
50
-
51
- // 🧩 Update a todo
52
- export const updateTodo = async (req, res) => {
53
- try {
54
- const { id } = req.params;
55
- const { title, description, completed } = req.body;
56
-
57
- const updatedTodo = await Todo.findByIdAndUpdate(
58
- id,
59
- { title, description, completed },
60
- { new: true }
61
- );
62
-
63
- if (!updatedTodo) {
64
- return errorResponse(res, 404, "Todo not found");
65
- }
66
-
67
- sendResponse(res, "Todo updated successfully", updatedTodo);
68
- } catch (error) {
69
- errorResponse(res, 500, "Failed to update todo");
70
- console.log("Internal Server Error:", error);
71
- }
72
- };
73
-
74
- // 🧩 Delete a todo
75
- export const deleteTodo = async (req, res) => {
76
- try {
77
- const { id } = req.params;
78
-
79
- const deletedTodo = await Todo.findByIdAndDelete(id);
80
-
81
- if (!deletedTodo) {
82
- return errorResponse(res, 404, "Todo not found");
83
- }
84
-
85
- sendResponse(res, "Todo deleted successfully", deletedTodo);
86
- } catch (error) {
87
- errorResponse(res, 500, "Failed to delete todo");
88
- console.log("Internal Server Error:", error);
89
- }
90
- };
@@ -1,5 +0,0 @@
1
- import { errorResponse } from "../utils/responseHandler.js";
2
-
3
- export default (req, res) => {
4
- errorResponse(res, `Route ${req.originalUrl} not found`, 404);
5
- };
@@ -1,21 +0,0 @@
1
- import mongoose from "mongoose";
2
-
3
- const todoSchema = new mongoose.Schema({
4
- title: {
5
- type: String,
6
- required: true,
7
- },
8
- description: {
9
- type: String,
10
- required: true,
11
- },
12
- completed: {
13
- type: Boolean,
14
- default: false,
15
- },
16
-
17
- });
18
-
19
- const Todo = mongoose.model("Todo", todoSchema);
20
-
21
- export default Todo;
@@ -1,10 +0,0 @@
1
- import { Router } from "express";
2
- import { sendResponse } from "../utils/responseHandler.js";
3
-
4
- const router = Router();
5
-
6
- router.get("/", (req, res) => {
7
- sendResponse(res, "its a index route");
8
- });
9
-
10
- export default router;
@@ -1,15 +0,0 @@
1
- import express from 'express';
2
- import { getTodos, createTodo, getTodoById, updateTodo, deleteTodo } from '../controllers/todo.controller.js';
3
-
4
- const router = express.Router();
5
-
6
- // read routes
7
- router.get('/', getTodos);
8
- router.get('/:id', getTodoById);
9
-
10
- // create routes
11
- router.post('/create', createTodo);
12
- router.patch('/update/:id', updateTodo);
13
- router.delete('/delete/:id', deleteTodo);
14
-
15
- export default router;
@@ -1,7 +0,0 @@
1
- export const sendResponse = (res, message, data = {}) => {
2
- res.status(200).json({ success: true, message, data });
3
- };
4
-
5
- export const errorResponse = (res, code = 500, message,) => {
6
- res.status(code).json({ success: false, message });
7
- };
@@ -1,7 +0,0 @@
1
- PORT=3000
2
- MONGODB_URI=mongodb://localhost:27017/mydatabase
3
- JWT_SECRET=your_jwt_secret_key
4
- NODE_ENV=development
5
-
6
- # Frontend URL
7
- CLIENT_URL=http://localhost:4000