cabloy 5.1.49 → 5.1.51

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 (276) hide show
  1. package/.claude/skills/cabloy-backend-scaffold/SKILL.md +207 -0
  2. package/.claude/skills/cabloy-backend-scaffold/evals/evals.json +29 -0
  3. package/.claude/skills/cabloy-backend-scaffold/references/backend-thread-map.md +52 -0
  4. package/.claude/skills/cabloy-backend-scaffold/references/follow-up-checklist.md +39 -0
  5. package/.claude/skills/cabloy-contract-loop/SKILL.md +201 -0
  6. package/.claude/skills/cabloy-contract-loop/evals/evals.json +29 -0
  7. package/.claude/skills/cabloy-contract-loop/references/contract-loop-map.md +47 -0
  8. package/.claude/skills/cabloy-contract-loop/references/verification-checklist.md +32 -0
  9. package/.claude/skills/cabloy-frontend-scaffold/SKILL.md +230 -0
  10. package/.claude/skills/cabloy-frontend-scaffold/evals/evals.json +35 -0
  11. package/.claude/skills/cabloy-frontend-scaffold/references/follow-up-checklist.md +41 -0
  12. package/.claude/skills/cabloy-frontend-scaffold/references/frontend-thread-map.md +54 -0
  13. package/.claude/skills/cabloy-workflow/SKILL.md +288 -0
  14. package/.claude/skills/cabloy-workflow/evals/evals.json +35 -0
  15. package/.claude/skills/cabloy-workflow/references/cli-strategy.md +39 -0
  16. package/.claude/skills/cabloy-workflow/references/edition-detection.md +29 -0
  17. package/.github/workflows/docs-pages.yml +54 -0
  18. package/.gitignore +1 -0
  19. package/CHANGELOG.md +46 -0
  20. package/CLAUDE.md +59 -0
  21. package/README.md +137 -0
  22. package/cabloy-docs/.vitepress/config.mjs +222 -0
  23. package/cabloy-docs/.vitepress/public/CNAME +1 -0
  24. package/cabloy-docs/.vitepress/theme/custom.css +64 -0
  25. package/cabloy-docs/.vitepress/theme/edition-badges.md +5 -0
  26. package/cabloy-docs/.vitepress/theme/index.js +5 -0
  27. package/cabloy-docs/ai/class-placement-rule.md +138 -0
  28. package/cabloy-docs/ai/cli-for-agents.md +56 -0
  29. package/cabloy-docs/ai/cli-to-skill-map.md +165 -0
  30. package/cabloy-docs/ai/docs-skills-rules-mapping.md +167 -0
  31. package/cabloy-docs/ai/edition-detection.md +30 -0
  32. package/cabloy-docs/ai/future-skill-roadmap.md +135 -0
  33. package/cabloy-docs/ai/global-bean-lookup.md +157 -0
  34. package/cabloy-docs/ai/introduction.md +62 -0
  35. package/cabloy-docs/ai/playbook-backend-module.md +111 -0
  36. package/cabloy-docs/ai/playbook-contract-regeneration.md +100 -0
  37. package/cabloy-docs/ai/playbook-frontend-page.md +99 -0
  38. package/cabloy-docs/ai/playbook-metadata-refresh.md +67 -0
  39. package/cabloy-docs/ai/repo-guidance.md +58 -0
  40. package/cabloy-docs/ai/rules-and-config.md +29 -0
  41. package/cabloy-docs/ai/skills.md +35 -0
  42. package/cabloy-docs/ai/verification.md +30 -0
  43. package/cabloy-docs/backend/aop-overview.md +128 -0
  44. package/cabloy-docs/backend/auth-guide.md +151 -0
  45. package/cabloy-docs/backend/backend-essentials.md +128 -0
  46. package/cabloy-docs/backend/broadcast-guide.md +138 -0
  47. package/cabloy-docs/backend/cache-guide.md +70 -0
  48. package/cabloy-docs/backend/captcha-guide.md +162 -0
  49. package/cabloy-docs/backend/cli.md +173 -0
  50. package/cabloy-docs/backend/config-guide.md +249 -0
  51. package/cabloy-docs/backend/controller-aop-guide.md +270 -0
  52. package/cabloy-docs/backend/controller-guide.md +347 -0
  53. package/cabloy-docs/backend/crud-workflow.md +118 -0
  54. package/cabloy-docs/backend/dto-guide.md +161 -0
  55. package/cabloy-docs/backend/dto-infer-generation.md +153 -0
  56. package/cabloy-docs/backend/dynamic-datasource-guide.md +70 -0
  57. package/cabloy-docs/backend/election-guide.md +141 -0
  58. package/cabloy-docs/backend/entity-guide.md +150 -0
  59. package/cabloy-docs/backend/error-guide.md +108 -0
  60. package/cabloy-docs/backend/event-guide.md +183 -0
  61. package/cabloy-docs/backend/external-aop-guide.md +149 -0
  62. package/cabloy-docs/backend/field-indexes.md +79 -0
  63. package/cabloy-docs/backend/foundation.md +281 -0
  64. package/cabloy-docs/backend/i18n-guide.md +211 -0
  65. package/cabloy-docs/backend/internal-aop-guide.md +181 -0
  66. package/cabloy-docs/backend/introduction.md +95 -0
  67. package/cabloy-docs/backend/jwt-guide.md +276 -0
  68. package/cabloy-docs/backend/logger-guide.md +223 -0
  69. package/cabloy-docs/backend/mail-guide.md +189 -0
  70. package/cabloy-docs/backend/menu-guide.md +80 -0
  71. package/cabloy-docs/backend/migration-and-changes.md +192 -0
  72. package/cabloy-docs/backend/model-guide.md +274 -0
  73. package/cabloy-docs/backend/multi-database-datasource.md +171 -0
  74. package/cabloy-docs/backend/multi-instance-and-instance-resolution.md +196 -0
  75. package/cabloy-docs/backend/openapi-guide.md +118 -0
  76. package/cabloy-docs/backend/orm-aggregate-group-guide.md +210 -0
  77. package/cabloy-docs/backend/orm-configuration-guide.md +165 -0
  78. package/cabloy-docs/backend/orm-guide.md +109 -0
  79. package/cabloy-docs/backend/orm-mutation-guide.md +195 -0
  80. package/cabloy-docs/backend/orm-select-guide.md +243 -0
  81. package/cabloy-docs/backend/queue-guide.md +271 -0
  82. package/cabloy-docs/backend/quickstart.md +141 -0
  83. package/cabloy-docs/backend/redis-guide.md +70 -0
  84. package/cabloy-docs/backend/redlock-guide.md +60 -0
  85. package/cabloy-docs/backend/relations-guide.md +250 -0
  86. package/cabloy-docs/backend/runtime-and-flavors.md +304 -0
  87. package/cabloy-docs/backend/schedule-guide.md +81 -0
  88. package/cabloy-docs/backend/scripts.md +116 -0
  89. package/cabloy-docs/backend/serialization-guide.md +192 -0
  90. package/cabloy-docs/backend/service-guide.md +166 -0
  91. package/cabloy-docs/backend/sharding-guide.md +49 -0
  92. package/cabloy-docs/backend/startup-guide.md +326 -0
  93. package/cabloy-docs/backend/transaction-guide.md +82 -0
  94. package/cabloy-docs/backend/unit-testing.md +209 -0
  95. package/cabloy-docs/backend/upload-guide.md +160 -0
  96. package/cabloy-docs/backend/user-access-guide.md +157 -0
  97. package/cabloy-docs/backend/validation-guide.md +80 -0
  98. package/cabloy-docs/backend/worker-guide.md +59 -0
  99. package/cabloy-docs/editions/cabloy-basic.md +25 -0
  100. package/cabloy-docs/editions/cabloy-start.md +24 -0
  101. package/cabloy-docs/editions/detection.md +31 -0
  102. package/cabloy-docs/editions/overview.md +44 -0
  103. package/cabloy-docs/frontend/api-guide.md +93 -0
  104. package/cabloy-docs/frontend/api-schema-guide.md +43 -0
  105. package/cabloy-docs/frontend/app-startup-guide.md +185 -0
  106. package/cabloy-docs/frontend/cli.md +78 -0
  107. package/cabloy-docs/frontend/component-guide.md +105 -0
  108. package/cabloy-docs/frontend/component-props-guide.md +97 -0
  109. package/cabloy-docs/frontend/component-v-model-guide.md +110 -0
  110. package/cabloy-docs/frontend/css-in-js-guide.md +151 -0
  111. package/cabloy-docs/frontend/design-principles.md +55 -0
  112. package/cabloy-docs/frontend/environment-config-guide.md +250 -0
  113. package/cabloy-docs/frontend/foundation.md +57 -0
  114. package/cabloy-docs/frontend/generic-component-guide.md +35 -0
  115. package/cabloy-docs/frontend/icon-engine-guide.md +88 -0
  116. package/cabloy-docs/frontend/introduction.md +32 -0
  117. package/cabloy-docs/frontend/ioc-and-beans.md +211 -0
  118. package/cabloy-docs/frontend/mock-guide.md +109 -0
  119. package/cabloy-docs/frontend/model-architecture.md +87 -0
  120. package/cabloy-docs/frontend/model-state-guide.md +70 -0
  121. package/cabloy-docs/frontend/module-scope.md +168 -0
  122. package/cabloy-docs/frontend/modules-and-suites.md +179 -0
  123. package/cabloy-docs/frontend/navigation-guards-guide.md +68 -0
  124. package/cabloy-docs/frontend/openapi-sdk-guide.md +102 -0
  125. package/cabloy-docs/frontend/page-guide.md +223 -0
  126. package/cabloy-docs/frontend/page-params-guide.md +87 -0
  127. package/cabloy-docs/frontend/page-query-guide.md +96 -0
  128. package/cabloy-docs/frontend/page-route-guide.md +147 -0
  129. package/cabloy-docs/frontend/quickstart.md +201 -0
  130. package/cabloy-docs/frontend/route-alias-guide.md +61 -0
  131. package/cabloy-docs/frontend/scripts.md +86 -0
  132. package/cabloy-docs/frontend/sdk-guide.md +45 -0
  133. package/cabloy-docs/frontend/server-data.md +74 -0
  134. package/cabloy-docs/frontend/ssr-client-only.md +40 -0
  135. package/cabloy-docs/frontend/ssr-env.md +51 -0
  136. package/cabloy-docs/frontend/ssr-init-data.md +46 -0
  137. package/cabloy-docs/frontend/ssr-overview.md +48 -0
  138. package/cabloy-docs/frontend/ssr-seo-meta.md +52 -0
  139. package/cabloy-docs/frontend/system-startup-guide.md +186 -0
  140. package/cabloy-docs/frontend/theme-guide.md +154 -0
  141. package/cabloy-docs/frontend/zod-guide.md +161 -0
  142. package/cabloy-docs/fullstack/edition-collaboration-differences.md +61 -0
  143. package/cabloy-docs/fullstack/frontend-metadata-to-backend.md +64 -0
  144. package/cabloy-docs/fullstack/introduction.md +69 -0
  145. package/cabloy-docs/fullstack/openapi-to-sdk.md +116 -0
  146. package/cabloy-docs/fullstack/quickstart.md +86 -0
  147. package/cabloy-docs/fullstack/vona-zova-integration.md +86 -0
  148. package/cabloy-docs/index.md +73 -0
  149. package/cabloy-docs/package.json +16 -0
  150. package/cabloy-docs/pnpm-lock.yaml +1607 -0
  151. package/cabloy-docs/reference/backend-directory-structure.md +88 -0
  152. package/cabloy-docs/reference/cli-reference.md +49 -0
  153. package/cabloy-docs/reference/glossary.md +38 -0
  154. package/cabloy-docs/reference/package-map.md +105 -0
  155. package/cabloy-docs/reference/repo-scripts.md +36 -0
  156. package/package.json +4 -1
  157. package/scripts/init.ts +12 -0
  158. package/scripts/upgrade.ts +31 -3
  159. package/vona/README.md +3 -3
  160. package/vona/README.zh-CN.md +4 -4
  161. package/vona/packages-vona/vona/package.json +1 -1
  162. package/vona/src/suite-vendor/a-cabloy/modules/a-datasharding/package.json +1 -1
  163. package/vona/src/suite-vendor/a-cabloy/modules/a-datasharding/src/bean/summerCache.datasourceWrite.ts +2 -2
  164. package/vona/src/suite-vendor/a-cabloy/package.json +1 -1
  165. package/vona/src/suite-vendor/a-captcha/modules/a-captcha/package.json +1 -1
  166. package/vona/src/suite-vendor/a-captcha/modules/a-captcha/src/bean/cacheRedis.captcha.ts +2 -2
  167. package/vona/src/suite-vendor/a-captcha/package.json +1 -1
  168. package/vona/src/suite-vendor/a-vona/modules/a-bean/cli/bean/metadata/generate.ts +5 -6
  169. package/vona/src/suite-vendor/a-vona/modules/a-bean/package.json +1 -1
  170. package/vona/src/suite-vendor/a-vona/modules/a-cache/cli/cacheMem/boilerplate/{{sceneName}}.{{beanName}}.ts_ +2 -2
  171. package/vona/src/suite-vendor/a-vona/modules/a-cache/cli/cacheRedis/boilerplate/{{sceneName}}.{{beanName}}.ts_ +2 -2
  172. package/vona/src/suite-vendor/a-vona/modules/a-cache/package.json +1 -1
  173. package/vona/src/suite-vendor/a-vona/modules/a-cache/src/.metadata/index.ts +13 -2
  174. package/vona/src/suite-vendor/a-vona/modules/a-cache/src/bean/bean.cache.ts +6 -7
  175. package/vona/src/suite-vendor/a-vona/modules/a-cache/src/{bean/bean.cacheMemBase.ts → service/cacheMemBase_.ts} +3 -3
  176. package/vona/src/suite-vendor/a-vona/modules/a-cache/src/{bean/bean.cacheRedisBase.ts → service/cacheRedisBase_.ts} +3 -3
  177. package/vona/src/suite-vendor/a-vona/modules/a-mailconfirm/package.json +1 -1
  178. package/vona/src/suite-vendor/a-vona/modules/a-mailconfirm/src/bean/cacheRedis.emailConfirm.ts +2 -2
  179. package/vona/src/suite-vendor/a-vona/modules/a-mailconfirm/src/bean/cacheRedis.passwordReset.ts +2 -2
  180. package/vona/src/suite-vendor/a-vona/modules/a-openapi/package.json +1 -1
  181. package/vona/src/suite-vendor/a-vona/modules/a-openapi/src/bean/summerCache.json.ts +2 -2
  182. package/vona/src/suite-vendor/a-vona/modules/a-orm/cli/databaseDialect/boilerplate/{{sceneName}}.{{beanName}}.ts_ +2 -2
  183. package/vona/src/suite-vendor/a-vona/modules/a-orm/package.json +1 -1
  184. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/.metadata/index.ts +4 -3
  185. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/bean/bean.database.ts +3 -3
  186. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/bean/bean.model.ts +1 -1
  187. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/bean/schedule.softDeletionPrune.ts +1 -1
  188. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/common/utils.ts +1 -1
  189. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/index.ts +1 -1
  190. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.model/bean.model_cache.ts +1 -1
  191. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.model/bean.model_meta.ts +1 -1
  192. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.modelBase.ts +0 -5
  193. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoAggregate.ts +1 -1
  194. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoCreate.ts +1 -1
  195. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoGet.ts +1 -1
  196. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoGroup.ts +1 -1
  197. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoMutate.ts +1 -1
  198. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoSelectAndCount.ts +1 -1
  199. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoUpdate.ts +1 -1
  200. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/index.ts +1 -0
  201. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/modelCacheBase.ts +3 -3
  202. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/relations.ts +1 -1
  203. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/relationsDynamic.ts +1 -1
  204. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/relationsMutate.ts +1 -1
  205. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/relationsStatic.ts +1 -1
  206. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/service/cacheEntity_.ts +1 -1
  207. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/service/cacheQuery_.ts +1 -1
  208. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/service/database.ts +2 -2
  209. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean/bean.databaseDialectBase.ts → service/databaseDialectBase_.ts} +38 -41
  210. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/service/db_.ts +2 -2
  211. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/service/relations_.ts +3 -3
  212. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/database.ts +0 -5
  213. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/dto/dtoGet.ts +1 -1
  214. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/dto/dtoMutate.ts +1 -1
  215. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/dto/dtoSelectAndCount.ts +1 -1
  216. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/model.ts +1 -1
  217. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/modelAggr.ts +1 -1
  218. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/modelCount.ts +1 -1
  219. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/modelGeneral.ts +1 -1
  220. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/modelGroup.ts +1 -1
  221. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/modelIncrement.ts +1 -1
  222. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/relations.ts +1 -1
  223. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/relationsColumns.ts +1 -1
  224. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/relationsDef.ts +1 -1
  225. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/relationsDefDynamic.ts +1 -1
  226. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/relationsDefMutate.ts +1 -1
  227. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/relationsMutate.ts +1 -1
  228. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/relationsTables.ts +1 -1
  229. package/vona/src/suite-vendor/a-vona/modules/a-ormdialect/package.json +1 -1
  230. package/vona/src/suite-vendor/a-vona/modules/a-ormdialect/src/bean/databaseDialect.betterSqlite3.ts +2 -2
  231. package/vona/src/suite-vendor/a-vona/modules/a-ormdialect/src/bean/databaseDialect.mysql.ts +2 -2
  232. package/vona/src/suite-vendor/a-vona/modules/a-ormdialect/src/bean/databaseDialect.pg.ts +2 -2
  233. package/vona/src/suite-vendor/a-vona/modules/a-permission/package.json +1 -1
  234. package/vona/src/suite-vendor/a-vona/modules/a-permission/src/bean/bean.permission.ts +109 -40
  235. package/vona/src/suite-vendor/a-vona/modules/a-permission/src/bean/summerCache.permission.ts +2 -2
  236. package/vona/src/suite-vendor/a-vona/modules/a-startup/package.json +1 -1
  237. package/vona/src/suite-vendor/a-vona/modules/a-startup/src/bean/cacheRedis.startupDebounce.ts +2 -2
  238. package/vona/src/suite-vendor/a-vona/modules/a-summer/cli/boilerplate/{{sceneName}}.{{beanName}}.ts_ +2 -2
  239. package/vona/src/suite-vendor/a-vona/modules/a-summer/package.json +1 -1
  240. package/vona/src/suite-vendor/a-vona/modules/a-summer/src/.metadata/index.ts +1 -1
  241. package/vona/src/suite-vendor/a-vona/modules/a-summer/src/bean/bean.summer.ts +3 -3
  242. package/vona/src/suite-vendor/a-vona/modules/a-summer/src/service/localMem_.ts +3 -3
  243. package/vona/src/suite-vendor/a-vona/modules/a-summer/src/service/localRedis_.ts +3 -3
  244. package/vona/src/suite-vendor/a-vona/modules/a-summer/src/{bean/bean.summerCacheBase.ts → service/summerCacheBase_.ts} +3 -3
  245. package/vona/src/suite-vendor/a-vona/modules/a-swagger/package.json +1 -1
  246. package/vona/src/suite-vendor/a-vona/modules/a-swagger/src/bean/summerCache.rapidoc.ts +2 -2
  247. package/vona/src/suite-vendor/a-vona/modules/a-swagger/src/bean/summerCache.swagger.ts +2 -2
  248. package/vona/src/suite-vendor/a-vona/modules/a-user/package.json +1 -1
  249. package/vona/src/suite-vendor/a-vona/modules/a-user/src/bean/cacheRedis.authToken.ts +2 -2
  250. package/vona/src/suite-vendor/a-vona/modules/a-worker/package.json +1 -1
  251. package/vona/src/suite-vendor/a-vona/modules/a-worker/src/bean/cacheRedis.workerAlive.ts +2 -2
  252. package/vona/src/suite-vendor/a-vona/package.json +1 -1
  253. package/zova/README.md +4 -4
  254. package/zova/README.zh-CN.md +4 -4
  255. package/zova/packages-zova/zova/package.json +2 -2
  256. package/zova/src/suite/a-demo/modules/demo-basic/src/page/toolTwo/controller.tsx +0 -2
  257. package/zova/src/suite/a-home/modules/home-base/src/config/locale/en-us.ts +1 -0
  258. package/zova/src/suite/a-home/modules/home-base/src/config/locale/zh-cn.ts +1 -0
  259. package/zova/src/suite/a-home/modules/home-base/src/page/errorNotFound/controller.tsx +8 -2
  260. package/zova/src/suite/a-home/modules/home-layoutweb/src/component/layoutWeb/controller.tsx +1 -1
  261. package/zova/src/suite/a-home/modules/home-layoutweb/src/component/layoutWeb/render.header.tsx +1 -1
  262. package/zova/src/suite/a-home/modules/home-layoutweb/src/component/layoutWeb/render.locale.tsx +2 -5
  263. package/zova/src/suite/a-home/modules/home-layoutweb/src/component/layoutWeb/render.tabs.tsx +1 -4
  264. package/zova/src/suite-vendor/a-zova/modules/a-router/package.json +1 -1
  265. package/zova/src/suite-vendor/a-zova/modules/a-router/src/bean/sys.router.ts +28 -6
  266. package/zova/src/suite-vendor/a-zova/modules/a-router/src/monkeySys.ts +15 -3
  267. package/zova/src/suite-vendor/a-zova/modules/a-router/src/types/router.ts +1 -0
  268. package/zova/src/suite-vendor/a-zova/modules/a-routertabs/package.json +1 -1
  269. package/zova/src/suite-vendor/a-zova/modules/a-routertabs/src/model/tabs.ts +4 -0
  270. package/zova/src/suite-vendor/a-zova/package.json +3 -3
  271. /package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.model/bean.model_crud.ts +0 -0
  272. /package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.model/bean.model_crud_inner.ts +0 -0
  273. /package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.model/bean.model_crud_table.ts +0 -0
  274. /package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.model/bean.model_knex.ts +0 -0
  275. /package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.model/bean.model_utils.ts +0 -0
  276. /package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.model/bean.model_view.ts +0 -0
@@ -0,0 +1,88 @@
1
+ # Backend Directory Structure
2
+
3
+ This page gives a compact reference view of the backend tree under `vona/`.
4
+
5
+ ## Why this page exists
6
+
7
+ The package map explains the architectural meaning of package, module, and suite boundaries.
8
+
9
+ This page complements that by showing the practical backend tree layout used in the Cabloy repository.
10
+
11
+ ## Simplified backend tree
12
+
13
+ Representative backend structure:
14
+
15
+ ```text
16
+ vona/
17
+ ├── packages-cli/
18
+ ├── packages-utils/
19
+ ├── packages-vona/
20
+ └── src/
21
+ ├── module/
22
+ ├── module-vendor/
23
+ ├── suite/
24
+ └── suite-vendor/
25
+ ```
26
+
27
+ ## Meaning of the main directories
28
+
29
+ | Path | Meaning |
30
+ | ------------------------- | ---------------------------------------- |
31
+ | `vona/packages-cli/` | Vona CLI entrypoints and command sets |
32
+ | `vona/packages-utils/` | shared backend-side utilities |
33
+ | `vona/packages-vona/` | framework packages |
34
+ | `vona/src/module/` | first-party standalone modules |
35
+ | `vona/src/module-vendor/` | vendor-provided standalone modules |
36
+ | `vona/src/suite/` | first-party suites and their modules |
37
+ | `vona/src/suite-vendor/` | vendor-provided suites and their modules |
38
+
39
+ ## Project-level backend areas
40
+
41
+ Within the backend application layer, contributors should also know these practical areas:
42
+
43
+ | Path | Meaning |
44
+ | -------------------------- | -------------------------------------------------- |
45
+ | `vona/env/` | backend env files and runtime configuration inputs |
46
+ | `vona/src/backend/config/` | project-level backend config and locale overrides |
47
+ | `vona/src/backend/typing/` | project-level backend type definitions |
48
+ | `vona/src/backend/play/` | backend playground-oriented verification assets |
49
+
50
+ ## Practical development reading of the tree
51
+
52
+ A useful rule is:
53
+
54
+ - start in `vona/src/module/` when the work belongs to a standalone module
55
+ - start in `vona/src/suite/` when the work belongs to a suite-composed business area
56
+ - inspect `vona/packages-cli/` when the task is about command discovery or generation behavior
57
+ - inspect `vona/src/backend/config/` when the task is about project-level config overrides rather than module-local defaults
58
+
59
+ A practical generator-oriented reading is:
60
+
61
+ - `:create:module` and `:create:suite` choose the structural target first
62
+ - `:create:bean` then places scene-based resources under the chosen module
63
+ - initializer commands such as `:init:constant`, `:init:types`, and `:init:asset` create module-scope resource files rather than ordinary bean-scene classes
64
+
65
+ ## Relationship to other reference pages
66
+
67
+ Read this page together with:
68
+
69
+ - [Package Map](/reference/package-map)
70
+ - [Backend Essentials](/backend/backend-essentials)
71
+ - [Backend CLI](/backend/cli)
72
+ - [Backend Scripts](/backend/scripts)
73
+
74
+ A practical split is:
75
+
76
+ - [Backend (Vona)](/backend/introduction) is the broader backend hub
77
+ - [Package Map](/reference/package-map) explains architecture boundaries and package metadata
78
+ - this page explains the practical directory tree contributors navigate
79
+
80
+ ## Implementation checks for backend file-location changes
81
+
82
+ When changing backend code, ask:
83
+
84
+ 1. does this change belong to a standalone module, a suite-contained module, or project-level backend config?
85
+ 2. is the task about generation behavior under `packages-cli/` or runtime behavior under `src/`?
86
+ 3. should the example use a module path, a suite path, or a project-level backend path?
87
+
88
+ That helps keep backend file references aligned with the actual monorepo layout.
@@ -0,0 +1,49 @@
1
+ # CLI Reference
2
+
3
+ This page is the compact reference layer for the two main command entrypoints.
4
+
5
+ ## Vona
6
+
7
+ Entry from repo root:
8
+
9
+ ```bash
10
+ npm run vona :
11
+ npm run vona :create
12
+ npm run vona :tools
13
+ ```
14
+
15
+ Primary command families:
16
+
17
+ - `bin:*`
18
+ - `create:*`
19
+ - `init:*`
20
+ - `tools:*`
21
+
22
+ ## Zova
23
+
24
+ Entry from repo root:
25
+
26
+ ```bash
27
+ npm run zova :
28
+ npm run zova :create
29
+ npm run zova :refactor
30
+ ```
31
+
32
+ Primary command families:
33
+
34
+ - `bin:*`
35
+ - `create:*`
36
+ - `init:*`
37
+ - `refactor:*`
38
+ - `tools:*`
39
+ - `openapi:*`
40
+
41
+ ## Workflow guidance for docs, skills, and rules
42
+
43
+ When creating docs, skills, or rules, use the CLI family names as the public mental model first. Only drop to file-level implementation details when the command surface is insufficient.
44
+
45
+ Use this page together with:
46
+
47
+ - [Backend Quickstart](/backend/quickstart)
48
+ - [Frontend (Zova)](/frontend/introduction)
49
+ - [Backend OpenAPI to Frontend SDK](/fullstack/openapi-to-sdk)
@@ -0,0 +1,38 @@
1
+ # Glossary
2
+
3
+ ## Cabloy
4
+
5
+ The fullstack framework and monorepo direction that combines backend and frontend workflows.
6
+
7
+ ## Vona
8
+
9
+ The backend framework in the Cabloy ecosystem.
10
+
11
+ ## Zova
12
+
13
+ The frontend framework in the Cabloy ecosystem.
14
+
15
+ ## Cabloy Basic
16
+
17
+ The public reference repository for the shared Cabloy architecture.
18
+
19
+ ## Cabloy Start
20
+
21
+ A private sibling repository with different UI and module choices, provided as a value-add edition.
22
+
23
+ ## Edition detection
24
+
25
+ The process of identifying whether the current repo is Cabloy Basic or Cabloy Start before choosing a workflow, example, or skill branch.
26
+
27
+ ## CLI-first
28
+
29
+ The practice of using existing Vona and Zova command families before attempting manual scaffolding or refactor work.
30
+
31
+ ## Read next
32
+
33
+ Use the glossary together with:
34
+
35
+ - [Fullstack Introduction](/fullstack/introduction)
36
+ - [Backend (Vona)](/backend/introduction)
37
+ - [Frontend (Zova)](/frontend/introduction)
38
+ - [Package Map](/reference/package-map)
@@ -0,0 +1,105 @@
1
+ # Package Map
2
+
3
+ This monorepo is organized around a small set of stable top-level areas.
4
+
5
+ ## Root
6
+
7
+ - `package.json` — shared scripts and release entrypoints
8
+ - `lerna.json` — package topology
9
+ - `.docs-internal/` — internal engineering docs
10
+ - `.claude/` — Claude commands, skills, and local settings
11
+ - `cabloy-docs/` — unified public docs
12
+
13
+ ## Backend side
14
+
15
+ - `vona/packages-cli/` — Vona CLI and command sets
16
+ - `vona/packages-utils/` — shared utilities
17
+ - `vona/packages-vona/` — framework packages
18
+ - `vona/src/module/` — first-party Vona modules
19
+ - `vona/src/module-vendor/` — vendor-provided modules
20
+ - `vona/src/suite/` — first-party suites and their modules
21
+ - `vona/src/suite-vendor/` — vendor-provided suites and their modules
22
+
23
+ A useful structural rule is:
24
+
25
+ - **package** is the publishable/package-metadata unit
26
+ - **module** is the main backend capability unit
27
+ - **suite** is the composition unit that groups modules into a larger architecture surface
28
+
29
+ ## Representative backend package metadata
30
+
31
+ Representative package metadata in the current repo shows the distinction clearly.
32
+
33
+ ### Module package
34
+
35
+ Example: `vona/src/module/demo-student/package.json`
36
+
37
+ - package name: `vona-module-demo-student`
38
+ - title: `demo-student`
39
+ - `vonaModule.dependencies` records module-level framework dependencies
40
+
41
+ ### Suite package
42
+
43
+ Example: `vona/src/suite/a-demo/package.json`
44
+
45
+ - package name: `vona-suite-a-demo`
46
+ - title: `a-demo`
47
+ - `dependencies` declare which module packages the suite composes
48
+
49
+ ### Suite-contained module package
50
+
51
+ Example: `vona/src/suite/a-demo/modules/demo-basic/package.json`
52
+
53
+ - package name: `vona-module-demo-basic`
54
+ - title: `demo-basic`
55
+ - `vonaModule.dependencies` still expresses module-level dependencies even when the module lives under a suite
56
+
57
+ This matters because Vona modularization is not just folder layout. Package metadata participates in dependency declarations and architecture boundaries.
58
+
59
+ ## Practical modularization edge table
60
+
61
+ | Unit | Main role | Where dependency intent is usually expressed |
62
+ | ------- | ------------------------------------- | -------------------------------------------------------------------- |
63
+ | Package | metadata and publication unit | package-level `dependencies`, scripts, exports, and release metadata |
64
+ | Module | main backend capability unit | `vonaModule.dependencies` for framework/module dependency intent |
65
+ | Suite | composition unit for multiple modules | normal package `dependencies` that compose module packages |
66
+
67
+ A practical comparison is:
68
+
69
+ - a standalone module package still uses `vonaModule.dependencies` to describe backend framework/module dependency intent
70
+ - a suite package uses ordinary package `dependencies` to compose the module packages it contains or depends on
71
+ - a suite-contained module still remains a module package with its own `vonaModule.dependencies`
72
+
73
+ ## How this relates to backend docs
74
+
75
+ Use this package map together with:
76
+
77
+ - [Backend Essentials](/backend/backend-essentials)
78
+ - [Backend Foundation](/backend/foundation)
79
+ - [Backend CLI](/backend/cli)
80
+ - [Backend Scripts](/backend/scripts)
81
+ - [Backend Directory Structure](/reference/backend-directory-structure)
82
+
83
+ A practical split is:
84
+
85
+ - the backend essentials pages explain the architecture model
86
+ - this page grounds that model in the real monorepo layout
87
+
88
+ For the broader backend entry path, also see [Backend (Vona)](/backend/introduction).
89
+
90
+ ## Frontend side
91
+
92
+ - `zova/packages-cli/` — Zova CLI and command sets
93
+ - `zova/packages-utils/` — shared utilities
94
+ - `zova/packages-zova/` — framework packages
95
+ - `zova/src/` — modules, suites, and vendor source
96
+
97
+ For the frontend architectural meaning of modules, suites, scope-driven resources, and runtime/startup structure, see `/frontend/modules-and-suites`, `/frontend/module-scope`, `/frontend/ioc-and-beans`, `/frontend/environment-config-guide`, `/frontend/app-startup-guide`, and `/frontend/system-startup-guide`.
98
+
99
+ ## Sibling edition
100
+
101
+ - `cabloy-start` is a separate sibling repository, not a subdirectory of this monorepo.
102
+
103
+ ### Maintainer note for cross-repo guidance
104
+
105
+ When maintaining docs, skills, or rules that refer to Cabloy Start, keep the cross-repo guidance conceptually aligned with the system documented here.
@@ -0,0 +1,36 @@
1
+ # Repo Scripts
2
+
3
+ The root `package.json` is the first reference point for shared monorepo workflows.
4
+
5
+ ## Current shared entrypoints in Cabloy Basic
6
+
7
+ - `npm run init`
8
+ - `npm run vona`
9
+ - `npm run zova`
10
+ - `npm run dev`
11
+ - `npm run dev:zova:admin`
12
+ - `npm run dev:zova:web`
13
+ - `npm run build`
14
+ - `npm run build:zova`
15
+ - `npm run start`
16
+ - `npm run test`
17
+ - `npm run tsc`
18
+ - `npm run docs:dev`
19
+ - `npm run docs:build`
20
+ - `npm run docs:preview`
21
+
22
+ ## Edition-sensitive note
23
+
24
+ Cabloy Start keeps the same high-level pattern while using different frontend flavors such as `cabloyStartAdmin` and `cabloyStartWeb`.
25
+
26
+ ### Documentation and automation guidance
27
+
28
+ When documenting or automating flavor-specific commands, always confirm the active repo first.
29
+
30
+ ## Read together with
31
+
32
+ Use this page together with:
33
+
34
+ - [Backend Quickstart](/backend/quickstart)
35
+ - [Runtime and Flavors](/backend/runtime-and-flavors)
36
+ - [CLI Reference](/reference/cli-reference)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cabloy",
3
- "version": "5.1.49",
3
+ "version": "5.1.51",
4
4
  "gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
5
5
  "description": "A Node.js fullstack framework",
6
6
  "keywords": [
@@ -41,6 +41,9 @@
41
41
  "format:fix": "oxfmt --write",
42
42
  "lint": "oxlint",
43
43
  "lint:fix": "oxlint --fix",
44
+ "docs:dev": "pnpm --dir cabloy-docs docs:dev",
45
+ "docs:build": "pnpm --dir cabloy-docs docs:build",
46
+ "docs:preview": "pnpm --dir cabloy-docs docs:preview",
44
47
  "docs:fix": "textlint --fix ./cabloy-docs/**/*.md",
45
48
  "release-patch": "node scripts/release.ts patch",
46
49
  "release-minor": "node scripts/release.ts minor",
package/scripts/init.ts CHANGED
@@ -17,6 +17,7 @@ const __dirname = dirname(fileURLToPath(import.meta.url));
17
17
  const ROOT_DIR = resolve(__dirname, '..');
18
18
  const VONA_DIR = resolve(ROOT_DIR, 'vona');
19
19
  const ZOVA_DIR = resolve(ROOT_DIR, 'zova');
20
+ const CABLOY_DOCS_DIR = resolve(ROOT_DIR, 'cabloy-docs');
20
21
 
21
22
  // --- Helpers ---
22
23
 
@@ -202,6 +203,16 @@ function cleanupWorkspaceYaml(): void {
202
203
  }
203
204
  }
204
205
 
206
+ // --- Step G: init:cabloy-docs ---
207
+
208
+ function initCabloyDocs(): void {
209
+ const pkgPath = resolve(CABLOY_DOCS_DIR, 'package.json');
210
+ if (!existsSync(pkgPath)) return;
211
+ // eslint-disable-next-line
212
+ console.log('[init] Initializing cabloy-docs...');
213
+ exec('pnpm install --no-frozen-lockfile', CABLOY_DOCS_DIR);
214
+ }
215
+
205
216
  // --- Main ---
206
217
 
207
218
  setAppName();
@@ -210,6 +221,7 @@ generateEnvProdDockerLocal();
210
221
  cleanupWorkspaceYaml();
211
222
  initVona();
212
223
  initZova();
224
+ initCabloyDocs();
213
225
  buildSsrCabloyBasicStartBatch();
214
226
  // eslint-disable-next-line
215
227
  console.log('[init] Done!');
@@ -14,10 +14,11 @@ const TEMP_DIR = resolve(ROOT_DIR, 'node_modules/.cabloy-upgrade');
14
14
 
15
15
  // --- Whitelist ---
16
16
 
17
- const WHITELIST_DIRS: string[] = [
17
+ const OVERWRITE_DIRS: string[] = [
18
18
  // root
19
19
  'scripts',
20
20
  '.husky',
21
+ 'cabloy-docs',
21
22
  // vona
22
23
  'vona/packages-vona',
23
24
  'vona/packages-cli',
@@ -36,6 +37,12 @@ const WHITELIST_DIRS: string[] = [
36
37
  'zova/scripts',
37
38
  ];
38
39
 
40
+ const MERGE_DIRS: string[] = [
41
+ // Claude project assets
42
+ '.claude/commands',
43
+ '.claude/skills',
44
+ ];
45
+
39
46
  const BLACKLIST_DIRS: string[] = [
40
47
  // vona
41
48
  'vona/src/suite-vendor/a-test',
@@ -43,6 +50,7 @@ const BLACKLIST_DIRS: string[] = [
43
50
 
44
51
  const WHITELIST_FILES: string[] = [
45
52
  // root
53
+ 'CLAUDE.md',
46
54
  'tsconfig.json',
47
55
  'tsconfig.base.json',
48
56
  'tsconfig.base.esm.json',
@@ -79,6 +87,14 @@ function exec(cmd: string): void {
79
87
  execSync(cmd, { stdio: 'inherit', cwd: ROOT_DIR });
80
88
  }
81
89
 
90
+ function shouldCopyPath(path: string): boolean {
91
+ return !path.includes('.DS_Store');
92
+ }
93
+
94
+ function copyDirectory(src: string, dest: string): void {
95
+ cpSync(src, dest, { recursive: true, filter: shouldCopyPath });
96
+ }
97
+
82
98
  async function extractTarball(tarballPath: string, targetDir: string): Promise<void> {
83
99
  rmSync(targetDir, { recursive: true, force: true });
84
100
  mkdirSync(targetDir, { recursive: true });
@@ -145,7 +161,7 @@ async function downloadAndExtract(): Promise<void> {
145
161
 
146
162
  function selectiveOverwrite(dryRun?: boolean): void {
147
163
  // Overwrite directories
148
- for (const dir of WHITELIST_DIRS) {
164
+ for (const dir of OVERWRITE_DIRS) {
149
165
  const src = resolve(TEMP_DIR, dir);
150
166
  const dest = resolve(ROOT_DIR, dir);
151
167
  if (!existsSync(src)) continue;
@@ -156,7 +172,19 @@ function selectiveOverwrite(dryRun?: boolean): void {
156
172
  if (existsSync(dest)) {
157
173
  rmSync(dest, { recursive: true, force: true });
158
174
  }
159
- cpSync(src, dest, { recursive: true, filter: src => !src.includes('.DS_Store') });
175
+ copyDirectory(src, dest);
176
+ }
177
+
178
+ // Merge directories
179
+ for (const dir of MERGE_DIRS) {
180
+ const src = resolve(TEMP_DIR, dir);
181
+ const dest = resolve(ROOT_DIR, dir);
182
+ if (!existsSync(src)) continue;
183
+ if (dryRun) {
184
+ log(` [dry-run] Merge directory: ${dir}`);
185
+ continue;
186
+ }
187
+ copyDirectory(src, dest);
160
188
  }
161
189
 
162
190
  // Delete directories
package/vona/README.md CHANGED
@@ -2,7 +2,7 @@ English | [简体中文](./README.zh-CN.md)
2
2
 
3
3
  # Vona
4
4
 
5
- Vona is a fullstack framework for building SSR/SPA/Website/Admin in one codebase, featuring frontend and backend separation and native type sharing
5
+ Vona is a fullstack framework for building SSR/SPA/Web/Admin in one codebase, featuring frontend and backend separation and native type sharing
6
6
 
7
7
  - Supports dual-layer tabs navigation, enabling efficient page switching while maintaining page state
8
8
  - Dynamically render CRUD list pages, entry pages, and search forms, while demonstrating best practices for Tanstack Table, Tanstack Form, and Tanstack Query
@@ -37,9 +37,9 @@ Frontend-backend type sharing mechanism:
37
37
 
38
38
  ## Demo Online
39
39
 
40
- The Website and Admin of Cabloy Store are built by one codebase
40
+ The Web and Admin of Cabloy Store are built by one codebase
41
41
 
42
- - Website: [https://cabloy.com](https://cabloy.com)
42
+ - Web: [https://cabloy.com](https://cabloy.com)
43
43
  - Admin: [https://cabloy.com/admin](https://cabloy.com/admin)
44
44
 
45
45
  ## GIF Demo
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Vona 是什么
4
4
 
5
- Vona 是一款全栈框架,支持单代码库构建`SSR/SPA/Web网站/Admin中后台`,采用前后端分离架构,并内置前后端类型共享能力
5
+ Vona 是一款全栈框架,支持单代码库构建`SSR/SPA/Web/Admin`,采用前后端分离架构,并内置前后端类型共享能力
6
6
 
7
7
  - 提供 DTO 动态推断与生成能力,减少重复的类型定义工作,提升开发效率
8
8
  - 支持双层页签导航,实现高效页面切换,并保持页面状态
@@ -37,10 +37,10 @@ Vona 采用前后端分离的架构。前端使用 Zova 框架,将构建生成
37
37
 
38
38
  ## 在线演示
39
39
 
40
- 使用同一套代码实现 Cabloy Store 的`Web网站`和`Admin中后台`
40
+ 使用同一套代码实现 Cabloy Store 的`Web`和`Admin`
41
41
 
42
- - Web 网站:[https://cabloy.com](https://cabloy.com)
43
- - Admin 中后台:[https://cabloy.com/admin](https://cabloy.com/admin)
42
+ - Web[https://cabloy.com](https://cabloy.com)
43
+ - Admin[https://cabloy.com/admin](https://cabloy.com/admin)
44
44
 
45
45
  ## 动图演示
46
46
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona",
3
- "version": "5.1.40",
3
+ "version": "5.1.41",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "Vona is an intuitive, elegant and powerful Node.js framework for rapidly developing enterprise applications of any size",
6
6
  "keywords": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-a-datasharding",
3
- "version": "5.1.5",
3
+ "version": "5.1.6",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "keywords": [
@@ -1,7 +1,7 @@
1
1
  import type { TableIdentity } from 'table-identity';
2
2
  import type { IDatabaseClientRecord } from 'vona-module-a-orm';
3
3
 
4
- import { BeanSummerCacheBase, SummerCache } from 'vona-module-a-summer';
4
+ import { ServiceSummerCacheBase, SummerCache } from 'vona-module-a-summer';
5
5
 
6
6
  export type TSummerCacheDatasourceWriteKey = TableIdentity;
7
7
  export type TSummerCacheDatasourceWriteData = keyof IDatabaseClientRecord;
@@ -14,7 +14,7 @@ export type TSummerCacheDatasourceWriteData = keyof IDatabaseClientRecord;
14
14
  ttl: 3 * 1000, // 3s
15
15
  },
16
16
  })
17
- export class SummerCacheDatasourceWrite extends BeanSummerCacheBase<
17
+ export class SummerCacheDatasourceWrite extends ServiceSummerCacheBase<
18
18
  TSummerCacheDatasourceWriteKey,
19
19
  TSummerCacheDatasourceWriteData
20
20
  > {}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-suite-a-cabloy",
3
- "version": "5.1.28",
3
+ "version": "5.1.29",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "author": "",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-a-captcha",
3
- "version": "5.1.6",
3
+ "version": "5.1.7",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "keywords": [
@@ -1,4 +1,4 @@
1
- import { BeanCacheRedisBase, CacheRedis } from 'vona-module-a-cache';
1
+ import { ServiceCacheRedisBase, CacheRedis } from 'vona-module-a-cache';
2
2
 
3
3
  import type { ICaptchaDataCache } from '../types/captcha.ts';
4
4
 
@@ -6,7 +6,7 @@ export type TCacheRedisCaptchaKey = string;
6
6
  export type TCacheRedisCaptchaData = ICaptchaDataCache;
7
7
 
8
8
  @CacheRedis({ disableTransactionCompensate: true })
9
- export class CacheRedisCaptcha extends BeanCacheRedisBase<
9
+ export class CacheRedisCaptcha extends ServiceCacheRedisBase<
10
10
  TCacheRedisCaptchaKey,
11
11
  TCacheRedisCaptchaData
12
12
  > {}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-suite-a-captcha",
3
- "version": "5.1.10",
3
+ "version": "5.1.11",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "author": "",
@@ -5,20 +5,19 @@ export default async function (options: IMetadataCustomGenerateOptions): Promise
5
5
  const contentImports: string[] = [];
6
6
  const contentRecordsGlobal: string[] = [];
7
7
  for (const globFile of globFiles) {
8
- const { className, beanName, fileNameJSRelative, isIgnore, isVirtual } = globFile;
9
- if (isIgnore || isVirtual) continue;
10
- const beanFullName = beanName;
8
+ const { className, beanName, fileNameJSRelative, isIgnore } = globFile;
9
+ if (isIgnore) continue;
11
10
  contentImports.push(`import type { ${className} } from '${fileNameJSRelative}';`);
12
- contentRecordsGlobal.push(`'${beanFullName}': ${className};`);
11
+ contentRecordsGlobal.push(` '${beanName}': ${className};`);
13
12
  }
14
13
  if (contentImports.length === 0) return '';
15
14
  // combine
16
15
  const content = `/** ${sceneName}: begin */
17
16
  ${contentImports.join('\n')}
18
- import 'vona';
17
+ import 'vona';
19
18
  declare module 'vona' {
20
19
  export interface IBeanRecordGlobal {
21
- ${contentRecordsGlobal.join('\n')}
20
+ ${contentRecordsGlobal.join('\n')}
22
21
  }
23
22
  }
24
23
  /** ${sceneName}: end */
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-a-bean",
3
- "version": "5.1.5",
3
+ "version": "5.1.6",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "keywords": [
@@ -1,8 +1,8 @@
1
- import { BeanCacheMemBase, CacheMem } from 'vona-module-a-cache';
1
+ import { ServiceCacheMemBase, CacheMem } from 'vona-module-a-cache';
2
2
 
3
3
  export type TCacheMem<%=argv.beanNameCapitalize%>Key = any;
4
4
  export type TCacheMem<%=argv.beanNameCapitalize%>Data = any;
5
5
 
6
6
  @CacheMem()
7
7
  export class CacheMem<%=argv.beanNameCapitalize%>
8
- extends BeanCacheMemBase<TCacheMem<%=argv.beanNameCapitalize%>Key, TCacheMem<%=argv.beanNameCapitalize%>Data> {}
8
+ extends ServiceCacheMemBase<TCacheMem<%=argv.beanNameCapitalize%>Key, TCacheMem<%=argv.beanNameCapitalize%>Data> {}
@@ -1,8 +1,8 @@
1
- import { BeanCacheRedisBase, CacheRedis } from 'vona-module-a-cache';
1
+ import { ServiceCacheRedisBase, CacheRedis } from 'vona-module-a-cache';
2
2
 
3
3
  export type TCacheRedis<%=argv.beanNameCapitalize%>Key = any;
4
4
  export type TCacheRedis<%=argv.beanNameCapitalize%>Data = any;
5
5
 
6
6
  @CacheRedis()
7
7
  export class CacheRedis<%=argv.beanNameCapitalize%>
8
- extends BeanCacheRedisBase<TCacheRedis<%=argv.beanNameCapitalize%>Key, TCacheRedis<%=argv.beanNameCapitalize%>Data> {}
8
+ extends ServiceCacheRedisBase<TCacheRedis<%=argv.beanNameCapitalize%>Key, TCacheRedis<%=argv.beanNameCapitalize%>Data> {}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-a-cache",
3
- "version": "5.1.5",
3
+ "version": "5.1.6",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "keywords": [
@@ -1,8 +1,6 @@
1
1
  // eslint-disable
2
2
  /** bean: begin */
3
3
  export * from '../bean/bean.cache.ts';
4
- export * from '../bean/bean.cacheMemBase.ts';
5
- export * from '../bean/bean.cacheRedisBase.ts';
6
4
 
7
5
  import 'vona';
8
6
  declare module 'vona' {
@@ -26,6 +24,19 @@ declare module 'vona' {
26
24
  }
27
25
  }
28
26
  /** bean: end */
27
+ /** service: begin */
28
+ export * from '../service/cacheMemBase_.ts';
29
+ export * from '../service/cacheRedisBase_.ts';
30
+
31
+ import 'vona-module-a-bean';
32
+ declare module 'vona-module-a-bean' {
33
+
34
+
35
+ }
36
+ declare module 'vona-module-a-cache' {
37
+
38
+ }
39
+ /** service: end */
29
40
  /** broadcast: begin */
30
41
  export * from '../bean/broadcast.memClear.ts';
31
42
  export * from '../bean/broadcast.memDel.ts';