create-craftjs 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 (67) hide show
  1. package/README.md +139 -137
  2. package/bin/index.js +158 -158
  3. package/package.json +24 -24
  4. package/template/Dockerfile +57 -12
  5. package/template/babel.config.json +3 -3
  6. package/template/craft/commands/build.js +16 -15
  7. package/template/craft/commands/db-fresh.js +22 -22
  8. package/template/craft/commands/db-generate.js +23 -23
  9. package/template/craft/commands/db-migrate.js +22 -22
  10. package/template/craft/commands/dev.js +16 -16
  11. package/template/craft/commands/key-generate.js +41 -41
  12. package/template/craft/commands/make-apidocs.js +121 -121
  13. package/template/craft/commands/make-command.js +38 -38
  14. package/template/craft/commands/make-controller.js +95 -95
  15. package/template/craft/commands/make-dto.js +39 -39
  16. package/template/craft/commands/make-middleware.js +46 -46
  17. package/template/craft/commands/make-repository.js +36 -36
  18. package/template/craft/commands/make-route.js +92 -92
  19. package/template/craft/commands/make-service.js +39 -39
  20. package/template/craft/commands/make-test.js +48 -48
  21. package/template/craft/commands/make-utils.js +30 -30
  22. package/template/craft/commands/make-validation.js +42 -42
  23. package/template/craft/commands/make-view.js +42 -42
  24. package/template/craft/commands/start.js +29 -29
  25. package/template/craft/commands/test.js +20 -20
  26. package/template/craft.js +256 -256
  27. package/template/docker-compose.yml +8 -0
  28. package/template/nodemon.json +6 -6
  29. package/template/package-lock.json +8877 -8877
  30. package/template/package.json +84 -84
  31. package/template/prisma/schema.prisma +22 -22
  32. package/template/prisma/seed.ts +29 -29
  33. package/template/src/apidocs/auth-docs.ts +314 -314
  34. package/template/src/apidocs/users-docs.ts +240 -240
  35. package/template/src/config/cloudinary.ts +21 -21
  36. package/template/src/config/database.ts +90 -90
  37. package/template/src/config/env.ts +67 -67
  38. package/template/src/config/logger.ts +139 -139
  39. package/template/src/config/nodemailer.ts +23 -23
  40. package/template/src/config/web.ts +47 -47
  41. package/template/src/controllers/auth-controller.ts +88 -88
  42. package/template/src/controllers/user-controller.ts +79 -79
  43. package/template/src/dtos/list-dto.ts +12 -12
  44. package/template/src/dtos/user-dto.ts +57 -57
  45. package/template/src/main.ts +28 -28
  46. package/template/src/middleware/auth-middleware.ts +44 -44
  47. package/template/src/middleware/error-middleware.ts +27 -27
  48. package/template/src/middleware/http-logger-middleware.ts +31 -31
  49. package/template/src/repositories/user-repository.ts +75 -75
  50. package/template/src/routes/auth-route.ts +20 -20
  51. package/template/src/routes/main-route.ts +25 -25
  52. package/template/src/routes/user-route.ts +35 -35
  53. package/template/src/services/auth-service.ts +162 -162
  54. package/template/src/services/user-service.ts +102 -102
  55. package/template/src/types/type-request.ts +6 -6
  56. package/template/src/utils/async-handler.ts +9 -9
  57. package/template/src/utils/response-error.ts +10 -10
  58. package/template/src/utils/response.ts +60 -60
  59. package/template/src/utils/swagger.ts +135 -135
  60. package/template/src/utils/validation.ts +7 -7
  61. package/template/src/validations/user-validation.ts +127 -127
  62. package/template/src/views/index.ejs +6 -6
  63. package/template/src/views/layouts/main.ejs +14 -14
  64. package/template/src/views/partials/header.ejs +3 -3
  65. package/template/test/user.test.ts +16 -16
  66. package/template/tsconfig.json +13 -13
  67. package/template/.dockerignore +0 -4
@@ -1,20 +1,20 @@
1
- const { spawnSync } = require("child_process");
2
- const chalk = require("chalk");
3
-
4
- function RunTest() {
5
- console.log(chalk.blue("๐Ÿงช Running tests..."));
6
-
7
- const result = spawnSync("npx", ["jest", "-i"], {
8
- stdio: "inherit",
9
- shell: true,
10
- });
11
-
12
- if (result.status !== 0) {
13
- console.error(chalk.red("โŒ Tests failed."));
14
- process.exit(result.status ?? 1);
15
- } else {
16
- console.log(chalk.green("โœ… Tests passed."));
17
- }
18
- }
19
-
20
- module.exports = RunTest;
1
+ const { spawnSync } = require("child_process");
2
+ const chalk = require("chalk");
3
+
4
+ function RunTest() {
5
+ console.log(chalk.blue("๐Ÿงช Running tests..."));
6
+
7
+ const result = spawnSync("npx", ["jest", "-i"], {
8
+ stdio: "inherit",
9
+ shell: true,
10
+ });
11
+
12
+ if (result.status !== 0) {
13
+ console.error(chalk.red("โŒ Tests failed."));
14
+ process.exit(result.status ?? 1);
15
+ } else {
16
+ console.log(chalk.green("โœ… Tests passed."));
17
+ }
18
+ }
19
+
20
+ module.exports = RunTest;
package/template/craft.js CHANGED
@@ -1,256 +1,256 @@
1
- #!/usr/bin/env node
2
-
3
- const yargs = require("yargs");
4
- const { hideBin } = require("yargs/helpers");
5
-
6
- yargs(hideBin(process.argv))
7
- .command(
8
- "build",
9
- "Building project to production ",
10
- () => {},
11
- () => {
12
- const build = require("./craft/commands/build.js");
13
- build();
14
- }
15
- )
16
- .command(
17
- "db:generate",
18
- "Running prisma generate",
19
- () => {},
20
- () => {
21
- const dbgenerate = require("./craft/commands/db-generate.js");
22
- dbgenerate();
23
- }
24
- )
25
- .command(
26
- "db:migrate",
27
- "Running prisma migration",
28
- () => {},
29
- () => {
30
- const migrate = require("./craft/commands/db-migrate.js");
31
- migrate();
32
- }
33
- )
34
- .command(
35
- "db:fresh",
36
- "Running prisma migrate fresh",
37
- () => {},
38
- () => {
39
- const dbfresh = require("./craft/commands/db-fresh.js");
40
- dbfresh();
41
- }
42
- )
43
- .command(
44
- "dev",
45
- "Starting development server",
46
- () => {},
47
- () => {
48
- const dev = require("./craft/commands/dev.js");
49
- dev();
50
- }
51
- )
52
- .command(
53
- "key:generate",
54
- "Generate JWT SECRET KEY",
55
- () => {},
56
- () => {
57
- const dev = require("./craft/commands/key-generate.js");
58
- dev();
59
- }
60
- )
61
- .command(
62
- "make:apidocs <name>",
63
- "Generate a new api documentation",
64
- (yargs) => {
65
- yargs.positional("name", {
66
- describe: "apidocs name",
67
- type: "string",
68
- });
69
- },
70
- (argv) => {
71
- const makeapidocs = require("./craft/commands/make-apidocs.js");
72
- makeapidocs(argv.name);
73
- }
74
- )
75
- .command(
76
- "make:command <name>",
77
- "Generate a new craft command",
78
- (yargs) => {
79
- yargs.positional("name", {
80
- describe: "Command name",
81
- type: "string",
82
- });
83
- },
84
- (argv) => {
85
- const makecommand = require("./craft/commands/make-command.js");
86
- makecommand(argv.name);
87
- }
88
- )
89
- .command(
90
- "make:controller <name>",
91
- "Generate a new controller",
92
- (yargs) => {
93
- yargs
94
- .positional("name", {
95
- describe: "Controller name",
96
- type: "string",
97
- })
98
- .option("resource", {
99
- describe: "Generate resource style controller methods",
100
- type: "boolean",
101
- default: false,
102
- });
103
- },
104
- (argv) => {
105
- const makecontroller = require("./craft/commands/make-controller.js");
106
- makecontroller(argv.name, { resource: argv.resource });
107
- }
108
- )
109
- .command(
110
- "make:middleware <name>",
111
- "Generate a new middleware",
112
- (yargs) => {
113
- yargs.positional("name", {
114
- describe: "Middleware name",
115
- type: "string",
116
- });
117
- },
118
- (argv) => {
119
- const makemiddleware = require("./craft/commands/make-middleware.js");
120
- makemiddleware(argv.name);
121
- }
122
- )
123
- .command(
124
- "make:repository <name>",
125
- "Generate a new respository",
126
- (yargs) => {
127
- yargs.positional("name", {
128
- describe: "Repository name",
129
- type: "string",
130
- });
131
- },
132
- (argv) => {
133
- const makerepository = require("./craft/commands/make-repository.js");
134
- makerepository(argv.name);
135
- }
136
- )
137
- .command(
138
- "make:dto <name>",
139
- "Generate a new dto",
140
- (yargs) => {
141
- yargs.positional("name", {
142
- describe: "Dto name",
143
- type: "string",
144
- });
145
- },
146
- (argv) => {
147
- const makedto = require("./craft/commands/make-dto.js");
148
- makedto(argv.name);
149
- }
150
- )
151
- .command(
152
- "make:route <name>",
153
- "Generate a new route",
154
- (yargs) => {
155
- yargs.positional("name", {
156
- describe: "Route name",
157
- type: "string",
158
- });
159
- },
160
- (argv) => {
161
- const makeroute = require("./craft/commands/make-route.js");
162
- makeroute(argv.name);
163
- }
164
- )
165
- .command(
166
- "make:service <name>",
167
- "Generate a new service",
168
- (yargs) => {
169
- yargs.positional("name", {
170
- describe: "Service name",
171
- type: "string",
172
- });
173
- },
174
- (argv) => {
175
- const makeservice = require("./craft/commands/make-service.js");
176
- makeservice(argv.name);
177
- }
178
- )
179
- .command(
180
- "make:test <name>",
181
- "Generate a new unit test",
182
- (yargs) => {
183
- yargs.positional("name", {
184
- describe: "Test name",
185
- type: "string",
186
- });
187
- },
188
- (argv) => {
189
- const maketest = require("./craft/commands/make-test.js");
190
- maketest(argv.name);
191
- }
192
- )
193
- .command(
194
- "make:utils <name>",
195
- "Generate a new utils",
196
- (yargs) => {
197
- yargs.positional("name", {
198
- describe: "Utils name",
199
- type: "string",
200
- });
201
- },
202
- (argv) => {
203
- const makeutils = require("./craft/commands/make-utils.js");
204
- makeutils(argv.name);
205
- }
206
- )
207
- .command(
208
- "make:validation <name>",
209
- "Generate a new validation",
210
- (yargs) => {
211
- yargs.positional("name", {
212
- describe: "Validation name",
213
- type: "string",
214
- });
215
- },
216
- (argv) => {
217
- const makevalidation = require("./craft/commands/make-validation.js");
218
- makevalidation(argv.name);
219
- }
220
- )
221
- .command(
222
- "make:view <name>",
223
- "Generate a new view",
224
- (yargs) => {
225
- yargs.positional("name", {
226
- describe: "View name",
227
- type: "string",
228
- });
229
- },
230
- (argv) => {
231
- const makeview = require("./craft/commands/make-view.js");
232
- makeview(argv.name);
233
- }
234
- )
235
- .command(
236
- "start",
237
- "Starting production server",
238
- () => {},
239
- () => {
240
- const start = require("./craft/commands/start.js");
241
- start();
242
- }
243
- )
244
- .command(
245
- "test",
246
- "Run Jest unit tests",
247
- () => {},
248
- () => {
249
- const runtest = require("./craft/commands/test.js");
250
- runtest();
251
- }
252
- )
253
- .demandCommand()
254
- .strict()
255
- .help()
256
- .parse();
1
+ #!/usr/bin/env node
2
+
3
+ const yargs = require("yargs");
4
+ const { hideBin } = require("yargs/helpers");
5
+
6
+ yargs(hideBin(process.argv))
7
+ .command(
8
+ "build",
9
+ "Building project to production ",
10
+ () => {},
11
+ () => {
12
+ const build = require("./craft/commands/build.js");
13
+ build();
14
+ }
15
+ )
16
+ .command(
17
+ "db:generate",
18
+ "Running prisma generate",
19
+ () => {},
20
+ () => {
21
+ const dbgenerate = require("./craft/commands/db-generate.js");
22
+ dbgenerate();
23
+ }
24
+ )
25
+ .command(
26
+ "db:migrate",
27
+ "Running prisma migration",
28
+ () => {},
29
+ () => {
30
+ const migrate = require("./craft/commands/db-migrate.js");
31
+ migrate();
32
+ }
33
+ )
34
+ .command(
35
+ "db:fresh",
36
+ "Running prisma migrate fresh",
37
+ () => {},
38
+ () => {
39
+ const dbfresh = require("./craft/commands/db-fresh.js");
40
+ dbfresh();
41
+ }
42
+ )
43
+ .command(
44
+ "dev",
45
+ "Starting development server",
46
+ () => {},
47
+ () => {
48
+ const dev = require("./craft/commands/dev.js");
49
+ dev();
50
+ }
51
+ )
52
+ .command(
53
+ "key:generate",
54
+ "Generate JWT SECRET KEY",
55
+ () => {},
56
+ () => {
57
+ const dev = require("./craft/commands/key-generate.js");
58
+ dev();
59
+ }
60
+ )
61
+ .command(
62
+ "make:apidocs <name>",
63
+ "Generate a new api documentation",
64
+ (yargs) => {
65
+ yargs.positional("name", {
66
+ describe: "apidocs name",
67
+ type: "string",
68
+ });
69
+ },
70
+ (argv) => {
71
+ const makeapidocs = require("./craft/commands/make-apidocs.js");
72
+ makeapidocs(argv.name);
73
+ }
74
+ )
75
+ .command(
76
+ "make:command <name>",
77
+ "Generate a new craft command",
78
+ (yargs) => {
79
+ yargs.positional("name", {
80
+ describe: "Command name",
81
+ type: "string",
82
+ });
83
+ },
84
+ (argv) => {
85
+ const makecommand = require("./craft/commands/make-command.js");
86
+ makecommand(argv.name);
87
+ }
88
+ )
89
+ .command(
90
+ "make:controller <name>",
91
+ "Generate a new controller",
92
+ (yargs) => {
93
+ yargs
94
+ .positional("name", {
95
+ describe: "Controller name",
96
+ type: "string",
97
+ })
98
+ .option("resource", {
99
+ describe: "Generate resource style controller methods",
100
+ type: "boolean",
101
+ default: false,
102
+ });
103
+ },
104
+ (argv) => {
105
+ const makecontroller = require("./craft/commands/make-controller.js");
106
+ makecontroller(argv.name, { resource: argv.resource });
107
+ }
108
+ )
109
+ .command(
110
+ "make:middleware <name>",
111
+ "Generate a new middleware",
112
+ (yargs) => {
113
+ yargs.positional("name", {
114
+ describe: "Middleware name",
115
+ type: "string",
116
+ });
117
+ },
118
+ (argv) => {
119
+ const makemiddleware = require("./craft/commands/make-middleware.js");
120
+ makemiddleware(argv.name);
121
+ }
122
+ )
123
+ .command(
124
+ "make:repository <name>",
125
+ "Generate a new respository",
126
+ (yargs) => {
127
+ yargs.positional("name", {
128
+ describe: "Repository name",
129
+ type: "string",
130
+ });
131
+ },
132
+ (argv) => {
133
+ const makerepository = require("./craft/commands/make-repository.js");
134
+ makerepository(argv.name);
135
+ }
136
+ )
137
+ .command(
138
+ "make:dto <name>",
139
+ "Generate a new dto",
140
+ (yargs) => {
141
+ yargs.positional("name", {
142
+ describe: "Dto name",
143
+ type: "string",
144
+ });
145
+ },
146
+ (argv) => {
147
+ const makedto = require("./craft/commands/make-dto.js");
148
+ makedto(argv.name);
149
+ }
150
+ )
151
+ .command(
152
+ "make:route <name>",
153
+ "Generate a new route",
154
+ (yargs) => {
155
+ yargs.positional("name", {
156
+ describe: "Route name",
157
+ type: "string",
158
+ });
159
+ },
160
+ (argv) => {
161
+ const makeroute = require("./craft/commands/make-route.js");
162
+ makeroute(argv.name);
163
+ }
164
+ )
165
+ .command(
166
+ "make:service <name>",
167
+ "Generate a new service",
168
+ (yargs) => {
169
+ yargs.positional("name", {
170
+ describe: "Service name",
171
+ type: "string",
172
+ });
173
+ },
174
+ (argv) => {
175
+ const makeservice = require("./craft/commands/make-service.js");
176
+ makeservice(argv.name);
177
+ }
178
+ )
179
+ .command(
180
+ "make:test <name>",
181
+ "Generate a new unit test",
182
+ (yargs) => {
183
+ yargs.positional("name", {
184
+ describe: "Test name",
185
+ type: "string",
186
+ });
187
+ },
188
+ (argv) => {
189
+ const maketest = require("./craft/commands/make-test.js");
190
+ maketest(argv.name);
191
+ }
192
+ )
193
+ .command(
194
+ "make:utils <name>",
195
+ "Generate a new utils",
196
+ (yargs) => {
197
+ yargs.positional("name", {
198
+ describe: "Utils name",
199
+ type: "string",
200
+ });
201
+ },
202
+ (argv) => {
203
+ const makeutils = require("./craft/commands/make-utils.js");
204
+ makeutils(argv.name);
205
+ }
206
+ )
207
+ .command(
208
+ "make:validation <name>",
209
+ "Generate a new validation",
210
+ (yargs) => {
211
+ yargs.positional("name", {
212
+ describe: "Validation name",
213
+ type: "string",
214
+ });
215
+ },
216
+ (argv) => {
217
+ const makevalidation = require("./craft/commands/make-validation.js");
218
+ makevalidation(argv.name);
219
+ }
220
+ )
221
+ .command(
222
+ "make:view <name>",
223
+ "Generate a new view",
224
+ (yargs) => {
225
+ yargs.positional("name", {
226
+ describe: "View name",
227
+ type: "string",
228
+ });
229
+ },
230
+ (argv) => {
231
+ const makeview = require("./craft/commands/make-view.js");
232
+ makeview(argv.name);
233
+ }
234
+ )
235
+ .command(
236
+ "start",
237
+ "Starting production server",
238
+ () => {},
239
+ () => {
240
+ const start = require("./craft/commands/start.js");
241
+ start();
242
+ }
243
+ )
244
+ .command(
245
+ "test",
246
+ "Run Jest unit tests",
247
+ () => {},
248
+ () => {
249
+ const runtest = require("./craft/commands/test.js");
250
+ runtest();
251
+ }
252
+ )
253
+ .demandCommand()
254
+ .strict()
255
+ .help()
256
+ .parse();
@@ -0,0 +1,8 @@
1
+ services:
2
+ craft-js:
3
+ container_name: craft-js
4
+ image: craft_js_image
5
+ build: .
6
+ ports:
7
+ - "3000:3000"
8
+ restart: always
@@ -1,6 +1,6 @@
1
- {
2
- "ignore": [".git", "node_modules", "dist"],
3
- "watch": ["src", ".env"],
4
- "exec": "ts-node ./src/main.ts",
5
- "ext": "ts"
6
- }
1
+ {
2
+ "ignore": [".git", "node_modules", "dist"],
3
+ "watch": ["src", ".env"],
4
+ "exec": "ts-node ./src/main.ts",
5
+ "ext": "ts"
6
+ }