nodebbs 0.0.2 → 0.0.4

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 (62) hide show
  1. package/README.md +103 -111
  2. package/bin/dev.js +6 -1
  3. package/bin/run.js +6 -1
  4. package/dist/commands/clean/index.d.ts +11 -0
  5. package/dist/commands/clean/index.js +93 -0
  6. package/dist/commands/db/backup.d.ts +9 -0
  7. package/dist/commands/db/backup.js +78 -0
  8. package/dist/commands/db/generate.d.ts +3 -0
  9. package/dist/commands/db/generate.js +9 -3
  10. package/dist/commands/db/migrate.d.ts +3 -0
  11. package/dist/commands/db/migrate.js +8 -2
  12. package/dist/commands/db/push.d.ts +3 -0
  13. package/dist/commands/db/push.js +8 -2
  14. package/dist/commands/db/reset.d.ts +3 -0
  15. package/dist/commands/db/reset.js +10 -4
  16. package/dist/commands/db/seed.d.ts +3 -0
  17. package/dist/commands/db/seed.js +9 -3
  18. package/dist/commands/logs/api.d.ts +3 -0
  19. package/dist/commands/logs/api.js +8 -2
  20. package/dist/commands/logs/db.d.ts +3 -0
  21. package/dist/commands/logs/db.js +8 -2
  22. package/dist/commands/logs/index.d.ts +3 -0
  23. package/dist/commands/logs/index.js +8 -2
  24. package/dist/commands/logs/redis.d.ts +3 -0
  25. package/dist/commands/logs/redis.js +8 -2
  26. package/dist/commands/logs/web.d.ts +3 -0
  27. package/dist/commands/logs/web.js +9 -3
  28. package/dist/commands/{db → rebuild}/index.d.ts +2 -1
  29. package/dist/commands/rebuild/index.js +11 -0
  30. package/dist/commands/restart/index.d.ts +3 -0
  31. package/dist/commands/restart/index.js +10 -2
  32. package/dist/commands/shell/api.d.ts +3 -0
  33. package/dist/commands/shell/api.js +9 -3
  34. package/dist/commands/shell/db.d.ts +3 -0
  35. package/dist/commands/shell/db.js +9 -3
  36. package/dist/commands/shell/redis.d.ts +3 -0
  37. package/dist/commands/shell/redis.js +9 -3
  38. package/dist/commands/shell/web.d.ts +3 -0
  39. package/dist/commands/shell/web.js +9 -3
  40. package/dist/commands/{dev → start}/index.d.ts +2 -2
  41. package/dist/commands/start/index.js +111 -0
  42. package/dist/commands/status/index.d.ts +3 -0
  43. package/dist/commands/status/index.js +8 -2
  44. package/dist/commands/stop/index.d.ts +1 -0
  45. package/dist/commands/stop/index.js +9 -1
  46. package/dist/interactive.d.ts +1 -0
  47. package/dist/interactive.js +171 -0
  48. package/dist/templates/env +61 -0
  49. package/dist/utils/docker.js +10 -18
  50. package/dist/utils/env.js +20 -10
  51. package/dist/utils/selection.d.ts +7 -0
  52. package/dist/utils/selection.js +68 -0
  53. package/dist/utils/template.d.ts +11 -0
  54. package/dist/utils/template.js +18 -0
  55. package/oclif.manifest.json +367 -90
  56. package/package.json +30 -25
  57. package/dist/commands/db/index.js +0 -11
  58. package/dist/commands/deploy/index.d.ts +0 -8
  59. package/dist/commands/deploy/index.js +0 -95
  60. package/dist/commands/dev/index.js +0 -59
  61. package/dist/commands/setup/index.d.ts +0 -5
  62. package/dist/commands/setup/index.js +0 -12
@@ -1,34 +1,40 @@
1
1
  {
2
2
  "commands": {
3
- "db:generate": {
4
- "aliases": [],
5
- "args": {},
6
- "description": "生成数据库迁移文件",
7
- "flags": {},
8
- "hasDynamicHelp": false,
9
- "hiddenAliases": [],
10
- "id": "db:generate",
11
- "pluginAlias": "nodebbs",
12
- "pluginName": "nodebbs",
13
- "pluginType": "core",
14
- "strict": true,
15
- "enableJsonFlag": false,
16
- "isESM": true,
17
- "relativePath": [
18
- "dist",
19
- "commands",
20
- "db",
21
- "generate.js"
22
- ]
23
- },
24
- "db": {
3
+ "clean": {
25
4
  "aliases": [],
26
5
  "args": {},
27
- "description": "打开数据库管理界面(Drizzle Studio)",
28
- "flags": {},
6
+ "description": "清理 Docker 缓存和残留资源",
7
+ "flags": {
8
+ "all": {
9
+ "char": "a",
10
+ "description": "清理所有 (构建缓存、无用镜像、网络)",
11
+ "name": "all",
12
+ "allowNo": false,
13
+ "type": "boolean"
14
+ },
15
+ "cache": {
16
+ "description": "清理构建缓存",
17
+ "name": "cache",
18
+ "allowNo": false,
19
+ "type": "boolean"
20
+ },
21
+ "images": {
22
+ "description": "清理无用镜像 (dangling)",
23
+ "name": "images",
24
+ "allowNo": false,
25
+ "type": "boolean"
26
+ },
27
+ "force": {
28
+ "char": "f",
29
+ "description": "跳过确认提示",
30
+ "name": "force",
31
+ "allowNo": false,
32
+ "type": "boolean"
33
+ }
34
+ },
29
35
  "hasDynamicHelp": false,
30
36
  "hiddenAliases": [],
31
- "id": "db",
37
+ "id": "clean",
32
38
  "pluginAlias": "nodebbs",
33
39
  "pluginName": "nodebbs",
34
40
  "pluginType": "core",
@@ -38,18 +44,40 @@
38
44
  "relativePath": [
39
45
  "dist",
40
46
  "commands",
41
- "db",
47
+ "clean",
42
48
  "index.js"
43
49
  ]
44
50
  },
45
- "db:migrate": {
51
+ "db:backup": {
46
52
  "aliases": [],
47
53
  "args": {},
48
- "description": "执行数据库迁移",
49
- "flags": {},
54
+ "description": "备份数据库 (PostgreSQL)",
55
+ "flags": {
56
+ "env": {
57
+ "char": "e",
58
+ "description": "部署环境 (production, lowmem, basic)",
59
+ "name": "env",
60
+ "hasDynamicHelp": false,
61
+ "multiple": false,
62
+ "options": [
63
+ "production",
64
+ "lowmem",
65
+ "basic"
66
+ ],
67
+ "type": "option"
68
+ },
69
+ "output": {
70
+ "char": "o",
71
+ "description": "输出文件路径",
72
+ "name": "output",
73
+ "hasDynamicHelp": false,
74
+ "multiple": false,
75
+ "type": "option"
76
+ }
77
+ },
50
78
  "hasDynamicHelp": false,
51
79
  "hiddenAliases": [],
52
- "id": "db:migrate",
80
+ "id": "db:backup",
53
81
  "pluginAlias": "nodebbs",
54
82
  "pluginName": "nodebbs",
55
83
  "pluginType": "core",
@@ -60,17 +88,31 @@
60
88
  "dist",
61
89
  "commands",
62
90
  "db",
63
- "migrate.js"
91
+ "backup.js"
64
92
  ]
65
93
  },
66
- "db:push": {
94
+ "db:generate": {
67
95
  "aliases": [],
68
96
  "args": {},
69
- "description": "推送数据库 schema",
70
- "flags": {},
97
+ "description": "生成 Prisma Client (db:generate)",
98
+ "flags": {
99
+ "env": {
100
+ "char": "e",
101
+ "description": "部署环境 (production, lowmem, basic)",
102
+ "name": "env",
103
+ "hasDynamicHelp": false,
104
+ "multiple": false,
105
+ "options": [
106
+ "production",
107
+ "lowmem",
108
+ "basic"
109
+ ],
110
+ "type": "option"
111
+ }
112
+ },
71
113
  "hasDynamicHelp": false,
72
114
  "hiddenAliases": [],
73
- "id": "db:push",
115
+ "id": "db:generate",
74
116
  "pluginAlias": "nodebbs",
75
117
  "pluginName": "nodebbs",
76
118
  "pluginType": "core",
@@ -81,17 +123,31 @@
81
123
  "dist",
82
124
  "commands",
83
125
  "db",
84
- "push.js"
126
+ "generate.js"
85
127
  ]
86
128
  },
87
- "db:reset": {
129
+ "db:migrate": {
88
130
  "aliases": [],
89
131
  "args": {},
90
- "description": "重置并重新初始化数据",
91
- "flags": {},
132
+ "description": "执行数据库迁移 (db:migrate)",
133
+ "flags": {
134
+ "env": {
135
+ "char": "e",
136
+ "description": "部署环境 (production, lowmem, basic)",
137
+ "name": "env",
138
+ "hasDynamicHelp": false,
139
+ "multiple": false,
140
+ "options": [
141
+ "production",
142
+ "lowmem",
143
+ "basic"
144
+ ],
145
+ "type": "option"
146
+ }
147
+ },
92
148
  "hasDynamicHelp": false,
93
149
  "hiddenAliases": [],
94
- "id": "db:reset",
150
+ "id": "db:migrate",
95
151
  "pluginAlias": "nodebbs",
96
152
  "pluginName": "nodebbs",
97
153
  "pluginType": "core",
@@ -102,17 +158,31 @@
102
158
  "dist",
103
159
  "commands",
104
160
  "db",
105
- "reset.js"
161
+ "migrate.js"
106
162
  ]
107
163
  },
108
- "db:seed": {
164
+ "db:push": {
109
165
  "aliases": [],
110
166
  "args": {},
111
- "description": "初始化数据库数据",
112
- "flags": {},
167
+ "description": "推送数据库 schema (db:push)",
168
+ "flags": {
169
+ "env": {
170
+ "char": "e",
171
+ "description": "部署环境 (production, lowmem, basic)",
172
+ "name": "env",
173
+ "hasDynamicHelp": false,
174
+ "multiple": false,
175
+ "options": [
176
+ "production",
177
+ "lowmem",
178
+ "basic"
179
+ ],
180
+ "type": "option"
181
+ }
182
+ },
113
183
  "hasDynamicHelp": false,
114
184
  "hiddenAliases": [],
115
- "id": "db:seed",
185
+ "id": "db:push",
116
186
  "pluginAlias": "nodebbs",
117
187
  "pluginName": "nodebbs",
118
188
  "pluginType": "core",
@@ -123,26 +193,31 @@
123
193
  "dist",
124
194
  "commands",
125
195
  "db",
126
- "seed.js"
196
+ "push.js"
127
197
  ]
128
198
  },
129
- "deploy": {
199
+ "db:reset": {
130
200
  "aliases": [],
131
201
  "args": {},
132
- "description": "部署 NodeBBS",
202
+ "description": "重置数据库 (db:reset) - 危险操作!",
133
203
  "flags": {
134
- "name": {
135
- "char": "n",
136
- "description": "name to print",
137
- "name": "name",
204
+ "env": {
205
+ "char": "e",
206
+ "description": "部署环境 (production, lowmem, basic)",
207
+ "name": "env",
138
208
  "hasDynamicHelp": false,
139
209
  "multiple": false,
210
+ "options": [
211
+ "production",
212
+ "lowmem",
213
+ "basic"
214
+ ],
140
215
  "type": "option"
141
216
  }
142
217
  },
143
218
  "hasDynamicHelp": false,
144
219
  "hiddenAliases": [],
145
- "id": "deploy",
220
+ "id": "db:reset",
146
221
  "pluginAlias": "nodebbs",
147
222
  "pluginName": "nodebbs",
148
223
  "pluginType": "core",
@@ -152,14 +227,14 @@
152
227
  "relativePath": [
153
228
  "dist",
154
229
  "commands",
155
- "deploy",
156
- "index.js"
230
+ "db",
231
+ "reset.js"
157
232
  ]
158
233
  },
159
- "dev": {
234
+ "db:seed": {
160
235
  "aliases": [],
161
236
  "args": {},
162
- "description": "启动开发环境",
237
+ "description": "填充种子数据 (db:seed)",
163
238
  "flags": {
164
239
  "env": {
165
240
  "char": "e",
@@ -173,18 +248,11 @@
173
248
  "basic"
174
249
  ],
175
250
  "type": "option"
176
- },
177
- "rebuild": {
178
- "char": "r",
179
- "description": "重新构建镜像",
180
- "name": "rebuild",
181
- "allowNo": false,
182
- "type": "boolean"
183
251
  }
184
252
  },
185
253
  "hasDynamicHelp": false,
186
254
  "hiddenAliases": [],
187
- "id": "dev",
255
+ "id": "db:seed",
188
256
  "pluginAlias": "nodebbs",
189
257
  "pluginName": "nodebbs",
190
258
  "pluginType": "core",
@@ -194,15 +262,29 @@
194
262
  "relativePath": [
195
263
  "dist",
196
264
  "commands",
197
- "dev",
198
- "index.js"
265
+ "db",
266
+ "seed.js"
199
267
  ]
200
268
  },
201
269
  "logs:api": {
202
270
  "aliases": [],
203
271
  "args": {},
204
272
  "description": "查看 API 服务日志",
205
- "flags": {},
273
+ "flags": {
274
+ "env": {
275
+ "char": "e",
276
+ "description": "部署环境 (production, lowmem, basic)",
277
+ "name": "env",
278
+ "hasDynamicHelp": false,
279
+ "multiple": false,
280
+ "options": [
281
+ "production",
282
+ "lowmem",
283
+ "basic"
284
+ ],
285
+ "type": "option"
286
+ }
287
+ },
206
288
  "hasDynamicHelp": false,
207
289
  "hiddenAliases": [],
208
290
  "id": "logs:api",
@@ -223,7 +305,21 @@
223
305
  "aliases": [],
224
306
  "args": {},
225
307
  "description": "查看数据库日志",
226
- "flags": {},
308
+ "flags": {
309
+ "env": {
310
+ "char": "e",
311
+ "description": "部署环境 (production, lowmem, basic)",
312
+ "name": "env",
313
+ "hasDynamicHelp": false,
314
+ "multiple": false,
315
+ "options": [
316
+ "production",
317
+ "lowmem",
318
+ "basic"
319
+ ],
320
+ "type": "option"
321
+ }
322
+ },
227
323
  "hasDynamicHelp": false,
228
324
  "hiddenAliases": [],
229
325
  "id": "logs:db",
@@ -244,7 +340,21 @@
244
340
  "aliases": [],
245
341
  "args": {},
246
342
  "description": "查看所有服务日志",
247
- "flags": {},
343
+ "flags": {
344
+ "env": {
345
+ "char": "e",
346
+ "description": "部署环境 (production, lowmem, basic)",
347
+ "name": "env",
348
+ "hasDynamicHelp": false,
349
+ "multiple": false,
350
+ "options": [
351
+ "production",
352
+ "lowmem",
353
+ "basic"
354
+ ],
355
+ "type": "option"
356
+ }
357
+ },
248
358
  "hasDynamicHelp": false,
249
359
  "hiddenAliases": [],
250
360
  "id": "logs",
@@ -265,7 +375,21 @@
265
375
  "aliases": [],
266
376
  "args": {},
267
377
  "description": "查看 Redis 日志",
268
- "flags": {},
378
+ "flags": {
379
+ "env": {
380
+ "char": "e",
381
+ "description": "部署环境 (production, lowmem, basic)",
382
+ "name": "env",
383
+ "hasDynamicHelp": false,
384
+ "multiple": false,
385
+ "options": [
386
+ "production",
387
+ "lowmem",
388
+ "basic"
389
+ ],
390
+ "type": "option"
391
+ }
392
+ },
269
393
  "hasDynamicHelp": false,
270
394
  "hiddenAliases": [],
271
395
  "id": "logs:redis",
@@ -285,8 +409,22 @@
285
409
  "logs:web": {
286
410
  "aliases": [],
287
411
  "args": {},
288
- "description": "查看 Web 服务日志",
289
- "flags": {},
412
+ "description": "查看 Web 前端日志",
413
+ "flags": {
414
+ "env": {
415
+ "char": "e",
416
+ "description": "部署环境 (production, lowmem, basic)",
417
+ "name": "env",
418
+ "hasDynamicHelp": false,
419
+ "multiple": false,
420
+ "options": [
421
+ "production",
422
+ "lowmem",
423
+ "basic"
424
+ ],
425
+ "type": "option"
426
+ }
427
+ },
290
428
  "hasDynamicHelp": false,
291
429
  "hiddenAliases": [],
292
430
  "id": "logs:web",
@@ -303,13 +441,48 @@
303
441
  "web.js"
304
442
  ]
305
443
  },
306
- "restart": {
444
+ "rebuild": {
307
445
  "aliases": [],
308
446
  "args": {},
309
- "description": "重启所有服务",
447
+ "description": "重新构建并启动服务 (start --build)",
310
448
  "flags": {},
311
449
  "hasDynamicHelp": false,
312
450
  "hiddenAliases": [],
451
+ "id": "rebuild",
452
+ "pluginAlias": "nodebbs",
453
+ "pluginName": "nodebbs",
454
+ "pluginType": "core",
455
+ "strict": false,
456
+ "enableJsonFlag": false,
457
+ "isESM": true,
458
+ "relativePath": [
459
+ "dist",
460
+ "commands",
461
+ "rebuild",
462
+ "index.js"
463
+ ]
464
+ },
465
+ "restart": {
466
+ "aliases": [],
467
+ "args": {},
468
+ "description": "重启所有服务 (docker compose restart)",
469
+ "flags": {
470
+ "env": {
471
+ "char": "e",
472
+ "description": "部署环境 (production, lowmem, basic)",
473
+ "name": "env",
474
+ "hasDynamicHelp": false,
475
+ "multiple": false,
476
+ "options": [
477
+ "production",
478
+ "lowmem",
479
+ "basic"
480
+ ],
481
+ "type": "option"
482
+ }
483
+ },
484
+ "hasDynamicHelp": false,
485
+ "hiddenAliases": [],
313
486
  "id": "restart",
314
487
  "pluginAlias": "nodebbs",
315
488
  "pluginName": "nodebbs",
@@ -324,14 +497,35 @@
324
497
  "index.js"
325
498
  ]
326
499
  },
327
- "setup": {
500
+ "start": {
328
501
  "aliases": [],
329
502
  "args": {},
330
- "description": "初始化项目(首次使用)",
331
- "flags": {},
503
+ "description": "开始部署",
504
+ "flags": {
505
+ "env": {
506
+ "char": "e",
507
+ "description": "部署环境 (production, lowmem, basic)",
508
+ "name": "env",
509
+ "hasDynamicHelp": false,
510
+ "multiple": false,
511
+ "options": [
512
+ "production",
513
+ "lowmem",
514
+ "basic"
515
+ ],
516
+ "type": "option"
517
+ },
518
+ "build": {
519
+ "char": "b",
520
+ "description": "重新构建并启动服务 (跳过健康检查和数据初始化)",
521
+ "name": "build",
522
+ "allowNo": false,
523
+ "type": "boolean"
524
+ }
525
+ },
332
526
  "hasDynamicHelp": false,
333
527
  "hiddenAliases": [],
334
- "id": "setup",
528
+ "id": "start",
335
529
  "pluginAlias": "nodebbs",
336
530
  "pluginName": "nodebbs",
337
531
  "pluginType": "core",
@@ -341,15 +535,29 @@
341
535
  "relativePath": [
342
536
  "dist",
343
537
  "commands",
344
- "setup",
538
+ "start",
345
539
  "index.js"
346
540
  ]
347
541
  },
348
542
  "shell:api": {
349
543
  "aliases": [],
350
544
  "args": {},
351
- "description": "进入 API 容器",
352
- "flags": {},
545
+ "description": "进入 API 服务 shell",
546
+ "flags": {
547
+ "env": {
548
+ "char": "e",
549
+ "description": "部署环境 (production, lowmem, basic)",
550
+ "name": "env",
551
+ "hasDynamicHelp": false,
552
+ "multiple": false,
553
+ "options": [
554
+ "production",
555
+ "lowmem",
556
+ "basic"
557
+ ],
558
+ "type": "option"
559
+ }
560
+ },
353
561
  "hasDynamicHelp": false,
354
562
  "hiddenAliases": [],
355
563
  "id": "shell:api",
@@ -369,8 +577,22 @@
369
577
  "shell:db": {
370
578
  "aliases": [],
371
579
  "args": {},
372
- "description": "进入数据库",
373
- "flags": {},
580
+ "description": "进入数据库 shell (psql)",
581
+ "flags": {
582
+ "env": {
583
+ "char": "e",
584
+ "description": "部署环境 (production, lowmem, basic)",
585
+ "name": "env",
586
+ "hasDynamicHelp": false,
587
+ "multiple": false,
588
+ "options": [
589
+ "production",
590
+ "lowmem",
591
+ "basic"
592
+ ],
593
+ "type": "option"
594
+ }
595
+ },
374
596
  "hasDynamicHelp": false,
375
597
  "hiddenAliases": [],
376
598
  "id": "shell:db",
@@ -390,8 +612,22 @@
390
612
  "shell:redis": {
391
613
  "aliases": [],
392
614
  "args": {},
393
- "description": "进入 Redis",
394
- "flags": {},
615
+ "description": "进入 Redis shell (redis-cli)",
616
+ "flags": {
617
+ "env": {
618
+ "char": "e",
619
+ "description": "部署环境 (production, lowmem, basic)",
620
+ "name": "env",
621
+ "hasDynamicHelp": false,
622
+ "multiple": false,
623
+ "options": [
624
+ "production",
625
+ "lowmem",
626
+ "basic"
627
+ ],
628
+ "type": "option"
629
+ }
630
+ },
395
631
  "hasDynamicHelp": false,
396
632
  "hiddenAliases": [],
397
633
  "id": "shell:redis",
@@ -411,8 +647,22 @@
411
647
  "shell:web": {
412
648
  "aliases": [],
413
649
  "args": {},
414
- "description": "进入 Web 容器",
415
- "flags": {},
650
+ "description": "进入 Web 前端 shell",
651
+ "flags": {
652
+ "env": {
653
+ "char": "e",
654
+ "description": "部署环境 (production, lowmem, basic)",
655
+ "name": "env",
656
+ "hasDynamicHelp": false,
657
+ "multiple": false,
658
+ "options": [
659
+ "production",
660
+ "lowmem",
661
+ "basic"
662
+ ],
663
+ "type": "option"
664
+ }
665
+ },
416
666
  "hasDynamicHelp": false,
417
667
  "hiddenAliases": [],
418
668
  "id": "shell:web",
@@ -433,7 +683,21 @@
433
683
  "aliases": [],
434
684
  "args": {},
435
685
  "description": "查看服务状态",
436
- "flags": {},
686
+ "flags": {
687
+ "env": {
688
+ "char": "e",
689
+ "description": "部署环境 (production, lowmem, basic)",
690
+ "name": "env",
691
+ "hasDynamicHelp": false,
692
+ "multiple": false,
693
+ "options": [
694
+ "production",
695
+ "lowmem",
696
+ "basic"
697
+ ],
698
+ "type": "option"
699
+ }
700
+ },
437
701
  "hasDynamicHelp": false,
438
702
  "hiddenAliases": [],
439
703
  "id": "status",
@@ -461,6 +725,19 @@
461
725
  "name": "volumes",
462
726
  "allowNo": false,
463
727
  "type": "boolean"
728
+ },
729
+ "env": {
730
+ "char": "e",
731
+ "description": "部署环境 (production, lowmem, basic)",
732
+ "name": "env",
733
+ "hasDynamicHelp": false,
734
+ "multiple": false,
735
+ "options": [
736
+ "production",
737
+ "lowmem",
738
+ "basic"
739
+ ],
740
+ "type": "option"
464
741
  }
465
742
  },
466
743
  "hasDynamicHelp": false,
@@ -480,5 +757,5 @@
480
757
  ]
481
758
  }
482
759
  },
483
- "version": "0.0.2"
760
+ "version": "0.0.4"
484
761
  }