@fecommunity/reactpress-cli 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 (392) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cli.d.ts +4 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +102 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/config.d.ts +8 -0
  7. package/dist/commands/config.d.ts.map +1 -0
  8. package/dist/commands/config.js +54 -0
  9. package/dist/commands/config.js.map +1 -0
  10. package/dist/commands/init.d.ts +6 -0
  11. package/dist/commands/init.d.ts.map +1 -0
  12. package/dist/commands/init.js +33 -0
  13. package/dist/commands/init.js.map +1 -0
  14. package/dist/commands/restart.d.ts +2 -0
  15. package/dist/commands/restart.d.ts.map +1 -0
  16. package/dist/commands/restart.js +29 -0
  17. package/dist/commands/restart.js.map +1 -0
  18. package/dist/commands/start.d.ts +2 -0
  19. package/dist/commands/start.d.ts.map +1 -0
  20. package/dist/commands/start.js +31 -0
  21. package/dist/commands/start.js.map +1 -0
  22. package/dist/commands/status.d.ts +2 -0
  23. package/dist/commands/status.d.ts.map +1 -0
  24. package/dist/commands/status.js +20 -0
  25. package/dist/commands/status.js.map +1 -0
  26. package/dist/commands/stop.d.ts +5 -0
  27. package/dist/commands/stop.d.ts.map +1 -0
  28. package/dist/commands/stop.js +29 -0
  29. package/dist/commands/stop.js.map +1 -0
  30. package/dist/index.d.ts +3 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +7 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/services/config.d.ts +11 -0
  35. package/dist/services/config.d.ts.map +1 -0
  36. package/dist/services/config.js +102 -0
  37. package/dist/services/config.js.map +1 -0
  38. package/dist/services/database.d.ts +43 -0
  39. package/dist/services/database.d.ts.map +1 -0
  40. package/dist/services/database.js +252 -0
  41. package/dist/services/database.js.map +1 -0
  42. package/dist/services/exec.d.ts +22 -0
  43. package/dist/services/exec.d.ts.map +1 -0
  44. package/dist/services/exec.js +46 -0
  45. package/dist/services/exec.js.map +1 -0
  46. package/dist/services/init.d.ts +10 -0
  47. package/dist/services/init.d.ts.map +1 -0
  48. package/dist/services/init.js +50 -0
  49. package/dist/services/init.js.map +1 -0
  50. package/dist/services/process.d.ts +9 -0
  51. package/dist/services/process.d.ts.map +1 -0
  52. package/dist/services/process.js +98 -0
  53. package/dist/services/process.js.map +1 -0
  54. package/dist/services/server-health.d.ts +4 -0
  55. package/dist/services/server-health.d.ts.map +1 -0
  56. package/dist/services/server-health.js +27 -0
  57. package/dist/services/server-health.js.map +1 -0
  58. package/dist/services/server.d.ts +19 -0
  59. package/dist/services/server.d.ts.map +1 -0
  60. package/dist/services/server.js +133 -0
  61. package/dist/services/server.js.map +1 -0
  62. package/dist/templates/config.default.json +12 -0
  63. package/dist/templates/docker-compose.yml +27 -0
  64. package/dist/templates/env.default +11 -0
  65. package/dist/templates/package.json +10 -0
  66. package/dist/types/config.d.ts +30 -0
  67. package/dist/types/config.d.ts.map +1 -0
  68. package/dist/types/config.js +2 -0
  69. package/dist/types/config.js.map +1 -0
  70. package/dist/utils/cli-context.d.ts +4 -0
  71. package/dist/utils/cli-context.d.ts.map +1 -0
  72. package/dist/utils/cli-context.js +10 -0
  73. package/dist/utils/cli-context.js.map +1 -0
  74. package/dist/utils/logger.d.ts +10 -0
  75. package/dist/utils/logger.d.ts.map +1 -0
  76. package/dist/utils/logger.js +32 -0
  77. package/dist/utils/logger.js.map +1 -0
  78. package/dist/utils/paths.d.ts +17 -0
  79. package/dist/utils/paths.d.ts.map +1 -0
  80. package/dist/utils/paths.js +27 -0
  81. package/dist/utils/paths.js.map +1 -0
  82. package/dist/utils/platform.d.ts +8 -0
  83. package/dist/utils/platform.d.ts.map +1 -0
  84. package/dist/utils/platform.js +21 -0
  85. package/dist/utils/platform.js.map +1 -0
  86. package/dist/utils/port.d.ts +5 -0
  87. package/dist/utils/port.d.ts.map +1 -0
  88. package/dist/utils/port.js +25 -0
  89. package/dist/utils/port.js.map +1 -0
  90. package/dist/utils/server-bundle.d.ts +11 -0
  91. package/dist/utils/server-bundle.d.ts.map +1 -0
  92. package/dist/utils/server-bundle.js +71 -0
  93. package/dist/utils/server-bundle.js.map +1 -0
  94. package/package.json +69 -0
  95. package/scripts/install-bundled-runtime.mjs +46 -0
  96. package/server/bin/reactpress-server.js +203 -0
  97. package/server/dist/app.module.d.ts +2 -0
  98. package/server/dist/app.module.js +80 -0
  99. package/server/dist/app.module.js.map +1 -0
  100. package/server/dist/filters/http-exception.filter.d.ts +4 -0
  101. package/server/dist/filters/http-exception.filter.js +36 -0
  102. package/server/dist/filters/http-exception.filter.js.map +1 -0
  103. package/server/dist/generate-swagger.d.ts +1 -0
  104. package/server/dist/generate-swagger.js +73 -0
  105. package/server/dist/generate-swagger.js.map +1 -0
  106. package/server/dist/interceptors/transform.interceptor.d.ts +9 -0
  107. package/server/dist/interceptors/transform.interceptor.js +36 -0
  108. package/server/dist/interceptors/transform.interceptor.js.map +1 -0
  109. package/server/dist/logger/index.d.ts +4 -0
  110. package/server/dist/logger/index.js +33 -0
  111. package/server/dist/logger/index.js.map +1 -0
  112. package/server/dist/main.d.ts +6 -0
  113. package/server/dist/main.js +263 -0
  114. package/server/dist/main.js.map +1 -0
  115. package/server/dist/modules/article/article.controller.d.ts +27 -0
  116. package/server/dist/modules/article/article.controller.js +198 -0
  117. package/server/dist/modules/article/article.controller.js.map +1 -0
  118. package/server/dist/modules/article/article.entity.d.ts +23 -0
  119. package/server/dist/modules/article/article.entity.js +128 -0
  120. package/server/dist/modules/article/article.entity.js.map +1 -0
  121. package/server/dist/modules/article/article.module.d.ts +2 -0
  122. package/server/dist/modules/article/article.module.js +30 -0
  123. package/server/dist/modules/article/article.module.js.map +1 -0
  124. package/server/dist/modules/article/article.service.d.ts +30 -0
  125. package/server/dist/modules/article/article.service.js +303 -0
  126. package/server/dist/modules/article/article.service.js.map +1 -0
  127. package/server/dist/modules/article/article.util.d.ts +1 -0
  128. package/server/dist/modules/article/article.util.js +9 -0
  129. package/server/dist/modules/article/article.util.js.map +1 -0
  130. package/server/dist/modules/auth/auth.controller.d.ts +12 -0
  131. package/server/dist/modules/auth/auth.controller.js +66 -0
  132. package/server/dist/modules/auth/auth.controller.js.map +1 -0
  133. package/server/dist/modules/auth/auth.module.d.ts +2 -0
  134. package/server/dist/modules/auth/auth.module.js +41 -0
  135. package/server/dist/modules/auth/auth.module.js.map +1 -0
  136. package/server/dist/modules/auth/auth.service.d.ts +26 -0
  137. package/server/dist/modules/auth/auth.service.js +127 -0
  138. package/server/dist/modules/auth/auth.service.js.map +1 -0
  139. package/server/dist/modules/auth/jwt-auth.guard.d.ts +7 -0
  140. package/server/dist/modules/auth/jwt-auth.guard.js +29 -0
  141. package/server/dist/modules/auth/jwt-auth.guard.js.map +1 -0
  142. package/server/dist/modules/auth/jwt.strategy.d.ts +9 -0
  143. package/server/dist/modules/auth/jwt.strategy.js +38 -0
  144. package/server/dist/modules/auth/jwt.strategy.js.map +1 -0
  145. package/server/dist/modules/auth/roles.guard.d.ts +10 -0
  146. package/server/dist/modules/auth/roles.guard.js +46 -0
  147. package/server/dist/modules/auth/roles.guard.js.map +1 -0
  148. package/server/dist/modules/category/category.controller.d.ts +11 -0
  149. package/server/dist/modules/category/category.controller.js +91 -0
  150. package/server/dist/modules/category/category.controller.js.map +1 -0
  151. package/server/dist/modules/category/category.entity.d.ts +9 -0
  152. package/server/dist/modules/category/category.entity.js +60 -0
  153. package/server/dist/modules/category/category.entity.js.map +1 -0
  154. package/server/dist/modules/category/category.module.d.ts +2 -0
  155. package/server/dist/modules/category/category.module.js +27 -0
  156. package/server/dist/modules/category/category.module.js.map +1 -0
  157. package/server/dist/modules/category/category.service.d.ts +12 -0
  158. package/server/dist/modules/category/category.service.js +89 -0
  159. package/server/dist/modules/category/category.service.js.map +1 -0
  160. package/server/dist/modules/comment/comment.controller.d.ts +12 -0
  161. package/server/dist/modules/comment/comment.controller.js +100 -0
  162. package/server/dist/modules/comment/comment.controller.js.map +1 -0
  163. package/server/dist/modules/comment/comment.entity.d.ts +17 -0
  164. package/server/dist/modules/comment/comment.entity.js +104 -0
  165. package/server/dist/modules/comment/comment.entity.js.map +1 -0
  166. package/server/dist/modules/comment/comment.module.d.ts +2 -0
  167. package/server/dist/modules/comment/comment.module.js +30 -0
  168. package/server/dist/modules/comment/comment.module.js.map +1 -0
  169. package/server/dist/modules/comment/comment.service.d.ts +24 -0
  170. package/server/dist/modules/comment/comment.service.js +172 -0
  171. package/server/dist/modules/comment/comment.service.js.map +1 -0
  172. package/server/dist/modules/comment/html.d.ts +15 -0
  173. package/server/dist/modules/comment/html.js +632 -0
  174. package/server/dist/modules/comment/html.js.map +1 -0
  175. package/server/dist/modules/file/file.controller.d.ts +10 -0
  176. package/server/dist/modules/file/file.controller.js +84 -0
  177. package/server/dist/modules/file/file.controller.js.map +1 -0
  178. package/server/dist/modules/file/file.entity.d.ts +9 -0
  179. package/server/dist/modules/file/file.entity.js +60 -0
  180. package/server/dist/modules/file/file.entity.js.map +1 -0
  181. package/server/dist/modules/file/file.module.d.ts +2 -0
  182. package/server/dist/modules/file/file.module.js +27 -0
  183. package/server/dist/modules/file/file.module.js.map +1 -0
  184. package/server/dist/modules/file/file.service.d.ts +17 -0
  185. package/server/dist/modules/file/file.service.js +111 -0
  186. package/server/dist/modules/file/file.service.js.map +1 -0
  187. package/server/dist/modules/install/install.controller.d.ts +11 -0
  188. package/server/dist/modules/install/install.controller.js +49 -0
  189. package/server/dist/modules/install/install.controller.js.map +1 -0
  190. package/server/dist/modules/install/install.module.d.ts +2 -0
  191. package/server/dist/modules/install/install.module.js +26 -0
  192. package/server/dist/modules/install/install.module.js.map +1 -0
  193. package/server/dist/modules/install/install.service.d.ts +12 -0
  194. package/server/dist/modules/install/install.service.js +63 -0
  195. package/server/dist/modules/install/install.service.js.map +1 -0
  196. package/server/dist/modules/knowledge/knowledge.controller.d.ts +14 -0
  197. package/server/dist/modules/knowledge/knowledge.controller.js +128 -0
  198. package/server/dist/modules/knowledge/knowledge.controller.js.map +1 -0
  199. package/server/dist/modules/knowledge/knowledge.entity.d.ts +18 -0
  200. package/server/dist/modules/knowledge/knowledge.entity.js +109 -0
  201. package/server/dist/modules/knowledge/knowledge.entity.js.map +1 -0
  202. package/server/dist/modules/knowledge/knowledge.module.d.ts +2 -0
  203. package/server/dist/modules/knowledge/knowledge.module.js +27 -0
  204. package/server/dist/modules/knowledge/knowledge.module.js.map +1 -0
  205. package/server/dist/modules/knowledge/knowledge.service.d.ts +14 -0
  206. package/server/dist/modules/knowledge/knowledge.service.js +143 -0
  207. package/server/dist/modules/knowledge/knowledge.service.js.map +1 -0
  208. package/server/dist/modules/page/page.controller.d.ts +12 -0
  209. package/server/dist/modules/page/page.controller.js +102 -0
  210. package/server/dist/modules/page/page.controller.js.map +1 -0
  211. package/server/dist/modules/page/page.entity.d.ts +15 -0
  212. package/server/dist/modules/page/page.entity.js +94 -0
  213. package/server/dist/modules/page/page.entity.js.map +1 -0
  214. package/server/dist/modules/page/page.module.d.ts +2 -0
  215. package/server/dist/modules/page/page.module.js +27 -0
  216. package/server/dist/modules/page/page.module.js.map +1 -0
  217. package/server/dist/modules/page/page.service.d.ts +12 -0
  218. package/server/dist/modules/page/page.service.js +97 -0
  219. package/server/dist/modules/page/page.service.js.map +1 -0
  220. package/server/dist/modules/search/search.controller.d.ts +8 -0
  221. package/server/dist/modules/search/search.controller.js +67 -0
  222. package/server/dist/modules/search/search.controller.js.map +1 -0
  223. package/server/dist/modules/search/search.entity.d.ts +8 -0
  224. package/server/dist/modules/search/search.entity.js +59 -0
  225. package/server/dist/modules/search/search.entity.js.map +1 -0
  226. package/server/dist/modules/search/search.module.d.ts +2 -0
  227. package/server/dist/modules/search/search.module.js +27 -0
  228. package/server/dist/modules/search/search.module.js.map +1 -0
  229. package/server/dist/modules/search/search.service.d.ts +12 -0
  230. package/server/dist/modules/search/search.service.js +84 -0
  231. package/server/dist/modules/search/search.service.js.map +1 -0
  232. package/server/dist/modules/setting/setting.constant.d.ts +3 -0
  233. package/server/dist/modules/setting/setting.constant.js +25 -0
  234. package/server/dist/modules/setting/setting.constant.js.map +1 -0
  235. package/server/dist/modules/setting/setting.controller.d.ts +12 -0
  236. package/server/dist/modules/setting/setting.controller.js +77 -0
  237. package/server/dist/modules/setting/setting.controller.js.map +1 -0
  238. package/server/dist/modules/setting/setting.entity.d.ts +26 -0
  239. package/server/dist/modules/setting/setting.entity.js +149 -0
  240. package/server/dist/modules/setting/setting.entity.js.map +1 -0
  241. package/server/dist/modules/setting/setting.module.d.ts +2 -0
  242. package/server/dist/modules/setting/setting.module.js +28 -0
  243. package/server/dist/modules/setting/setting.module.js.map +1 -0
  244. package/server/dist/modules/setting/setting.service.d.ts +10 -0
  245. package/server/dist/modules/setting/setting.service.js +106 -0
  246. package/server/dist/modules/setting/setting.service.js.map +1 -0
  247. package/server/dist/modules/smtp/mail.util.d.ts +6 -0
  248. package/server/dist/modules/smtp/mail.util.js +33 -0
  249. package/server/dist/modules/smtp/mail.util.js.map +1 -0
  250. package/server/dist/modules/smtp/smtp.controller.d.ts +9 -0
  251. package/server/dist/modules/smtp/smtp.controller.js +69 -0
  252. package/server/dist/modules/smtp/smtp.controller.js.map +1 -0
  253. package/server/dist/modules/smtp/smtp.entity.d.ts +9 -0
  254. package/server/dist/modules/smtp/smtp.entity.js +60 -0
  255. package/server/dist/modules/smtp/smtp.entity.js.map +1 -0
  256. package/server/dist/modules/smtp/smtp.module.d.ts +2 -0
  257. package/server/dist/modules/smtp/smtp.module.js +28 -0
  258. package/server/dist/modules/smtp/smtp.module.js.map +1 -0
  259. package/server/dist/modules/smtp/smtp.service.d.ts +11 -0
  260. package/server/dist/modules/smtp/smtp.service.js +82 -0
  261. package/server/dist/modules/smtp/smtp.service.js.map +1 -0
  262. package/server/dist/modules/tag/tag.controller.d.ts +12 -0
  263. package/server/dist/modules/tag/tag.controller.js +101 -0
  264. package/server/dist/modules/tag/tag.controller.js.map +1 -0
  265. package/server/dist/modules/tag/tag.entity.d.ts +9 -0
  266. package/server/dist/modules/tag/tag.entity.js +59 -0
  267. package/server/dist/modules/tag/tag.entity.js.map +1 -0
  268. package/server/dist/modules/tag/tag.module.d.ts +2 -0
  269. package/server/dist/modules/tag/tag.module.js +27 -0
  270. package/server/dist/modules/tag/tag.module.js.map +1 -0
  271. package/server/dist/modules/tag/tag.service.d.ts +13 -0
  272. package/server/dist/modules/tag/tag.service.js +103 -0
  273. package/server/dist/modules/tag/tag.service.js.map +1 -0
  274. package/server/dist/modules/user/user.controller.d.ts +13 -0
  275. package/server/dist/modules/user/user.controller.js +114 -0
  276. package/server/dist/modules/user/user.controller.js.map +1 -0
  277. package/server/dist/modules/user/user.entity.d.ts +15 -0
  278. package/server/dist/modules/user/user.entity.js +96 -0
  279. package/server/dist/modules/user/user.entity.js.map +1 -0
  280. package/server/dist/modules/user/user.module.d.ts +2 -0
  281. package/server/dist/modules/user/user.module.js +28 -0
  282. package/server/dist/modules/user/user.module.js.map +1 -0
  283. package/server/dist/modules/user/user.service.d.ts +16 -0
  284. package/server/dist/modules/user/user.service.js +151 -0
  285. package/server/dist/modules/user/user.service.js.map +1 -0
  286. package/server/dist/modules/view/view.controller.d.ts +11 -0
  287. package/server/dist/modules/view/view.controller.js +92 -0
  288. package/server/dist/modules/view/view.controller.js.map +1 -0
  289. package/server/dist/modules/view/view.entity.d.ts +14 -0
  290. package/server/dist/modules/view/view.entity.js +88 -0
  291. package/server/dist/modules/view/view.entity.js.map +1 -0
  292. package/server/dist/modules/view/view.module.d.ts +2 -0
  293. package/server/dist/modules/view/view.module.js +27 -0
  294. package/server/dist/modules/view/view.module.js.map +1 -0
  295. package/server/dist/modules/view/view.service.d.ts +11 -0
  296. package/server/dist/modules/view/view.service.js +89 -0
  297. package/server/dist/modules/view/view.service.js.map +1 -0
  298. package/server/dist/public/favicon.png +0 -0
  299. package/server/dist/public/index.html +439 -0
  300. package/server/dist/public/swagger/custom.css +11 -0
  301. package/server/dist/starter.d.ts +1 -0
  302. package/server/dist/starter.js +84 -0
  303. package/server/dist/starter.js.map +1 -0
  304. package/server/dist/tsconfig.build.tsbuildinfo +16764 -0
  305. package/server/dist/utils/date.util.d.ts +1 -0
  306. package/server/dist/utils/date.util.js +13 -0
  307. package/server/dist/utils/date.util.js.map +1 -0
  308. package/server/dist/utils/ip.util.d.ts +2 -0
  309. package/server/dist/utils/ip.util.js +27 -0
  310. package/server/dist/utils/ip.util.js.map +1 -0
  311. package/server/dist/utils/markdown.util.d.ts +4 -0
  312. package/server/dist/utils/markdown.util.js +42 -0
  313. package/server/dist/utils/markdown.util.js.map +1 -0
  314. package/server/dist/utils/oss/aliyun-oss-client.d.ts +6 -0
  315. package/server/dist/utils/oss/aliyun-oss-client.js +28 -0
  316. package/server/dist/utils/oss/aliyun-oss-client.js.map +1 -0
  317. package/server/dist/utils/oss/oss-client.d.ts +6 -0
  318. package/server/dist/utils/oss/oss-client.js +10 -0
  319. package/server/dist/utils/oss/oss-client.js.map +1 -0
  320. package/server/dist/utils/oss.util.d.ts +13 -0
  321. package/server/dist/utils/oss.util.js +48 -0
  322. package/server/dist/utils/oss.util.js.map +1 -0
  323. package/server/dist/utils/ua.util.d.ts +9 -0
  324. package/server/dist/utils/ua.util.js +36 -0
  325. package/server/dist/utils/ua.util.js.map +1 -0
  326. package/server/dist/utils/uniqueid.util.d.ts +1 -0
  327. package/server/dist/utils/uniqueid.util.js +9 -0
  328. package/server/dist/utils/uniqueid.util.js.map +1 -0
  329. package/server/dist/utils/upload.util.d.ts +5 -0
  330. package/server/dist/utils/upload.util.js +34 -0
  331. package/server/dist/utils/upload.util.js.map +1 -0
  332. package/server/dist/utils/user.util.d.ts +1 -0
  333. package/server/dist/utils/user.util.js +18 -0
  334. package/server/dist/utils/user.util.js.map +1 -0
  335. package/server/ecosystem.config.js +18 -0
  336. package/server/package.json +149 -0
  337. package/server/public/favicon.png +0 -0
  338. package/server/public/index.html +439 -0
  339. package/server/public/swagger/custom.css +11 -0
  340. package/templates/config.default.json +12 -0
  341. package/templates/docker-compose.yml +27 -0
  342. package/templates/env.default +11 -0
  343. package/templates/package.json +10 -0
  344. package/toolkit/dist/api/Article.d.ts +123 -0
  345. package/toolkit/dist/api/Article.js +188 -0
  346. package/toolkit/dist/api/Auth.d.ts +32 -0
  347. package/toolkit/dist/api/Auth.js +58 -0
  348. package/toolkit/dist/api/Category.d.ts +51 -0
  349. package/toolkit/dist/api/Category.js +84 -0
  350. package/toolkit/dist/api/Comment.d.ts +60 -0
  351. package/toolkit/dist/api/Comment.js +97 -0
  352. package/toolkit/dist/api/File.d.ts +42 -0
  353. package/toolkit/dist/api/File.js +71 -0
  354. package/toolkit/dist/api/HttpClient.d.ts +41 -0
  355. package/toolkit/dist/api/HttpClient.js +96 -0
  356. package/toolkit/dist/api/Knowledge.d.ts +78 -0
  357. package/toolkit/dist/api/Knowledge.js +123 -0
  358. package/toolkit/dist/api/Page.d.ts +60 -0
  359. package/toolkit/dist/api/Page.js +97 -0
  360. package/toolkit/dist/api/Search.d.ts +32 -0
  361. package/toolkit/dist/api/Search.js +58 -0
  362. package/toolkit/dist/api/Setting.d.ts +24 -0
  363. package/toolkit/dist/api/Setting.js +45 -0
  364. package/toolkit/dist/api/Smtp.d.ts +33 -0
  365. package/toolkit/dist/api/Smtp.js +58 -0
  366. package/toolkit/dist/api/Tag.d.ts +60 -0
  367. package/toolkit/dist/api/Tag.js +97 -0
  368. package/toolkit/dist/api/User.d.ts +43 -0
  369. package/toolkit/dist/api/User.js +72 -0
  370. package/toolkit/dist/api/View.d.ts +51 -0
  371. package/toolkit/dist/api/View.js +84 -0
  372. package/toolkit/dist/api/index.d.ts +13 -0
  373. package/toolkit/dist/api/index.js +30 -0
  374. package/toolkit/dist/api/instance.d.ts +47 -0
  375. package/toolkit/dist/api/instance.js +71 -0
  376. package/toolkit/dist/config/env.d.ts +1 -0
  377. package/toolkit/dist/config/env.js +89 -0
  378. package/toolkit/dist/config/global.d.ts +34 -0
  379. package/toolkit/dist/config/global.js +382 -0
  380. package/toolkit/dist/config/i18n.d.ts +4 -0
  381. package/toolkit/dist/config/i18n.js +43 -0
  382. package/toolkit/dist/config/index.d.ts +15 -0
  383. package/toolkit/dist/config/index.js +25 -0
  384. package/toolkit/dist/index.d.ts +11 -0
  385. package/toolkit/dist/index.js +38 -0
  386. package/toolkit/dist/locales/en.json +97 -0
  387. package/toolkit/dist/locales/zh.json +97 -0
  388. package/toolkit/dist/types/index.d.ts +245 -0
  389. package/toolkit/dist/types/index.js +12 -0
  390. package/toolkit/dist/utils/index.d.ts +33 -0
  391. package/toolkit/dist/utils/index.js +59 -0
  392. package/toolkit/package.json +19 -0
@@ -0,0 +1,46 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { spawnSync } from 'node:child_process';
3
+ import { dirname, join } from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+
6
+ const cliRoot = join(dirname(fileURLToPath(import.meta.url)), '..');
7
+ const serverDir = join(cliRoot, 'server');
8
+
9
+ function npmInstall() {
10
+ console.log('[reactpress-cli] installing bundled server runtime dependenciesâ€Ļ');
11
+ const result = spawnSync(
12
+ 'npm',
13
+ ['install', '--omit=dev', '--legacy-peer-deps'],
14
+ {
15
+ cwd: serverDir,
16
+ stdio: 'inherit',
17
+ shell: process.platform === 'win32',
18
+ }
19
+ );
20
+ if (result.status !== 0) {
21
+ process.exit(result.status ?? 1);
22
+ }
23
+ }
24
+
25
+ if (!existsSync(join(serverDir, 'package.json'))) {
26
+ console.warn('[reactpress-cli] bundled server missing, skip runtime install');
27
+ process.exit(0);
28
+ }
29
+
30
+ const serverRuntimeModules = [
31
+ ['node_modules', '@nestjs', 'core'],
32
+ ['node_modules', '@nestjs', 'typeorm'],
33
+ ['node_modules', 'typeorm'],
34
+ ['node_modules', 'express'],
35
+ ['node_modules', '@fecommunity', 'reactpress-toolkit'],
36
+ ];
37
+
38
+ const serverReady =
39
+ existsSync(join(serverDir, 'dist', 'main.js')) &&
40
+ serverRuntimeModules.every((parts) => existsSync(join(serverDir, ...parts)));
41
+
42
+ if (serverReady) {
43
+ process.exit(0);
44
+ }
45
+
46
+ npmInstall();
@@ -0,0 +1,203 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * ReactPress Server CLI Entry Point
5
+ * This script allows starting the ReactPress server via npx
6
+ * Supports both regular and PM2 startup modes
7
+ */
8
+
9
+ const path = require('path');
10
+ const fs = require('fs');
11
+ const { spawn, spawnSync } = require('child_process');
12
+
13
+ // Capture the original working directory where npx was executed
14
+ // BUT prioritize the REACTPRESS_ORIGINAL_CWD environment variable if it exists
15
+ // This ensures consistency when running via pnpm dev from root directory
16
+ const originalCwd = process.env.REACTPRESS_ORIGINAL_CWD || process.cwd();
17
+
18
+ // Get command line arguments
19
+ const args = process.argv.slice(2);
20
+ const usePM2 = args.includes('--pm2');
21
+ const showHelp = args.includes('--help') || args.includes('-h');
22
+
23
+ // Show help if requested
24
+ if (showHelp) {
25
+ console.log(`
26
+ ReactPress Server - NestJS-based backend API for ReactPress CMS
27
+
28
+ Usage:
29
+ reactpress-server [options]
30
+ (é€šå¸¸į”ą reactpress-cli start č°ƒį”¨)
31
+
32
+ Options:
33
+ --pm2 Start server with PM2 process manager
34
+ --help, -h Show this help message
35
+
36
+ Examples:
37
+ node bin/reactpress-server.js # Start server normally
38
+ node bin/reactpress-server.js --pm2 # Start server with PM2
39
+ `);
40
+ process.exit(0);
41
+ }
42
+
43
+ // Get the directory where this script is located
44
+ const binDir = __dirname;
45
+ const serverDir = path.join(binDir, '..');
46
+ const distPath = path.join(serverDir, 'dist', 'main.js');
47
+ const ecosystemPath = path.join(serverDir, 'ecosystem.config.js');
48
+
49
+ // Function to check if PM2 is installed
50
+ function isPM2Installed() {
51
+ try {
52
+ require.resolve('pm2');
53
+ return true;
54
+ } catch (e) {
55
+ // Check if PM2 is installed globally
56
+ try {
57
+ spawnSync('pm2', ['--version'], { stdio: 'ignore' });
58
+ return true;
59
+ } catch (e) {
60
+ return false;
61
+ }
62
+ }
63
+ }
64
+
65
+ // Function to install PM2
66
+ function installPM2() {
67
+ console.log('[ReactPress Server] Installing PM2...');
68
+ const installResult = spawnSync('npm', ['install', 'pm2', '--no-save'], {
69
+ stdio: 'inherit',
70
+ cwd: serverDir
71
+ });
72
+
73
+ if (installResult.status !== 0) {
74
+ console.error('[ReactPress Server] Failed to install PM2');
75
+ return false;
76
+ }
77
+
78
+ return true;
79
+ }
80
+
81
+ // Function to start with PM2
82
+ function startWithPM2() {
83
+ // Check if PM2 is installed
84
+ if (!isPM2Installed()) {
85
+ // Try to install PM2
86
+ if (!installPM2()) {
87
+ console.error('[ReactPress Server] Cannot start with PM2');
88
+ process.exit(1);
89
+ }
90
+ }
91
+
92
+ // Check if the server is built
93
+ if (!fs.existsSync(distPath)) {
94
+ console.log('[ReactPress Server] Server not built yet. Building...');
95
+
96
+ // Try to build the server
97
+ const buildResult = spawnSync('npm', ['run', 'build'], {
98
+ stdio: 'inherit',
99
+ cwd: serverDir
100
+ });
101
+
102
+ if (buildResult.status !== 0) {
103
+ console.error('[ReactPress Server] Failed to build server');
104
+ process.exit(1);
105
+ }
106
+ }
107
+
108
+ console.log('[ReactPress Server] Starting with PM2...');
109
+
110
+ // Use ecosystem.config.js if it exists, otherwise use direct command
111
+ let pm2Command = 'pm2';
112
+ try {
113
+ // Try to resolve PM2 path
114
+ pm2Command = path.join(serverDir, 'node_modules', '.bin', 'pm2');
115
+ if (!fs.existsSync(pm2Command)) {
116
+ pm2Command = 'pm2';
117
+ }
118
+ } catch (e) {
119
+ pm2Command = 'pm2';
120
+ }
121
+
122
+ // Check if ecosystem.config.js exists
123
+ if (fs.existsSync(ecosystemPath)) {
124
+ const pm2 = spawn(pm2Command, ['start', ecosystemPath], {
125
+ stdio: 'inherit',
126
+ cwd: serverDir
127
+ });
128
+
129
+ pm2.on('close', (code) => {
130
+ console.log(`[ReactPress Server] PM2 process exited with code ${code}`);
131
+ process.exit(code);
132
+ });
133
+
134
+ pm2.on('error', (error) => {
135
+ console.error('[ReactPress Server] Failed to start with PM2:', error);
136
+ process.exit(1);
137
+ });
138
+ } else {
139
+ // Fallback to direct start
140
+ const pm2 = spawn(pm2Command, ['start', distPath, '--name', 'reactpress-server'], {
141
+ stdio: 'inherit',
142
+ cwd: serverDir
143
+ });
144
+
145
+ pm2.on('close', (code) => {
146
+ console.log(`[ReactPress Server] PM2 process exited with code ${code}`);
147
+ process.exit(code);
148
+ });
149
+
150
+ pm2.on('error', (error) => {
151
+ console.error('[ReactPress Server] Failed to start with PM2:', error);
152
+ process.exit(1);
153
+ });
154
+ }
155
+ }
156
+
157
+ // Function to start with regular Node.js
158
+ function startWithNode() {
159
+ // Check if the server is built
160
+ if (!fs.existsSync(distPath)) {
161
+ console.log('[ReactPress Server] Server not built yet. Building...');
162
+
163
+ // Try to build the server
164
+ const buildResult = spawnSync('npm', ['run', 'build'], {
165
+ stdio: 'inherit',
166
+ cwd: serverDir
167
+ });
168
+
169
+ if (buildResult.status !== 0) {
170
+ console.error('[ReactPress Server] Failed to build server');
171
+ process.exit(1);
172
+ }
173
+ }
174
+
175
+ // ONLY set the environment variable if it's not already set
176
+ // This preserves the value set by set-env.js when running pnpm dev from root
177
+ if (!process.env.REACTPRESS_ORIGINAL_CWD) {
178
+ process.env.REACTPRESS_ORIGINAL_CWD = originalCwd;
179
+ } else {
180
+ console.log(`[ReactPress Server] Using existing REACTPRESS_ORIGINAL_CWD: ${process.env.REACTPRESS_ORIGINAL_CWD}`);
181
+ }
182
+
183
+ // Change to the server directory
184
+ process.chdir(serverDir);
185
+
186
+ // Set environment variables
187
+ process.env.NODE_ENV = process.env.NODE_ENV || 'production';
188
+
189
+ // Import and run the server
190
+ try {
191
+ require(distPath);
192
+ } catch (error) {
193
+ console.error('[ReactPress Server] Failed to start server:', error);
194
+ process.exit(1);
195
+ }
196
+ }
197
+
198
+ // Main execution
199
+ if (usePM2) {
200
+ startWithPM2();
201
+ } else {
202
+ startWithNode();
203
+ }
@@ -0,0 +1,2 @@
1
+ export declare class AppModule {
2
+ }
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AppModule = void 0;
10
+ const reactpress_toolkit_1 = require("../../toolkit/dist");
11
+ const common_1 = require("@nestjs/common");
12
+ const config_1 = require("@nestjs/config");
13
+ const typeorm_1 = require("@nestjs/typeorm");
14
+ const article_entity_1 = require("./modules/article/article.entity");
15
+ const article_module_1 = require("./modules/article/article.module");
16
+ const auth_module_1 = require("./modules/auth/auth.module");
17
+ const category_entity_1 = require("./modules/category/category.entity");
18
+ const category_module_1 = require("./modules/category/category.module");
19
+ const comment_entity_1 = require("./modules/comment/comment.entity");
20
+ const comment_module_1 = require("./modules/comment/comment.module");
21
+ const file_entity_1 = require("./modules/file/file.entity");
22
+ const file_module_1 = require("./modules/file/file.module");
23
+ const knowledge_entity_1 = require("./modules/knowledge/knowledge.entity");
24
+ const knowledge_module_1 = require("./modules/knowledge/knowledge.module");
25
+ const page_entity_1 = require("./modules/page/page.entity");
26
+ const page_module_1 = require("./modules/page/page.module");
27
+ const search_entity_1 = require("./modules/search/search.entity");
28
+ const search_module_1 = require("./modules/search/search.module");
29
+ const setting_entity_1 = require("./modules/setting/setting.entity");
30
+ const setting_module_1 = require("./modules/setting/setting.module");
31
+ const smtp_entity_1 = require("./modules/smtp/smtp.entity");
32
+ const smtp_module_1 = require("./modules/smtp/smtp.module");
33
+ const tag_entity_1 = require("./modules/tag/tag.entity");
34
+ const tag_module_1 = require("./modules/tag/tag.module");
35
+ const user_entity_1 = require("./modules/user/user.entity");
36
+ const user_module_1 = require("./modules/user/user.module");
37
+ const view_entity_1 = require("./modules/view/view.entity");
38
+ const view_module_1 = require("./modules/view/view.module");
39
+ let AppModule = class AppModule {
40
+ };
41
+ AppModule = __decorate([
42
+ common_1.Module({
43
+ imports: [
44
+ config_1.ConfigModule.forRoot({ isGlobal: true, envFilePath: [reactpress_toolkit_1.config.file] }),
45
+ typeorm_1.TypeOrmModule.forRootAsync({
46
+ imports: [config_1.ConfigModule],
47
+ inject: [config_1.ConfigService],
48
+ useFactory: async (configService) => ({
49
+ type: 'mysql',
50
+ entities: [user_entity_1.User, file_entity_1.File, knowledge_entity_1.Knowledge, article_entity_1.Article, category_entity_1.Category, tag_entity_1.Tag, comment_entity_1.Comment, setting_entity_1.Setting, smtp_entity_1.SMTP, page_entity_1.Page, view_entity_1.View, search_entity_1.Search],
51
+ host: configService.get('DB_HOST', '0.0.0.0'),
52
+ port: configService.get('DB_PORT', 3306),
53
+ username: configService.get('DB_USER', 'root'),
54
+ password: configService.get('DB_PASSWD', 'root'),
55
+ database: configService.get('DB_DATABASE', 'reactpress'),
56
+ charset: 'utf8mb4',
57
+ timezone: '+08:00',
58
+ synchronize: true,
59
+ }),
60
+ }),
61
+ user_module_1.UserModule,
62
+ file_module_1.FileModule,
63
+ tag_module_1.TagModule,
64
+ article_module_1.ArticleModule,
65
+ knowledge_module_1.KnowledgeModule,
66
+ category_module_1.CategoryModule,
67
+ comment_module_1.CommentModule,
68
+ setting_module_1.SettingModule,
69
+ smtp_module_1.SMTPModule,
70
+ auth_module_1.AuthModule,
71
+ page_module_1.PageModule,
72
+ view_module_1.ViewModule,
73
+ search_module_1.SearchModule,
74
+ ],
75
+ controllers: [],
76
+ providers: [],
77
+ })
78
+ ], AppModule);
79
+ exports.AppModule = AppModule;
80
+ //# sourceMappingURL=app.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AACA,2DAAyD;AACzD,2CAAwC;AACxC,2CAA6D;AAC7D,6CAAgD;AAEhD,qEAA2D;AAE3D,qEAAiE;AAEjE,4DAAwD;AACxD,wEAA8D;AAE9D,wEAAoE;AACpE,qEAA2D;AAE3D,qEAAiE;AACjE,4DAAkD;AAElD,4DAAwD;AACxD,2EAAiE;AAEjE,2EAAuE;AACvE,4DAAkD;AAElD,4DAAwD;AAExD,kEAAwD;AACxD,kEAA8D;AAC9D,qEAA2D;AAE3D,qEAAiE;AACjE,4DAAkD;AAElD,4DAAwD;AACxD,yDAA+C;AAE/C,yDAAqD;AACrD,4DAAkD;AAElD,4DAAwD;AACxD,4DAAkD;AAElD,4DAAwD;AAsCxD,IAAa,SAAS,GAAtB,MAAa,SAAS;CAAG,CAAA;AAAZ,SAAS;IApCrB,eAAM,CAAC;QACN,OAAO,EAAE;YACP,qBAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,2BAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACpE,uBAAa,CAAC,YAAY,CAAC;gBACzB,OAAO,EAAE,CAAC,qBAAY,CAAC;gBACvB,MAAM,EAAE,CAAC,sBAAa,CAAC;gBACvB,UAAU,EAAE,KAAK,EAAE,aAA4B,EAAE,EAAE,CAAC,CAAC;oBACnD,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,CAAC,kBAAI,EAAE,kBAAI,EAAE,4BAAS,EAAE,wBAAO,EAAE,0BAAQ,EAAE,gBAAG,EAAE,wBAAO,EAAE,wBAAO,EAAE,kBAAI,EAAE,kBAAI,EAAE,kBAAI,EAAE,sBAAM,CAAC;oBACrG,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC;oBAC7C,IAAI,EAAE,aAAa,CAAC,GAAG,CAAS,SAAS,EAAE,IAAI,CAAC;oBAChD,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;oBAC9C,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC;oBAChD,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC;oBACxD,OAAO,EAAE,SAAS;oBAClB,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,IAAI;iBAClB,CAAC;aACH,CAAC;YACF,wBAAU;YACV,wBAAU;YACV,sBAAS;YACT,8BAAa;YACb,kCAAe;YACf,gCAAc;YACd,8BAAa;YACb,8BAAa;YACb,wBAAU;YACV,wBAAU;YACV,wBAAU;YACV,wBAAU;YACV,4BAAY;SACb;QACD,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,EAAE;KACd,CAAC;GACW,SAAS,CAAG;AAAZ,8BAAS"}
@@ -0,0 +1,4 @@
1
+ import { ArgumentsHost, ExceptionFilter, HttpException } from '@nestjs/common';
2
+ export declare class HttpExceptionFilter implements ExceptionFilter {
3
+ catch(exception: HttpException, host: ArgumentsHost): void;
4
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.HttpExceptionFilter = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const logger_1 = require("../logger");
12
+ let HttpExceptionFilter = class HttpExceptionFilter {
13
+ catch(exception, host) {
14
+ const ctx = host.switchToHttp();
15
+ const response = ctx.getResponse();
16
+ const request = ctx.getRequest();
17
+ const url = request.originalUrl;
18
+ const status = exception instanceof common_1.HttpException ? exception.getStatus() : common_1.HttpStatus.INTERNAL_SERVER_ERROR;
19
+ const msg = exception.message.message || exception.message;
20
+ const errorResponse = {
21
+ statusCode: status,
22
+ msg,
23
+ success: false,
24
+ data: null,
25
+ };
26
+ response.status(status);
27
+ response.header('Content-Type', 'application/json; charset=utf-8');
28
+ response.send(errorResponse);
29
+ logger_1.errorLogger.error(url, errorResponse);
30
+ }
31
+ };
32
+ HttpExceptionFilter = __decorate([
33
+ common_1.Catch(common_1.HttpException)
34
+ ], HttpExceptionFilter);
35
+ exports.HttpExceptionFilter = HttpExceptionFilter;
36
+ //# sourceMappingURL=http-exception.filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-exception.filter.js","sourceRoot":"","sources":["../../src/filters/http-exception.filter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAkG;AAElG,sCAAwC;AAGxC,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAC9B,KAAK,CAAC,SAAwB,EAAE,IAAmB;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAEjC,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC;QAChC,MAAM,MAAM,GAAG,SAAS,YAAY,sBAAa,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,mBAAU,CAAC,qBAAqB,CAAC;QAC7G,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC;QAC3D,MAAM,aAAa,GAAG;YACpB,UAAU,EAAE,MAAM;YAClB,GAAG;YACH,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,IAAI;SACX,CAAC;QAGF,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;QACnE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,oBAAW,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACxC,CAAC;CACF,CAAA;AAtBY,mBAAmB;IAD/B,cAAK,CAAC,sBAAa,CAAC;GACR,mBAAmB,CAsB/B;AAtBY,kDAAmB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@nestjs/core");
4
+ const swagger_1 = require("@nestjs/swagger");
5
+ const fs_1 = require("fs");
6
+ const path_1 = require("path");
7
+ const app_module_1 = require("./app.module");
8
+ async function generateSwaggerJson() {
9
+ let app;
10
+ try {
11
+ console.log('🚀 Starting Swagger JSON generation...');
12
+ app = await core_1.NestFactory.createApplicationContext(app_module_1.AppModule, {
13
+ logger: ['error', 'warn'],
14
+ });
15
+ const configService = app.get('ConfigService');
16
+ const apiPrefix = configService.get('SERVER_API_PREFIX', '/api');
17
+ console.log('📝 Configuring Swagger documentation...');
18
+ const swaggerConfig = new swagger_1.DocumentBuilder()
19
+ .setTitle('ReactPress API Documentation')
20
+ .setDescription('Comprehensive API documentation for ReactPress - A modern content management system built with NestJS')
21
+ .setVersion('2.0')
22
+ .setContact('ReactPress Team', 'https://github.com/fecommunity/reactpress', 'admin@gaoredu.com')
23
+ .setLicense('MIT', 'https://github.com/fecommunity/reactpress/blob/main/LICENSE')
24
+ .addServer(configService.get('SERVER_SITE_URL', 'http://localhost:3002'), 'API Server')
25
+ .build();
26
+ console.log('🔨 Generating Swagger document...');
27
+ const document = swagger_1.SwaggerModule.createDocument(app, swaggerConfig);
28
+ const outputPath = path_1.join(__dirname, '../public/swagger.json');
29
+ const publicDir = path_1.join(__dirname, '../public');
30
+ if (!fs_1.existsSync(publicDir)) {
31
+ console.log('📁 Creating public directory...');
32
+ require('fs').mkdirSync(publicDir, { recursive: true });
33
+ }
34
+ if (fs_1.existsSync(outputPath)) {
35
+ console.log('đŸ—‘ī¸ Removing existing swagger.json file...');
36
+ fs_1.unlinkSync(outputPath);
37
+ }
38
+ console.log('💾 Writing Swagger JSON to file...');
39
+ fs_1.writeFileSync(outputPath, JSON.stringify(document, null, 2));
40
+ console.log(`✅ Success! Swagger JSON generated at: ${outputPath}`);
41
+ console.log('🎉 Swagger generation process completed successfully');
42
+ process.exit(0);
43
+ }
44
+ catch (error) {
45
+ console.error('❌ Error during Swagger generation:', error.message);
46
+ const existingPath = path_1.join(__dirname, '../public/swagger.json');
47
+ if (fs_1.existsSync(existingPath)) {
48
+ console.log('â„šī¸ Using existing swagger.json file');
49
+ console.log('🎉 Swagger generation process completed successfully');
50
+ process.exit(0);
51
+ }
52
+ else {
53
+ console.error('❌ No existing swagger.json file found');
54
+ process.exit(1);
55
+ }
56
+ }
57
+ finally {
58
+ }
59
+ }
60
+ generateSwaggerJson().catch(e => {
61
+ console.error('đŸ’Ĩ Unhandled error in generateSwaggerJson:', e.message);
62
+ const existingPath = path_1.join(__dirname, '../public/swagger.json');
63
+ if (fs_1.existsSync(existingPath)) {
64
+ console.log('â„šī¸ Using existing swagger.json file');
65
+ console.log('🎉 Swagger generation process completed successfully');
66
+ process.exit(0);
67
+ }
68
+ else {
69
+ console.error('❌ No existing swagger.json file found');
70
+ process.exit(1);
71
+ }
72
+ });
73
+ //# sourceMappingURL=generate-swagger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-swagger.js","sourceRoot":"","sources":["../src/generate-swagger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
2
+ import { Observable } from 'rxjs';
3
+ interface Response<T> {
4
+ data: T;
5
+ }
6
+ export declare class TransformInterceptor<T> implements NestInterceptor<T, Response<T>> {
7
+ intercept(context: ExecutionContext, next: CallHandler<T>): Observable<Response<T>>;
8
+ }
9
+ export {};
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.TransformInterceptor = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const operators_1 = require("rxjs/operators");
12
+ const logger_1 = require("../logger");
13
+ let TransformInterceptor = class TransformInterceptor {
14
+ intercept(context, next) {
15
+ return next.handle().pipe(operators_1.map((data) => {
16
+ const ctx = context.switchToHttp();
17
+ const response = ctx.getResponse();
18
+ const request = ctx.getRequest();
19
+ const statusCode = response.statusCode;
20
+ const url = request.originalUrl;
21
+ const res = {
22
+ statusCode,
23
+ msg: null,
24
+ success: true,
25
+ data,
26
+ };
27
+ logger_1.responseLogger.info(url, res);
28
+ return res;
29
+ }));
30
+ }
31
+ };
32
+ TransformInterceptor = __decorate([
33
+ common_1.Injectable()
34
+ ], TransformInterceptor);
35
+ exports.TransformInterceptor = TransformInterceptor;
36
+ //# sourceMappingURL=transform.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.interceptor.js","sourceRoot":"","sources":["../../src/interceptors/transform.interceptor.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4F;AAE5F,8CAAqC;AAErC,sCAA2C;AAO3C,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAC/B,SAAS,CAAC,OAAyB,EAAE,IAAoB;QACvD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,eAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACX,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;YAEjC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;YACvC,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC;YAChC,MAAM,GAAG,GAAG;gBACV,UAAU;gBACV,GAAG,EAAE,IAAI;gBACT,OAAO,EAAE,IAAI;gBACb,IAAI;aACL,CAAC;YACF,uBAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC9B,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AArBY,oBAAoB;IADhC,mBAAU,EAAE;GACA,oBAAoB,CAqBhC;AArBY,oDAAoB"}
@@ -0,0 +1,4 @@
1
+ import * as log4js from 'log4js';
2
+ export declare const requestLogger: log4js.Logger;
3
+ export declare const responseLogger: log4js.Logger;
4
+ export declare const errorLogger: log4js.Logger;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.errorLogger = exports.responseLogger = exports.requestLogger = void 0;
4
+ const fs = require("fs-extra");
5
+ const log4js = require("log4js");
6
+ const path_1 = require("path");
7
+ const LOG_DIR_NAME = '../../logs';
8
+ fs.ensureDirSync(path_1.join(__dirname, LOG_DIR_NAME));
9
+ void ['request', 'response', 'error'].forEach((t) => {
10
+ fs.ensureDirSync(path_1.join(__dirname, LOG_DIR_NAME, t));
11
+ });
12
+ const resolvePath = (dir, filename) => path_1.join(__dirname, LOG_DIR_NAME, dir, filename);
13
+ const commonCinfig = {
14
+ type: 'dateFile',
15
+ pattern: '-yyyy-MM-dd.log',
16
+ alwaysIncludePattern: true,
17
+ };
18
+ log4js.configure({
19
+ appenders: {
20
+ request: Object.assign(Object.assign({}, commonCinfig), { filename: resolvePath('request', 'request.log'), category: 'request' }),
21
+ response: Object.assign(Object.assign({}, commonCinfig), { filename: resolvePath('response', 'response.log'), category: 'response' }),
22
+ error: Object.assign(Object.assign({}, commonCinfig), { filename: resolvePath('error', 'error.log'), category: 'error' }),
23
+ },
24
+ categories: {
25
+ default: { appenders: ['request'], level: 'info' },
26
+ response: { appenders: ['response'], level: 'info' },
27
+ error: { appenders: ['error'], level: 'info' },
28
+ },
29
+ });
30
+ exports.requestLogger = log4js.getLogger('request');
31
+ exports.responseLogger = log4js.getLogger('response');
32
+ exports.errorLogger = log4js.getLogger('error');
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,iCAAiC;AACjC,+BAA4B;AAE5B,MAAM,YAAY,GAAG,YAAY,CAAC;AAElC,EAAE,CAAC,aAAa,CAAC,WAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;AAChD,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;IAClD,EAAE,CAAC,aAAa,CAAC,WAAI,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAI,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AAEpF,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,iBAAiB;IAC1B,oBAAoB,EAAE,IAAI;CAC3B,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC;IACf,SAAS,EAAE;QACT,OAAO,kCACF,YAAY,KACf,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,EAC/C,QAAQ,EAAE,SAAS,GACpB;QACD,QAAQ,kCACH,YAAY,KACf,QAAQ,EAAE,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,EACjD,QAAQ,EAAE,UAAU,GACrB;QACD,KAAK,kCACA,YAAY,KACf,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,EAC3C,QAAQ,EAAE,OAAO,GAClB;KACF;IACD,UAAU,EAAE;QACV,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;QAClD,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;QACpD,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;KAC/C;CACF,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAC5C,QAAA,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAC9C,QAAA,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ declare global {
2
+ var installationServer: any;
3
+ var installationPort: number;
4
+ var isInstalling: boolean;
5
+ }
6
+ export {};