@bloomneo/appkit 1.2.9

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 (262) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +902 -0
  3. package/bin/appkit.js +71 -0
  4. package/bin/commands/generate.js +1050 -0
  5. package/bin/templates/backend/README.md.template +39 -0
  6. package/bin/templates/backend/api.http.template +0 -0
  7. package/bin/templates/backend/docs/APPKIT_CLI.md +507 -0
  8. package/bin/templates/backend/docs/APPKIT_COMMENTS_GUIDELINES.md +61 -0
  9. package/bin/templates/backend/docs/APPKIT_LLM_GUIDE.md +2539 -0
  10. package/bin/templates/backend/package.json.template +34 -0
  11. package/bin/templates/backend/src/api/features/welcome/welcome.http.template +29 -0
  12. package/bin/templates/backend/src/api/features/welcome/welcome.route.ts.template +36 -0
  13. package/bin/templates/backend/src/api/features/welcome/welcome.service.ts.template +88 -0
  14. package/bin/templates/backend/src/api/features/welcome/welcome.types.ts.template +18 -0
  15. package/bin/templates/backend/src/api/lib/api-router.ts.template +84 -0
  16. package/bin/templates/backend/src/api/server.ts.template +188 -0
  17. package/bin/templates/backend/tsconfig.api.json.template +24 -0
  18. package/bin/templates/backend/tsconfig.json.template +40 -0
  19. package/bin/templates/feature/feature.http.template +63 -0
  20. package/bin/templates/feature/feature.route.ts.template +36 -0
  21. package/bin/templates/feature/feature.service.ts.template +81 -0
  22. package/bin/templates/feature/feature.types.ts.template +23 -0
  23. package/bin/templates/feature-db/feature.http.template +63 -0
  24. package/bin/templates/feature-db/feature.model.ts.template +74 -0
  25. package/bin/templates/feature-db/feature.route.ts.template +58 -0
  26. package/bin/templates/feature-db/feature.service.ts.template +231 -0
  27. package/bin/templates/feature-db/feature.types.ts.template +25 -0
  28. package/bin/templates/feature-db/schema-addition.prisma.template +9 -0
  29. package/bin/templates/feature-db/seeding/README.md.template +57 -0
  30. package/bin/templates/feature-db/seeding/feature.seed.js.template +67 -0
  31. package/bin/templates/feature-user/schema-addition.prisma.template +19 -0
  32. package/bin/templates/feature-user/user.http.template +157 -0
  33. package/bin/templates/feature-user/user.model.ts.template +244 -0
  34. package/bin/templates/feature-user/user.route.ts.template +379 -0
  35. package/bin/templates/feature-user/user.seed.js.template +182 -0
  36. package/bin/templates/feature-user/user.service.ts.template +426 -0
  37. package/bin/templates/feature-user/user.types.ts.template +127 -0
  38. package/dist/auth/auth.d.ts +182 -0
  39. package/dist/auth/auth.d.ts.map +1 -0
  40. package/dist/auth/auth.js +477 -0
  41. package/dist/auth/auth.js.map +1 -0
  42. package/dist/auth/defaults.d.ts +104 -0
  43. package/dist/auth/defaults.d.ts.map +1 -0
  44. package/dist/auth/defaults.js +374 -0
  45. package/dist/auth/defaults.js.map +1 -0
  46. package/dist/auth/index.d.ts +70 -0
  47. package/dist/auth/index.d.ts.map +1 -0
  48. package/dist/auth/index.js +94 -0
  49. package/dist/auth/index.js.map +1 -0
  50. package/dist/cache/cache.d.ts +118 -0
  51. package/dist/cache/cache.d.ts.map +1 -0
  52. package/dist/cache/cache.js +249 -0
  53. package/dist/cache/cache.js.map +1 -0
  54. package/dist/cache/defaults.d.ts +63 -0
  55. package/dist/cache/defaults.d.ts.map +1 -0
  56. package/dist/cache/defaults.js +193 -0
  57. package/dist/cache/defaults.js.map +1 -0
  58. package/dist/cache/index.d.ts +101 -0
  59. package/dist/cache/index.d.ts.map +1 -0
  60. package/dist/cache/index.js +203 -0
  61. package/dist/cache/index.js.map +1 -0
  62. package/dist/cache/strategies/memory.d.ts +138 -0
  63. package/dist/cache/strategies/memory.d.ts.map +1 -0
  64. package/dist/cache/strategies/memory.js +348 -0
  65. package/dist/cache/strategies/memory.js.map +1 -0
  66. package/dist/cache/strategies/redis.d.ts +105 -0
  67. package/dist/cache/strategies/redis.d.ts.map +1 -0
  68. package/dist/cache/strategies/redis.js +318 -0
  69. package/dist/cache/strategies/redis.js.map +1 -0
  70. package/dist/config/config.d.ts +62 -0
  71. package/dist/config/config.d.ts.map +1 -0
  72. package/dist/config/config.js +107 -0
  73. package/dist/config/config.js.map +1 -0
  74. package/dist/config/defaults.d.ts +44 -0
  75. package/dist/config/defaults.d.ts.map +1 -0
  76. package/dist/config/defaults.js +217 -0
  77. package/dist/config/defaults.js.map +1 -0
  78. package/dist/config/index.d.ts +105 -0
  79. package/dist/config/index.d.ts.map +1 -0
  80. package/dist/config/index.js +163 -0
  81. package/dist/config/index.js.map +1 -0
  82. package/dist/database/adapters/mongoose.d.ts +106 -0
  83. package/dist/database/adapters/mongoose.d.ts.map +1 -0
  84. package/dist/database/adapters/mongoose.js +480 -0
  85. package/dist/database/adapters/mongoose.js.map +1 -0
  86. package/dist/database/adapters/prisma.d.ts +106 -0
  87. package/dist/database/adapters/prisma.d.ts.map +1 -0
  88. package/dist/database/adapters/prisma.js +494 -0
  89. package/dist/database/adapters/prisma.js.map +1 -0
  90. package/dist/database/defaults.d.ts +87 -0
  91. package/dist/database/defaults.d.ts.map +1 -0
  92. package/dist/database/defaults.js +271 -0
  93. package/dist/database/defaults.js.map +1 -0
  94. package/dist/database/index.d.ts +137 -0
  95. package/dist/database/index.d.ts.map +1 -0
  96. package/dist/database/index.js +490 -0
  97. package/dist/database/index.js.map +1 -0
  98. package/dist/email/defaults.d.ts +100 -0
  99. package/dist/email/defaults.d.ts.map +1 -0
  100. package/dist/email/defaults.js +400 -0
  101. package/dist/email/defaults.js.map +1 -0
  102. package/dist/email/email.d.ts +139 -0
  103. package/dist/email/email.d.ts.map +1 -0
  104. package/dist/email/email.js +316 -0
  105. package/dist/email/email.js.map +1 -0
  106. package/dist/email/index.d.ts +176 -0
  107. package/dist/email/index.d.ts.map +1 -0
  108. package/dist/email/index.js +251 -0
  109. package/dist/email/index.js.map +1 -0
  110. package/dist/email/strategies/console.d.ts +90 -0
  111. package/dist/email/strategies/console.d.ts.map +1 -0
  112. package/dist/email/strategies/console.js +268 -0
  113. package/dist/email/strategies/console.js.map +1 -0
  114. package/dist/email/strategies/resend.d.ts +84 -0
  115. package/dist/email/strategies/resend.d.ts.map +1 -0
  116. package/dist/email/strategies/resend.js +266 -0
  117. package/dist/email/strategies/resend.js.map +1 -0
  118. package/dist/email/strategies/smtp.d.ts +77 -0
  119. package/dist/email/strategies/smtp.d.ts.map +1 -0
  120. package/dist/email/strategies/smtp.js +286 -0
  121. package/dist/email/strategies/smtp.js.map +1 -0
  122. package/dist/error/defaults.d.ts +40 -0
  123. package/dist/error/defaults.d.ts.map +1 -0
  124. package/dist/error/defaults.js +75 -0
  125. package/dist/error/defaults.js.map +1 -0
  126. package/dist/error/error.d.ts +140 -0
  127. package/dist/error/error.d.ts.map +1 -0
  128. package/dist/error/error.js +200 -0
  129. package/dist/error/error.js.map +1 -0
  130. package/dist/error/index.d.ts +145 -0
  131. package/dist/error/index.d.ts.map +1 -0
  132. package/dist/error/index.js +145 -0
  133. package/dist/error/index.js.map +1 -0
  134. package/dist/event/defaults.d.ts +111 -0
  135. package/dist/event/defaults.d.ts.map +1 -0
  136. package/dist/event/defaults.js +378 -0
  137. package/dist/event/defaults.js.map +1 -0
  138. package/dist/event/event.d.ts +171 -0
  139. package/dist/event/event.d.ts.map +1 -0
  140. package/dist/event/event.js +391 -0
  141. package/dist/event/event.js.map +1 -0
  142. package/dist/event/index.d.ts +173 -0
  143. package/dist/event/index.d.ts.map +1 -0
  144. package/dist/event/index.js +302 -0
  145. package/dist/event/index.js.map +1 -0
  146. package/dist/event/strategies/memory.d.ts +122 -0
  147. package/dist/event/strategies/memory.d.ts.map +1 -0
  148. package/dist/event/strategies/memory.js +331 -0
  149. package/dist/event/strategies/memory.js.map +1 -0
  150. package/dist/event/strategies/redis.d.ts +115 -0
  151. package/dist/event/strategies/redis.d.ts.map +1 -0
  152. package/dist/event/strategies/redis.js +434 -0
  153. package/dist/event/strategies/redis.js.map +1 -0
  154. package/dist/index.d.ts +58 -0
  155. package/dist/index.d.ts.map +1 -0
  156. package/dist/index.js +72 -0
  157. package/dist/index.js.map +1 -0
  158. package/dist/logger/defaults.d.ts +67 -0
  159. package/dist/logger/defaults.d.ts.map +1 -0
  160. package/dist/logger/defaults.js +213 -0
  161. package/dist/logger/defaults.js.map +1 -0
  162. package/dist/logger/index.d.ts +84 -0
  163. package/dist/logger/index.d.ts.map +1 -0
  164. package/dist/logger/index.js +101 -0
  165. package/dist/logger/index.js.map +1 -0
  166. package/dist/logger/logger.d.ts +165 -0
  167. package/dist/logger/logger.d.ts.map +1 -0
  168. package/dist/logger/logger.js +843 -0
  169. package/dist/logger/logger.js.map +1 -0
  170. package/dist/logger/transports/console.d.ts +102 -0
  171. package/dist/logger/transports/console.d.ts.map +1 -0
  172. package/dist/logger/transports/console.js +276 -0
  173. package/dist/logger/transports/console.js.map +1 -0
  174. package/dist/logger/transports/database.d.ts +153 -0
  175. package/dist/logger/transports/database.d.ts.map +1 -0
  176. package/dist/logger/transports/database.js +539 -0
  177. package/dist/logger/transports/database.js.map +1 -0
  178. package/dist/logger/transports/file.d.ts +146 -0
  179. package/dist/logger/transports/file.d.ts.map +1 -0
  180. package/dist/logger/transports/file.js +464 -0
  181. package/dist/logger/transports/file.js.map +1 -0
  182. package/dist/logger/transports/http.d.ts +128 -0
  183. package/dist/logger/transports/http.d.ts.map +1 -0
  184. package/dist/logger/transports/http.js +401 -0
  185. package/dist/logger/transports/http.js.map +1 -0
  186. package/dist/logger/transports/webhook.d.ts +152 -0
  187. package/dist/logger/transports/webhook.d.ts.map +1 -0
  188. package/dist/logger/transports/webhook.js +485 -0
  189. package/dist/logger/transports/webhook.js.map +1 -0
  190. package/dist/queue/defaults.d.ts +66 -0
  191. package/dist/queue/defaults.d.ts.map +1 -0
  192. package/dist/queue/defaults.js +205 -0
  193. package/dist/queue/defaults.js.map +1 -0
  194. package/dist/queue/index.d.ts +124 -0
  195. package/dist/queue/index.d.ts.map +1 -0
  196. package/dist/queue/index.js +116 -0
  197. package/dist/queue/index.js.map +1 -0
  198. package/dist/queue/queue.d.ts +156 -0
  199. package/dist/queue/queue.d.ts.map +1 -0
  200. package/dist/queue/queue.js +387 -0
  201. package/dist/queue/queue.js.map +1 -0
  202. package/dist/queue/transports/database.d.ts +165 -0
  203. package/dist/queue/transports/database.d.ts.map +1 -0
  204. package/dist/queue/transports/database.js +595 -0
  205. package/dist/queue/transports/database.js.map +1 -0
  206. package/dist/queue/transports/memory.d.ts +143 -0
  207. package/dist/queue/transports/memory.d.ts.map +1 -0
  208. package/dist/queue/transports/memory.js +415 -0
  209. package/dist/queue/transports/memory.js.map +1 -0
  210. package/dist/queue/transports/redis.d.ts +203 -0
  211. package/dist/queue/transports/redis.d.ts.map +1 -0
  212. package/dist/queue/transports/redis.js +744 -0
  213. package/dist/queue/transports/redis.js.map +1 -0
  214. package/dist/security/defaults.d.ts +64 -0
  215. package/dist/security/defaults.d.ts.map +1 -0
  216. package/dist/security/defaults.js +159 -0
  217. package/dist/security/defaults.js.map +1 -0
  218. package/dist/security/index.d.ts +110 -0
  219. package/dist/security/index.d.ts.map +1 -0
  220. package/dist/security/index.js +160 -0
  221. package/dist/security/index.js.map +1 -0
  222. package/dist/security/security.d.ts +138 -0
  223. package/dist/security/security.d.ts.map +1 -0
  224. package/dist/security/security.js +419 -0
  225. package/dist/security/security.js.map +1 -0
  226. package/dist/storage/defaults.d.ts +79 -0
  227. package/dist/storage/defaults.d.ts.map +1 -0
  228. package/dist/storage/defaults.js +358 -0
  229. package/dist/storage/defaults.js.map +1 -0
  230. package/dist/storage/index.d.ts +153 -0
  231. package/dist/storage/index.d.ts.map +1 -0
  232. package/dist/storage/index.js +242 -0
  233. package/dist/storage/index.js.map +1 -0
  234. package/dist/storage/storage.d.ts +151 -0
  235. package/dist/storage/storage.d.ts.map +1 -0
  236. package/dist/storage/storage.js +439 -0
  237. package/dist/storage/storage.js.map +1 -0
  238. package/dist/storage/strategies/local.d.ts +117 -0
  239. package/dist/storage/strategies/local.d.ts.map +1 -0
  240. package/dist/storage/strategies/local.js +368 -0
  241. package/dist/storage/strategies/local.js.map +1 -0
  242. package/dist/storage/strategies/r2.d.ts +130 -0
  243. package/dist/storage/strategies/r2.d.ts.map +1 -0
  244. package/dist/storage/strategies/r2.js +470 -0
  245. package/dist/storage/strategies/r2.js.map +1 -0
  246. package/dist/storage/strategies/s3.d.ts +121 -0
  247. package/dist/storage/strategies/s3.d.ts.map +1 -0
  248. package/dist/storage/strategies/s3.js +461 -0
  249. package/dist/storage/strategies/s3.js.map +1 -0
  250. package/dist/util/defaults.d.ts +77 -0
  251. package/dist/util/defaults.d.ts.map +1 -0
  252. package/dist/util/defaults.js +193 -0
  253. package/dist/util/defaults.js.map +1 -0
  254. package/dist/util/index.d.ts +97 -0
  255. package/dist/util/index.d.ts.map +1 -0
  256. package/dist/util/index.js +165 -0
  257. package/dist/util/index.js.map +1 -0
  258. package/dist/util/util.d.ts +145 -0
  259. package/dist/util/util.d.ts.map +1 -0
  260. package/dist/util/util.js +481 -0
  261. package/dist/util/util.js.map +1 -0
  262. package/package.json +234 -0
package/package.json ADDED
@@ -0,0 +1,234 @@
1
+ {
2
+ "name": "@bloomneo/appkit",
3
+ "version": "1.2.9",
4
+ "description": "Minimal and framework agnostic Node.js toolkit designed for AI agentic backend development. Previously published as @voilajsx/appkit.",
5
+ "main": "dist/index.js",
6
+ "type": "module",
7
+ "types": "./dist/index.d.ts",
8
+ "sideEffects": false,
9
+ "bin": {
10
+ "appkit": "./bin/appkit.js"
11
+ },
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "default": "./dist/index.js"
16
+ },
17
+ "./auth": {
18
+ "types": "./dist/auth/index.d.ts",
19
+ "default": "./dist/auth/index.js"
20
+ },
21
+ "./config": {
22
+ "types": "./dist/config/index.d.ts",
23
+ "default": "./dist/config/index.js"
24
+ },
25
+ "./security": {
26
+ "types": "./dist/security/index.d.ts",
27
+ "default": "./dist/security/index.js"
28
+ },
29
+ "./database": {
30
+ "types": "./dist/database/index.d.ts",
31
+ "default": "./dist/database/index.js"
32
+ },
33
+ "./cache": {
34
+ "types": "./dist/cache/index.d.ts",
35
+ "default": "./dist/cache/index.js"
36
+ },
37
+ "./email": {
38
+ "types": "./dist/email/index.d.ts",
39
+ "default": "./dist/email/index.js"
40
+ },
41
+ "./error": {
42
+ "types": "./dist/error/index.d.ts",
43
+ "default": "./dist/error/index.js"
44
+ },
45
+ "./logger": {
46
+ "types": "./dist/logger/index.d.ts",
47
+ "default": "./dist/logger/index.js"
48
+ },
49
+ "./queue": {
50
+ "types": "./dist/queue/index.d.ts",
51
+ "default": "./dist/queue/index.js"
52
+ },
53
+ "./storage": {
54
+ "types": "./dist/storage/index.d.ts",
55
+ "default": "./dist/storage/index.js"
56
+ },
57
+ "./util": {
58
+ "types": "./dist/util/index.d.ts",
59
+ "default": "./dist/util/index.js"
60
+ }
61
+ },
62
+ "files": [
63
+ "dist/",
64
+ "bin/",
65
+ "README.md",
66
+ "LICENSE"
67
+ ],
68
+ "scripts": {
69
+ "test": "vitest --run --passWithNoTests",
70
+ "lint": "eslint src/",
71
+ "format": "prettier --write 'src/**/*.js'",
72
+ "prisma:generate": "prisma generate",
73
+ "build": "tsc",
74
+ "prepublishOnly": "npm run build"
75
+ },
76
+ "keywords": [
77
+ "nodejs",
78
+ "node",
79
+ "toolkit",
80
+ "framework-agnostic",
81
+ "auth",
82
+ "authentication",
83
+ "jwt",
84
+ "bcrypt",
85
+ "multi-tenant",
86
+ "tenant",
87
+ "database",
88
+ "saas",
89
+ "cache",
90
+ "caching",
91
+ "redis",
92
+ "memcached",
93
+ "events",
94
+ "event-bus",
95
+ "pubsub",
96
+ "security",
97
+ "csrf",
98
+ "rate-limiting",
99
+ "sanitization",
100
+ "email",
101
+ "smtp",
102
+ "ses",
103
+ "sendgrid",
104
+ "mailgun",
105
+ "queue",
106
+ "job-queue",
107
+ "background-jobs",
108
+ "logging",
109
+ "logger",
110
+ "storage",
111
+ "s3",
112
+ "file-storage",
113
+ "configuration",
114
+ "config",
115
+ "validation",
116
+ "utils",
117
+ "utilities",
118
+ "express",
119
+ "middleware",
120
+ "error-handling",
121
+ "tree-shaking",
122
+ "esm",
123
+ "typescript",
124
+ "cli",
125
+ "scaffolding",
126
+ "fbca",
127
+ "code-generation"
128
+ ],
129
+ "author": "Bloomneo",
130
+ "contributors": [
131
+ {
132
+ "name": "Krishna Teja GS",
133
+ "email": "kt@voilacode.com",
134
+ "url": "https://bloomneo.com"
135
+ }
136
+ ],
137
+ "creator": "Krishna Teja GS",
138
+ "license": "MIT",
139
+ "dependencies": {
140
+ "@prisma/client": "^6.16.2",
141
+ "bcrypt": "^5.1.1",
142
+ "commander": "^12.1.0",
143
+ "dotenv": "^16.6.1",
144
+ "ioredis": "^5.6.1",
145
+ "jsonwebtoken": "^9.0.2",
146
+ "prisma": "^6.16.2"
147
+ },
148
+ "peerDependencies": {
149
+ "@fastify/cookie": "^11.0.2",
150
+ "@fastify/formbody": "^8.0.2",
151
+ "@fastify/helmet": "^13.0.1",
152
+ "@fastify/session": "^11.1.0",
153
+ "express": "^4.0.0 || ^5.0.0",
154
+ "express-session": "^1.18.2",
155
+ "fastify": "^5.6.0",
156
+ "multer": "^2.0.2"
157
+ },
158
+ "peerDependenciesMeta": {
159
+ "@fastify/cookie": {
160
+ "optional": true
161
+ },
162
+ "@fastify/formbody": {
163
+ "optional": true
164
+ },
165
+ "@fastify/helmet": {
166
+ "optional": true
167
+ },
168
+ "@fastify/session": {
169
+ "optional": true
170
+ },
171
+ "express": {
172
+ "optional": true
173
+ },
174
+ "express-session": {
175
+ "optional": true
176
+ },
177
+ "fastify": {
178
+ "optional": true
179
+ },
180
+ "multer": {
181
+ "optional": true
182
+ }
183
+ },
184
+ "devDependencies": {
185
+ "@eslint/js": "^9.0.0",
186
+ "@types/bcrypt": "^5.0.2",
187
+ "@types/jsonwebtoken": "^9.0.10",
188
+ "@types/node": "^18.0.0",
189
+ "@types/nodemailer": "^6.4.17",
190
+ "@types/pg": "^8.10.0",
191
+ "@vitest/coverage-v8": "^3.1.3",
192
+ "esbuild": ">=0.25.0",
193
+ "eslint": "^9.0.0",
194
+ "express": "^5.1.0",
195
+ "prettier": "^3.2.4",
196
+ "supertest": "^7.1.1",
197
+ "typescript": "^5.0.0",
198
+ "vitest": "^3.1.3"
199
+ },
200
+ "optionalDependencies": {
201
+ "@aws-sdk/client-s3": "^3.0.0",
202
+ "@aws-sdk/client-ses": "^3.0.0",
203
+ "@aws-sdk/s3-request-presigner": "^3.0.0",
204
+ "@sendgrid/mail": "^8.1.5",
205
+ "bull": "^4.10.0",
206
+ "mailgun.js": "^9.0.0",
207
+ "memcached": "^2.2.2",
208
+ "mongoose": "^7.0.0",
209
+ "mysql2": "^3.5.0",
210
+ "nodemailer": "^7.0.12",
211
+ "pg": "^8.11.0",
212
+ "redis": "^4.7.1",
213
+ "sqlite": "^4.2.1",
214
+ "sqlite3": "^5.1.6"
215
+ },
216
+ "engines": {
217
+ "node": ">=18.0.0"
218
+ },
219
+ "repository": {
220
+ "type": "git",
221
+ "url": "git+https://github.com/bloomneo/appkit.git"
222
+ },
223
+ "bugs": {
224
+ "url": "https://github.com/bloomneo/appkit/issues"
225
+ },
226
+ "publishConfig": {
227
+ "access": "public"
228
+ },
229
+ "homepage": "https://github.com/bloomneo/appkit#readme",
230
+ "funding": {
231
+ "type": "github",
232
+ "url": "https://github.com/sponsors/bloomneo"
233
+ }
234
+ }