@akanjs/cli 1.0.20 → 2.1.0-rc.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 (641) hide show
  1. package/guidelines/componentRule/componentRule.generate.json +37 -0
  2. package/guidelines/componentRule/componentRule.instruction.md +28 -0
  3. package/guidelines/cssRule/cssRule.generate.json +37 -0
  4. package/guidelines/cssRule/cssRule.instruction.md +28 -0
  5. package/guidelines/docPageRule/docPageRule.generate.json +37 -0
  6. package/guidelines/docPageRule/docPageRule.instruction.md +25 -0
  7. package/guidelines/docSyncRule/docSyncRule.generate.json +37 -0
  8. package/guidelines/docSyncRule/docSyncRule.instruction.md +25 -0
  9. package/guidelines/enumConstant/enumConstant.generate.json +37 -0
  10. package/guidelines/enumConstant/enumConstant.instruction.md +28 -0
  11. package/guidelines/fieldRule/fieldRule.generate.json +37 -0
  12. package/guidelines/fieldRule/fieldRule.instruction.md +31 -0
  13. package/guidelines/framework/framework.generate.json +37 -0
  14. package/guidelines/framework/framework.instruction.md +29 -0
  15. package/guidelines/modelConstant/modelConstant.generate.json +37 -0
  16. package/guidelines/modelConstant/modelConstant.instruction.md +30 -0
  17. package/guidelines/modelDictionary/modelDictionary.generate.json +37 -0
  18. package/guidelines/modelDictionary/modelDictionary.instruction.md +30 -0
  19. package/guidelines/modelDocument/modelDocument.generate.json +37 -0
  20. package/guidelines/modelDocument/modelDocument.instruction.md +29 -0
  21. package/guidelines/modelService/modelService.generate.json +37 -0
  22. package/guidelines/modelService/modelService.instruction.md +28 -0
  23. package/guidelines/modelSignal/modelSignal.generate.json +37 -0
  24. package/guidelines/modelSignal/modelSignal.instruction.md +28 -0
  25. package/guidelines/modelStore/modelStore.generate.json +37 -0
  26. package/guidelines/modelStore/modelStore.instruction.md +28 -0
  27. package/guidelines/modelTemplate/modelTemplate.generate.json +37 -0
  28. package/guidelines/modelTemplate/modelTemplate.instruction.md +25 -0
  29. package/guidelines/modelUnit/modelUnit.generate.json +37 -0
  30. package/guidelines/modelUnit/modelUnit.instruction.md +25 -0
  31. package/guidelines/modelUtil/modelUtil.generate.json +37 -0
  32. package/guidelines/modelUtil/modelUtil.instruction.md +25 -0
  33. package/guidelines/modelView/modelView.generate.json +37 -0
  34. package/guidelines/modelView/modelView.instruction.md +25 -0
  35. package/guidelines/modelZone/modelZone.generate.json +37 -0
  36. package/guidelines/modelZone/modelZone.instruction.md +25 -0
  37. package/guidelines/moduleCodegen/moduleCodegen.generate.json +37 -0
  38. package/guidelines/moduleCodegen/moduleCodegen.instruction.md +28 -0
  39. package/guidelines/moduleOverview/moduleOverview.generate.json +37 -0
  40. package/guidelines/moduleOverview/moduleOverview.instruction.md +31 -0
  41. package/guidelines/scalarConstant/scalarConstant.generate.json +37 -0
  42. package/guidelines/scalarConstant/scalarConstant.instruction.md +28 -0
  43. package/guidelines/scalarDictionary/scalarDictionary.generate.json +37 -0
  44. package/guidelines/scalarDictionary/scalarDictionary.instruction.md +28 -0
  45. package/guidelines/scalarModule/scalarModule.generate.json +37 -0
  46. package/guidelines/scalarModule/scalarModule.instruction.md +29 -0
  47. package/guidelines/sharedUiUsage/sharedUiUsage.generate.json +37 -0
  48. package/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +25 -0
  49. package/guidelines/utilUiUsage/utilUiUsage.generate.json +37 -0
  50. package/guidelines/utilUiUsage/utilUiUsage.instruction.md +25 -0
  51. package/index.js +11630 -0
  52. package/package.json +38 -56
  53. package/templates/__scalar/__model__/__model__.constant.ts +15 -0
  54. package/templates/__scalar/__model__/__model__.dictionary.ts +19 -0
  55. package/templates/__scalar/__model__/__model__.document.ts +15 -0
  56. package/templates/app/akan.config.ts +14 -0
  57. package/templates/app/env/env.client.debug.ts.template +7 -0
  58. package/templates/app/env/env.client.develop.ts.template +7 -0
  59. package/templates/app/env/env.client.local.ts.template +7 -0
  60. package/templates/app/env/env.client.main.ts.template +7 -0
  61. package/templates/app/env/env.client.testing.ts.template +7 -0
  62. package/{esm/src/templates/app/env/env.client.js → templates/app/env/env.client.ts} +7 -6
  63. package/templates/app/env/env.client.type.ts +16 -0
  64. package/{esm/src/templates/app/env/env.server.testing.ts.template → templates/app/env/env.server.debug.ts.template} +3 -2
  65. package/templates/app/env/env.server.develop.ts.template +7 -0
  66. package/templates/app/env/env.server.local.ts.template +7 -0
  67. package/templates/app/env/env.server.main.ts.template +7 -0
  68. package/{cjs/src/templates → templates}/app/env/env.server.testing.ts.template +0 -0
  69. package/{esm/src/templates/app/env/env.server.js → templates/app/env/env.server.ts} +7 -6
  70. package/templates/app/lib/___appName__/__appName__.dictionary.ts +17 -0
  71. package/templates/app/lib/___appName__/__appName__.service.ts +13 -0
  72. package/templates/app/lib/___appName__/__appName__.signal.ts +17 -0
  73. package/templates/app/lib/___appName__/__appName__.store.ts +17 -0
  74. package/templates/app/lib/option.ts +18 -0
  75. package/templates/app/main.ts +16 -0
  76. package/templates/app/page/_index.tsx +296 -0
  77. package/templates/app/page/_layout.tsx +31 -0
  78. package/templates/app/page/styles.css.template +53 -0
  79. package/templates/app/public/favicon.ico +0 -0
  80. package/templates/app/public/logo.png +0 -0
  81. package/{esm/src/templates → templates}/app/tsconfig.json.template +0 -1
  82. package/templates/client.ts +46 -0
  83. package/templates/crudPages/[__model__Id]/edit/page.tsx +47 -0
  84. package/templates/crudPages/[__model__Id]/page.tsx +52 -0
  85. package/templates/crudPages/new/page.tsx +42 -0
  86. package/templates/crudPages/page.tsx +43 -0
  87. package/templates/crudSinglePage/page.tsx +37 -0
  88. package/templates/env/_env.server.type.ts +16 -0
  89. package/templates/facetIndex/index.ts +33 -0
  90. package/templates/index.ts +10 -0
  91. package/templates/lib/__lib/lib.constant.ts +38 -0
  92. package/templates/lib/__lib/lib.dictionary.ts +33 -0
  93. package/templates/lib/__lib/lib.document.ts +35 -0
  94. package/templates/lib/__lib/lib.service.ts +33 -0
  95. package/templates/lib/__lib/lib.signal.ts +34 -0
  96. package/templates/lib/__lib/lib.store.ts +33 -0
  97. package/templates/lib/cnst.ts +29 -0
  98. package/templates/lib/db.ts +32 -0
  99. package/{esm/src/templates/lib/dict.js → templates/lib/dict.ts} +16 -16
  100. package/templates/lib/sig.ts +60 -0
  101. package/templates/lib/srv.ts +34 -0
  102. package/templates/lib/st.ts +31 -0
  103. package/templates/lib/useClient.ts +19 -0
  104. package/templates/lib/useServer.ts +7 -0
  105. package/templates/libRoot/akan.config.ts +12 -0
  106. package/templates/libRoot/base/baseLogic.ts +14 -0
  107. package/templates/libRoot/base/index.ts +8 -0
  108. package/templates/libRoot/common/commonLogic.ts +14 -0
  109. package/templates/libRoot/common/index.ts +8 -0
  110. package/{esm/src/templates/libRoot/lib/___libName__/__libName__.dictionary.js → templates/libRoot/lib/___libName__/__libName__.dictionary.ts} +6 -6
  111. package/templates/libRoot/lib/___libName__/__libName__.service.ts +13 -0
  112. package/templates/libRoot/lib/___libName__/__libName__.store.ts +15 -0
  113. package/templates/libRoot/lib/option.ts +18 -0
  114. package/templates/libRoot/srvkit/backendLogic.ts +13 -0
  115. package/templates/libRoot/srvkit/index.ts +8 -0
  116. package/templates/libRoot/ui/index.ts +8 -0
  117. package/templates/libRoot/webkit/frontendLogic.ts +13 -0
  118. package/templates/libRoot/webkit/index.ts +8 -0
  119. package/templates/localDev/docker-compose.yaml.template +37 -0
  120. package/{esm/src/templates/module/__Model__.Template.js → templates/module/__Model__.Template.tsx} +11 -8
  121. package/templates/module/__Model__.Unit.tsx +26 -0
  122. package/templates/module/__Model__.Util.tsx +30 -0
  123. package/{esm/src/templates/module/__Model__.View.js → templates/module/__Model__.View.tsx} +11 -8
  124. package/{esm/src/templates/module/__Model__.Zone.js → templates/module/__Model__.Zone.tsx} +15 -12
  125. package/{esm/src/templates/module/__model__.constant.js → templates/module/__model__.constant.ts} +9 -6
  126. package/{esm/src/templates/module/__model__.dictionary.js → templates/module/__model__.dictionary.ts} +12 -9
  127. package/templates/module/__model__.document.ts +23 -0
  128. package/templates/module/__model__.service.ts +16 -0
  129. package/{esm/src/templates/module/__model__.signal.js → templates/module/__model__.signal.ts} +10 -7
  130. package/templates/module/__model__.store.ts +21 -0
  131. package/templates/moduleRoot/index.tsx +31 -0
  132. package/{esm/src/templates/libRoot → templates/pkgRoot}/tsconfig.json.template +2 -3
  133. package/templates/server.ts +45 -0
  134. package/templates/service/__model__.dictionary.ts +19 -0
  135. package/templates/service/__model__.service.ts +13 -0
  136. package/templates/service/__model__.signal.ts +17 -0
  137. package/templates/service/__model__.store.ts +17 -0
  138. package/templates/workspaceRoot/.env.template +14 -0
  139. package/{cjs/src/templates → templates}/workspaceRoot/.gitignore.template +14 -13
  140. package/templates/workspaceRoot/.vscode/settings.json.template +23 -0
  141. package/templates/workspaceRoot/biome.json.template +191 -0
  142. package/templates/workspaceRoot/bunfig.toml +4 -0
  143. package/templates/workspaceRoot/package.json.template +7 -0
  144. package/templates/workspaceRoot/tsconfig.json.template +29 -0
  145. package/README.md +0 -307
  146. package/cjs/index.js +0 -7778
  147. package/cjs/src/guidelines/___library/sharedUiStructureDescription.en.md +0 -767
  148. package/cjs/src/guidelines/___library/utilUiStructureDescription.en.md +0 -395
  149. package/cjs/src/guidelines/___lint/lintRuleDescription.en.md +0 -64
  150. package/cjs/src/guidelines/___module/moduleStructureDescription.en.md +0 -80
  151. package/cjs/src/guidelines/componentRule/componentRule.generate.json +0 -131
  152. package/cjs/src/guidelines/componentRule/componentRule.instruction.md +0 -637
  153. package/cjs/src/guidelines/cssRule/cssRule.generate.json +0 -93
  154. package/cjs/src/guidelines/cssRule/cssRule.instruction.md +0 -435
  155. package/cjs/src/guidelines/databaseModule/databaseModule.generate.json +0 -51
  156. package/cjs/src/guidelines/databaseModule/databaseModule.instruction.md +0 -631
  157. package/cjs/src/guidelines/docPageRule/docPageRule.generate.json +0 -72
  158. package/cjs/src/guidelines/docPageRule/docPageRule.instruction.md +0 -389
  159. package/cjs/src/guidelines/enumConstant/enumConstant.generate.json +0 -24
  160. package/cjs/src/guidelines/enumConstant/enumConstant.instruction.md +0 -232
  161. package/cjs/src/guidelines/framework/framework.generate.json +0 -119
  162. package/cjs/src/guidelines/framework/framework.instruction.md +0 -1110
  163. package/cjs/src/guidelines/howToUseStore/howToUseStore.generate.json +0 -0
  164. package/cjs/src/guidelines/modelConstant/modelConstant.generate.json +0 -128
  165. package/cjs/src/guidelines/modelConstant/modelConstant.instruction.md +0 -506
  166. package/cjs/src/guidelines/modelDictionary/modelDictionary.generate.json +0 -108
  167. package/cjs/src/guidelines/modelDictionary/modelDictionary.instruction.md +0 -547
  168. package/cjs/src/guidelines/modelDocument/modelDocument.generate.json +0 -129
  169. package/cjs/src/guidelines/modelDocument/modelDocument.instruction.md +0 -659
  170. package/cjs/src/guidelines/modelService/modelService.generate.json +0 -135
  171. package/cjs/src/guidelines/modelService/modelService.instruction.md +0 -708
  172. package/cjs/src/guidelines/modelSignal/modelSignal.generate.json +0 -201
  173. package/cjs/src/guidelines/modelSignal/modelSignal.instruction.md +0 -552
  174. package/cjs/src/guidelines/modelStore/modelStore.generate.json +0 -130
  175. package/cjs/src/guidelines/modelStore/modelStore.instruction.md +0 -590
  176. package/cjs/src/guidelines/modelTemplate/modelTemplate.generate.json +0 -104
  177. package/cjs/src/guidelines/modelTemplate/modelTemplate.instruction.md +0 -604
  178. package/cjs/src/guidelines/modelUnit/modelUnit.generate.json +0 -92
  179. package/cjs/src/guidelines/modelUnit/modelUnit.instruction.md +0 -541
  180. package/cjs/src/guidelines/modelUtil/modelUtil.generate.json +0 -93
  181. package/cjs/src/guidelines/modelUtil/modelUtil.instruction.md +0 -752
  182. package/cjs/src/guidelines/modelView/modelView.generate.json +0 -80
  183. package/cjs/src/guidelines/modelView/modelView.instruction.md +0 -1005
  184. package/cjs/src/guidelines/modelZone/modelZone.generate.json +0 -126
  185. package/cjs/src/guidelines/modelZone/modelZone.instruction.md +0 -528
  186. package/cjs/src/guidelines/scalarConstant/scalarConstant.generate.json +0 -106
  187. package/cjs/src/guidelines/scalarConstant/scalarConstant.instruction.md +0 -442
  188. package/cjs/src/guidelines/scalarDictionary/scalarDictionary.generate.json +0 -83
  189. package/cjs/src/guidelines/scalarDictionary/scalarDictionary.instruction.md +0 -273
  190. package/cjs/src/guidelines/scalarModule/scalarModule.generate.json +0 -35
  191. package/cjs/src/guidelines/scalarModule/scalarModule.instruction.md +0 -81
  192. package/cjs/src/guidelines/sharedUiUsage/sharedUiUsage.generate.json +0 -108
  193. package/cjs/src/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +0 -310
  194. package/cjs/src/guidelines/utilUiUsage/utilUiUsage.generate.json +0 -140
  195. package/cjs/src/guidelines/utilUiUsage/utilUiUsage.instruction.md +0 -339
  196. package/cjs/src/templates/__scalar/__model__/__model__.constant.js +0 -33
  197. package/cjs/src/templates/__scalar/__model__/__model__.dictionary.js +0 -37
  198. package/cjs/src/templates/__scalar/__model__/__model__.document.js +0 -33
  199. package/cjs/src/templates/app/akan.config.js +0 -33
  200. package/cjs/src/templates/app/app/[lang]/layout.js +0 -55
  201. package/cjs/src/templates/app/app/[lang]/page.js +0 -111
  202. package/cjs/src/templates/app/app/[lang]/styles.css.template +0 -20
  203. package/cjs/src/templates/app/app/csr.js +0 -36
  204. package/cjs/src/templates/app/app/index.html.template +0 -13
  205. package/cjs/src/templates/app/app/layout.js +0 -41
  206. package/cjs/src/templates/app/app/robots.js +0 -40
  207. package/cjs/src/templates/app/app/sitemap.js +0 -36
  208. package/cjs/src/templates/app/base/baseLogic.js +0 -35
  209. package/cjs/src/templates/app/base/index.js +0 -29
  210. package/cjs/src/templates/app/capacitor.config.ts.template +0 -8
  211. package/cjs/src/templates/app/common/commonLogic.js +0 -35
  212. package/cjs/src/templates/app/common/index.js +0 -29
  213. package/cjs/src/templates/app/env/env.client.debug.ts.template +0 -7
  214. package/cjs/src/templates/app/env/env.client.develop.ts.template +0 -7
  215. package/cjs/src/templates/app/env/env.client.js +0 -40
  216. package/cjs/src/templates/app/env/env.client.local.ts.template +0 -7
  217. package/cjs/src/templates/app/env/env.client.main.ts.template +0 -7
  218. package/cjs/src/templates/app/env/env.client.testing.ts.template +0 -7
  219. package/cjs/src/templates/app/env/env.client.type.js +0 -35
  220. package/cjs/src/templates/app/env/env.server.debug.ts.template +0 -10
  221. package/cjs/src/templates/app/env/env.server.develop.ts.template +0 -10
  222. package/cjs/src/templates/app/env/env.server.js +0 -39
  223. package/cjs/src/templates/app/env/env.server.local.ts.template +0 -10
  224. package/cjs/src/templates/app/env/env.server.main.ts.template +0 -10
  225. package/cjs/src/templates/app/instrumentation.js +0 -32
  226. package/cjs/src/templates/app/jest.config.js +0 -36
  227. package/cjs/src/templates/app/lib/___appName__/__appName__.dictionary.js +0 -35
  228. package/cjs/src/templates/app/lib/___appName__/__appName__.service.js +0 -31
  229. package/cjs/src/templates/app/lib/___appName__/__appName__.signal.js +0 -35
  230. package/cjs/src/templates/app/lib/___appName__/__appName__.store.js +0 -35
  231. package/cjs/src/templates/app/lib/option.js +0 -47
  232. package/cjs/src/templates/app/main.js +0 -39
  233. package/cjs/src/templates/app/nest/backendLogic.js +0 -34
  234. package/cjs/src/templates/app/nest/index.js +0 -29
  235. package/cjs/src/templates/app/next/frontendLogic.js +0 -34
  236. package/cjs/src/templates/app/next/index.js +0 -29
  237. package/cjs/src/templates/app/postcss.config.js.template +0 -8
  238. package/cjs/src/templates/app/proxy.js +0 -35
  239. package/cjs/src/templates/app/public/favicon.ico +0 -0
  240. package/cjs/src/templates/app/public/icons/icon-128x128.png +0 -0
  241. package/cjs/src/templates/app/public/icons/icon-144x144.png +0 -0
  242. package/cjs/src/templates/app/public/icons/icon-152x152.png +0 -0
  243. package/cjs/src/templates/app/public/icons/icon-192x192.png +0 -0
  244. package/cjs/src/templates/app/public/icons/icon-256x256.png +0 -0
  245. package/cjs/src/templates/app/public/icons/icon-384x384.png +0 -0
  246. package/cjs/src/templates/app/public/icons/icon-48x48.png +0 -0
  247. package/cjs/src/templates/app/public/icons/icon-512x512.png +0 -0
  248. package/cjs/src/templates/app/public/icons/icon-72x72.png +0 -0
  249. package/cjs/src/templates/app/public/icons/icon-96x96.png +0 -0
  250. package/cjs/src/templates/app/public/logo.svg +0 -70
  251. package/cjs/src/templates/app/public/manifest.json.template +0 -67
  252. package/cjs/src/templates/app/tsconfig.json.template +0 -22
  253. package/cjs/src/templates/app/tsconfig.spec.json.template +0 -7
  254. package/cjs/src/templates/app/ui/UiComponent.js +0 -38
  255. package/cjs/src/templates/app/ui/index.js +0 -29
  256. package/cjs/src/templates/client.js +0 -47
  257. package/cjs/src/templates/crudPages/[__model__Id]/edit/page.js +0 -72
  258. package/cjs/src/templates/crudPages/[__model__Id]/page.js +0 -78
  259. package/cjs/src/templates/crudPages/new/page.js +0 -67
  260. package/cjs/src/templates/crudPages/page.js +0 -68
  261. package/cjs/src/templates/crudSinglePage/page.js +0 -62
  262. package/cjs/src/templates/env/_env.server.type.js +0 -39
  263. package/cjs/src/templates/index.js +0 -29
  264. package/cjs/src/templates/lib/__lib/lib.constant.js +0 -57
  265. package/cjs/src/templates/lib/__lib/lib.dictionary.js +0 -50
  266. package/cjs/src/templates/lib/__lib/lib.document.js +0 -52
  267. package/cjs/src/templates/lib/__lib/lib.service.js +0 -59
  268. package/cjs/src/templates/lib/__lib/lib.signal.js +0 -55
  269. package/cjs/src/templates/lib/__lib/lib.store.js +0 -52
  270. package/cjs/src/templates/lib/cnst.js +0 -56
  271. package/cjs/src/templates/lib/db.js +0 -53
  272. package/cjs/src/templates/lib/dict.js +0 -69
  273. package/cjs/src/templates/lib/sig.js +0 -71
  274. package/cjs/src/templates/lib/srv.js +0 -50
  275. package/cjs/src/templates/lib/st.js +0 -50
  276. package/cjs/src/templates/lib/useClient.js +0 -40
  277. package/cjs/src/templates/lib/useServer.js +0 -31
  278. package/cjs/src/templates/libRoot/akan.config.js +0 -33
  279. package/cjs/src/templates/libRoot/base/baseLogic.js +0 -35
  280. package/cjs/src/templates/libRoot/base/index.js +0 -29
  281. package/cjs/src/templates/libRoot/common/commonLogic.js +0 -35
  282. package/cjs/src/templates/libRoot/common/index.js +0 -29
  283. package/cjs/src/templates/libRoot/jest.config.js +0 -36
  284. package/cjs/src/templates/libRoot/lib/___libName__/__libName__.dictionary.js +0 -35
  285. package/cjs/src/templates/libRoot/lib/___libName__/__libName__.service.js +0 -33
  286. package/cjs/src/templates/libRoot/lib/___libName__/__libName__.store.js +0 -35
  287. package/cjs/src/templates/libRoot/lib/option.js +0 -46
  288. package/cjs/src/templates/libRoot/nest/backendLogic.js +0 -34
  289. package/cjs/src/templates/libRoot/nest/index.js +0 -29
  290. package/cjs/src/templates/libRoot/next/frontendLogic.js +0 -34
  291. package/cjs/src/templates/libRoot/next/index.js +0 -29
  292. package/cjs/src/templates/libRoot/tsconfig.spec.json.template +0 -7
  293. package/cjs/src/templates/libRoot/ui/index.js +0 -29
  294. package/cjs/src/templates/localDev/docker-compose.yaml.template +0 -42
  295. package/cjs/src/templates/module/__Model__.Template.js +0 -53
  296. package/cjs/src/templates/module/__Model__.Unit.js +0 -43
  297. package/cjs/src/templates/module/__Model__.Util.js +0 -47
  298. package/cjs/src/templates/module/__Model__.View.js +0 -46
  299. package/cjs/src/templates/module/__Model__.Zone.js +0 -60
  300. package/cjs/src/templates/module/__model__.constant.js +0 -41
  301. package/cjs/src/templates/module/__model__.dictionary.js +0 -47
  302. package/cjs/src/templates/module/__model__.document.js +0 -46
  303. package/cjs/src/templates/module/__model__.service.js +0 -33
  304. package/cjs/src/templates/module/__model__.signal.js +0 -44
  305. package/cjs/src/templates/module/__model__.store.js +0 -38
  306. package/cjs/src/templates/module/index.js +0 -61
  307. package/cjs/src/templates/moduleRoot/index.js +0 -49
  308. package/cjs/src/templates/pkgRoot/tsconfig.json.template +0 -15
  309. package/cjs/src/templates/server.js +0 -87
  310. package/cjs/src/templates/workspaceRoot/.env.template +0 -20
  311. package/cjs/src/templates/workspaceRoot/.prettierignore.template +0 -10
  312. package/cjs/src/templates/workspaceRoot/.prettierrc.json.template +0 -6
  313. package/cjs/src/templates/workspaceRoot/.swcrc.template +0 -9
  314. package/cjs/src/templates/workspaceRoot/.vscode/settings.json.template +0 -12
  315. package/cjs/src/templates/workspaceRoot/README.md.template +0 -37
  316. package/cjs/src/templates/workspaceRoot/eslint.config.ts.template +0 -3
  317. package/cjs/src/templates/workspaceRoot/infra/app/Chart.yaml.template +0 -6
  318. package/cjs/src/templates/workspaceRoot/infra/app/templates/frontend.yaml.template +0 -182
  319. package/cjs/src/templates/workspaceRoot/infra/app/values/_common-values.yaml.template +0 -183
  320. package/cjs/src/templates/workspaceRoot/package.json.template +0 -47
  321. package/cjs/src/templates/workspaceRoot/tsconfig.json.template +0 -27
  322. package/esm/index.js +0 -7758
  323. package/esm/src/guidelines/___library/sharedUiStructureDescription.en.md +0 -767
  324. package/esm/src/guidelines/___library/utilUiStructureDescription.en.md +0 -395
  325. package/esm/src/guidelines/___lint/lintRuleDescription.en.md +0 -64
  326. package/esm/src/guidelines/___module/moduleStructureDescription.en.md +0 -80
  327. package/esm/src/guidelines/componentRule/componentRule.generate.json +0 -131
  328. package/esm/src/guidelines/componentRule/componentRule.instruction.md +0 -637
  329. package/esm/src/guidelines/cssRule/cssRule.generate.json +0 -93
  330. package/esm/src/guidelines/cssRule/cssRule.instruction.md +0 -435
  331. package/esm/src/guidelines/databaseModule/databaseModule.generate.json +0 -51
  332. package/esm/src/guidelines/databaseModule/databaseModule.instruction.md +0 -631
  333. package/esm/src/guidelines/docPageRule/docPageRule.generate.json +0 -72
  334. package/esm/src/guidelines/docPageRule/docPageRule.instruction.md +0 -389
  335. package/esm/src/guidelines/enumConstant/enumConstant.generate.json +0 -24
  336. package/esm/src/guidelines/enumConstant/enumConstant.instruction.md +0 -232
  337. package/esm/src/guidelines/framework/framework.generate.json +0 -119
  338. package/esm/src/guidelines/framework/framework.instruction.md +0 -1110
  339. package/esm/src/guidelines/howToUseStore/howToUseStore.generate.json +0 -0
  340. package/esm/src/guidelines/modelConstant/modelConstant.generate.json +0 -128
  341. package/esm/src/guidelines/modelConstant/modelConstant.instruction.md +0 -506
  342. package/esm/src/guidelines/modelDictionary/modelDictionary.generate.json +0 -108
  343. package/esm/src/guidelines/modelDictionary/modelDictionary.instruction.md +0 -547
  344. package/esm/src/guidelines/modelDocument/modelDocument.generate.json +0 -129
  345. package/esm/src/guidelines/modelDocument/modelDocument.instruction.md +0 -659
  346. package/esm/src/guidelines/modelService/modelService.generate.json +0 -135
  347. package/esm/src/guidelines/modelService/modelService.instruction.md +0 -708
  348. package/esm/src/guidelines/modelSignal/modelSignal.generate.json +0 -201
  349. package/esm/src/guidelines/modelSignal/modelSignal.instruction.md +0 -552
  350. package/esm/src/guidelines/modelStore/modelStore.generate.json +0 -130
  351. package/esm/src/guidelines/modelStore/modelStore.instruction.md +0 -590
  352. package/esm/src/guidelines/modelTemplate/modelTemplate.generate.json +0 -104
  353. package/esm/src/guidelines/modelTemplate/modelTemplate.instruction.md +0 -604
  354. package/esm/src/guidelines/modelUnit/modelUnit.generate.json +0 -92
  355. package/esm/src/guidelines/modelUnit/modelUnit.instruction.md +0 -541
  356. package/esm/src/guidelines/modelUtil/modelUtil.generate.json +0 -93
  357. package/esm/src/guidelines/modelUtil/modelUtil.instruction.md +0 -752
  358. package/esm/src/guidelines/modelView/modelView.generate.json +0 -80
  359. package/esm/src/guidelines/modelView/modelView.instruction.md +0 -1005
  360. package/esm/src/guidelines/modelZone/modelZone.generate.json +0 -126
  361. package/esm/src/guidelines/modelZone/modelZone.instruction.md +0 -528
  362. package/esm/src/guidelines/scalarConstant/scalarConstant.generate.json +0 -106
  363. package/esm/src/guidelines/scalarConstant/scalarConstant.instruction.md +0 -442
  364. package/esm/src/guidelines/scalarDictionary/scalarDictionary.generate.json +0 -83
  365. package/esm/src/guidelines/scalarDictionary/scalarDictionary.instruction.md +0 -273
  366. package/esm/src/guidelines/scalarModule/scalarModule.generate.json +0 -35
  367. package/esm/src/guidelines/scalarModule/scalarModule.instruction.md +0 -81
  368. package/esm/src/guidelines/sharedUiUsage/sharedUiUsage.generate.json +0 -108
  369. package/esm/src/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +0 -310
  370. package/esm/src/guidelines/utilUiUsage/utilUiUsage.generate.json +0 -140
  371. package/esm/src/guidelines/utilUiUsage/utilUiUsage.instruction.md +0 -339
  372. package/esm/src/templates/__scalar/__model__/__model__.constant.js +0 -13
  373. package/esm/src/templates/__scalar/__model__/__model__.dictionary.js +0 -17
  374. package/esm/src/templates/__scalar/__model__/__model__.document.js +0 -13
  375. package/esm/src/templates/app/akan.config.js +0 -13
  376. package/esm/src/templates/app/app/[lang]/layout.js +0 -35
  377. package/esm/src/templates/app/app/[lang]/page.js +0 -91
  378. package/esm/src/templates/app/app/[lang]/styles.css.template +0 -20
  379. package/esm/src/templates/app/app/csr.js +0 -16
  380. package/esm/src/templates/app/app/index.html.template +0 -13
  381. package/esm/src/templates/app/app/layout.js +0 -21
  382. package/esm/src/templates/app/app/robots.js +0 -20
  383. package/esm/src/templates/app/app/sitemap.js +0 -16
  384. package/esm/src/templates/app/base/baseLogic.js +0 -15
  385. package/esm/src/templates/app/base/index.js +0 -9
  386. package/esm/src/templates/app/capacitor.config.ts.template +0 -8
  387. package/esm/src/templates/app/common/commonLogic.js +0 -15
  388. package/esm/src/templates/app/common/index.js +0 -9
  389. package/esm/src/templates/app/env/env.client.debug.ts.template +0 -7
  390. package/esm/src/templates/app/env/env.client.develop.ts.template +0 -7
  391. package/esm/src/templates/app/env/env.client.local.ts.template +0 -7
  392. package/esm/src/templates/app/env/env.client.main.ts.template +0 -7
  393. package/esm/src/templates/app/env/env.client.testing.ts.template +0 -7
  394. package/esm/src/templates/app/env/env.client.type.js +0 -15
  395. package/esm/src/templates/app/env/env.server.debug.ts.template +0 -10
  396. package/esm/src/templates/app/env/env.server.develop.ts.template +0 -10
  397. package/esm/src/templates/app/env/env.server.local.ts.template +0 -10
  398. package/esm/src/templates/app/env/env.server.main.ts.template +0 -10
  399. package/esm/src/templates/app/instrumentation.js +0 -12
  400. package/esm/src/templates/app/jest.config.js +0 -16
  401. package/esm/src/templates/app/lib/___appName__/__appName__.dictionary.js +0 -15
  402. package/esm/src/templates/app/lib/___appName__/__appName__.service.js +0 -11
  403. package/esm/src/templates/app/lib/___appName__/__appName__.signal.js +0 -15
  404. package/esm/src/templates/app/lib/___appName__/__appName__.store.js +0 -15
  405. package/esm/src/templates/app/lib/option.js +0 -27
  406. package/esm/src/templates/app/main.js +0 -19
  407. package/esm/src/templates/app/nest/backendLogic.js +0 -14
  408. package/esm/src/templates/app/nest/index.js +0 -9
  409. package/esm/src/templates/app/next/frontendLogic.js +0 -14
  410. package/esm/src/templates/app/next/index.js +0 -9
  411. package/esm/src/templates/app/package.json.template +0 -5
  412. package/esm/src/templates/app/postcss.config.js.template +0 -8
  413. package/esm/src/templates/app/proxy.js +0 -15
  414. package/esm/src/templates/app/public/favicon.ico +0 -0
  415. package/esm/src/templates/app/public/icons/icon-128x128.png +0 -0
  416. package/esm/src/templates/app/public/icons/icon-144x144.png +0 -0
  417. package/esm/src/templates/app/public/icons/icon-152x152.png +0 -0
  418. package/esm/src/templates/app/public/icons/icon-192x192.png +0 -0
  419. package/esm/src/templates/app/public/icons/icon-256x256.png +0 -0
  420. package/esm/src/templates/app/public/icons/icon-384x384.png +0 -0
  421. package/esm/src/templates/app/public/icons/icon-48x48.png +0 -0
  422. package/esm/src/templates/app/public/icons/icon-512x512.png +0 -0
  423. package/esm/src/templates/app/public/icons/icon-72x72.png +0 -0
  424. package/esm/src/templates/app/public/icons/icon-96x96.png +0 -0
  425. package/esm/src/templates/app/public/logo.svg +0 -70
  426. package/esm/src/templates/app/public/manifest.json.template +0 -67
  427. package/esm/src/templates/app/tsconfig.spec.json.template +0 -7
  428. package/esm/src/templates/app/ui/UiComponent.js +0 -18
  429. package/esm/src/templates/app/ui/index.js +0 -9
  430. package/esm/src/templates/client.js +0 -27
  431. package/esm/src/templates/crudPages/[__model__Id]/edit/page.js +0 -52
  432. package/esm/src/templates/crudPages/[__model__Id]/page.js +0 -58
  433. package/esm/src/templates/crudPages/new/page.js +0 -47
  434. package/esm/src/templates/crudPages/page.js +0 -48
  435. package/esm/src/templates/crudSinglePage/page.js +0 -42
  436. package/esm/src/templates/env/_env.server.type.js +0 -19
  437. package/esm/src/templates/index.js +0 -9
  438. package/esm/src/templates/lib/__lib/lib.constant.js +0 -37
  439. package/esm/src/templates/lib/__lib/lib.dictionary.js +0 -30
  440. package/esm/src/templates/lib/__lib/lib.document.js +0 -32
  441. package/esm/src/templates/lib/__lib/lib.service.js +0 -39
  442. package/esm/src/templates/lib/__lib/lib.signal.js +0 -35
  443. package/esm/src/templates/lib/__lib/lib.store.js +0 -32
  444. package/esm/src/templates/lib/cnst.js +0 -36
  445. package/esm/src/templates/lib/db.js +0 -33
  446. package/esm/src/templates/lib/sig.js +0 -51
  447. package/esm/src/templates/lib/srv.js +0 -30
  448. package/esm/src/templates/lib/st.js +0 -30
  449. package/esm/src/templates/lib/useClient.js +0 -20
  450. package/esm/src/templates/lib/useServer.js +0 -11
  451. package/esm/src/templates/libRoot/.gitignore.template +0 -16
  452. package/esm/src/templates/libRoot/akan.config.js +0 -13
  453. package/esm/src/templates/libRoot/base/baseLogic.js +0 -15
  454. package/esm/src/templates/libRoot/base/index.js +0 -9
  455. package/esm/src/templates/libRoot/common/commonLogic.js +0 -15
  456. package/esm/src/templates/libRoot/common/index.js +0 -9
  457. package/esm/src/templates/libRoot/env/env.server.example.ts.template +0 -6
  458. package/esm/src/templates/libRoot/env/env.server.testing.ts.template +0 -6
  459. package/esm/src/templates/libRoot/jest.config.js +0 -16
  460. package/esm/src/templates/libRoot/lib/___libName__/__libName__.service.js +0 -13
  461. package/esm/src/templates/libRoot/lib/___libName__/__libName__.store.js +0 -15
  462. package/esm/src/templates/libRoot/lib/option.js +0 -26
  463. package/esm/src/templates/libRoot/nest/backendLogic.js +0 -14
  464. package/esm/src/templates/libRoot/nest/index.js +0 -9
  465. package/esm/src/templates/libRoot/next/frontendLogic.js +0 -14
  466. package/esm/src/templates/libRoot/next/index.js +0 -9
  467. package/esm/src/templates/libRoot/package.json.template +0 -5
  468. package/esm/src/templates/libRoot/tsconfig.spec.json.template +0 -7
  469. package/esm/src/templates/libRoot/ui/index.js +0 -9
  470. package/esm/src/templates/localDev/docker-compose.yaml.template +0 -42
  471. package/esm/src/templates/module/__Model__.Unit.js +0 -23
  472. package/esm/src/templates/module/__Model__.Util.js +0 -27
  473. package/esm/src/templates/module/__model__.document.js +0 -26
  474. package/esm/src/templates/module/__model__.service.js +0 -13
  475. package/esm/src/templates/module/__model__.store.js +0 -18
  476. package/esm/src/templates/module/index.js +0 -41
  477. package/esm/src/templates/moduleRoot/index.js +0 -29
  478. package/esm/src/templates/pkgRoot/tsconfig.json.template +0 -15
  479. package/esm/src/templates/server.js +0 -67
  480. package/esm/src/templates/workspaceRoot/.env.template +0 -20
  481. package/esm/src/templates/workspaceRoot/.gitignore.template +0 -119
  482. package/esm/src/templates/workspaceRoot/.prettierignore.template +0 -10
  483. package/esm/src/templates/workspaceRoot/.prettierrc.json.template +0 -6
  484. package/esm/src/templates/workspaceRoot/.swcrc.template +0 -9
  485. package/esm/src/templates/workspaceRoot/.vscode/settings.json.template +0 -12
  486. package/esm/src/templates/workspaceRoot/README.md.template +0 -37
  487. package/esm/src/templates/workspaceRoot/eslint.config.ts.template +0 -3
  488. package/esm/src/templates/workspaceRoot/infra/app/Chart.yaml.template +0 -6
  489. package/esm/src/templates/workspaceRoot/infra/app/templates/frontend.yaml.template +0 -182
  490. package/esm/src/templates/workspaceRoot/infra/app/values/_common-values.yaml.template +0 -183
  491. package/esm/src/templates/workspaceRoot/package.json.template +0 -47
  492. package/esm/src/templates/workspaceRoot/tsconfig.json.template +0 -27
  493. package/index.d.ts +0 -2
  494. package/src/application/application.command.d.ts +0 -31
  495. package/src/application/application.interface.d.ts +0 -40
  496. package/src/application/application.runner.d.ts +0 -73
  497. package/src/application/application.script.d.ts +0 -83
  498. package/src/cloud/cloud.command.d.ts +0 -12
  499. package/src/cloud/cloud.runner.d.ts +0 -11
  500. package/src/cloud/cloud.script.d.ts +0 -11
  501. package/src/guideline/guideline.command.d.ts +0 -9
  502. package/src/guideline/guideline.prompt.d.ts +0 -29
  503. package/src/guideline/guideline.runner.d.ts +0 -19
  504. package/src/guideline/guideline.script.d.ts +0 -12
  505. package/src/guidelines/___library/sharedUiStructureDescription.en.md +0 -767
  506. package/src/guidelines/___library/utilUiStructureDescription.en.md +0 -395
  507. package/src/guidelines/___lint/lintRuleDescription.en.md +0 -64
  508. package/src/guidelines/___module/moduleStructureDescription.en.md +0 -80
  509. package/src/guidelines/componentRule/componentRule.instruction.md +0 -637
  510. package/src/guidelines/cssRule/cssRule.instruction.md +0 -435
  511. package/src/guidelines/databaseModule/databaseModule.instruction.md +0 -631
  512. package/src/guidelines/docPageRule/docPageRule.instruction.md +0 -389
  513. package/src/guidelines/enumConstant/enumConstant.instruction.md +0 -232
  514. package/src/guidelines/framework/framework.instruction.md +0 -1110
  515. package/src/guidelines/modelConstant/modelConstant.instruction.md +0 -506
  516. package/src/guidelines/modelDictionary/modelDictionary.instruction.md +0 -547
  517. package/src/guidelines/modelDocument/modelDocument.instruction.md +0 -659
  518. package/src/guidelines/modelService/modelService.instruction.md +0 -708
  519. package/src/guidelines/modelSignal/modelSignal.instruction.md +0 -552
  520. package/src/guidelines/modelStore/modelStore.instruction.md +0 -590
  521. package/src/guidelines/modelTemplate/modelTemplate.instruction.md +0 -604
  522. package/src/guidelines/modelUnit/modelUnit.instruction.md +0 -541
  523. package/src/guidelines/modelUtil/modelUtil.instruction.md +0 -752
  524. package/src/guidelines/modelView/modelView.instruction.md +0 -1005
  525. package/src/guidelines/modelZone/modelZone.instruction.md +0 -528
  526. package/src/guidelines/scalarConstant/scalarConstant.instruction.md +0 -442
  527. package/src/guidelines/scalarDictionary/scalarDictionary.instruction.md +0 -273
  528. package/src/guidelines/scalarModule/scalarModule.instruction.md +0 -81
  529. package/src/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +0 -310
  530. package/src/guidelines/utilUiUsage/utilUiUsage.instruction.md +0 -339
  531. package/src/library/library.command.d.ts +0 -9
  532. package/src/library/library.runner.d.ts +0 -9
  533. package/src/library/library.script.d.ts +0 -9
  534. package/src/module/module.command.d.ts +0 -10
  535. package/src/module/module.prompt.d.ts +0 -13
  536. package/src/module/module.request.d.ts +0 -63
  537. package/src/module/module.runner.d.ts +0 -53
  538. package/src/module/module.script.d.ts +0 -17
  539. package/src/package/package.command.d.ts +0 -10
  540. package/src/package/package.runner.d.ts +0 -9
  541. package/src/package/package.script.d.ts +0 -10
  542. package/src/page/page.command.d.ts +0 -6
  543. package/src/page/page.runner.d.ts +0 -8
  544. package/src/page/page.script.d.ts +0 -9
  545. package/src/scalar/scalar.command.d.ts +0 -7
  546. package/src/scalar/scalar.prompt.d.ts +0 -23
  547. package/src/scalar/scalar.runner.d.ts +0 -14
  548. package/src/scalar/scalar.script.d.ts +0 -7
  549. package/src/templates/__scalar/__model__/__model__.constant.d.ts +0 -7
  550. package/src/templates/__scalar/__model__/__model__.dictionary.d.ts +0 -7
  551. package/src/templates/__scalar/__model__/__model__.document.d.ts +0 -7
  552. package/src/templates/app/akan.config.d.ts +0 -6
  553. package/src/templates/app/app/[lang]/layout.d.ts +0 -11
  554. package/src/templates/app/app/[lang]/page.d.ts +0 -9
  555. package/src/templates/app/app/csr.d.ts +0 -9
  556. package/src/templates/app/app/layout.d.ts +0 -9
  557. package/src/templates/app/app/robots.d.ts +0 -6
  558. package/src/templates/app/app/sitemap.d.ts +0 -6
  559. package/src/templates/app/base/baseLogic.d.ts +0 -6
  560. package/src/templates/app/base/index.d.ts +0 -6
  561. package/src/templates/app/common/commonLogic.d.ts +0 -6
  562. package/src/templates/app/common/index.d.ts +0 -6
  563. package/src/templates/app/env/env.client.d.ts +0 -6
  564. package/src/templates/app/env/env.client.type.d.ts +0 -6
  565. package/src/templates/app/env/env.server.d.ts +0 -6
  566. package/src/templates/app/instrumentation.d.ts +0 -6
  567. package/src/templates/app/jest.config.d.ts +0 -6
  568. package/src/templates/app/lib/___appName__/__appName__.dictionary.d.ts +0 -7
  569. package/src/templates/app/lib/___appName__/__appName__.service.d.ts +0 -7
  570. package/src/templates/app/lib/___appName__/__appName__.signal.d.ts +0 -7
  571. package/src/templates/app/lib/___appName__/__appName__.store.d.ts +0 -7
  572. package/src/templates/app/lib/option.d.ts +0 -6
  573. package/src/templates/app/main.d.ts +0 -6
  574. package/src/templates/app/nest/backendLogic.d.ts +0 -6
  575. package/src/templates/app/nest/index.d.ts +0 -6
  576. package/src/templates/app/next/frontendLogic.d.ts +0 -6
  577. package/src/templates/app/next/index.d.ts +0 -6
  578. package/src/templates/app/proxy.d.ts +0 -6
  579. package/src/templates/app/ui/UiComponent.d.ts +0 -9
  580. package/src/templates/app/ui/index.d.ts +0 -6
  581. package/src/templates/client.d.ts +0 -4
  582. package/src/templates/crudPages/[__model__Id]/edit/page.d.ts +0 -11
  583. package/src/templates/crudPages/[__model__Id]/page.d.ts +0 -11
  584. package/src/templates/crudPages/new/page.d.ts +0 -11
  585. package/src/templates/crudPages/page.d.ts +0 -11
  586. package/src/templates/crudSinglePage/page.d.ts +0 -11
  587. package/src/templates/env/_env.server.type.d.ts +0 -7
  588. package/src/templates/index.d.ts +0 -6
  589. package/src/templates/lib/__lib/lib.constant.d.ts +0 -4
  590. package/src/templates/lib/__lib/lib.dictionary.d.ts +0 -4
  591. package/src/templates/lib/__lib/lib.document.d.ts +0 -4
  592. package/src/templates/lib/__lib/lib.service.d.ts +0 -4
  593. package/src/templates/lib/__lib/lib.signal.d.ts +0 -4
  594. package/src/templates/lib/__lib/lib.store.d.ts +0 -4
  595. package/src/templates/lib/cnst.d.ts +0 -4
  596. package/src/templates/lib/db.d.ts +0 -4
  597. package/src/templates/lib/dict.d.ts +0 -4
  598. package/src/templates/lib/sig.d.ts +0 -4
  599. package/src/templates/lib/srv.d.ts +0 -4
  600. package/src/templates/lib/st.d.ts +0 -4
  601. package/src/templates/lib/useClient.d.ts +0 -4
  602. package/src/templates/lib/useServer.d.ts +0 -4
  603. package/src/templates/libRoot/akan.config.d.ts +0 -5
  604. package/src/templates/libRoot/base/baseLogic.d.ts +0 -5
  605. package/src/templates/libRoot/base/index.d.ts +0 -5
  606. package/src/templates/libRoot/common/commonLogic.d.ts +0 -5
  607. package/src/templates/libRoot/common/index.d.ts +0 -5
  608. package/src/templates/libRoot/jest.config.d.ts +0 -6
  609. package/src/templates/libRoot/lib/___libName__/__libName__.dictionary.d.ts +0 -6
  610. package/src/templates/libRoot/lib/___libName__/__libName__.service.d.ts +0 -6
  611. package/src/templates/libRoot/lib/___libName__/__libName__.store.d.ts +0 -6
  612. package/src/templates/libRoot/lib/option.d.ts +0 -6
  613. package/src/templates/libRoot/nest/backendLogic.d.ts +0 -5
  614. package/src/templates/libRoot/nest/index.d.ts +0 -5
  615. package/src/templates/libRoot/next/frontendLogic.d.ts +0 -5
  616. package/src/templates/libRoot/next/index.d.ts +0 -5
  617. package/src/templates/libRoot/ui/index.d.ts +0 -5
  618. package/src/templates/module/__Model__.Template.d.ts +0 -11
  619. package/src/templates/module/__Model__.Unit.d.ts +0 -11
  620. package/src/templates/module/__Model__.Util.d.ts +0 -11
  621. package/src/templates/module/__Model__.View.d.ts +0 -11
  622. package/src/templates/module/__Model__.Zone.d.ts +0 -11
  623. package/src/templates/module/__model__.constant.d.ts +0 -8
  624. package/src/templates/module/__model__.dictionary.d.ts +0 -8
  625. package/src/templates/module/__model__.document.d.ts +0 -8
  626. package/src/templates/module/__model__.service.d.ts +0 -8
  627. package/src/templates/module/__model__.signal.d.ts +0 -9
  628. package/src/templates/module/__model__.store.d.ts +0 -8
  629. package/src/templates/module/index.d.ts +0 -11
  630. package/src/templates/moduleRoot/index.d.ts +0 -11
  631. package/src/templates/server.d.ts +0 -4
  632. package/src/workspace/workspace.command.d.ts +0 -12
  633. package/src/workspace/workspace.runner.d.ts +0 -13
  634. package/src/workspace/workspace.script.d.ts +0 -24
  635. package/ui/MultiScrollList.d.ts +0 -14
  636. /package/{cjs/src/templates → templates}/app/package.json.template +0 -0
  637. /package/{cjs/src/templates → templates}/libRoot/.gitignore.template +0 -0
  638. /package/{cjs/src/templates → templates}/libRoot/env/env.server.example.ts.template +0 -0
  639. /package/{cjs/src/templates → templates}/libRoot/env/env.server.testing.ts.template +0 -0
  640. /package/{cjs/src/templates → templates}/libRoot/package.json.template +0 -0
  641. /package/{cjs/src/templates → templates}/libRoot/tsconfig.json.template +0 -0
@@ -1,659 +0,0 @@
1
- # Akan.js Model Document Implementation Guide
2
-
3
- ## Purpose and Role of model.document.ts Files
4
-
5
- `model.document.ts` files are essential components in the Akan.js framework that define MongoDB data models and their associated behaviors. These files serve as the bridge between your application's data structure and MongoDB, providing:
6
-
7
- 1. **Schema Definition** - Define the structure and validation for MongoDB documents
8
- 2. **Business Logic** - Implement domain-specific operations through document methods
9
- 3. **Query Patterns** - Create reusable database queries with model statics
10
- 4. **Lifecycle Hooks** - Add middleware for handling events during document operations
11
- 5. **Performance Optimization** - Configure indexes and implement DataLoader for efficient querying
12
- 6. **Caching Integration** - Seamlessly integrate with Redis for high-performance data access
13
- 7. **Search Capabilities** - Connect with Meilisearch for full-text search functionality
14
-
15
- ## File Structure
16
-
17
- A `model.document.ts` file is structured into four distinct classes, each with a specific responsibility:
18
-
19
- ### 2. Document Class
20
-
21
- Represents a MongoDB document with instance methods:
22
-
23
- ```typescript
24
- export class Example extends by(cnst.Example) {
25
- // Document methods here
26
- }
27
- ```
28
-
29
- ### 3. Model Class
30
-
31
- Represents the MongoDB collection with static methods:
32
-
33
- ```typescript
34
- export class ExampleModel extends into(Example, cnst.exampleCnst) {
35
- // Model statics here
36
- }
37
- ```
38
-
39
- ### 4. Middleware Class
40
-
41
- Defines schema hooks and indexes:
42
-
43
- ```typescript
44
- export class ExampleMiddleware extends beyond(ExampleModel, Example) {
45
- onSchema(schema) {
46
- // Middleware and indexes here
47
- }
48
- }
49
- ```
50
-
51
- ## How to Use Document Methods
52
-
53
- Document methods operate on individual document instances and typically follow these patterns:
54
-
55
- ### Characteristics of Document Methods:
56
-
57
- - They operate on the current document instance (`this`)
58
- - They typically return `this` to enable method chaining
59
- - They're often synchronous, but can be asynchronous when needed
60
- - They handle document-level operations and transformations
61
-
62
- ### Example of Document Methods:
63
-
64
- ```typescript
65
- export class User extends by(cnst.User) {
66
- // Simple transformation method (synchronous)
67
- addRole(role: string) {
68
- if (!this.roles.includes(role)) {
69
- this.roles = [...this.roles, role];
70
- }
71
- return this;
72
- }
73
-
74
- // Remove item method (synchronous)
75
- removeRole(role: string) {
76
- this.roles = this.roles.filter((r) => r !== role);
77
- return this;
78
- }
79
-
80
- // Complex operation with save (asynchronous)
81
- async updateProfile(data: Partial<UserProfile>) {
82
- Object.assign(this.profile, data);
83
- this.lastUpdatedAt = new Date();
84
- return await this.save();
85
- }
86
- }
87
- ```
88
-
89
- ## How to Use Model Statics
90
-
91
- Model statics operate on the entire collection and are typically asynchronous. They implement reusable query patterns and business operations.
92
-
93
- ### Characteristics of Model Statics:
94
-
95
- - They operate on the entire collection, not a single document
96
- - They're almost always asynchronous, returning Promises
97
- - They often use built-in Mongoose methods like `find`, `findOne`, etc.
98
- - They can implement complex business logic involving multiple documents
99
-
100
- ### Example of Model Statics:
101
-
102
- ```typescript
103
- export class OrderModel extends into(Order, cnst.orderCnst) {
104
- // Query by specific criteria
105
- async findPendingOrders(userId: string) {
106
- return this.Order.find({
107
- user: userId,
108
- status: "pending",
109
- }).sort({ createdAt: -1 });
110
- }
111
-
112
- // Complex operation with multiple steps
113
- async processRefund(orderId: string, amount: number) {
114
- const order = await this.Order.pickById(orderId);
115
-
116
- if (order.status !== "completed") {
117
- throw new Error("Cannot refund an incomplete order");
118
- }
119
-
120
- if (order.totalAmount < amount) {
121
- throw new Error("Refund amount exceeds order total");
122
- }
123
-
124
- return await order
125
- .set({
126
- refundAmount: amount,
127
- status: "refunded",
128
- })
129
- .save();
130
- }
131
-
132
- // Aggregation example
133
- async getOrderStatsByUser(userId: string) {
134
- const result = await this.Order.aggregate([
135
- { $match: { user: userId } },
136
- {
137
- $group: {
138
- _id: "$status",
139
- count: { $sum: 1 },
140
- totalAmount: { $sum: "$totalAmount" },
141
- },
142
- },
143
- ]);
144
-
145
- return result.reduce((acc, item) => {
146
- acc[item._id] = {
147
- count: item.count,
148
- totalAmount: item.totalAmount,
149
- };
150
- return acc;
151
- }, {});
152
- }
153
- }
154
- ```
155
-
156
- ## Built-in Model Functions
157
-
158
- Akan.js provides several built-in methods that are available on all models:
159
-
160
- ```typescript
161
- // Direct access to Mongoose model
162
- await userModel.User.find({...});
163
-
164
- // Common operations
165
- const user = await userModel.getUser(userId); // Get by ID or throw error
166
- const maybeUser = await userModel.loadUser(userId); // Get by ID or return null
167
- const users = await userModel.loadUserMany([userId1, userId2]); // Get multiple by IDs
168
-
169
- // CRUD operations
170
- const newUser = await userModel.createUser(userData); // Create new document
171
- const updated = await userModel.updateUser(userId, userData); // Update document
172
- const removed = await userModel.removeUser(userId); // Soft delete (sets removedAt)
173
-
174
- // Search operations (when Meilisearch is configured)
175
- const { docs, count } = await userModel.searchUser("john"); // Full-text search
176
- const users = await userModel.searchDocsUser("john"); // Just get documents
177
- const total = await userModel.searchCountUser("john"); // Just get count
178
- ```
179
-
180
- ## How to Apply Middleware
181
-
182
- Middleware allows you to intercept and modify document operations at various lifecycle stages.
183
-
184
- ### Common Middleware Hooks:
185
-
186
- - `pre('save')` - Before saving a document
187
- - `post('save')` - After saving a document
188
- - `pre('remove')` - Before removing a document
189
- - `pre('validate')` - Before validation
190
- - `pre('findOneAndUpdate')` - Before findOneAndUpdate operations
191
-
192
- ### Example Middleware Implementation:
193
-
194
- ```typescript
195
- export class UserMiddleware extends beyond(UserModel, User) {
196
- onSchema(schema: SchemaOf<UserModel, User>) {
197
- // Pre-save hook for password hashing
198
- schema.pre<User>("save", async function (next) {
199
- // Only hash the password if it's modified
200
- if (this.isModified("password") && this.password) {
201
- try {
202
- this.password = await hashPassword(this.password);
203
- next();
204
- } catch (error) {
205
- next(error);
206
- }
207
- } else {
208
- next();
209
- }
210
- });
211
-
212
- // Post-save hook for logging
213
- schema.post<User>("save", function (doc) {
214
- console.log(`User ${doc.id} was saved`);
215
- });
216
-
217
- // Pre-remove hook for cleanup
218
- schema.pre<User>("remove", async function (next) {
219
- try {
220
- // Perform cleanup operations
221
- await someCleanupFunction(this.id);
222
- next();
223
- } catch (error) {
224
- next(error);
225
- }
226
- });
227
- }
228
- }
229
- ```
230
-
231
- ## How to Apply Indexes
232
-
233
- Indexes are crucial for query performance. Define them in the Middleware's `onSchema` method:
234
-
235
- ### Types of Indexes:
236
-
237
- - **Single field index** - Optimize queries on a single field
238
- - **Compound index** - Optimize queries that filter or sort on multiple fields
239
- - **Text index** - Enable full-text search on specified fields
240
- - **Unique index** - Ensure field values are unique across the collection
241
- - **Sparse index** - Only include documents that have the indexed field
242
-
243
- ### Example Index Implementation:
244
-
245
- ```typescript
246
- export class ProductMiddleware extends beyond(ProductModel, Product) {
247
- onSchema(schema: SchemaOf<ProductModel, Product>) {
248
- // Single field index (1=ascending, -1=descending)
249
- schema.index({ createdAt: -1 });
250
-
251
- // Compound index
252
- schema.index({ category: 1, price: -1 });
253
-
254
- // Unique index
255
- schema.index({ sku: 1 }, { unique: true });
256
-
257
- // Text search index
258
- schema.index({ name: "text", description: "text" });
259
-
260
- // Sparse index (only indexes docs with the field)
261
- schema.index(
262
- { promotionCode: 1 },
263
- {
264
- sparse: true,
265
- }
266
- );
267
-
268
- // Partial index with filter expression
269
- schema.index(
270
- { status: 1 },
271
- {
272
- partialFilterExpression: { status: { $exists: true } },
273
- }
274
- );
275
-
276
- // Time-to-live index (auto-expire documents)
277
- schema.index(
278
- { expiresAt: 1 },
279
- {
280
- expireAfterSeconds: 0,
281
- }
282
- );
283
- }
284
- }
285
- ```
286
-
287
- ## How to Use MongoDB Model
288
-
289
- The Akan.js framework provides direct access to the Mongoose model, allowing you to perform standard MongoDB operations:
290
-
291
- ```typescript
292
- // Find operations
293
- const product = await productModel.Product.findById(id);
294
- const activeProducts = await productModel.Product.find({ status: "active" });
295
-
296
- // Update operations
297
- await productModel.Product.updateMany({ category: "electronics" }, { $set: { onSale: true } });
298
-
299
- // Aggregation
300
- const stats = await productModel.Product.aggregate([
301
- { $match: { status: "active" } },
302
- {
303
- $group: {
304
- _id: "$category",
305
- count: { $sum: 1 },
306
- avgPrice: { $avg: "$price" },
307
- },
308
- },
309
- ]);
310
-
311
- // Advanced querying
312
- const products = await productModel.Product.find({
313
- price: { $gte: 100, $lte: 500 },
314
- category: { $in: ["electronics", "gadgets"] },
315
- })
316
- .sort({ rating: -1 })
317
- .limit(10);
318
- ```
319
-
320
- ## How to Use DataLoader
321
-
322
- DataLoader batches and caches database requests to optimize performance, especially for resolving relationships between documents.
323
-
324
- ### Types of Loaders:
325
-
326
- - `@Loader.ByField(fieldName)` - Load documents by a specific field value
327
- - `@Loader.ByArrayField(fieldName)` - Load documents that contain a value in an array field
328
- - `@Loader.ByQuery(queryKeys)` - Load documents by complex query criteria
329
-
330
- ### Example DataLoader Implementation:
331
-
332
- ```typescript
333
- export class OrderModel extends into(Order, cnst.orderCnst) {
334
- // Load orders by user ID
335
- @Loader.ByField("userId")
336
- userOrdersLoader: Loader<string, Order[]>;
337
-
338
- // Load orders by status
339
- @Loader.ByField("status")
340
- statusOrdersLoader: Loader<string, Order[]>;
341
-
342
- // Load orders by tag (array field)
343
- @Loader.ByArrayField("tags")
344
- tagOrdersLoader: Loader<string, Order[]>;
345
-
346
- // Load order by complex query
347
- @Loader.ByQuery(["userId", "orderNumber"])
348
- specificOrderLoader: Loader<{ userId: string; orderNumber: string }, Order>;
349
- }
350
-
351
- // Usage:
352
- const userOrders = await orderModel.userOrdersLoader.load(userId);
353
- const pendingOrders = await orderModel.statusOrdersLoader.load("pending");
354
- const taggedOrders = await orderModel.tagOrdersLoader.load("priority");
355
- const specificOrder = await orderModel.specificOrderLoader.load({
356
- userId: "user123",
357
- orderNumber: "ORD-12345",
358
- });
359
- ```
360
-
361
- ## How to Use Cache with Redis
362
-
363
- Akan.js integrates Redis caching through the model's cache instance, providing simple methods for storing and retrieving data:
364
-
365
- ```typescript
366
- // Set cache
367
- await userModel.UserCache.set(
368
- "session", // Topic/category
369
- userId, // Key
370
- sessionData, // Value
371
- { expireAt: dayjs().add(1, "hour") } // Options
372
- );
373
-
374
- // Get cache
375
- const session = await userModel.UserCache.get("session", userId);
376
-
377
- // Delete cache
378
- await userModel.UserCache.delete("session", userId);
379
-
380
- // Example: Caching expensive computation
381
- async function getUserStats(userId: string) {
382
- // Try to get from cache first
383
- const cachedStats = await userModel.UserCache.get("stats", userId);
384
- if (cachedStats) return JSON.parse(cachedStats);
385
-
386
- // If not in cache, compute and store
387
- const stats = await computeExpensiveUserStats(userId);
388
- await userModel.UserCache.set("stats", userId, JSON.stringify(stats), { expireAt: dayjs().add(30, "minute") });
389
-
390
- return stats;
391
- }
392
- ```
393
-
394
- ## How to Use Search with Meilisearch
395
-
396
- Akan.js provides Meilisearch integration for full-text search capabilities:
397
-
398
- ```typescript
399
- // Basic search with pagination
400
- const { docs, count } = await productModel.searchProduct("wireless headphones", {
401
- skip: 0,
402
- limit: 10,
403
- });
404
-
405
- // Search with filtering
406
- const { docs, count } = await productModel.searchProduct("wireless headphones", {
407
- filter: "category=electronics AND price<=100",
408
- });
409
-
410
- // Search with sorting
411
- const { docs, count } = await productModel.searchProduct("wireless headphones", {
412
- sort: ["rating:desc", "price:asc"],
413
- });
414
-
415
- // Just get the documents
416
- const products = await productModel.searchDocsProduct("wireless headphones");
417
-
418
- // Just get the count
419
- const resultCount = await productModel.searchCountProduct("wireless headphones");
420
- ```
421
-
422
- ## Best Practices
423
-
424
- ### 1. Document Methods vs. Model Statics
425
-
426
- - Use **document methods** for operations on a single document
427
- - Use **model statics** for operations on multiple documents or complex business logic
428
-
429
- ### 2. Efficient Querying
430
-
431
- - Add indexes for frequently used queries
432
- - Use projection (`select`) to limit fields returned
433
- - Use `lean()` when you don't need full Mongoose documents
434
- - Implement DataLoader for relationship fields
435
-
436
- ### 3. Error Handling
437
-
438
- - Use `pickOne` and `pickById` when you expect a document to exist
439
- - Implement custom error classes for domain-specific errors
440
- - Validate inputs before database operations
441
-
442
- ### 4. Transactions
443
-
444
- Use transactions for operations that need to be atomic:
445
-
446
- ```typescript
447
- export class OrderModel extends into(Order, cnst.orderCnst) {
448
- @Transaction()
449
- async createOrderWithItems(orderData, items) {
450
- const order = await this.createOrder(orderData);
451
- await Promise.all(items.map((item) => itemModel.createItem({ ...item, orderId: order.id })));
452
- return order;
453
- }
454
- }
455
- ```
456
-
457
- ### 5. Soft Deletes
458
-
459
- Akan.js implements soft deletes by default:
460
-
461
- ```typescript
462
- // Soft delete (sets removedAt field)
463
- await userModel.removeUser(userId);
464
-
465
- // To query only non-deleted documents
466
- const users = await userModel.User.find({ removedAt: { $exists: false } });
467
-
468
- // To permanently delete (rarely needed)
469
- await userModel.User.findByIdAndDelete(userId);
470
- ```
471
-
472
- ## Complete Example
473
-
474
- Here's a complete example integrating multiple features:
475
-
476
- ```typescript
477
- // product.document.ts
478
- import { dayjs } from "@akanjs/base";
479
- import { beyond, by, Database, into, Loader, SchemaOf } from "@akanjs/document";
480
- import * as cnst from "../cnst";
481
-
482
- export class Product extends by(cnst.Product) {
483
- applyDiscount(percentage: number) {
484
- if (percentage < 0 || percentage > 100) {
485
- throw new Error("Discount percentage must be between 0 and 100");
486
- }
487
-
488
- const discount = (this.price * percentage) / 100;
489
- this.discountedPrice = this.price - discount;
490
- this.discountPercentage = percentage;
491
-
492
- return this;
493
- }
494
-
495
- isInStock() {
496
- return this.stockCount > 0;
497
- }
498
-
499
- decreaseStock(quantity = 1) {
500
- if (this.stockCount < quantity) {
501
- throw new Error("Not enough stock");
502
- }
503
-
504
- this.stockCount -= quantity;
505
-
506
- return this;
507
- }
508
- }
509
-
510
- export class ProductModel extends into(Product, cnst.productCnst) {
511
- @Loader.ByField("category")
512
- categoryProductsLoader: Loader<string, Product[]>;
513
-
514
- @Loader.ByArrayField("tags")
515
- tagProductsLoader: Loader<string, Product[]>;
516
-
517
- async findPopularProducts(limit = 10) {
518
- return this.Product.find({
519
- status: "active",
520
- popularity: { $gte: 4 },
521
- })
522
- .sort({ popularity: -1 })
523
- .limit(limit);
524
- }
525
-
526
- async updatePrices(categoryId: string, increasePercentage: number) {
527
- const products = await this.Product.find({ category: categoryId });
528
-
529
- const updates = products.map((product) => {
530
- const newPrice = product.price * (1 + increasePercentage / 100);
531
- return product.set({ price: newPrice }).save();
532
- });
533
-
534
- return Promise.all(updates);
535
- }
536
-
537
- async getCategoryStats() {
538
- const result = await this.Product.aggregate([
539
- { $match: { status: "active" } },
540
- {
541
- $group: {
542
- _id: "$category",
543
- count: { $sum: 1 },
544
- avgPrice: { $avg: "$price" },
545
- minPrice: { $min: "$price" },
546
- maxPrice: { $max: "$price" },
547
- },
548
- },
549
- { $sort: { count: -1 } },
550
- ]);
551
-
552
- // Cache the results
553
- await this.ProductCache.set("stats", "categories", JSON.stringify(result), { expireAt: dayjs().add(1, "hour") });
554
-
555
- return result;
556
- }
557
- }
558
-
559
- export class ProductMiddleware extends beyond(ProductModel, Product) {
560
- onSchema(schema: SchemaOf<ProductModel, Product>) {
561
- // Update stock status on save
562
- schema.pre<Product>("save", function (next) {
563
- if (this.isModified("stockCount")) {
564
- this.stockStatus = this.stockCount > 0 ? "in_stock" : "out_of_stock";
565
- }
566
- next();
567
- });
568
-
569
- // Create slug from name
570
- schema.pre<Product>("save", function (next) {
571
- if (this.isNew || this.isModified("name")) {
572
- this.slug = this.name
573
- .toLowerCase()
574
- .replace(/[^a-z0-9]+/g, "-")
575
- .replace(/^-|-$/g, "");
576
- }
577
- next();
578
- });
579
-
580
- // Indexes
581
- schema.index({ category: 1, status: 1 });
582
- schema.index({ name: "text", description: "text" });
583
- schema.index({ slug: 1 }, { unique: true });
584
- schema.index({ createdAt: -1 });
585
- schema.index({ price: 1 });
586
- schema.index({ "meta.specifications.key": 1, "meta.specifications.value": 1 });
587
- }
588
- }
589
- ```
590
-
591
- ## Integration with NestJS
592
-
593
- When using Akan.js with NestJS, models are injected using the service provider system:
594
-
595
- ```typescript
596
- // product.service.ts
597
- import { Injectable } from "@nestjs/common";
598
- import { getModel } from "@akanjs/nest";
599
- import { ProductModel } from "./product.document";
600
-
601
- @Injectable()
602
- export class ProductService {
603
- private productModel = getModel(ProductModel);
604
-
605
- async getProductById(id: string) {
606
- return this.productModel.getProduct(id);
607
- }
608
-
609
- async searchProducts(query: string, options = {}) {
610
- return this.productModel.searchProduct(query, options);
611
- }
612
-
613
- async createProduct(data) {
614
- return this.productModel.createProduct(data);
615
- }
616
-
617
- async applyDiscount(productId: string, percentage: number) {
618
- const product = await this.productModel.getProduct(productId);
619
- return product.applyDiscount(percentage).save();
620
- }
621
- }
622
- ```
623
-
624
- ## Client-Side Usage
625
-
626
- On the client side, you'll typically interact with models through GraphQL or REST APIs:
627
-
628
- ```typescript
629
- // Using model-generated GraphQL operations
630
- const { data } = await client.query({
631
- query: gql`
632
- query GetProduct($id: ID!) {
633
- getProduct(id: $id) {
634
- id
635
- name
636
- price
637
- description
638
- category
639
- status
640
- stockCount
641
- }
642
- }
643
- `,
644
- variables: { id: productId },
645
- });
646
- ```
647
-
648
- ## Summary
649
-
650
- The `model.document.ts` files in Akan.js provide a comprehensive system for defining and working with MongoDB data. By properly implementing these files, you can:
651
-
652
- 1. Define clear data structures with validation
653
- 2. Implement business logic at both document and collection levels
654
- 3. Optimize database performance with indexes and DataLoader
655
- 4. Leverage caching for high-performance operations
656
- 5. Implement full-text search capabilities
657
- 6. Create a maintainable and scalable data layer
658
-
659
- Following the patterns and best practices outlined in this guide will help you build robust and efficient data-driven applications with Akan.js.