akanjs 2.0.7 → 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 (498) hide show
  1. package/README.ko.md +4 -4
  2. package/README.md +4 -4
  3. package/client/router.ts +10 -3
  4. package/document/documentSchema.ts +9 -1
  5. package/index.ts +187 -0
  6. package/package.json +6 -50
  7. package/server/akanApp.ts +2 -24
  8. package/server/akanAppHeaders.ts +30 -0
  9. package/server/di/predefinedAdaptor.ts +1 -1
  10. package/types/dictionary/base.dictionary.d.ts +1 -1
  11. package/types/dictionary/dictionary.d.ts +8 -8
  12. package/types/document/documentSchema.d.ts +33 -0
  13. package/types/document/index.d.ts +1 -1
  14. package/types/document/schema.d.ts +1 -1
  15. package/types/document/types.d.ts +1 -1
  16. package/types/{devkit/akanConfig/types.d.ts → index.d.ts} +45 -54
  17. package/types/server/akanAppHeaders.d.ts +1 -0
  18. package/types/server/di/predefinedAdaptor.d.ts +1 -1
  19. package/types/store/baseSt.d.ts +2 -2
  20. package/ui/Link/SsrLink.tsx +2 -2
  21. package/webkit/useCodepush.tsx +1 -1
  22. package/cli/application/application.command.ts +0 -224
  23. package/cli/application/application.interface.tsx +0 -225
  24. package/cli/application/application.runner.ts +0 -355
  25. package/cli/application/application.script.ts +0 -244
  26. package/cli/build.ts +0 -27
  27. package/cli/cloud/cloud.command.ts +0 -48
  28. package/cli/cloud/cloud.runner.ts +0 -157
  29. package/cli/cloud/cloud.script.ts +0 -40
  30. package/cli/guideline/guideline.command.ts +0 -31
  31. package/cli/guideline/guideline.prompt.ts +0 -212
  32. package/cli/guideline/guideline.runner.ts +0 -53
  33. package/cli/guideline/guideline.script.ts +0 -33
  34. package/cli/guidelines/___library/sharedUiStructureDescription.en.md +0 -767
  35. package/cli/guidelines/___library/utilUiStructureDescription.en.md +0 -395
  36. package/cli/guidelines/___lint/lintRuleDescription.en.md +0 -64
  37. package/cli/guidelines/___module/moduleStructureDescription.en.md +0 -80
  38. package/cli/guidelines/componentRule/componentRule.generate.json +0 -131
  39. package/cli/guidelines/componentRule/componentRule.instruction.md +0 -637
  40. package/cli/guidelines/cssRule/cssRule.generate.json +0 -93
  41. package/cli/guidelines/cssRule/cssRule.instruction.md +0 -435
  42. package/cli/guidelines/databaseModule/databaseModule.generate.json +0 -51
  43. package/cli/guidelines/databaseModule/databaseModule.instruction.md +0 -612
  44. package/cli/guidelines/docPageRule/docPageRule.generate.json +0 -72
  45. package/cli/guidelines/docPageRule/docPageRule.instruction.md +0 -389
  46. package/cli/guidelines/enumConstant/enumConstant.generate.json +0 -24
  47. package/cli/guidelines/enumConstant/enumConstant.instruction.md +0 -232
  48. package/cli/guidelines/framework/framework.generate.json +0 -119
  49. package/cli/guidelines/framework/framework.instruction.md +0 -1110
  50. package/cli/guidelines/howToUseStore/howToUseStore.generate.json +0 -0
  51. package/cli/guidelines/modelConstant/modelConstant.generate.json +0 -128
  52. package/cli/guidelines/modelConstant/modelConstant.instruction.md +0 -506
  53. package/cli/guidelines/modelDictionary/modelDictionary.generate.json +0 -108
  54. package/cli/guidelines/modelDictionary/modelDictionary.instruction.md +0 -547
  55. package/cli/guidelines/modelDocument/modelDocument.generate.json +0 -129
  56. package/cli/guidelines/modelDocument/modelDocument.instruction.md +0 -509
  57. package/cli/guidelines/modelService/modelService.generate.json +0 -135
  58. package/cli/guidelines/modelService/modelService.instruction.md +0 -708
  59. package/cli/guidelines/modelSignal/modelSignal.generate.json +0 -201
  60. package/cli/guidelines/modelSignal/modelSignal.instruction.md +0 -552
  61. package/cli/guidelines/modelStore/modelStore.generate.json +0 -130
  62. package/cli/guidelines/modelStore/modelStore.instruction.md +0 -585
  63. package/cli/guidelines/modelTemplate/modelTemplate.generate.json +0 -104
  64. package/cli/guidelines/modelTemplate/modelTemplate.instruction.md +0 -604
  65. package/cli/guidelines/modelUnit/modelUnit.generate.json +0 -92
  66. package/cli/guidelines/modelUnit/modelUnit.instruction.md +0 -541
  67. package/cli/guidelines/modelUtil/modelUtil.generate.json +0 -93
  68. package/cli/guidelines/modelUtil/modelUtil.instruction.md +0 -752
  69. package/cli/guidelines/modelView/modelView.generate.json +0 -80
  70. package/cli/guidelines/modelView/modelView.instruction.md +0 -1005
  71. package/cli/guidelines/modelZone/modelZone.generate.json +0 -126
  72. package/cli/guidelines/modelZone/modelZone.instruction.md +0 -528
  73. package/cli/guidelines/scalarConstant/scalarConstant.generate.json +0 -106
  74. package/cli/guidelines/scalarConstant/scalarConstant.instruction.md +0 -442
  75. package/cli/guidelines/scalarDictionary/scalarDictionary.generate.json +0 -83
  76. package/cli/guidelines/scalarDictionary/scalarDictionary.instruction.md +0 -273
  77. package/cli/guidelines/scalarModule/scalarModule.generate.json +0 -35
  78. package/cli/guidelines/scalarModule/scalarModule.instruction.md +0 -81
  79. package/cli/guidelines/sharedUiUsage/sharedUiUsage.generate.json +0 -108
  80. package/cli/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +0 -310
  81. package/cli/guidelines/utilUiUsage/utilUiUsage.generate.json +0 -140
  82. package/cli/guidelines/utilUiUsage/utilUiUsage.instruction.md +0 -339
  83. package/cli/index.js +0 -184444
  84. package/cli/index.ts +0 -24
  85. package/cli/library/library.command.ts +0 -28
  86. package/cli/library/library.runner.ts +0 -66
  87. package/cli/library/library.script.ts +0 -39
  88. package/cli/module/module.command.ts +0 -35
  89. package/cli/module/module.prompt.ts +0 -18
  90. package/cli/module/module.request.ts +0 -319
  91. package/cli/module/module.runner.ts +0 -76
  92. package/cli/module/module.script.ts +0 -161
  93. package/cli/npmRegistry.ts +0 -13
  94. package/cli/openBrowser.ts +0 -15
  95. package/cli/package/package.command.ts +0 -32
  96. package/cli/package/package.runner.ts +0 -94
  97. package/cli/package/package.script.ts +0 -35
  98. package/cli/page/page.command.ts +0 -14
  99. package/cli/page/page.runner.ts +0 -14
  100. package/cli/page/page.script.ts +0 -12
  101. package/cli/pluralizeName.ts +0 -5
  102. package/cli/scalar/scalar.command.ts +0 -21
  103. package/cli/scalar/scalar.prompt.ts +0 -131
  104. package/cli/scalar/scalar.runner.ts +0 -38
  105. package/cli/scalar/scalar.script.ts +0 -16
  106. package/cli/semver.ts +0 -18
  107. package/cli/templates/__scalar/__model__/__model__.constant.ts +0 -15
  108. package/cli/templates/__scalar/__model__/__model__.dictionary.ts +0 -19
  109. package/cli/templates/__scalar/__model__/__model__.document.ts +0 -15
  110. package/cli/templates/app/akan.config.ts +0 -14
  111. package/cli/templates/app/env/env.client.debug.ts.template +0 -7
  112. package/cli/templates/app/env/env.client.develop.ts.template +0 -7
  113. package/cli/templates/app/env/env.client.local.ts.template +0 -7
  114. package/cli/templates/app/env/env.client.main.ts.template +0 -7
  115. package/cli/templates/app/env/env.client.testing.ts.template +0 -7
  116. package/cli/templates/app/env/env.client.ts +0 -21
  117. package/cli/templates/app/env/env.client.type.ts +0 -16
  118. package/cli/templates/app/env/env.server.debug.ts.template +0 -7
  119. package/cli/templates/app/env/env.server.develop.ts.template +0 -7
  120. package/cli/templates/app/env/env.server.local.ts.template +0 -7
  121. package/cli/templates/app/env/env.server.main.ts.template +0 -7
  122. package/cli/templates/app/env/env.server.testing.ts.template +0 -6
  123. package/cli/templates/app/env/env.server.ts +0 -20
  124. package/cli/templates/app/lib/___appName__/__appName__.dictionary.ts +0 -17
  125. package/cli/templates/app/lib/___appName__/__appName__.service.ts +0 -13
  126. package/cli/templates/app/lib/___appName__/__appName__.signal.ts +0 -17
  127. package/cli/templates/app/lib/___appName__/__appName__.store.ts +0 -15
  128. package/cli/templates/app/lib/option.ts +0 -17
  129. package/cli/templates/app/main.ts +0 -16
  130. package/cli/templates/app/package.json.template +0 -5
  131. package/cli/templates/app/page/_index.tsx +0 -296
  132. package/cli/templates/app/page/_layout.tsx +0 -31
  133. package/cli/templates/app/page/styles.css.template +0 -53
  134. package/cli/templates/app/public/favicon.ico +0 -0
  135. package/cli/templates/app/public/logo.png +0 -0
  136. package/cli/templates/app/tsconfig.json.template +0 -21
  137. package/cli/templates/client.ts +0 -46
  138. package/cli/templates/crudPages/[__model__Id]/edit/page.tsx +0 -47
  139. package/cli/templates/crudPages/[__model__Id]/page.tsx +0 -52
  140. package/cli/templates/crudPages/new/page.tsx +0 -42
  141. package/cli/templates/crudPages/page.tsx +0 -43
  142. package/cli/templates/crudSinglePage/page.tsx +0 -37
  143. package/cli/templates/env/_env.server.type.ts +0 -16
  144. package/cli/templates/facetIndex/index.ts +0 -32
  145. package/cli/templates/index.ts +0 -10
  146. package/cli/templates/lib/__lib/lib.constant.ts +0 -38
  147. package/cli/templates/lib/__lib/lib.dictionary.ts +0 -33
  148. package/cli/templates/lib/__lib/lib.document.ts +0 -35
  149. package/cli/templates/lib/__lib/lib.service.ts +0 -33
  150. package/cli/templates/lib/__lib/lib.signal.ts +0 -34
  151. package/cli/templates/lib/__lib/lib.store.ts +0 -33
  152. package/cli/templates/lib/cnst.ts +0 -29
  153. package/cli/templates/lib/db.ts +0 -32
  154. package/cli/templates/lib/dict.ts +0 -49
  155. package/cli/templates/lib/sig.ts +0 -60
  156. package/cli/templates/lib/srv.ts +0 -34
  157. package/cli/templates/lib/st.ts +0 -31
  158. package/cli/templates/lib/useClient.ts +0 -19
  159. package/cli/templates/lib/useServer.ts +0 -7
  160. package/cli/templates/libRoot/.gitignore.template +0 -16
  161. package/cli/templates/libRoot/akan.config.ts +0 -12
  162. package/cli/templates/libRoot/base/baseLogic.ts +0 -10
  163. package/cli/templates/libRoot/base/index.ts +0 -8
  164. package/cli/templates/libRoot/common/commonLogic.ts +0 -10
  165. package/cli/templates/libRoot/common/index.ts +0 -8
  166. package/cli/templates/libRoot/env/env.server.example.ts.template +0 -6
  167. package/cli/templates/libRoot/env/env.server.testing.ts.template +0 -6
  168. package/cli/templates/libRoot/lib/___libName__/__libName__.dictionary.ts +0 -15
  169. package/cli/templates/libRoot/lib/___libName__/__libName__.service.ts +0 -11
  170. package/cli/templates/libRoot/lib/___libName__/__libName__.store.ts +0 -13
  171. package/cli/templates/libRoot/lib/option.ts +0 -17
  172. package/cli/templates/libRoot/package.json.template +0 -5
  173. package/cli/templates/libRoot/srvkit/backendLogic.ts +0 -10
  174. package/cli/templates/libRoot/srvkit/index.ts +0 -8
  175. package/cli/templates/libRoot/tsconfig.json.template +0 -11
  176. package/cli/templates/libRoot/ui/index.ts +0 -7
  177. package/cli/templates/libRoot/webkit/frontendLogic.ts +0 -10
  178. package/cli/templates/libRoot/webkit/index.ts +0 -8
  179. package/cli/templates/localDev/docker-compose.yaml.template +0 -37
  180. package/cli/templates/module/__Model__.Template.tsx +0 -36
  181. package/cli/templates/module/__Model__.Unit.tsx +0 -26
  182. package/cli/templates/module/__Model__.Util.tsx +0 -30
  183. package/cli/templates/module/__Model__.View.tsx +0 -29
  184. package/cli/templates/module/__Model__.Zone.tsx +0 -43
  185. package/cli/templates/module/__model__.constant.ts +0 -24
  186. package/cli/templates/module/__model__.dictionary.ts +0 -30
  187. package/cli/templates/module/__model__.document.ts +0 -23
  188. package/cli/templates/module/__model__.service.ts +0 -16
  189. package/cli/templates/module/__model__.signal.ts +0 -27
  190. package/cli/templates/module/__model__.store.ts +0 -19
  191. package/cli/templates/moduleRoot/index.tsx +0 -31
  192. package/cli/templates/pkgRoot/tsconfig.json.template +0 -10
  193. package/cli/templates/server.ts +0 -45
  194. package/cli/templates/workspaceRoot/.env.template +0 -14
  195. package/cli/templates/workspaceRoot/.gitignore.template +0 -120
  196. package/cli/templates/workspaceRoot/.vscode/settings.json.template +0 -23
  197. package/cli/templates/workspaceRoot/biome.json.template +0 -191
  198. package/cli/templates/workspaceRoot/bunfig.toml +0 -4
  199. package/cli/templates/workspaceRoot/package.json.template +0 -7
  200. package/cli/templates/workspaceRoot/tsconfig.json.template +0 -29
  201. package/cli/testHelpers.ts +0 -171
  202. package/cli/workspace/workspace.command.ts +0 -55
  203. package/cli/workspace/workspace.runner.ts +0 -79
  204. package/cli/workspace/workspace.script.ts +0 -74
  205. package/devkit/aiEditor.ts +0 -299
  206. package/devkit/akanApp/akanApp.host.ts +0 -393
  207. package/devkit/akanApp/index.ts +0 -1
  208. package/devkit/akanConfig/akanConfig.ts +0 -360
  209. package/devkit/akanConfig/index.ts +0 -2
  210. package/devkit/akanConfig/types.ts +0 -187
  211. package/devkit/applicationBuildReporter.ts +0 -69
  212. package/devkit/applicationBuildRunner.ts +0 -302
  213. package/devkit/applicationReleasePackager.ts +0 -205
  214. package/devkit/artifact/implicitRootLayout.ts +0 -155
  215. package/devkit/artifact/index.ts +0 -1
  216. package/devkit/artifact/routeSeedIndex.ts +0 -128
  217. package/devkit/auth.ts +0 -41
  218. package/devkit/builder.ts +0 -164
  219. package/devkit/capacitor.base.config.ts +0 -88
  220. package/devkit/capacitorApp.ts +0 -443
  221. package/devkit/commandDecorators/argMeta.ts +0 -102
  222. package/devkit/commandDecorators/command.ts +0 -340
  223. package/devkit/commandDecorators/commandBuilder.ts +0 -224
  224. package/devkit/commandDecorators/commandMeta.ts +0 -6
  225. package/devkit/commandDecorators/dependencyBuilder.ts +0 -100
  226. package/devkit/commandDecorators/helpFormatter.ts +0 -220
  227. package/devkit/commandDecorators/index.ts +0 -8
  228. package/devkit/commandDecorators/targetMeta.ts +0 -31
  229. package/devkit/commandDecorators/types.ts +0 -10
  230. package/devkit/constants.ts +0 -25
  231. package/devkit/createTunnel.ts +0 -36
  232. package/devkit/dependencyScanner.ts +0 -339
  233. package/devkit/executors.ts +0 -1362
  234. package/devkit/extractDeps.ts +0 -85
  235. package/devkit/fileEditor.ts +0 -106
  236. package/devkit/fileSys.ts +0 -39
  237. package/devkit/frontendBuild/allRoutesBuilder.ts +0 -103
  238. package/devkit/frontendBuild/clientBuildTypes.ts +0 -114
  239. package/devkit/frontendBuild/clientEntriesBundler.ts +0 -300
  240. package/devkit/frontendBuild/clientEntryDiscovery.ts +0 -196
  241. package/devkit/frontendBuild/csrArtifactBuilder.ts +0 -237
  242. package/devkit/frontendBuild/cssCompiler.ts +0 -285
  243. package/devkit/frontendBuild/cssImportResolver.ts +0 -116
  244. package/devkit/frontendBuild/fontOptimizer.ts +0 -427
  245. package/devkit/frontendBuild/hmrChangeClassifier.ts +0 -28
  246. package/devkit/frontendBuild/hmrWatcher.ts +0 -101
  247. package/devkit/frontendBuild/index.ts +0 -18
  248. package/devkit/frontendBuild/pagesBundleBuilder.ts +0 -137
  249. package/devkit/frontendBuild/pagesEntrySourceGenerator.ts +0 -37
  250. package/devkit/frontendBuild/precompressArtifacts.ts +0 -59
  251. package/devkit/frontendBuild/routeClientBuilder.ts +0 -290
  252. package/devkit/frontendBuild/routesManifestArtifactSerializer.ts +0 -62
  253. package/devkit/frontendBuild/ssrBaseArtifactBuilder.ts +0 -139
  254. package/devkit/frontendBuild/vendorSpecifiers.ts +0 -16
  255. package/devkit/frontendBuild/watchRootResolver.ts +0 -28
  256. package/devkit/getCredentials.ts +0 -19
  257. package/devkit/getDirname.ts +0 -3
  258. package/devkit/getModelFileData.ts +0 -59
  259. package/devkit/getRelatedCnsts.ts +0 -300
  260. package/devkit/guideline.ts +0 -19
  261. package/devkit/incrementalBuilder/incrementalBuilder.host.ts +0 -152
  262. package/devkit/incrementalBuilder/incrementalBuilder.proc.ts +0 -331
  263. package/devkit/incrementalBuilder/index.ts +0 -1
  264. package/devkit/index.ts +0 -36
  265. package/devkit/lint/no-deep-internal-import.grit +0 -25
  266. package/devkit/lint/no-import-client-functions.grit +0 -32
  267. package/devkit/lint/no-import-external-library.grit +0 -21
  268. package/devkit/lint/no-js-private-class-method.grit +0 -42
  269. package/devkit/lint/no-use-client-in-server.grit +0 -7
  270. package/devkit/lint/non-scalar-props-restricted.grit +0 -13
  271. package/devkit/linter.ts +0 -248
  272. package/devkit/mobile/index.ts +0 -1
  273. package/devkit/mobile/mobileTarget.ts +0 -88
  274. package/devkit/prompter.ts +0 -71
  275. package/devkit/scanInfo.ts +0 -606
  276. package/devkit/selectModel.ts +0 -11
  277. package/devkit/spinner.ts +0 -54
  278. package/devkit/src/capacitorApp.ts +0 -277
  279. package/devkit/sshTunnel.ts +0 -151
  280. package/devkit/streamAi.ts +0 -45
  281. package/devkit/transforms/barrelAnalyzer.ts +0 -249
  282. package/devkit/transforms/barrelImportsPlugin.ts +0 -457
  283. package/devkit/transforms/externalizeFrameworkPlugin.ts +0 -159
  284. package/devkit/transforms/index.ts +0 -5
  285. package/devkit/transforms/rscUseClientTransform.ts +0 -52
  286. package/devkit/transforms/useClientBundlePlugin.ts +0 -47
  287. package/devkit/typeChecker.ts +0 -260
  288. package/devkit/types.ts +0 -44
  289. package/devkit/ui/MultiScrollList.tsx +0 -228
  290. package/devkit/ui/ScrollList.tsx +0 -106
  291. package/devkit/ui/index.ts +0 -2
  292. package/devkit/uploadRelease.ts +0 -95
  293. package/devkit/useStdoutDimensions.ts +0 -20
  294. package/types/cli/application/application.command.d.ts +0 -7
  295. package/types/cli/application/application.interface.d.ts +0 -40
  296. package/types/cli/application/application.runner.d.ts +0 -66
  297. package/types/cli/application/application.script.d.ts +0 -72
  298. package/types/cli/build.d.ts +0 -1
  299. package/types/cli/cloud/cloud.command.d.ts +0 -7
  300. package/types/cli/cloud/cloud.runner.d.ts +0 -13
  301. package/types/cli/cloud/cloud.script.d.ts +0 -23
  302. package/types/cli/guideline/guideline.command.d.ts +0 -7
  303. package/types/cli/guideline/guideline.prompt.d.ts +0 -29
  304. package/types/cli/guideline/guideline.runner.d.ts +0 -21
  305. package/types/cli/guideline/guideline.script.d.ts +0 -16
  306. package/types/cli/index.d.ts +0 -2
  307. package/types/cli/library/library.command.d.ts +0 -7
  308. package/types/cli/library/library.runner.d.ts +0 -11
  309. package/types/cli/library/library.script.d.ts +0 -13
  310. package/types/cli/module/module.command.d.ts +0 -7
  311. package/types/cli/module/module.prompt.d.ts +0 -13
  312. package/types/cli/module/module.request.d.ts +0 -63
  313. package/types/cli/module/module.runner.d.ts +0 -55
  314. package/types/cli/module/module.script.d.ts +0 -22
  315. package/types/cli/npmRegistry.d.ts +0 -1
  316. package/types/cli/openBrowser.d.ts +0 -1
  317. package/types/cli/package/package.command.d.ts +0 -7
  318. package/types/cli/package/package.runner.d.ts +0 -13
  319. package/types/cli/package/package.script.d.ts +0 -18
  320. package/types/cli/page/page.command.d.ts +0 -7
  321. package/types/cli/page/page.runner.d.ts +0 -10
  322. package/types/cli/page/page.script.d.ts +0 -13
  323. package/types/cli/pluralizeName.d.ts +0 -1
  324. package/types/cli/scalar/scalar.command.d.ts +0 -7
  325. package/types/cli/scalar/scalar.prompt.d.ts +0 -23
  326. package/types/cli/scalar/scalar.runner.d.ts +0 -16
  327. package/types/cli/scalar/scalar.script.d.ts +0 -11
  328. package/types/cli/semver.d.ts +0 -1
  329. package/types/cli/templates/__scalar/__model__/__model__.constant.d.ts +0 -7
  330. package/types/cli/templates/__scalar/__model__/__model__.dictionary.d.ts +0 -7
  331. package/types/cli/templates/__scalar/__model__/__model__.document.d.ts +0 -7
  332. package/types/cli/templates/app/akan.config.d.ts +0 -6
  333. package/types/cli/templates/app/env/env.client.d.ts +0 -6
  334. package/types/cli/templates/app/env/env.client.type.d.ts +0 -6
  335. package/types/cli/templates/app/env/env.server.d.ts +0 -6
  336. package/types/cli/templates/app/lib/___appName__/__appName__.dictionary.d.ts +0 -7
  337. package/types/cli/templates/app/lib/___appName__/__appName__.service.d.ts +0 -7
  338. package/types/cli/templates/app/lib/___appName__/__appName__.signal.d.ts +0 -7
  339. package/types/cli/templates/app/lib/___appName__/__appName__.store.d.ts +0 -7
  340. package/types/cli/templates/app/lib/option.d.ts +0 -6
  341. package/types/cli/templates/app/main.d.ts +0 -6
  342. package/types/cli/templates/app/page/_index.d.ts +0 -9
  343. package/types/cli/templates/app/page/_layout.d.ts +0 -11
  344. package/types/cli/templates/client.d.ts +0 -4
  345. package/types/cli/templates/crudPages/[__model__Id]/edit/page.d.ts +0 -11
  346. package/types/cli/templates/crudPages/[__model__Id]/page.d.ts +0 -11
  347. package/types/cli/templates/crudPages/new/page.d.ts +0 -11
  348. package/types/cli/templates/crudPages/page.d.ts +0 -11
  349. package/types/cli/templates/crudSinglePage/page.d.ts +0 -11
  350. package/types/cli/templates/env/_env.server.type.d.ts +0 -7
  351. package/types/cli/templates/facetIndex/index.d.ts +0 -13
  352. package/types/cli/templates/facetIndex.d.ts +0 -1
  353. package/types/cli/templates/index.d.ts +0 -6
  354. package/types/cli/templates/lib/__lib/lib.constant.d.ts +0 -4
  355. package/types/cli/templates/lib/__lib/lib.dictionary.d.ts +0 -4
  356. package/types/cli/templates/lib/__lib/lib.document.d.ts +0 -4
  357. package/types/cli/templates/lib/__lib/lib.service.d.ts +0 -4
  358. package/types/cli/templates/lib/__lib/lib.signal.d.ts +0 -4
  359. package/types/cli/templates/lib/__lib/lib.store.d.ts +0 -4
  360. package/types/cli/templates/lib/cnst.d.ts +0 -4
  361. package/types/cli/templates/lib/db.d.ts +0 -4
  362. package/types/cli/templates/lib/dict.d.ts +0 -4
  363. package/types/cli/templates/lib/sig.d.ts +0 -4
  364. package/types/cli/templates/lib/srv.d.ts +0 -4
  365. package/types/cli/templates/lib/st.d.ts +0 -4
  366. package/types/cli/templates/lib/useClient.d.ts +0 -4
  367. package/types/cli/templates/lib/useServer.d.ts +0 -4
  368. package/types/cli/templates/libRoot/akan.config.d.ts +0 -5
  369. package/types/cli/templates/libRoot/base/baseLogic.d.ts +0 -5
  370. package/types/cli/templates/libRoot/base/index.d.ts +0 -5
  371. package/types/cli/templates/libRoot/base.d.ts +0 -1
  372. package/types/cli/templates/libRoot/common/commonLogic.d.ts +0 -5
  373. package/types/cli/templates/libRoot/common/index.d.ts +0 -5
  374. package/types/cli/templates/libRoot/common.d.ts +0 -1
  375. package/types/cli/templates/libRoot/lib/___libName__/__libName__.dictionary.d.ts +0 -6
  376. package/types/cli/templates/libRoot/lib/___libName__/__libName__.service.d.ts +0 -6
  377. package/types/cli/templates/libRoot/lib/___libName__/__libName__.store.d.ts +0 -6
  378. package/types/cli/templates/libRoot/lib/option.d.ts +0 -6
  379. package/types/cli/templates/libRoot/srvkit/backendLogic.d.ts +0 -5
  380. package/types/cli/templates/libRoot/srvkit/index.d.ts +0 -5
  381. package/types/cli/templates/libRoot/srvkit.d.ts +0 -1
  382. package/types/cli/templates/libRoot/ui/index.d.ts +0 -5
  383. package/types/cli/templates/libRoot/ui.d.ts +0 -1
  384. package/types/cli/templates/libRoot/webkit/frontendLogic.d.ts +0 -5
  385. package/types/cli/templates/libRoot/webkit/index.d.ts +0 -5
  386. package/types/cli/templates/libRoot/webkit.d.ts +0 -1
  387. package/types/cli/templates/module/__Model__.Template.d.ts +0 -11
  388. package/types/cli/templates/module/__Model__.Unit.d.ts +0 -11
  389. package/types/cli/templates/module/__Model__.Util.d.ts +0 -11
  390. package/types/cli/templates/module/__Model__.View.d.ts +0 -11
  391. package/types/cli/templates/module/__Model__.Zone.d.ts +0 -11
  392. package/types/cli/templates/module/__model__.constant.d.ts +0 -8
  393. package/types/cli/templates/module/__model__.dictionary.d.ts +0 -8
  394. package/types/cli/templates/module/__model__.document.d.ts +0 -8
  395. package/types/cli/templates/module/__model__.service.d.ts +0 -8
  396. package/types/cli/templates/module/__model__.signal.d.ts +0 -9
  397. package/types/cli/templates/module/__model__.store.d.ts +0 -8
  398. package/types/cli/templates/moduleRoot/index.d.ts +0 -11
  399. package/types/cli/templates/moduleRoot.d.ts +0 -1
  400. package/types/cli/templates/server.d.ts +0 -4
  401. package/types/cli/templates.d.ts +0 -1
  402. package/types/cli/testHelpers.d.ts +0 -64
  403. package/types/cli/workspace/workspace.command.d.ts +0 -7
  404. package/types/cli/workspace/workspace.runner.d.ts +0 -14
  405. package/types/cli/workspace/workspace.script.d.ts +0 -29
  406. package/types/cli.d.ts +0 -1
  407. package/types/devkit/aiEditor.d.ts +0 -50
  408. package/types/devkit/akanApp/akanApp.host.d.ts +0 -16
  409. package/types/devkit/akanApp/index.d.ts +0 -1
  410. package/types/devkit/akanApp.d.ts +0 -1
  411. package/types/devkit/akanConfig/akanConfig.d.ts +0 -36
  412. package/types/devkit/akanConfig/index.d.ts +0 -2
  413. package/types/devkit/akanConfig.d.ts +0 -1
  414. package/types/devkit/applicationBuildReporter.d.ts +0 -25
  415. package/types/devkit/applicationBuildRunner.d.ts +0 -29
  416. package/types/devkit/applicationReleasePackager.d.ts +0 -17
  417. package/types/devkit/artifact/implicitRootLayout.d.ts +0 -17
  418. package/types/devkit/artifact/index.d.ts +0 -1
  419. package/types/devkit/artifact/routeSeedIndex.d.ts +0 -38
  420. package/types/devkit/artifact.d.ts +0 -1
  421. package/types/devkit/auth.d.ts +0 -9
  422. package/types/devkit/builder.d.ts +0 -18
  423. package/types/devkit/capacitor.base.config.d.ts +0 -3
  424. package/types/devkit/capacitorApp.d.ts +0 -58
  425. package/types/devkit/commandDecorators/argMeta.d.ts +0 -68
  426. package/types/devkit/commandDecorators/command.d.ts +0 -2
  427. package/types/devkit/commandDecorators/commandBuilder.d.ts +0 -60
  428. package/types/devkit/commandDecorators/commandMeta.d.ts +0 -2
  429. package/types/devkit/commandDecorators/dependencyBuilder.d.ts +0 -22
  430. package/types/devkit/commandDecorators/helpFormatter.d.ts +0 -3
  431. package/types/devkit/commandDecorators/index.d.ts +0 -8
  432. package/types/devkit/commandDecorators/targetMeta.d.ts +0 -21
  433. package/types/devkit/commandDecorators/types.d.ts +0 -8
  434. package/types/devkit/commandDecorators.d.ts +0 -1
  435. package/types/devkit/constants.d.ts +0 -25
  436. package/types/devkit/createTunnel.d.ts +0 -8
  437. package/types/devkit/dependencyScanner.d.ts +0 -33
  438. package/types/devkit/executors.d.ts +0 -320
  439. package/types/devkit/extractDeps.d.ts +0 -7
  440. package/types/devkit/fileEditor.d.ts +0 -16
  441. package/types/devkit/fileSys.d.ts +0 -12
  442. package/types/devkit/frontendBuild/allRoutesBuilder.d.ts +0 -18
  443. package/types/devkit/frontendBuild/clientBuildTypes.d.ts +0 -107
  444. package/types/devkit/frontendBuild/clientEntriesBundler.d.ts +0 -12
  445. package/types/devkit/frontendBuild/clientEntryDiscovery.d.ts +0 -19
  446. package/types/devkit/frontendBuild/csrArtifactBuilder.d.ts +0 -16
  447. package/types/devkit/frontendBuild/cssCompiler.d.ts +0 -25
  448. package/types/devkit/frontendBuild/cssImportResolver.d.ts +0 -9
  449. package/types/devkit/frontendBuild/fontOptimizer.d.ts +0 -14
  450. package/types/devkit/frontendBuild/hmrChangeClassifier.d.ts +0 -5
  451. package/types/devkit/frontendBuild/hmrWatcher.d.ts +0 -21
  452. package/types/devkit/frontendBuild/index.d.ts +0 -18
  453. package/types/devkit/frontendBuild/pagesBundleBuilder.d.ts +0 -28
  454. package/types/devkit/frontendBuild/pagesEntrySourceGenerator.d.ts +0 -9
  455. package/types/devkit/frontendBuild/precompressArtifacts.d.ts +0 -7
  456. package/types/devkit/frontendBuild/routeClientBuilder.d.ts +0 -50
  457. package/types/devkit/frontendBuild/routesManifestArtifactSerializer.d.ts +0 -12
  458. package/types/devkit/frontendBuild/ssrBaseArtifactBuilder.d.ts +0 -16
  459. package/types/devkit/frontendBuild/vendorSpecifiers.d.ts +0 -2
  460. package/types/devkit/frontendBuild/watchRootResolver.d.ts +0 -6
  461. package/types/devkit/frontendBuild.d.ts +0 -1
  462. package/types/devkit/getCredentials.d.ts +0 -12
  463. package/types/devkit/getDirname.d.ts +0 -1
  464. package/types/devkit/getModelFileData.d.ts +0 -16
  465. package/types/devkit/getRelatedCnsts.d.ts +0 -53
  466. package/types/devkit/guideline.d.ts +0 -19
  467. package/types/devkit/incrementalBuilder/incrementalBuilder.host.d.ts +0 -30
  468. package/types/devkit/incrementalBuilder/incrementalBuilder.proc.d.ts +0 -1
  469. package/types/devkit/incrementalBuilder/index.d.ts +0 -1
  470. package/types/devkit/incrementalBuilder.d.ts +0 -1
  471. package/types/devkit/index.d.ts +0 -36
  472. package/types/devkit/linter.d.ts +0 -108
  473. package/types/devkit/mobile/index.d.ts +0 -1
  474. package/types/devkit/mobile/mobileTarget.d.ts +0 -14
  475. package/types/devkit/mobile.d.ts +0 -1
  476. package/types/devkit/prompter.d.ts +0 -15
  477. package/types/devkit/scanInfo.d.ts +0 -82
  478. package/types/devkit/selectModel.d.ts +0 -1
  479. package/types/devkit/spinner.d.ts +0 -20
  480. package/types/devkit/src/capacitorApp.d.ts +0 -39
  481. package/types/devkit/sshTunnel.d.ts +0 -14
  482. package/types/devkit/streamAi.d.ts +0 -6
  483. package/types/devkit/transforms/barrelAnalyzer.d.ts +0 -27
  484. package/types/devkit/transforms/barrelImportsPlugin.d.ts +0 -26
  485. package/types/devkit/transforms/externalizeFrameworkPlugin.d.ts +0 -49
  486. package/types/devkit/transforms/index.d.ts +0 -5
  487. package/types/devkit/transforms/rscUseClientTransform.d.ts +0 -10
  488. package/types/devkit/transforms/useClientBundlePlugin.d.ts +0 -19
  489. package/types/devkit/transforms.d.ts +0 -1
  490. package/types/devkit/typeChecker.d.ts +0 -62
  491. package/types/devkit/types.d.ts +0 -43
  492. package/types/devkit/ui/MultiScrollList.d.ts +0 -13
  493. package/types/devkit/ui/ScrollList.d.ts +0 -7
  494. package/types/devkit/ui/index.d.ts +0 -2
  495. package/types/devkit/ui.d.ts +0 -1
  496. package/types/devkit/uploadRelease.d.ts +0 -10
  497. package/types/devkit/useStdoutDimensions.d.ts +0 -1
  498. package/types/devkit.d.ts +0 -1
@@ -1,128 +0,0 @@
1
- import path from "node:path";
2
- import { assertUniqueRoutePatterns, compareRouteSpecificity, parseRouteModuleKey } from "akanjs/common";
3
- import type { PageEntry } from "./implicitRootLayout";
4
-
5
- /**
6
- * Build-time utilities for the route seed index. `computeRouteSeedIndex`
7
- * takes resolved `PageEntry` rows (`key` plus absolute module path — files
8
- * under `app/` or the generated implicit root layout) and produces — for every
9
- * route — the list of source files that seed the `"use client"` graph walk.
10
- *
11
- * The result is serialized to `route-seed-index.json` by
12
- * `saveRouteSeedIndex` so the runtime server can call
13
- * `loadRouteSeedIndex` to restore it without re-importing `pages.ts`
14
- * (which no longer exists) or reparsing loader sources.
15
- */
16
-
17
- export interface RouteSeedEntry {
18
- routeId: string;
19
- pattern: string;
20
- seeds: string[];
21
- }
22
-
23
- export interface RouteSeedIndex {
24
- entries: RouteSeedEntry[];
25
- globalLayoutFiles: string[];
26
- }
27
-
28
- export type SerializedRouteSeedEntry = Pick<RouteSeedEntry, "routeId"> &
29
- Partial<Pick<RouteSeedEntry, "pattern" | "seeds">>;
30
-
31
- export interface SerializedRouteSeedIndex {
32
- entries: SerializedRouteSeedEntry[];
33
- globalLayoutFiles?: string[];
34
- }
35
-
36
- /**
37
- * Compute the route seed index from `PageEntry`s (disk paths or generated
38
- * implicit root layout absolute paths).
39
- */
40
- export function computeRouteSeedIndex(pageEntries: PageEntry[]): RouteSeedIndex {
41
- const layoutsByPrefix = new Map<string, string[]>();
42
- const pagesBySegments: Array<{
43
- key: string;
44
- pattern: string;
45
- segments: string[];
46
- files: string[];
47
- includeOwnLayout: boolean;
48
- }> = [];
49
-
50
- for (const { key, moduleAbsPath, seedAbsPaths } of pageEntries) {
51
- const parsed = parseRouteModuleKey(key);
52
- const files = [path.resolve(moduleAbsPath), ...(seedAbsPaths ?? []).map((seed) => path.resolve(seed))];
53
- if (parsed.kind === "layout") {
54
- const prefix = parsed.routeSegments.join("/");
55
- const prev = layoutsByPrefix.get(prefix) ?? [];
56
- layoutsByPrefix.set(prefix, [...prev, ...files]);
57
- } else if (parsed.kind === "page") {
58
- pagesBySegments.push({
59
- key,
60
- pattern: parsed.pattern,
61
- segments: parsed.routeSegments,
62
- files,
63
- includeOwnLayout: parsed.leaf === "_index",
64
- });
65
- }
66
- }
67
- assertUniqueRoutePatterns(pagesBySegments);
68
-
69
- const rootLayouts = layoutsByPrefix.get("") ?? [];
70
- const globalLayoutFiles = rootLayouts;
71
-
72
- const seedEntries: RouteSeedEntry[] = [];
73
- for (const { pattern, segments, files, includeOwnLayout } of pagesBySegments) {
74
- const layouts: string[] = [];
75
- const maxPrefixLength = includeOwnLayout ? segments.length : Math.max(segments.length - 1, 0);
76
- for (let i = 0; i <= maxPrefixLength; i++) {
77
- const prefix = segments.slice(0, i).join("/");
78
- const layoutFiles = layoutsByPrefix.get(prefix);
79
- if (layoutFiles) layouts.push(...layoutFiles);
80
- }
81
- const seeds = Array.from(new Set([...layouts, ...files]));
82
- const routeId = pattern || "/";
83
- seedEntries.push({ routeId, pattern: routeId, seeds });
84
- }
85
-
86
- seedEntries.sort((a, b) => compareRouteSpecificity(a.pattern, b.pattern));
87
- return { entries: seedEntries, globalLayoutFiles };
88
- }
89
-
90
- export const ROUTE_SEED_INDEX_JSON = "route-seed-index.json";
91
-
92
- export function serializeRouteSeedIndexForArtifact(
93
- index: RouteSeedIndex,
94
- artifactDir: string,
95
- options: { production?: boolean } = {},
96
- ): SerializedRouteSeedIndex {
97
- const normalizedArtifactDir = path.resolve(artifactDir);
98
- if (options.production) {
99
- return {
100
- entries: index.entries.map((entry) => ({ routeId: entry.routeId })),
101
- };
102
- }
103
- return {
104
- entries: index.entries.map((entry) => ({
105
- ...entry,
106
- seeds: entry.seeds.map((seed) => serializeArtifactPath(seed, normalizedArtifactDir)),
107
- })),
108
- globalLayoutFiles: index.globalLayoutFiles.map((file) => serializeArtifactPath(file, normalizedArtifactDir)),
109
- };
110
- }
111
-
112
- export async function saveRouteSeedIndex(
113
- artifactDir: string,
114
- index: RouteSeedIndex,
115
- options: { production?: boolean } = {},
116
- ): Promise<string> {
117
- const absPath = path.join(path.resolve(artifactDir), ROUTE_SEED_INDEX_JSON);
118
- await Bun.write(
119
- absPath,
120
- `${JSON.stringify(serializeRouteSeedIndexForArtifact(index, artifactDir, options), null, 2)}\n`,
121
- );
122
- return absPath;
123
- }
124
-
125
- function serializeArtifactPath(artifactPath: string, artifactDir: string): string {
126
- if (!path.isAbsolute(artifactPath)) return artifactPath;
127
- return path.relative(artifactDir, artifactPath).split(path.sep).join("/");
128
- }
package/devkit/auth.ts DELETED
@@ -1,41 +0,0 @@
1
- import { mkdir } from "node:fs/promises";
2
-
3
- import {
4
- type AkanGlobalConfig,
5
- akanCloudHost,
6
- akanCloudUrl,
7
- basePath,
8
- configPath,
9
- defaultAkanGlobalConfig,
10
- defaultHostConfig,
11
- type HostConfig,
12
- } from "./constants";
13
- import { FileSys } from "./fileSys";
14
-
15
- export const getAkanGlobalConfig = async () => {
16
- const exists = await FileSys.fileExists(configPath);
17
- const akanConfig = exists ? await FileSys.readJson<AkanGlobalConfig>(configPath) : defaultAkanGlobalConfig;
18
- return akanConfig;
19
- };
20
- export const setAkanGlobalConfig = async (akanConfig: AkanGlobalConfig) => {
21
- await mkdir(basePath, { recursive: true });
22
- await Bun.write(configPath, JSON.stringify(akanConfig, null, 2));
23
- };
24
- export const getHostConfig = async (host = akanCloudHost) => {
25
- const akanConfig = await getAkanGlobalConfig();
26
- return akanConfig.cloudHost[host] ?? defaultHostConfig;
27
- };
28
- export const setHostConfig = async (host = akanCloudHost, config: HostConfig = {}) => {
29
- const akanConfig = await getAkanGlobalConfig();
30
- akanConfig.cloudHost[host] = config;
31
- await setAkanGlobalConfig(akanConfig);
32
- };
33
- export const getSelf = async (token: string) => {
34
- try {
35
- const res = await fetch(`${akanCloudUrl}/user/getSelf`, { headers: { Authorization: `Bearer ${token}` } });
36
- const user = (await res.json()) as { id: string; nickname: string };
37
- return user;
38
- } catch (e) {
39
- return null;
40
- }
41
- };
package/devkit/builder.ts DELETED
@@ -1,164 +0,0 @@
1
- import { existsSync } from "node:fs";
2
- import { mkdir } from "node:fs/promises";
3
- import path from "node:path";
4
- import type { Loader } from "bun";
5
- import type { Executor } from "./executors";
6
- import { FileSys } from "./fileSys";
7
- import type { PackageJson } from "./types";
8
-
9
- /** Relative paths under these directories are not used as Bun.build entrypoints (Bun does not expand `**` in entrypoint strings; we scan with {@link Bun.Glob}). */
10
- const SKIP_ENTRY_DIR_SET = new Set(["node_modules", "dist", "build", ".git", ".next"]);
11
-
12
- const assetExtensions = [".css", ".md", ".js", ".png", ".ico", ".svg", ".json", ".template"];
13
- const assetLoader = Object.fromEntries(assetExtensions.map((ext) => [ext, "file" as const])) satisfies Record<
14
- string,
15
- Loader
16
- >;
17
-
18
- type BunBuildConfig = Parameters<typeof Bun.build>[0] & { bundle?: boolean };
19
- type ExportValue = string | string[] | { [condition: string]: ExportValue };
20
-
21
- interface BuildOptions {
22
- bundle?: boolean;
23
- additionalEntryPoints?: string[];
24
- }
25
-
26
- interface BuilderOptions {
27
- executor: Executor;
28
- distExecutor: Executor;
29
- pkgJson: PackageJson;
30
- rootPackageJson: PackageJson;
31
- }
32
- export class Builder {
33
- #executor: Executor;
34
- #distExecutor: Executor;
35
- #pkgJson: PackageJson;
36
-
37
- constructor({ executor, distExecutor, pkgJson }: BuilderOptions) {
38
- this.#executor = executor;
39
- this.#distExecutor = distExecutor;
40
- this.#pkgJson = pkgJson;
41
- }
42
- #globEntrypoints(cwd: string, pattern: string): string[] {
43
- const glob = new Bun.Glob(pattern);
44
- return Array.from(glob.scanSync({ cwd, onlyFiles: true }))
45
- .filter((relativePath) => {
46
- const segments = relativePath.split(path.sep);
47
- return !segments.some((segment) => SKIP_ENTRY_DIR_SET.has(segment));
48
- })
49
- .map((rel) => path.join(cwd, rel));
50
- }
51
- #globFiles(cwd: string, pattern = "**/*.*"): string[] {
52
- const glob = new Bun.Glob(pattern);
53
- return Array.from(glob.scanSync({ cwd, onlyFiles: true })).filter((relativePath) => {
54
- const segments = relativePath.split(path.sep);
55
- return !segments.some((segment) => SKIP_ENTRY_DIR_SET.has(segment));
56
- });
57
- }
58
-
59
- #resolveAdditionalEntrypoints(cwd: string, additionalEntryPoints: string[]): string[] {
60
- const out: string[] = [];
61
- for (const p of additionalEntryPoints) {
62
- if (p.includes("*")) {
63
- const rel = p.startsWith(`${cwd}/`) || p.startsWith(`${cwd}${path.sep}`) ? p.slice(cwd.length + 1) : p;
64
- out.push(...this.#globEntrypoints(cwd, rel));
65
- } else out.push(path.isAbsolute(p) ? p : path.join(cwd, p));
66
- }
67
- return out;
68
- }
69
- #getBuildOptions({ bundle = false, additionalEntryPoints = [] }: BuildOptions = {}): BunBuildConfig {
70
- const cwd = this.#executor.cwdPath;
71
- const entrypoints = [
72
- ...(bundle ? [path.join(cwd, "index.ts")] : this.#globEntrypoints(cwd, "**/*.{ts,tsx}")),
73
- ...this.#resolveAdditionalEntrypoints(cwd, additionalEntryPoints),
74
- ];
75
- return {
76
- root: cwd,
77
- entrypoints,
78
- bundle,
79
- packages: "external",
80
- splitting: false,
81
- target: this.#pkgJson.bun?.platform,
82
- format: "esm",
83
- outdir: this.#distExecutor.cwdPath,
84
- external: ["react", "react-dom"],
85
- loader: assetLoader,
86
- };
87
- }
88
- async #copySourceFiles() {
89
- const cwd = this.#executor.cwdPath;
90
- for (const relativePath of this.#globFiles(cwd)) {
91
- if (relativePath === "package.json") continue;
92
- const sourcePath = path.join(cwd, relativePath);
93
- const targetPath = path.join(this.#distExecutor.cwdPath, relativePath);
94
- await mkdir(path.dirname(targetPath), { recursive: true });
95
- await Bun.write(targetPath, Bun.file(sourcePath));
96
- }
97
- }
98
- #toPublishedPath(publishedPath: string, { useSource }: { useSource: boolean }) {
99
- const hasDotSlash = publishedPath.startsWith("./");
100
- const withoutFormatDir = publishedPath.replace(/^(?:\.\/)?(?:esm|cjs)\//, hasDotSlash ? "./" : "");
101
- if (!useSource) return withoutFormatDir;
102
- if (!hasDotSlash && withoutFormatDir === publishedPath) return publishedPath;
103
- const parsed = path.posix.parse(withoutFormatDir);
104
- if (![".js", ".mjs", ".cjs"].includes(parsed.ext)) return withoutFormatDir;
105
- const withoutExt = path.posix.join(parsed.dir, parsed.name);
106
- const sourcePath = withoutExt.startsWith("./") ? withoutExt.slice(2) : withoutExt;
107
- const sourceCandidates = [`${sourcePath}.ts`, `${sourcePath}.tsx`];
108
- const matchedSource = sourceCandidates.find((candidate) =>
109
- existsSync(path.join(this.#executor.cwdPath, candidate)),
110
- );
111
- if (!matchedSource) return withoutFormatDir;
112
- return hasDotSlash ? `./${matchedSource}` : matchedSource;
113
- }
114
- #normalizeExports(
115
- exportsValue: ExportValue | undefined,
116
- { useSource }: { useSource: boolean },
117
- ): ExportValue | undefined {
118
- if (!exportsValue) return exportsValue;
119
- if (typeof exportsValue === "string") return this.#toPublishedPath(exportsValue, { useSource });
120
- if (Array.isArray(exportsValue))
121
- return exportsValue.map((value) => this.#normalizeExports(value, { useSource }) as string);
122
- if (typeof exportsValue !== "object") return exportsValue;
123
-
124
- return Object.fromEntries(
125
- Object.entries(exportsValue)
126
- .filter(([condition]) => condition !== "require")
127
- .map(([condition, value]) => [condition, this.#normalizeExports(value, { useSource })])
128
- .filter((entry): entry is [string, ExportValue] => entry[1] !== undefined),
129
- );
130
- }
131
- #getPackageJson({ bundle = false }: BuildOptions = {}): PackageJson {
132
- const rootEntry = bundle ? "./index.js" : "./index.ts";
133
- const normalizedExports = this.#normalizeExports(this.#pkgJson.exports as ExportValue | undefined, {
134
- useSource: !bundle,
135
- });
136
- return {
137
- ...this.#pkgJson,
138
- type: "module",
139
- main: rootEntry,
140
- bin: this.#normalizeExports(this.#pkgJson.bin as ExportValue | undefined, { useSource: !bundle }),
141
- exports: {
142
- ...((typeof normalizedExports === "object" && !Array.isArray(normalizedExports)
143
- ? normalizedExports
144
- : {}) as Record<string, ExportValue>),
145
- ".": {
146
- import: rootEntry,
147
- types: bundle ? "./index.d.ts" : "./index.ts",
148
- },
149
- },
150
- };
151
- }
152
- async build(options: BuildOptions = {}) {
153
- if (await FileSys.dirExists(this.#distExecutor.cwdPath))
154
- await this.#distExecutor.exec(`rm -rf ${this.#distExecutor.cwdPath}`);
155
-
156
- if (options.bundle) {
157
- const buildResult = await Bun.build({ ...this.#getBuildOptions(options) });
158
- if (!buildResult.success) throw new AggregateError(buildResult.logs, "Bundle failed");
159
- } else await this.#copySourceFiles();
160
-
161
- const pkgPackageJson = this.#getPackageJson(options);
162
- await this.#distExecutor.setPackageJson(pkgPackageJson);
163
- }
164
- }
@@ -1,88 +0,0 @@
1
- import os from "node:os";
2
- import type { CapacitorConfig } from "@capacitor/cli";
3
- import type { AkanMobileTargetConfig, AppScanResult } from "akanjs/devkit";
4
-
5
- const getLocalIP = () => {
6
- const interfaces = os.networkInterfaces();
7
- for (const interfaceName in interfaces) {
8
- const iface = interfaces[interfaceName];
9
- if (!iface) continue;
10
- for (const alias of iface) {
11
- if (alias.family === "IPv4" && !alias.internal) return alias.address;
12
- }
13
- }
14
- return "127.0.0.1";
15
- };
16
-
17
- const normalizeBasePath = (basePath: string | undefined) => basePath?.replace(/^\/+|\/+$/g, "");
18
-
19
- const routeBasePaths = (appInfo: AppScanResult) =>
20
- new Set(
21
- appInfo.routes
22
- .map((route) => route.replace(/^\.\//, "").split("/")[0])
23
- .filter((segment): segment is string => !!segment && !segment.startsWith("_") && !segment.startsWith("(")),
24
- );
25
-
26
- const resolveTarget = (appInfo: AppScanResult, targetName = process.env.AKAN_MOBILE_TARGET) => {
27
- const targets = appInfo.akanConfig.mobile.targets;
28
- if (!targets || Object.keys(targets).length === 0) throw new Error("Akan mobile target metadata is missing.");
29
- if (targetName) {
30
- const target = targets[targetName];
31
- if (!target) {
32
- const basePath = normalizeBasePath(targetName);
33
- const [template] = Object.values(targets);
34
- if (basePath && template && routeBasePaths(appInfo).has(basePath))
35
- return { ...template, name: basePath, basePath };
36
- throw new Error(`Akan mobile target '${targetName}' was not found.`);
37
- }
38
- return target;
39
- }
40
- const entries = Object.entries(targets);
41
- if (entries.length !== 1) throw new Error("AKAN_MOBILE_TARGET is required when multiple mobile targets exist.");
42
- return entries[0]?.[1] as AkanMobileTargetConfig;
43
- };
44
-
45
- const localCsrUrl = (ip: string, target: AkanMobileTargetConfig) => {
46
- const basePath = normalizeBasePath(target.basePath);
47
- const port = process.env.AKAN_PUBLIC_CLIENT_PORT ?? process.env.PORT ?? "8282";
48
- return `http://${ip}:${port}/${basePath ? `${basePath}` : ""}?csr=true`;
49
- };
50
-
51
- export const withBase = (
52
- configImp: (config: CapacitorConfig, target: AkanMobileTargetConfig) => CapacitorConfig = (config) => config,
53
- appData?: AppScanResult,
54
- targetName?: string,
55
- ) => {
56
- const ip = getLocalIP();
57
- const appInfo = appData;
58
- if (!appInfo) throw new Error("withBase requires apps/<app>/akan.app.json metadata.");
59
- const target = resolveTarget(appInfo, targetName);
60
- const baseConfig: CapacitorConfig = {
61
- ...target,
62
- appId: target.appId,
63
- appName: target.appName,
64
- webDir: "dist",
65
- server:
66
- process.env.APP_OPERATION_MODE !== "release"
67
- ? {
68
- androidScheme: "http",
69
- url: localCsrUrl(ip, target),
70
- cleartext: true,
71
- allowNavigation: [ip, "localhost"],
72
- }
73
- : {
74
- allowNavigation: ["*"],
75
- },
76
- plugins: {
77
- CapacitorCookies: { enabled: true },
78
- ...target.plugins,
79
- },
80
- android: {
81
- ...target.android,
82
- },
83
- ios: {
84
- ...target.ios,
85
- },
86
- };
87
- return configImp(baseConfig, target);
88
- };