silgi 0.43.28 → 0.50.0

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 (478) hide show
  1. package/README.md +103 -1
  2. package/dist/_virtual/_rolldown/runtime.mjs +5 -0
  3. package/dist/adapters/_fetch-adapter.d.mts +18 -0
  4. package/dist/adapters/_fetch-adapter.mjs +53 -0
  5. package/dist/adapters/astro.d.mts +15 -0
  6. package/dist/adapters/astro.mjs +31 -0
  7. package/dist/adapters/aws-lambda.d.mts +42 -0
  8. package/dist/adapters/aws-lambda.mjs +92 -0
  9. package/dist/adapters/express.d.mts +16 -0
  10. package/dist/adapters/express.mjs +110 -0
  11. package/dist/adapters/message-port.d.mts +42 -0
  12. package/dist/adapters/message-port.mjs +132 -0
  13. package/dist/adapters/nestjs.d.mts +25 -0
  14. package/dist/adapters/nestjs.mjs +83 -0
  15. package/dist/adapters/nextjs.d.mts +14 -0
  16. package/dist/adapters/nextjs.mjs +29 -0
  17. package/dist/adapters/peer.d.mts +27 -0
  18. package/dist/adapters/peer.mjs +36 -0
  19. package/dist/adapters/remix.d.mts +15 -0
  20. package/dist/adapters/remix.mjs +30 -0
  21. package/dist/adapters/solidstart.d.mts +12 -0
  22. package/dist/adapters/solidstart.mjs +29 -0
  23. package/dist/adapters/sveltekit.d.mts +14 -0
  24. package/dist/adapters/sveltekit.mjs +30 -0
  25. package/dist/broker/index.d.mts +62 -0
  26. package/dist/broker/index.mjs +153 -0
  27. package/dist/broker/nats.d.mts +33 -0
  28. package/dist/broker/nats.mjs +31 -0
  29. package/dist/broker/redis.d.mts +51 -0
  30. package/dist/broker/redis.mjs +92 -0
  31. package/dist/builder.d.mts +55 -0
  32. package/dist/builder.mjs +70 -0
  33. package/dist/callable.d.mts +19 -0
  34. package/dist/callable.mjs +42 -0
  35. package/dist/caller.mjs +90 -0
  36. package/dist/client/adapters/fetch/index.d.mts +15 -0
  37. package/dist/client/adapters/fetch/index.mjs +57 -0
  38. package/dist/client/adapters/ofetch/index.d.mts +55 -0
  39. package/dist/client/adapters/ofetch/index.mjs +91 -0
  40. package/dist/client/adapters/websocket/index.d.mts +20 -0
  41. package/dist/client/adapters/websocket/index.mjs +101 -0
  42. package/dist/client/client.d.mts +37 -0
  43. package/dist/client/client.mjs +80 -0
  44. package/dist/client/consume.d.mts +50 -0
  45. package/dist/client/consume.mjs +66 -0
  46. package/dist/client/dynamic-link.d.mts +16 -0
  47. package/dist/client/dynamic-link.mjs +19 -0
  48. package/dist/client/index.d.mts +6 -0
  49. package/dist/client/index.mjs +5 -0
  50. package/dist/client/interceptor.d.mts +31 -0
  51. package/dist/client/interceptor.mjs +34 -0
  52. package/dist/client/openapi.d.mts +29 -0
  53. package/dist/client/openapi.mjs +89 -0
  54. package/dist/client/plugins/batch.d.mts +26 -0
  55. package/dist/client/plugins/batch.mjs +64 -0
  56. package/dist/client/plugins/circuit-breaker.d.mts +24 -0
  57. package/dist/client/plugins/circuit-breaker.mjs +60 -0
  58. package/dist/client/plugins/csrf.d.mts +13 -0
  59. package/dist/client/plugins/csrf.mjs +20 -0
  60. package/dist/client/plugins/dedupe.d.mts +10 -0
  61. package/dist/client/plugins/dedupe.mjs +28 -0
  62. package/dist/client/plugins/index.d.mts +8 -0
  63. package/dist/client/plugins/index.mjs +8 -0
  64. package/dist/client/plugins/otel.d.mts +12 -0
  65. package/dist/client/plugins/otel.mjs +27 -0
  66. package/dist/client/plugins/retry.d.mts +34 -0
  67. package/dist/client/plugins/retry.mjs +79 -0
  68. package/dist/client/plugins/timeout.d.mts +10 -0
  69. package/dist/client/plugins/timeout.mjs +14 -0
  70. package/dist/client/server.d.mts +16 -0
  71. package/dist/client/server.mjs +59 -0
  72. package/dist/client/types.d.mts +29 -0
  73. package/dist/codec/devalue.d.mts +21 -0
  74. package/dist/codec/devalue.mjs +33 -0
  75. package/dist/codec/msgpack.d.mts +18 -0
  76. package/dist/codec/msgpack.mjs +45 -0
  77. package/dist/codec/sanitize.mjs +38 -0
  78. package/dist/codegen/emitters.d.mts +51 -0
  79. package/dist/codegen/emitters.mjs +143 -0
  80. package/dist/codegen/generate.d.mts +25 -0
  81. package/dist/codegen/generate.mjs +224 -0
  82. package/dist/codegen/index.d.mts +44 -0
  83. package/dist/codegen/index.mjs +103 -0
  84. package/dist/codegen/parse.d.mts +124 -0
  85. package/dist/codegen/parse.mjs +135 -0
  86. package/dist/codegen/preserve.d.mts +21 -0
  87. package/dist/codegen/preserve.mjs +62 -0
  88. package/dist/codegen/schema-to-code.d.mts +57 -0
  89. package/dist/codegen/schema-to-code.mjs +167 -0
  90. package/dist/compile.d.mts +46 -0
  91. package/dist/compile.mjs +332 -0
  92. package/dist/core/codec.mjs +67 -0
  93. package/dist/core/context-bridge.mjs +11 -0
  94. package/dist/core/dispatch.mjs +62 -0
  95. package/dist/core/error.d.mts +99 -60
  96. package/dist/core/error.mjs +125 -92
  97. package/dist/core/handler.d.mts +6 -0
  98. package/dist/core/handler.mjs +153 -0
  99. package/dist/core/input.mjs +49 -0
  100. package/dist/core/iterator.d.mts +17 -0
  101. package/dist/core/iterator.mjs +79 -0
  102. package/dist/core/router-utils.mjs +22 -0
  103. package/dist/core/schema.d.mts +20 -0
  104. package/dist/core/schema.mjs +33 -0
  105. package/dist/core/serve.d.mts +51 -0
  106. package/dist/core/serve.mjs +76 -0
  107. package/dist/core/sse.d.mts +18 -0
  108. package/dist/core/sse.mjs +110 -0
  109. package/dist/core/storage.d.mts +17 -4
  110. package/dist/core/storage.mjs +60 -13
  111. package/dist/core/task.d.mts +62 -0
  112. package/dist/core/task.mjs +165 -0
  113. package/dist/core/trace-map.d.mts +13 -0
  114. package/dist/core/trace-map.mjs +13 -0
  115. package/dist/core/url.mjs +28 -0
  116. package/dist/core/utils.mjs +24 -0
  117. package/dist/index.d.mts +17 -21
  118. package/dist/index.mjs +14 -22
  119. package/dist/integrations/ai/index.d.mts +25 -0
  120. package/dist/integrations/ai/index.mjs +117 -0
  121. package/dist/integrations/better-auth/index.d.mts +41 -0
  122. package/dist/integrations/better-auth/index.mjs +331 -0
  123. package/dist/integrations/drizzle/index.d.mts +27 -0
  124. package/dist/integrations/drizzle/index.mjs +285 -0
  125. package/dist/integrations/hey-api/index.d.mts +2 -0
  126. package/dist/integrations/hey-api/index.mjs +2 -0
  127. package/dist/integrations/hey-api/to-client.d.mts +20 -0
  128. package/dist/integrations/hey-api/to-client.mjs +39 -0
  129. package/dist/integrations/pinia-colada/general-utils.d.mts +13 -0
  130. package/dist/integrations/pinia-colada/general-utils.mjs +9 -0
  131. package/dist/integrations/pinia-colada/index.d.mts +6 -0
  132. package/dist/integrations/pinia-colada/index.mjs +5 -0
  133. package/dist/integrations/pinia-colada/key.d.mts +11 -0
  134. package/dist/integrations/pinia-colada/key.mjs +11 -0
  135. package/dist/integrations/pinia-colada/procedure-utils.d.mts +25 -0
  136. package/dist/integrations/pinia-colada/procedure-utils.mjs +33 -0
  137. package/dist/integrations/pinia-colada/router-utils.d.mts +17 -0
  138. package/dist/integrations/pinia-colada/router-utils.mjs +30 -0
  139. package/dist/integrations/pinia-colada/types.d.mts +25 -0
  140. package/dist/integrations/react/index.d.mts +83 -0
  141. package/dist/integrations/react/index.mjs +196 -0
  142. package/dist/integrations/tanstack-query/index.d.mts +120 -0
  143. package/dist/integrations/tanstack-query/index.mjs +100 -0
  144. package/dist/integrations/tanstack-query/ssr.d.mts +60 -0
  145. package/dist/integrations/tanstack-query/ssr.mjs +102 -0
  146. package/dist/integrations/zod/converter.d.mts +75 -0
  147. package/dist/integrations/zod/converter.mjs +345 -0
  148. package/dist/integrations/zod/index.d.mts +2 -0
  149. package/dist/integrations/zod/index.mjs +2 -0
  150. package/dist/lazy.d.mts +22 -0
  151. package/dist/lazy.mjs +34 -0
  152. package/dist/lifecycle.d.mts +36 -0
  153. package/dist/lifecycle.mjs +46 -0
  154. package/dist/map-input.d.mts +17 -0
  155. package/dist/map-input.mjs +47 -0
  156. package/dist/plugins/analytics/accumulator.d.mts +24 -0
  157. package/dist/plugins/analytics/accumulator.mjs +91 -0
  158. package/dist/plugins/analytics/alerts.d.mts +59 -0
  159. package/dist/plugins/analytics/alerts.mjs +140 -0
  160. package/dist/plugins/analytics/collector.d.mts +38 -0
  161. package/dist/plugins/analytics/collector.mjs +275 -0
  162. package/dist/plugins/analytics/cost.d.mts +61 -0
  163. package/dist/plugins/analytics/cost.mjs +97 -0
  164. package/dist/plugins/analytics/export.d.mts +7 -0
  165. package/dist/plugins/analytics/export.mjs +86 -0
  166. package/dist/plugins/analytics/normalize.mjs +144 -0
  167. package/dist/plugins/analytics/query.mjs +164 -0
  168. package/dist/plugins/analytics/request-id.mjs +34 -0
  169. package/dist/plugins/analytics/routes.d.mts +11 -0
  170. package/dist/plugins/analytics/routes.mjs +211 -0
  171. package/dist/plugins/analytics/sse.d.mts +31 -0
  172. package/dist/plugins/analytics/sse.mjs +74 -0
  173. package/dist/plugins/analytics/store.mjs +103 -0
  174. package/dist/plugins/analytics/timeseries.d.mts +50 -0
  175. package/dist/plugins/analytics/timeseries.mjs +169 -0
  176. package/dist/plugins/analytics/trace.d.mts +48 -0
  177. package/dist/plugins/analytics/trace.mjs +83 -0
  178. package/dist/plugins/analytics/types.d.mts +145 -0
  179. package/dist/plugins/analytics/types.mjs +40 -0
  180. package/dist/plugins/analytics/utils.d.mts +4 -0
  181. package/dist/plugins/analytics/utils.mjs +56 -0
  182. package/dist/plugins/analytics.d.mts +18 -0
  183. package/dist/plugins/analytics.mjs +188 -0
  184. package/dist/plugins/batch-server.d.mts +20 -0
  185. package/dist/plugins/batch-server.mjs +91 -0
  186. package/dist/plugins/body-limit.d.mts +19 -0
  187. package/dist/plugins/body-limit.mjs +49 -0
  188. package/dist/plugins/cache.d.mts +170 -0
  189. package/dist/plugins/cache.mjs +212 -0
  190. package/dist/plugins/coerce.d.mts +24 -0
  191. package/dist/plugins/coerce.mjs +70 -0
  192. package/dist/plugins/cookies.d.mts +14 -0
  193. package/dist/plugins/cookies.mjs +48 -0
  194. package/dist/plugins/cors.d.mts +43 -0
  195. package/dist/plugins/cors.mjs +62 -0
  196. package/dist/plugins/file-upload.d.mts +38 -0
  197. package/dist/plugins/file-upload.mjs +102 -0
  198. package/dist/plugins/index.d.mts +18 -0
  199. package/dist/plugins/index.mjs +17 -0
  200. package/dist/plugins/otel.d.mts +35 -0
  201. package/dist/plugins/otel.mjs +40 -0
  202. package/dist/plugins/pino.d.mts +60 -0
  203. package/dist/plugins/pino.mjs +42 -0
  204. package/dist/plugins/pubsub.d.mts +50 -0
  205. package/dist/plugins/pubsub.mjs +53 -0
  206. package/dist/plugins/ratelimit.d.mts +53 -0
  207. package/dist/plugins/ratelimit.mjs +92 -0
  208. package/dist/plugins/signing.d.mts +41 -0
  209. package/dist/plugins/signing.mjs +118 -0
  210. package/dist/plugins/strict-get.d.mts +10 -0
  211. package/dist/plugins/strict-get.mjs +33 -0
  212. package/dist/scalar.d.mts +49 -0
  213. package/dist/scalar.mjs +311 -0
  214. package/dist/silgi.d.mts +144 -0
  215. package/dist/silgi.mjs +164 -0
  216. package/dist/trpc-interop.d.mts +22 -0
  217. package/dist/trpc-interop.mjs +68 -0
  218. package/dist/types.d.mts +108 -0
  219. package/dist/ws.d.mts +88 -0
  220. package/dist/ws.mjs +205 -0
  221. package/lib/dashboard/index.html +120 -0
  222. package/lib/ocache.d.mts +1 -0
  223. package/lib/ocache.mjs +1 -0
  224. package/lib/ofetch.d.mts +1 -0
  225. package/lib/ofetch.mjs +1 -0
  226. package/lib/srvx.d.mts +1 -0
  227. package/lib/srvx.mjs +1 -0
  228. package/lib/unstorage.d.mts +1 -0
  229. package/lib/unstorage.mjs +1 -0
  230. package/package.json +314 -150
  231. package/dist/build.d.mts +0 -3
  232. package/dist/build.mjs +0 -4
  233. package/dist/cli/build/build.mjs +0 -15
  234. package/dist/cli/build/dev.d.mts +0 -10
  235. package/dist/cli/build/dev.mjs +0 -91
  236. package/dist/cli/build/prepare.d.mts +0 -6
  237. package/dist/cli/build/prepare.mjs +0 -15
  238. package/dist/cli/commands/commands.mjs +0 -90
  239. package/dist/cli/commands/env.mjs +0 -53
  240. package/dist/cli/commands/init.mjs +0 -84
  241. package/dist/cli/commands/install.mjs +0 -52
  242. package/dist/cli/commands/prepare.mjs +0 -65
  243. package/dist/cli/commands/reset.mjs +0 -46
  244. package/dist/cli/commands/run.mjs +0 -31
  245. package/dist/cli/commands/watch.mjs +0 -153
  246. package/dist/cli/config/defaults.mjs +0 -117
  247. package/dist/cli/config/index.d.mts +0 -3
  248. package/dist/cli/config/index.mjs +0 -4
  249. package/dist/cli/config/loader.d.mts +0 -6
  250. package/dist/cli/config/loader.mjs +0 -71
  251. package/dist/cli/config/resolvers/compatibility.mjs +0 -71
  252. package/dist/cli/config/resolvers/imports.mjs +0 -35
  253. package/dist/cli/config/resolvers/paths.mjs +0 -98
  254. package/dist/cli/config/resolvers/storage.mjs +0 -23
  255. package/dist/cli/config/resolvers/url.mjs +0 -9
  256. package/dist/cli/config/types.d.mts +0 -14
  257. package/dist/cli/config/types.mjs +0 -147
  258. package/dist/cli/core/apiful.mjs +0 -36
  259. package/dist/cli/core/devServer.mjs +0 -10
  260. package/dist/cli/core/env.mjs +0 -68
  261. package/dist/cli/core/installPackage.mjs +0 -60
  262. package/dist/cli/core/runtimeConfig.mjs +0 -70
  263. package/dist/cli/core/scan.mjs +0 -35
  264. package/dist/cli/core/silgi.mjs +0 -111
  265. package/dist/cli/framework/emptyFramework.mjs +0 -7
  266. package/dist/cli/framework/h3.mjs +0 -55
  267. package/dist/cli/framework/index.mjs +0 -15
  268. package/dist/cli/framework/nitro.mjs +0 -24
  269. package/dist/cli/framework/nuxt.mjs +0 -10
  270. package/dist/cli/index.d.mts +0 -1
  271. package/dist/cli/index.mjs +0 -29
  272. package/dist/cli/module/exportScan.mjs +0 -180
  273. package/dist/cli/module/install.mjs +0 -49
  274. package/dist/cli/module/scan.mjs +0 -193
  275. package/dist/cli/scan/prepareCommands.mjs +0 -40
  276. package/dist/cli/scan/prepareConfigs.mjs +0 -33
  277. package/dist/cli/scan/prepareCoreFile.mjs +0 -118
  278. package/dist/cli/scan/prepareScanFile.mjs +0 -59
  279. package/dist/cli/scan/prepareSchema.mjs +0 -128
  280. package/dist/cli/scan/scanExportFile.mjs +0 -288
  281. package/dist/cli/scan/writeCoreFile.mjs +0 -22
  282. package/dist/cli/scan/writeTypesAndFiles.mjs +0 -72
  283. package/dist/cli/utils/cancel.mjs +0 -14
  284. package/dist/cli/utils/common.mjs +0 -15
  285. package/dist/cli/utils/compatibility.mjs +0 -33
  286. package/dist/cli/utils/debug.mjs +0 -11
  287. package/dist/cli/utils/ignore.mjs +0 -56
  288. package/dist/cli/utils/processManager.mjs +0 -170
  289. package/dist/cli/utils/readScanFile.mjs +0 -58
  290. package/dist/cli/utils/storage.mjs +0 -23
  291. package/dist/core/context.d.mts +0 -30
  292. package/dist/core/context.mjs +0 -32
  293. package/dist/core/createSilgi.d.mts +0 -6
  294. package/dist/core/createSilgi.mjs +0 -153
  295. package/dist/core/event.d.mts +0 -26
  296. package/dist/core/event.mjs +0 -44
  297. package/dist/core/index.d.mts +0 -25
  298. package/dist/core/index.mjs +0 -30
  299. package/dist/core/orchestrate.mjs +0 -115
  300. package/dist/core/response.d.mts +0 -20
  301. package/dist/core/response.mjs +0 -105
  302. package/dist/core/silgi.d.mts +0 -19
  303. package/dist/core/silgi.mjs +0 -141
  304. package/dist/core/silgiApp.d.mts +0 -9
  305. package/dist/core/silgiApp.mjs +0 -23
  306. package/dist/core/unctx.d.mts +0 -21
  307. package/dist/core/unctx.mjs +0 -35
  308. package/dist/core/utils/event-stream.d.mts +0 -53
  309. package/dist/core/utils/event-stream.mjs +0 -38
  310. package/dist/core/utils/event.d.mts +0 -8
  311. package/dist/core/utils/event.mjs +0 -12
  312. package/dist/core/utils/internal/event-stream.d.mts +0 -45
  313. package/dist/core/utils/internal/event-stream.mjs +0 -137
  314. package/dist/core/utils/internal/obj.mjs +0 -9
  315. package/dist/core/utils/internal/object.mjs +0 -29
  316. package/dist/core/utils/internal/query.mjs +0 -73
  317. package/dist/core/utils/internal/req.mjs +0 -35
  318. package/dist/core/utils/merge.d.mts +0 -14
  319. package/dist/core/utils/merge.mjs +0 -27
  320. package/dist/core/utils/middleware.d.mts +0 -14
  321. package/dist/core/utils/middleware.mjs +0 -12
  322. package/dist/core/utils/request.mjs +0 -35
  323. package/dist/core/utils/resolver.d.mts +0 -7
  324. package/dist/core/utils/resolver.mjs +0 -29
  325. package/dist/core/utils/runtime.d.mts +0 -7
  326. package/dist/core/utils/runtime.mjs +0 -20
  327. package/dist/core/utils/sanitize.mjs +0 -22
  328. package/dist/core/utils/schema.d.mts +0 -34
  329. package/dist/core/utils/schema.mjs +0 -33
  330. package/dist/core/utils/service.d.mts +0 -13
  331. package/dist/core/utils/service.mjs +0 -19
  332. package/dist/core/utils/shared.d.mts +0 -6
  333. package/dist/core/utils/shared.mjs +0 -7
  334. package/dist/core/utils/storage.d.mts +0 -24
  335. package/dist/core/utils/storage.mjs +0 -54
  336. package/dist/kit/add/add-commands.d.mts +0 -6
  337. package/dist/kit/add/add-commands.mjs +0 -12
  338. package/dist/kit/add/add-core-file.d.mts +0 -9
  339. package/dist/kit/add/add-core-file.mjs +0 -11
  340. package/dist/kit/add/add-imports.d.mts +0 -14
  341. package/dist/kit/add/add-imports.mjs +0 -56
  342. package/dist/kit/add/add-npm.d.mts +0 -14
  343. package/dist/kit/add/add-npm.mjs +0 -23
  344. package/dist/kit/define.d.mts +0 -28
  345. package/dist/kit/define.mjs +0 -25
  346. package/dist/kit/errors.d.mts +0 -6
  347. package/dist/kit/errors.mjs +0 -11
  348. package/dist/kit/esm.d.mts +0 -11
  349. package/dist/kit/esm.mjs +0 -21
  350. package/dist/kit/fs.d.mts +0 -4
  351. package/dist/kit/fs.mjs +0 -13
  352. package/dist/kit/function-utils.d.mts +0 -27
  353. package/dist/kit/function-utils.mjs +0 -75
  354. package/dist/kit/gen.d.mts +0 -5
  355. package/dist/kit/gen.mjs +0 -26
  356. package/dist/kit/hash.d.mts +0 -4
  357. package/dist/kit/hash.mjs +0 -10
  358. package/dist/kit/index.d.mts +0 -22
  359. package/dist/kit/index.mjs +0 -23
  360. package/dist/kit/isFramework.d.mts +0 -6
  361. package/dist/kit/isFramework.mjs +0 -21
  362. package/dist/kit/logger.d.mts +0 -6
  363. package/dist/kit/logger.mjs +0 -10
  364. package/dist/kit/migration.d.mts +0 -113
  365. package/dist/kit/migration.mjs +0 -301
  366. package/dist/kit/module.d.mts +0 -14
  367. package/dist/kit/module.mjs +0 -53
  368. package/dist/kit/path.d.mts +0 -7
  369. package/dist/kit/path.mjs +0 -26
  370. package/dist/kit/preset.d.mts +0 -8
  371. package/dist/kit/preset.mjs +0 -11
  372. package/dist/kit/resolve.d.mts +0 -37
  373. package/dist/kit/resolve.mjs +0 -82
  374. package/dist/kit/template.d.mts +0 -19
  375. package/dist/kit/template.mjs +0 -91
  376. package/dist/kit/useRequest.d.mts +0 -19
  377. package/dist/kit/useRequest.mjs +0 -63
  378. package/dist/kit/utils.d.mts +0 -34
  379. package/dist/kit/utils.mjs +0 -91
  380. package/dist/package.mjs +0 -176
  381. package/dist/presets/_all.gen.d.mts +0 -6
  382. package/dist/presets/_all.gen.mjs +0 -18
  383. package/dist/presets/_resolve.d.mts +0 -12
  384. package/dist/presets/_resolve.mjs +0 -57
  385. package/dist/presets/_types.gen.d.mts +0 -8
  386. package/dist/presets/_types.gen.mjs +0 -5
  387. package/dist/presets/h3/preset.d.mts +0 -6
  388. package/dist/presets/h3/preset.mjs +0 -35
  389. package/dist/presets/hono/preset.d.mts +0 -6
  390. package/dist/presets/hono/preset.mjs +0 -30
  391. package/dist/presets/index.d.mts +0 -3
  392. package/dist/presets/index.mjs +0 -3
  393. package/dist/presets/nitro/preset.d.mts +0 -6
  394. package/dist/presets/nitro/preset.mjs +0 -37
  395. package/dist/presets/npmpackage/preset.d.mts +0 -6
  396. package/dist/presets/npmpackage/preset.mjs +0 -29
  397. package/dist/presets/nuxt/preset.d.mts +0 -6
  398. package/dist/presets/nuxt/preset.mjs +0 -41
  399. package/dist/runtime/index.d.mts +0 -4
  400. package/dist/runtime/index.mjs +0 -5
  401. package/dist/runtime/internal/config.d.mts +0 -11
  402. package/dist/runtime/internal/config.mjs +0 -97
  403. package/dist/runtime/internal/debug.d.mts +0 -6
  404. package/dist/runtime/internal/debug.mjs +0 -11
  405. package/dist/runtime/internal/defu.d.mts +0 -4
  406. package/dist/runtime/internal/defu.mjs +0 -9
  407. package/dist/runtime/internal/index.d.mts +0 -7
  408. package/dist/runtime/internal/index.mjs +0 -8
  409. package/dist/runtime/internal/nitro.d.mts +0 -6
  410. package/dist/runtime/internal/nitro.mjs +0 -36
  411. package/dist/runtime/internal/nuxt.d.mts +0 -12
  412. package/dist/runtime/internal/nuxt.mjs +0 -16
  413. package/dist/runtime/internal/ofetch.d.mts +0 -8
  414. package/dist/runtime/internal/ofetch.mjs +0 -39
  415. package/dist/runtime/internal/plugin.d.mts +0 -7
  416. package/dist/runtime/internal/plugin.mjs +0 -8
  417. package/dist/types/cliConfig.d.mts +0 -288
  418. package/dist/types/cliConfig.mjs +0 -0
  419. package/dist/types/cliHooks.d.mts +0 -142
  420. package/dist/types/cliHooks.mjs +0 -0
  421. package/dist/types/compatibility.d.mts +0 -13
  422. package/dist/types/compatibility.mjs +0 -0
  423. package/dist/types/config.d.mts +0 -46
  424. package/dist/types/config.mjs +0 -0
  425. package/dist/types/dotenv.d.mts +0 -29
  426. package/dist/types/dotenv.mjs +0 -0
  427. package/dist/types/event.d.mts +0 -63
  428. package/dist/types/event.mjs +0 -0
  429. package/dist/types/global.d.mts +0 -24
  430. package/dist/types/global.mjs +0 -0
  431. package/dist/types/helper.d.mts +0 -25
  432. package/dist/types/helper.mjs +0 -0
  433. package/dist/types/hooks.d.mts +0 -37
  434. package/dist/types/hooks.mjs +0 -0
  435. package/dist/types/index.d.mts +0 -26
  436. package/dist/types/index.mjs +0 -0
  437. package/dist/types/kits.d.mts +0 -32
  438. package/dist/types/kits.mjs +0 -0
  439. package/dist/types/middleware.d.mts +0 -31
  440. package/dist/types/middleware.mjs +0 -0
  441. package/dist/types/module.d.mts +0 -102
  442. package/dist/types/module.mjs +0 -0
  443. package/dist/types/preset.d.mts +0 -20
  444. package/dist/types/preset.mjs +0 -0
  445. package/dist/types/route.d.mts +0 -59
  446. package/dist/types/route.mjs +0 -0
  447. package/dist/types/runtime/index.d.mts +0 -5
  448. package/dist/types/runtime/index.mjs +0 -0
  449. package/dist/types/runtime/nuxt.d.mts +0 -13
  450. package/dist/types/runtime/nuxt.mjs +0 -0
  451. package/dist/types/runtime/ofetch.d.mts +0 -14
  452. package/dist/types/runtime/ofetch.mjs +0 -0
  453. package/dist/types/runtime/plugin.d.mts +0 -8
  454. package/dist/types/runtime/plugin.mjs +0 -0
  455. package/dist/types/runtime/silgi.d.mts +0 -11
  456. package/dist/types/runtime/silgi.mjs +0 -0
  457. package/dist/types/schema.d.mts +0 -86
  458. package/dist/types/schema.mjs +0 -0
  459. package/dist/types/service.d.mts +0 -102
  460. package/dist/types/service.mjs +0 -0
  461. package/dist/types/shared.d.mts +0 -19
  462. package/dist/types/shared.mjs +0 -0
  463. package/dist/types/silgi.d.mts +0 -71
  464. package/dist/types/silgi.mjs +0 -0
  465. package/dist/types/silgiCLI.d.mts +0 -118
  466. package/dist/types/silgiCLI.mjs +0 -0
  467. package/dist/types/standard-schema.d.mts +0 -61
  468. package/dist/types/standard-schema.mjs +0 -0
  469. package/dist/types/storage.d.mts +0 -30
  470. package/dist/types/storage.mjs +0 -0
  471. package/dist/types/tree-kill.d.mts +0 -18
  472. package/dist/types/tree-kill.mjs +0 -0
  473. package/lib/config.d.mts +0 -7
  474. package/lib/config.mjs +0 -5
  475. package/lib/meta.d.mts +0 -4
  476. package/lib/meta.mjs +0 -6
  477. package/lib/runtime-meta.d.mts +0 -4
  478. package/lib/runtime-meta.mjs +0 -32
@@ -1,49 +0,0 @@
1
- import { hasInstalledModule$1 as hasInstalledModule } from "../utils/compatibility.mjs";
2
- import { useSilgiCLI } from "silgi";
3
- import { createJiti } from "dev-jiti";
4
-
5
- //#region src/cli/module/install.ts
6
- async function loadSilgiModuleInstance(silgiModule) {
7
- if (typeof silgiModule === "string") throw new TypeError(`Could not load \`${silgiModule}\`. Is it installed?`);
8
- if (typeof silgiModule !== "function") throw new TypeError(`Nuxt module should be a function: ${silgiModule}`);
9
- return { silgiModule };
10
- }
11
- async function installModules(silgi, prepare = false) {
12
- silgi.options.isPreparingModules = prepare;
13
- const jiti = createJiti(silgi.options.rootDir, {
14
- alias: silgi.options.alias,
15
- fsCache: true,
16
- moduleCache: true
17
- });
18
- for (const module of silgi.scanModules) {
19
- if (hasInstalledModule(module.meta.configKey) && !silgi.options.dev) {}
20
- try {
21
- const silgiModule = module.entryPath !== void 0 ? await jiti.import(module.entryPath, {
22
- default: true,
23
- conditions: silgi.options.conditions
24
- }) : module.module;
25
- if (silgiModule.name !== "silgiNormalizedModule") {
26
- silgi.scanModules = silgi.scanModules.filter((m) => m.entryPath !== module.entryPath);
27
- continue;
28
- }
29
- await installModule(silgiModule, silgi, prepare);
30
- } catch (err) {
31
- silgi.logger.error(err);
32
- }
33
- }
34
- silgi.options.isPreparingModules = false;
35
- }
36
- /** Installs a module on a Nuxt instance. */
37
- async function installModule(moduleToInstall, silgi = useSilgiCLI(), inlineOptions, prepare = false) {
38
- const { silgiModule } = await loadSilgiModuleInstance(moduleToInstall);
39
- const res = await silgiModule(inlineOptions || {}, silgi) ?? {};
40
- if (res === false) return false;
41
- const metaData = await silgiModule.getMeta?.();
42
- if (prepare) return metaData;
43
- const installedModule = silgi.scanModules.find((m) => m.meta.configKey === metaData?.configKey);
44
- if (installedModule) installedModule.installed = true;
45
- else throw new Error(`Module ${metaData?.name} not found`);
46
- }
47
-
48
- //#endregion
49
- export { installModules };
@@ -1,193 +0,0 @@
1
- import { scanSilgiExports } from "../scan/scanExportFile.mjs";
2
- import { consola as consola$1 } from "consola";
3
- import { resolve } from "pathe";
4
- import { directoryToURL, resolveAlias } from "silgi/kit";
5
- import { scanExports } from "unimport";
6
- import { existsSync, promises } from "node:fs";
7
- import { isRelative } from "ufo";
8
- import { defu } from "defu";
9
- import { createJiti } from "dev-jiti";
10
- import { fileURLToPath } from "node:url";
11
- import { resolveModuleURL } from "exsolve";
12
-
13
- //#region src/cli/module/scan.ts
14
- const MissingModuleMatcher = /Cannot find module\s+['"]?([^'")\s]+)['"]?/i;
15
- async function _resolveSilgiModule(silgiModule, silgi) {
16
- let resolvedModulePath;
17
- let buildTimeModuleMeta = {};
18
- const jiti = createJiti(silgi.options.rootDir, {
19
- alias: silgi.options.alias,
20
- fsCache: true,
21
- moduleCache: true
22
- });
23
- if (typeof silgiModule === "string") {
24
- silgiModule = resolveAlias(silgiModule, silgi.options.alias);
25
- if (isRelative(silgiModule)) silgiModule = resolve(silgi.options.rootDir, silgiModule);
26
- try {
27
- const src = resolveModuleURL(silgiModule, {
28
- from: silgi.options.modulesDir.map((m) => directoryToURL(m.replace(/\/node_modules\/?$/, "/"))),
29
- suffixes: [
30
- "silgi",
31
- "silgi/index",
32
- "module",
33
- "module/index",
34
- "",
35
- "index"
36
- ],
37
- extensions: [
38
- ".js",
39
- ".mjs",
40
- ".cjs",
41
- ".ts",
42
- ".mts",
43
- ".cts"
44
- ]
45
- });
46
- resolvedModulePath = fileURLToPath(src);
47
- const resolvedSilgiModule = await jiti.import(src, { default: true });
48
- if (typeof resolvedSilgiModule !== "function") throw new TypeError(`Nuxt module should be a function: ${silgiModule}.`);
49
- silgiModule = await jiti.import(src, {
50
- default: true,
51
- conditions: silgi.options.conditions
52
- });
53
- const moduleMetadataPath = new URL("module.json", src);
54
- if (existsSync(moduleMetadataPath)) buildTimeModuleMeta = JSON.parse(await promises.readFile(moduleMetadataPath, "utf-8"));
55
- else if (typeof silgiModule === "function") {
56
- const meta = await silgiModule.getMeta?.();
57
- const _exports = await scanExports(resolvedModulePath, true);
58
- buildTimeModuleMeta = {
59
- ...meta,
60
- exports: _exports.map(({ from,...rest }) => rest)
61
- };
62
- }
63
- const runtimeFolder = new URL("runtime", src);
64
- await scanSilgiExports(runtimeFolder.pathname, buildTimeModuleMeta._packageName);
65
- } catch (error) {
66
- const code = error.code;
67
- if (code === "MODULE_NOT_FOUND" || code === "ERR_PACKAGE_PATH_NOT_EXPORTED" || code === "ERR_MODULE_NOT_FOUND" || code === "ERR_UNSUPPORTED_DIR_IMPORT" || code === "ENOTDIR") throw new TypeError(`Could not load \`${silgiModule}\`. Is it installed?`);
68
- if (code === "MODULE_NOT_FOUND" || code === "ERR_MODULE_NOT_FOUND") {
69
- const module = MissingModuleMatcher.exec(error.message)?.[1];
70
- if (module && !module.includes(silgiModule)) throw new TypeError(`Error while importing module \`${silgiModule}\`: ${error}`);
71
- }
72
- }
73
- }
74
- if (!buildTimeModuleMeta) throw new Error(`Module ${silgiModule} is not a valid Silgi module`);
75
- if (typeof silgiModule === "function") {
76
- if (!buildTimeModuleMeta.configKey) {
77
- const meta = await silgiModule.getMeta?.();
78
- buildTimeModuleMeta = {
79
- ...meta,
80
- exports: []
81
- };
82
- }
83
- if (silgi.scanModules.some((m) => m.meta?.configKey === buildTimeModuleMeta.configKey)) throw new Error(`Module with key \`${buildTimeModuleMeta.configKey}\` already exists`);
84
- const options = await silgiModule.getOptions?.() || {};
85
- if (options) silgi.options._c12.config[buildTimeModuleMeta.configKey] = defu(silgi.options._c12.config[buildTimeModuleMeta.configKey] || {}, options || {});
86
- else throw new TypeError(`Could not load \`${silgiModule}\`. Is it installed?`);
87
- silgi.scanModules.push({
88
- meta: buildTimeModuleMeta,
89
- entryPath: resolvedModulePath || void 0,
90
- installed: false,
91
- options,
92
- module: silgiModule
93
- });
94
- }
95
- }
96
- async function scanModules(silgi) {
97
- const _modules = [...silgi.options._modules, ...silgi.options.modules];
98
- for await (const mod of _modules) await _resolveSilgiModule(mod, silgi);
99
- const moduleMap = new Map(silgi.scanModules.map((m) => [m.meta?.configKey, m]));
100
- const graphData = createDependencyGraph(silgi.scanModules);
101
- const sortedKeys = topologicalSort(graphData);
102
- const modules = sortedKeys.map((key) => moduleMap.get(key)).filter((module) => Boolean(module));
103
- silgi.scanModules = modules;
104
- }
105
- function createDependencyGraph(modules) {
106
- const graph = new Map();
107
- const inDegree = new Map();
108
- modules.forEach((module) => {
109
- const key = module.meta?.configKey;
110
- if (key) {
111
- graph.set(key, new Set());
112
- inDegree.set(key, 0);
113
- }
114
- });
115
- modules.forEach((module) => {
116
- const key = module.meta?.configKey;
117
- if (!key) return;
118
- const requiredDeps = module.meta?.requiredDependencies || [];
119
- const beforeDeps = module.meta?.beforeDependencies || [];
120
- const afterDeps = module.meta?.afterDependencies || [];
121
- const processedDeps = new Set();
122
- requiredDeps.forEach((dep) => {
123
- if (!graph.has(dep)) throw new Error(`Required dependency "${dep}" for module "${key}" is missing`);
124
- graph.get(dep)?.add(key);
125
- inDegree.set(key, (inDegree.get(key) || 0) + 1);
126
- processedDeps.add(dep);
127
- });
128
- beforeDeps.forEach((dep) => {
129
- if (!graph.has(dep)) return;
130
- graph.get(key)?.add(dep);
131
- inDegree.set(dep, (inDegree.get(dep) || 0) + 1);
132
- });
133
- afterDeps.forEach((dep) => {
134
- if (processedDeps.has(dep)) return;
135
- if (!graph.has(dep)) return;
136
- graph.get(dep)?.add(key);
137
- inDegree.set(key, (inDegree.get(key) || 0) + 1);
138
- });
139
- });
140
- return {
141
- graph,
142
- inDegree
143
- };
144
- }
145
- function findCyclicDependencies(graph) {
146
- const visited = new Set();
147
- const recursionStack = new Set();
148
- const cycles = [];
149
- function dfs(node, path = []) {
150
- visited.add(node);
151
- recursionStack.add(node);
152
- path.push(node);
153
- for (const neighbor of graph.get(node) || []) if (recursionStack.has(neighbor)) {
154
- const cycleStart = path.indexOf(neighbor);
155
- if (cycleStart !== -1) cycles.push([...path.slice(cycleStart), neighbor]);
156
- } else if (!visited.has(neighbor)) dfs(neighbor, [...path]);
157
- recursionStack.delete(node);
158
- path.pop();
159
- }
160
- for (const node of graph.keys()) if (!visited.has(node)) dfs(node, []);
161
- return cycles;
162
- }
163
- function topologicalSort(graphData) {
164
- const { graph, inDegree } = graphData;
165
- const order = [];
166
- const queue = [];
167
- for (const [node, degree] of inDegree.entries()) if (degree === 0) queue.push(node);
168
- if (queue.length === 0) {}
169
- while (queue.length > 0) {
170
- const node = queue.shift();
171
- order.push(node);
172
- const neighbors = Array.from(graph.get(node) || []);
173
- for (const neighbor of neighbors) {
174
- const newDegree = (inDegree.get(neighbor) || 0) - 1;
175
- inDegree.set(neighbor, newDegree);
176
- if (newDegree === 0) queue.push(neighbor);
177
- }
178
- }
179
- if (order.length !== graph.size) {
180
- const cycles = findCyclicDependencies(graph);
181
- if (cycles.length > 0) {
182
- const cycleStr = cycles.map((cycle) => ` ${cycle.join(" -> ")}`).join("\n");
183
- throw new Error(`Circular dependencies detected:\n${cycleStr}`);
184
- } else {
185
- const unresolvedModules = Array.from(graph.keys()).filter((key) => !order.includes(key));
186
- throw new Error(`Unable to resolve dependencies for modules: ${unresolvedModules.join(", ")}`);
187
- }
188
- }
189
- return order;
190
- }
191
-
192
- //#endregion
193
- export { scanModules };
@@ -1,40 +0,0 @@
1
- import { useSilgiCLI } from "../../core/silgiApp.mjs";
2
- import { debugMode } from "../utils/debug.mjs";
3
- import { writeTemplate } from "silgi/kit";
4
- import { genAugmentation } from "knitwork";
5
-
6
- //#region src/cli/scan/prepareCommands.ts
7
- async function prepareCommands(silgi = useSilgiCLI()) {
8
- const commands = [];
9
- await silgi.callHook("prepare:commands", commands);
10
- if (debugMode("command")) writeTemplate({
11
- filename: "cli.json",
12
- where: ".silgi",
13
- write: true,
14
- getContents: () => JSON.stringify(commands, null, 2)
15
- });
16
- silgi.hook("prepare:types", async ({ references }) => {
17
- const allTags = commands.reduce((acc, commandGroup) => {
18
- Object.values(commandGroup).forEach((command) => {
19
- if (command.tags) command.tags.forEach((tag) => acc.add(tag));
20
- });
21
- return acc;
22
- }, new Set());
23
- const data = [
24
- genAugmentation("silgi/types", { SilgiCommands: { ...Object.fromEntries(Array.from(allTags.values()).map((tag) => [tag, "string"])) } }),
25
- "",
26
- "export {}"
27
- ];
28
- writeTemplate({
29
- filename: "types/commands.d.ts",
30
- write: true,
31
- where: ".silgi",
32
- getContents: () => data.join("\n")
33
- });
34
- references.push({ path: "./commands.d.ts" });
35
- });
36
- silgi.options.commands = commands;
37
- }
38
-
39
- //#endregion
40
- export { prepareCommands };
@@ -1,33 +0,0 @@
1
- import { useCLIRuntimeConfig } from "../core/runtimeConfig.mjs";
2
- import { resolve } from "pathe";
3
- import { useSilgiCLI } from "silgi";
4
- import { baseHeaderBannerComment, genEnsureSafeVar, writeFile } from "silgi/kit";
5
- import { genObjectFromRawEntries } from "knitwork";
6
-
7
- //#region src/cli/scan/prepareConfigs.ts
8
- async function prepareConfigs(silgi = useSilgiCLI()) {
9
- useCLIRuntimeConfig();
10
- const _data = { runtimeConfig: {} };
11
- for (const module of silgi.scanModules) if (module.meta.cliToRuntimeOptionsKeys && module.meta.cliToRuntimeOptionsKeys?.length > 0) for (const key of module.meta.cliToRuntimeOptionsKeys) _data[module.meta.configKey] = {
12
- ..._data[module.meta.configKey],
13
- [key]: module.options[key]
14
- };
15
- else _data[module.meta.configKey] = {};
16
- await silgi.callHook("prepare:configs.ts", _data);
17
- const importData = [
18
- "import type { SilgiRuntimeOptions, SilgiRuntimeConfig, SilgiOptions } from 'silgi/types'",
19
- "import { useRuntimeConfig } from 'silgi/runtime'",
20
- "",
21
- `export const runtimeConfig: SilgiRuntimeConfig = ${genObjectFromRawEntries(Object.entries(_data.runtimeConfig).map(([key, value]) => [key, genEnsureSafeVar(value)]), "")}`,
22
- "",
23
- "export const localConfig = useRuntimeConfig(undefined, runtimeConfig)",
24
- ""
25
- ];
26
- delete _data.runtimeConfig;
27
- importData.push(`export const cliConfigs: Partial<SilgiRuntimeOptions & SilgiOptions> = ${genObjectFromRawEntries(Object.entries(_data).map(([key, value]) => [key, genEnsureSafeVar(value)]))}`);
28
- importData.unshift(...baseHeaderBannerComment);
29
- await writeFile(resolve(silgi.options.silgi.serverDir, "configs.ts"), importData.join("\n"));
30
- }
31
-
32
- //#endregion
33
- export { prepareConfigs };
@@ -1,118 +0,0 @@
1
- import { addImports, baseHeaderBannerComment, hash, toArray } from "silgi/kit";
2
- import { genImport, genObjectFromRawEntries, genTypeImport } from "knitwork";
3
-
4
- //#region src/cli/scan/prepareCoreFile.ts
5
- async function prepareCoreFile(silgi) {
6
- const { genImports, genTypeImports, addImportItem, addImportItemType } = addImports({
7
- imports: [
8
- {
9
- specifier: "silgi/runtime",
10
- imports: [{ name: "mergeDeep" }]
11
- },
12
- {
13
- specifier: "silgi",
14
- imports: [{ name: "createSilgi" }]
15
- },
16
- {
17
- specifier: "./scan",
18
- imports: [
19
- { name: "services" },
20
- { name: "shareds" },
21
- { name: "schemas" },
22
- { name: "middlewares" },
23
- { name: "resolvers" }
24
- ]
25
- },
26
- {
27
- specifier: "./configs",
28
- imports: [{ name: "cliConfigs" }]
29
- },
30
- {
31
- specifier: "./meta",
32
- imports: [{ name: "meta" }]
33
- }
34
- ],
35
- typeImports: [{
36
- specifier: "silgi/types",
37
- imports: [{ name: "SilgiRuntimeOptions" }, { name: "BuildSilgi" }]
38
- }]
39
- });
40
- const before = [];
41
- const after = [];
42
- const _data = {
43
- silgiConfigs: [],
44
- addImportItem,
45
- addImportItemType,
46
- addBuildFunction: (data) => {
47
- for (const item of toArray(data)) {
48
- if (item.where === "after") if (item.custom) after.push(item.custom);
49
- else after.push(item.params?.length ? ` await ${item.name}(option, ${item.params.join(",")})` : ` await ${item.name}(option)`);
50
- if (item.where === "before") if (item.custom) before.push(item.custom);
51
- else before.push(item.params?.length ? ` await ${item.name}(option, ${item.params.join(",")})` : ` await ${item.name}(option)`);
52
- }
53
- }
54
- };
55
- await silgi.callHook("before:core.ts", _data);
56
- const plugins = [];
57
- for (const plugin of silgi.options.plugins) {
58
- const pluginImportName = hash(plugin.packageImport);
59
- addImportItem({
60
- specifier: plugin.packageImport,
61
- imports: pluginImportName
62
- });
63
- plugins.push(pluginImportName);
64
- }
65
- const importsContent = [
66
- ...genImports.map(({ specifier, imports, options }) => {
67
- return genImport(specifier, imports, options);
68
- }),
69
- ...genTypeImports.map(({ specifier, imports }) => {
70
- return genTypeImport(specifier, Array.isArray(imports) ? imports : [imports]);
71
- }),
72
- ""
73
- ];
74
- const importData = [
75
- "",
76
- "export async function buildSilgi(option?: BuildSilgi) {",
77
- "",
78
- "// buildSilgiBefore",
79
- ...before,
80
- "",
81
- "const silgi = await createSilgi({",
82
- " framework: option?.framework,",
83
- " shared: shareds,",
84
- " services: services,",
85
- " middlewares: middlewares,",
86
- " schemas: schemas,",
87
- " resolvers: resolvers,",
88
- ` plugins: [${plugins.join(", ")}],`,
89
- "",
90
- _data.silgiConfigs.length > 0 ? _data.silgiConfigs.map((item) => {
91
- const code = genObjectFromRawEntries(Object.entries(item));
92
- return ` ${code.slice(1, -1).trim()},`;
93
- }).filter(Boolean).join("\n") : "",
94
- "",
95
- " options: mergeDeep(cliConfigs, {",
96
- " runtimeConfig: {} as SilgiRuntimeOptions,",
97
- " meta: meta,",
98
- ` present: '${silgi.options.preset}',`,
99
- " ...option?.modules,",
100
- " ...option?.options,",
101
- " }) as any,",
102
- " })",
103
- "",
104
- "// buildSilgiAfter",
105
- ...after,
106
- "",
107
- " return silgi",
108
- "}",
109
- ""
110
- ];
111
- await silgi.callHook("after:core.ts", importData);
112
- importData.unshift(...importsContent);
113
- importData.unshift(...baseHeaderBannerComment);
114
- return importData;
115
- }
116
-
117
- //#endregion
118
- export { prepareCoreFile };
@@ -1,59 +0,0 @@
1
- import { resolve } from "pathe";
2
- import { addImports, baseHeaderBannerComment, writeFile } from "silgi/kit";
3
- import { genImport, genTypeImport } from "knitwork";
4
-
5
- //#region src/cli/scan/prepareScanFile.ts
6
- async function prepareScanFile(silgi) {
7
- const { genImports, genTypeImports, addImportItem, addImportItemType } = addImports({});
8
- const scanned = {
9
- services: [],
10
- shareds: [],
11
- resolvers: [],
12
- schemas: [],
13
- middlewares: [],
14
- addImportItem,
15
- addImportItemType
16
- };
17
- await silgi.callHook("before:scan.ts", scanned);
18
- const importsContent = [
19
- ...genImports.map(({ specifier, imports, options }) => {
20
- return genImport(specifier, imports, options);
21
- }),
22
- ...genTypeImports.map(({ specifier, imports }) => {
23
- return genTypeImport(specifier, Array.isArray(imports) ? imports : [imports]);
24
- }),
25
- ""
26
- ];
27
- const generateExport = (name, items, defaultEmpty = "{}", asArray = false) => {
28
- const hasItems = items.length > 0;
29
- if (asArray) return [
30
- `export const ${name} = [`,
31
- ...items.map((item) => ` ${item},`),
32
- "]",
33
- ""
34
- ];
35
- if (hasItems) return [
36
- `export const ${name} = {`,
37
- ...items.map((item) => ` ...${item},`),
38
- "}",
39
- ""
40
- ];
41
- else return [`export const ${name} = ${defaultEmpty}`, ""];
42
- };
43
- const importData = [
44
- "",
45
- ...generateExport("schemas", scanned.schemas),
46
- ...generateExport("services", scanned.services),
47
- ...generateExport("shareds", scanned.shareds, "undefined"),
48
- ...generateExport("resolvers", scanned.resolvers, "[]", true),
49
- ...generateExport("middlewares", scanned.middlewares)
50
- ];
51
- await silgi.callHook("after:scan.ts", importData);
52
- importData.unshift(...importsContent);
53
- importData.unshift(...baseHeaderBannerComment);
54
- await writeFile(resolve(silgi.options.silgi.serverDir, "scan.ts"), importData.join("\n"));
55
- return importData;
56
- }
57
-
58
- //#endregion
59
- export { prepareScanFile };
@@ -1,128 +0,0 @@
1
- import { addImports, getServicePath, relativeWithDot } from "silgi/kit";
2
- import { genAugmentation, genImport, genTypeImport } from "knitwork";
3
- import { generateTypes, resolveSchema } from "untyped";
4
-
5
- //#region src/cli/scan/prepareSchema.ts
6
- async function prepareSchema(silgi) {
7
- const { genImports, genTypeImports, addImportItem, addImportItemType } = addImports({
8
- imports: [],
9
- typeImports: [{
10
- specifier: "silgi/types",
11
- imports: [{ name: "URIsTypes" }, { name: "SilgiRuntimeContext" }]
12
- }]
13
- });
14
- const data = {
15
- addImportItem,
16
- addImportItemType,
17
- options: [],
18
- contexts: [],
19
- setupModuleOption: [],
20
- shareds: [],
21
- resolvers: [],
22
- events: [],
23
- hooks: [],
24
- runtimeHooks: [],
25
- runtimeOptions: [],
26
- methods: [],
27
- routeRules: [],
28
- metaDatas: []
29
- };
30
- await silgi.callHook("before:schema.ts", data);
31
- const silgiScanTS = relativeWithDot(silgi.options.build.typesDir, `${silgi.options.silgi.serverDir}/scan`);
32
- let addSilgiContext = false;
33
- const importsContent = [
34
- ...genImports.map(({ specifier, imports, options }) => {
35
- return genImport(specifier, imports, options);
36
- }),
37
- ...genTypeImports.map(({ specifier, imports }) => {
38
- return genTypeImport(specifier, Array.isArray(imports) ? imports : [imports]);
39
- }),
40
- ""
41
- ];
42
- const importData = [
43
- "",
44
- `type SchemaExtends = typeof import('${silgiScanTS}')['schemas']`,
45
- `type BaseServices = typeof import('${silgiScanTS}')['services']`,
46
- `type ResolversExtend = ${data.resolvers?.length ? data.resolvers.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
47
- "",
48
- "",
49
- `type SilgiModuleContextExtends = ${data.contexts.length ? data.contexts.map(({ value }) => value).join(" & ") : "{}"}`,
50
- "",
51
- data.events.length ? `interface SilgiModuleEventsExtends extends ${data.events.map((item) => item.extends ? item.value : "").join(", ")} {
52
- ${data.events.map((item) => {
53
- if (item.isSilgiContext) addSilgiContext = true;
54
- return !item.extends && !addSilgiContext ? ` ${item.key}: ${item.value}` : item.isSilgiContext ? " context: SilgiRuntimeContext" : "";
55
- }).join(",\n")}
56
- }` : "interface SilgiModuleEventsExtends {}",
57
- "",
58
- `type SetupModuleOptionExtend = ${data.setupModuleOption?.length ? data.setupModuleOption.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
59
- "",
60
- `type RuntimeMethodExtends = ${data.methods?.length ? data.methods.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
61
- "",
62
- `type SilgiModuleSharedExtends = ${data.shareds.length ? data.shareds.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
63
- "",
64
- `type SilgiModuleOptionExtend = ${data.options?.length ? data.options.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
65
- "",
66
- `type SilgiRuntimeOptionExtends = ${data.runtimeOptions?.length ? data.runtimeOptions.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
67
- "",
68
- `type RouteRulesExtend = ${data.routeRules?.length ? data.routeRules.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
69
- "",
70
- `type MetaDataExtend = ${data.metaDatas?.length ? data.metaDatas.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
71
- "",
72
- silgi.options.typescript.generateRuntimeConfigTypes ? generateTypes(await resolveSchema({ ...Object.fromEntries(Object.entries(silgi.options.runtimeConfig).filter(([key]) => ![
73
- "app",
74
- "nitro",
75
- "nuxt"
76
- ].includes(key))) }), {
77
- interfaceName: "SilgiRuntimeConfigExtends",
78
- addExport: false,
79
- addDefaults: false,
80
- allowExtraKeys: false,
81
- indentation: 0
82
- }) : "",
83
- "",
84
- generateTypes(await resolveSchema({ ...silgi.services ? Object.values(silgi.services).reduce((acc, service) => {
85
- const { route } = getServicePath(service.path);
86
- if (route) acc[route] = "";
87
- return acc;
88
- }, {}) : {} }), {
89
- interfaceName: "RoutersExtend",
90
- addExport: false,
91
- addDefaults: false,
92
- allowExtraKeys: false,
93
- indentation: 0
94
- }),
95
- "",
96
- `type ModuleHooksExtend = ${data.hooks?.length ? data.hooks.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
97
- "",
98
- `type SilgiRuntimeHooksExtends = ${data.runtimeHooks?.length ? data.runtimeHooks.map(({ value }) => `${value}`).join(" & ") : "{}"}`,
99
- "",
100
- genAugmentation("silgi/types", {
101
- SilgiSchema: [{}, { extends: ["SchemaExtends"] }],
102
- ServicesObject: [{}, { extends: ["BaseServices"] }],
103
- SilgiStorageBase: [{}, { extends: ["SilgiStorageBaseExtends"] }],
104
- SilgiRuntimeContext: [{}, { extends: ["SilgiModuleContextExtends"] }],
105
- SilgiEvent: [{}, { extends: ["SilgiModuleEventsExtends"] }],
106
- SilgiRuntimeSharedsExtend: [{}, { extends: ["SilgiModuleSharedExtends"] }],
107
- SetupModuleOption: [{}, { extends: ["SetupModuleOptionExtend"] }],
108
- SilgiRuntimeOptions: [{}, { extends: ["SilgiRuntimeOptionExtends"] }],
109
- SilgiRuntimeHooks: [{}, { extends: ["SilgiRuntimeHooksExtends"] }],
110
- SilgiRuntimeConfig: [{}, { extends: ["SilgiRuntimeConfigExtends"] }],
111
- SilgiHooks: [{}, { extends: ["ModuleHooksExtend"] }],
112
- SilgiRuntimeMethods: [{}, { extends: ["RuntimeMethodExtends"] }],
113
- Resolvers: [{}, { extends: ["ResolversExtend"] }],
114
- SilgiModuleOptions: [{}, { extends: ["SilgiModuleOptionExtend"] }],
115
- RouteRules: [{}, { extends: ["RouteRulesExtend"] }],
116
- MetaData: [{}, { extends: ["MetaDataExtend"] }],
117
- Routers: [{}, { extends: ["RoutersExtend"] }]
118
- }).replace(/,\s*/g, "\n"),
119
- "",
120
- "export {}"
121
- ];
122
- await silgi.callHook("after:schema.ts", importData);
123
- importData.unshift(...importsContent);
124
- return importData;
125
- }
126
-
127
- //#endregion
128
- export { prepareSchema };