vona-cli-set-api 1.0.8 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/cli/templates/create/module/boilerplate/_package.json +27 -7
  2. package/cli/templates/create/module/boilerplate/_tsconfig.build.json +8 -0
  3. package/cli/templates/create/module/boilerplate/_tsconfig.json +2 -3
  4. package/cli/templates/create/module/snippets/package.json.ts +17 -0
  5. package/cli/templates/create/module/snippets/tsconfig.json.ts +19 -0
  6. package/cli/templates/create/project/basic/boilerplate/.editorconfig +9 -0
  7. package/cli/templates/create/project/basic/boilerplate/.gitattributes +2 -0
  8. package/cli/templates/create/project/basic/boilerplate/.vscode/extensions.json +4 -0
  9. package/cli/templates/create/project/basic/boilerplate/.vscode/settings.json +45 -0
  10. package/cli/templates/create/project/basic/boilerplate/.vscode/vona.code-snippets +51 -0
  11. package/cli/templates/create/project/basic/boilerplate/env/.env +59 -0
  12. package/cli/templates/create/project/basic/boilerplate/env/.env.local +0 -0
  13. package/cli/templates/create/project/basic/boilerplate/env/.env.prod +26 -0
  14. package/cli/templates/create/project/basic/boilerplate/env/.env.test +0 -0
  15. package/cli/templates/create/project/basic/boilerplate/eslint.config.mjs +16 -0
  16. package/cli/templates/create/project/basic/boilerplate/package.original.json +45 -0
  17. package/cli/templates/create/project/basic/boilerplate/pnpm-workspace.yaml +7 -0
  18. package/cli/templates/create/project/basic/boilerplate/scripts/app-init.sh +4 -0
  19. package/cli/templates/create/project/basic/boilerplate/scripts/wait-for-it.sh +156 -0
  20. package/cli/templates/create/project/basic/boilerplate/src/backend/config/config/config.local.ts +10 -0
  21. package/cli/templates/create/project/basic/boilerplate/src/backend/config/config/config.prod.ts +21 -0
  22. package/cli/templates/create/project/basic/boilerplate/src/backend/config/config/config.test.ts +10 -0
  23. package/cli/templates/create/project/basic/boilerplate/src/backend/config/config/config.ts +10 -0
  24. package/cli/templates/create/project/basic/boilerplate/src/backend/config/locale/en-us.ts +5 -0
  25. package/cli/templates/create/project/basic/boilerplate/src/backend/config/locale/zh-cn.ts +5 -0
  26. package/cli/templates/create/project/basic/boilerplate/src/backend/config/locales.ts +7 -0
  27. package/cli/templates/create/project/basic/boilerplate/src/backend/typing/env.d.ts +5 -0
  28. package/cli/templates/create/project/basic/boilerplate/src/module/.gitkeep +0 -0
  29. package/cli/templates/create/project/basic/boilerplate/src/module-vendor/.gitkeep +0 -0
  30. package/cli/templates/create/project/basic/boilerplate/src/suite/.gitkeep +0 -0
  31. package/cli/templates/create/project/basic/boilerplate/src/suite-vendor/.gitkeep +0 -0
  32. package/cli/templates/create/project/basic/boilerplate/tsconfig.base.esm.json +10 -0
  33. package/cli/templates/create/project/basic/boilerplate/tsconfig.base.json +3 -0
  34. package/cli/templates/create/project/basic/boilerplate/tsconfig.json +12 -0
  35. package/cli/templates/create/suite/_package.json +2 -2
  36. package/cli/templates/create/suite/_tsconfig.json +2 -2
  37. package/cli/templates/create/test/boilerplate/{{name}}.test.ts +11 -0
  38. package/cli/templates/init/config/boilerplate/config/config.ts +5 -0
  39. package/cli/templates/init/constant/boilerplate/config/constants.ts +1 -0
  40. package/cli/templates/init/error/boilerplate/config/errors.ts +1 -0
  41. package/cli/templates/init/locale/boilerplate/config/locale/en-us.ts +1 -0
  42. package/cli/templates/init/locale/boilerplate/config/locale/zh-cn.ts +1 -0
  43. package/cli/templates/init/main/boilerplate/main.ts +2 -1
  44. package/cli/templates/init/monkey/boilerplate/monkey.ts +3 -1
  45. package/cli/templates/init/static/boilerplate/static/img/vona.png +0 -0
  46. package/cli/templates/tools/crud/boilerplate/src/controller/{{resourceName}}.ts_ +43 -0
  47. package/cli/templates/tools/crud/boilerplate/src/dto/{{resourceName}}Create.ts_ +9 -0
  48. package/cli/templates/tools/crud/boilerplate/src/dto/{{resourceName}}Update.ts_ +9 -0
  49. package/cli/templates/tools/crud/boilerplate/src/entity/{{resourceName}}.ts_ +15 -0
  50. package/cli/templates/tools/crud/boilerplate/src/model/{{resourceName}}.ts_ +5 -0
  51. package/cli/templates/tools/crud/boilerplate/src/service/{{resourceName}}.ts_ +32 -0
  52. package/cli/templates/tools/crud/boilerplate/test/{{resourceName}}.test.ts_ +46 -0
  53. package/cli/templates/tools/crud/snippets/1-package.json.ts +16 -0
  54. package/cli/templates/tools/crud/snippets/2-meta.version.ts +42 -0
  55. package/cli/templates/tools/crud/snippets/3-en-us.ts +27 -0
  56. package/cli/templates/tools/crud/snippets/4-zh-cn.ts +10 -0
  57. package/cli/templates/tools/crud/utils.ts +20 -0
  58. package/dist/index.d.ts +3 -3
  59. package/dist/index.js +3 -3
  60. package/dist/lib/bean/cli.bin.build.d.ts +15 -0
  61. package/dist/lib/bean/cli.bin.build.js +139 -0
  62. package/dist/lib/bean/cli.bin.dbReset.d.ts +13 -0
  63. package/dist/lib/bean/cli.bin.dbReset.js +46 -0
  64. package/dist/lib/bean/cli.bin.demo.d.ts +12 -0
  65. package/dist/lib/bean/cli.bin.demo.js +50 -0
  66. package/dist/lib/bean/cli.bin.dev.d.ts +14 -0
  67. package/dist/lib/bean/cli.bin.dev.js +53 -0
  68. package/dist/lib/bean/cli.bin.test.d.ts +15 -0
  69. package/dist/lib/bean/cli.bin.test.js +67 -0
  70. package/dist/lib/bean/{cli.tools.build.d.ts → cli.bin.tsc.d.ts} +2 -3
  71. package/dist/lib/bean/{cli.tools.build.js → cli.bin.tsc.js} +13 -5
  72. package/dist/lib/bean/cli.create.bean.d.ts +3 -4
  73. package/dist/lib/bean/cli.create.bean.js +42 -28
  74. package/dist/lib/bean/cli.create.module.d.ts +1 -2
  75. package/dist/lib/bean/cli.create.module.js +3 -4
  76. package/dist/lib/bean/cli.create.project.d.ts +26 -0
  77. package/dist/lib/bean/cli.create.project.js +115 -0
  78. package/dist/lib/bean/cli.create.suite.d.ts +1 -2
  79. package/dist/lib/bean/cli.create.suite.js +5 -9
  80. package/dist/lib/bean/cli.create.test.d.ts +15 -0
  81. package/dist/lib/bean/cli.create.test.js +39 -0
  82. package/dist/lib/bean/cli.default.list.d.ts +0 -1
  83. package/dist/lib/bean/cli.default.list.js +0 -1
  84. package/dist/lib/bean/cli.init.config.d.ts +8 -0
  85. package/dist/lib/bean/cli.init.config.js +36 -0
  86. package/dist/lib/bean/cli.init.constant.d.ts +8 -0
  87. package/dist/lib/bean/cli.init.constant.js +36 -0
  88. package/dist/lib/bean/cli.init.error.d.ts +8 -0
  89. package/dist/lib/bean/cli.init.error.js +47 -0
  90. package/dist/lib/bean/cli.init.locale.d.ts +8 -0
  91. package/dist/lib/bean/cli.init.locale.js +36 -0
  92. package/dist/lib/bean/cli.init.main.d.ts +0 -1
  93. package/dist/lib/bean/cli.init.main.js +2 -3
  94. package/dist/lib/bean/cli.init.monkey.d.ts +0 -1
  95. package/dist/lib/bean/cli.init.monkey.js +8 -10
  96. package/dist/lib/bean/cli.init.static.d.ts +8 -0
  97. package/dist/lib/bean/cli.init.static.js +36 -0
  98. package/dist/lib/bean/cli.tools.crud.d.ts +15 -0
  99. package/dist/lib/bean/cli.tools.crud.js +42 -0
  100. package/dist/lib/bean/cli.tools.deps.d.ts +2 -10
  101. package/dist/lib/bean/cli.tools.deps.js +16 -123
  102. package/dist/lib/bean/cli.tools.metadata.d.ts +1 -1
  103. package/dist/lib/bean/cli.tools.metadata.js +71 -32
  104. package/dist/lib/bean/toolsBin/configUtils.d.ts +7 -0
  105. package/dist/lib/bean/toolsBin/configUtils.js +56 -0
  106. package/dist/lib/bean/toolsBin/dbReset.d.ts +1 -0
  107. package/dist/lib/bean/toolsBin/dbReset.js +8 -0
  108. package/dist/lib/bean/toolsBin/demo.d.ts +1 -0
  109. package/dist/lib/bean/toolsBin/demo.js +41 -0
  110. package/dist/lib/bean/toolsBin/generateEntryFiles.d.ts +4 -0
  111. package/dist/lib/bean/toolsBin/generateEntryFiles.js +75 -0
  112. package/dist/lib/bean/toolsBin/generateVonaMeta.d.ts +10 -0
  113. package/dist/lib/bean/toolsBin/generateVonaMeta.js +17 -0
  114. package/dist/lib/bean/toolsBin/test.d.ts +1 -0
  115. package/dist/lib/bean/toolsBin/test.js +121 -0
  116. package/dist/lib/bean/toolsBin/types.d.ts +5 -0
  117. package/dist/lib/bean/toolsBin/types.js +1 -0
  118. package/dist/lib/bean/toolsMetadata/generateBeanGenerals.d.ts +2 -0
  119. package/dist/lib/bean/toolsMetadata/generateBeanGenerals.js +33 -0
  120. package/dist/lib/bean/toolsMetadata/generateBeans.d.ts +2 -2
  121. package/dist/lib/bean/toolsMetadata/generateBeans.js +33 -21
  122. package/dist/lib/bean/toolsMetadata/generateConfig.d.ts +3 -4
  123. package/dist/lib/bean/toolsMetadata/generateConfig.js +12 -14
  124. package/dist/lib/bean/toolsMetadata/generateMetadataCustom.d.ts +3 -0
  125. package/dist/lib/bean/toolsMetadata/generateMetadataCustom.js +23 -0
  126. package/dist/lib/bean/toolsMetadata/generateMonkey.d.ts +2 -3
  127. package/dist/lib/bean/toolsMetadata/generateMonkey.js +3 -4
  128. package/dist/lib/bean/toolsMetadata/generateOnions.d.ts +2 -0
  129. package/dist/lib/bean/toolsMetadata/generateOnions.js +90 -0
  130. package/dist/lib/bean/toolsMetadata/generateScope.d.ts +1 -4
  131. package/dist/lib/bean/toolsMetadata/generateScope.js +43 -16
  132. package/dist/lib/bean/toolsMetadata/generateScopeResources.d.ts +2 -0
  133. package/dist/lib/bean/toolsMetadata/generateScopeResources.js +29 -0
  134. package/dist/lib/bean/toolsMetadata/generateScopeResourcesMeta.d.ts +2 -0
  135. package/dist/lib/bean/toolsMetadata/generateScopeResourcesMeta.js +13 -0
  136. package/dist/lib/bean/toolsMetadata/utils.d.ts +9 -0
  137. package/dist/lib/bean/toolsMetadata/utils.js +82 -0
  138. package/dist/lib/beans.d.ts +36 -11
  139. package/dist/lib/beans.js +36 -11
  140. package/dist/lib/command/bin.build.d.ts +19 -0
  141. package/dist/lib/command/bin.build.js +18 -0
  142. package/dist/lib/command/bin.dbReset.d.ts +15 -0
  143. package/dist/lib/command/bin.dbReset.js +14 -0
  144. package/dist/lib/command/bin.demo.d.ts +15 -0
  145. package/dist/lib/command/bin.demo.js +14 -0
  146. package/dist/lib/command/bin.dev.d.ts +19 -0
  147. package/dist/lib/command/bin.dev.js +18 -0
  148. package/dist/lib/command/bin.test.d.ts +19 -0
  149. package/dist/lib/command/bin.test.js +18 -0
  150. package/dist/lib/command/{tools.build.d.ts → bin.tsc.d.ts} +0 -1
  151. package/dist/lib/command/{tools.build.js → bin.tsc.js} +3 -4
  152. package/dist/lib/command/create.bean.d.ts +0 -1
  153. package/dist/lib/command/create.bean.js +0 -1
  154. package/dist/lib/command/create.module.d.ts +0 -1
  155. package/dist/lib/command/create.module.js +0 -1
  156. package/dist/lib/command/create.project.d.ts +45 -0
  157. package/dist/lib/command/create.project.js +43 -0
  158. package/dist/lib/command/create.suite.d.ts +0 -1
  159. package/dist/lib/command/create.suite.js +0 -1
  160. package/dist/lib/command/create.test.d.ts +34 -0
  161. package/dist/lib/command/create.test.js +33 -0
  162. package/dist/lib/command/default.list.d.ts +0 -1
  163. package/dist/lib/command/default.list.js +0 -1
  164. package/dist/lib/command/init.config.d.ts +9 -0
  165. package/dist/lib/command/init.config.js +10 -0
  166. package/dist/lib/command/init.constant.d.ts +9 -0
  167. package/dist/lib/command/init.constant.js +10 -0
  168. package/dist/lib/command/init.error.d.ts +9 -0
  169. package/dist/lib/command/init.error.js +10 -0
  170. package/dist/lib/command/init.locale.d.ts +9 -0
  171. package/dist/lib/command/init.locale.js +10 -0
  172. package/dist/lib/command/init.main.d.ts +0 -1
  173. package/dist/lib/command/init.main.js +0 -1
  174. package/dist/lib/command/init.monkey.d.ts +0 -1
  175. package/dist/lib/command/init.monkey.js +0 -1
  176. package/dist/lib/command/init.static.d.ts +9 -0
  177. package/dist/lib/command/init.static.js +10 -0
  178. package/dist/lib/command/tools.crud.d.ts +34 -0
  179. package/dist/lib/command/tools.crud.js +33 -0
  180. package/dist/lib/command/tools.deps.d.ts +1 -11
  181. package/dist/lib/command/tools.deps.js +2 -12
  182. package/dist/lib/command/tools.metadata.d.ts +0 -1
  183. package/dist/lib/command/tools.metadata.js +0 -1
  184. package/dist/lib/commands.d.ts +237 -13
  185. package/dist/lib/commands.js +38 -11
  186. package/dist/lib/this.d.ts +0 -1
  187. package/dist/lib/this.js +0 -1
  188. package/dist/lib/utils.d.ts +15 -0
  189. package/dist/lib/utils.js +63 -0
  190. package/dist/typings.d.ts +0 -1
  191. package/dist/typings.js +0 -1
  192. package/package.json +50 -26
  193. package/templates/app/app.ejs +15 -0
  194. package/templates/app/bootstrap.ejs +13 -0
  195. package/templates/app/vona-modules-meta.ejs +49 -0
  196. package/templates/config/_tsconfig_project.json +12 -0
  197. package/templates/config/_tsconfig_source.json +40 -0
  198. package/templates/test/done-only.test.ts +3 -0
  199. package/templates/test/done.test.ts +3 -0
  200. package/cli/templates/create/bean/boilerplate/{{sceneName}}.{{beanName}}.ts_ +0 -4
  201. package/cli/templates/create/module/snippets/package.json.cjs +0 -11
  202. package/cli/templates/create/module/snippets/tsconfig.json.cjs +0 -13
  203. package/dist/index.d.ts.map +0 -1
  204. package/dist/index.js.map +0 -1
  205. package/dist/lib/bean/cli.create.bean.d.ts.map +0 -1
  206. package/dist/lib/bean/cli.create.bean.js.map +0 -1
  207. package/dist/lib/bean/cli.create.module.d.ts.map +0 -1
  208. package/dist/lib/bean/cli.create.module.js.map +0 -1
  209. package/dist/lib/bean/cli.create.suite.d.ts.map +0 -1
  210. package/dist/lib/bean/cli.create.suite.js.map +0 -1
  211. package/dist/lib/bean/cli.default.list.d.ts.map +0 -1
  212. package/dist/lib/bean/cli.default.list.js.map +0 -1
  213. package/dist/lib/bean/cli.init.main.d.ts.map +0 -1
  214. package/dist/lib/bean/cli.init.main.js.map +0 -1
  215. package/dist/lib/bean/cli.init.monkey.d.ts.map +0 -1
  216. package/dist/lib/bean/cli.init.monkey.js.map +0 -1
  217. package/dist/lib/bean/cli.tools.build.d.ts.map +0 -1
  218. package/dist/lib/bean/cli.tools.build.js.map +0 -1
  219. package/dist/lib/bean/cli.tools.deps.d.ts.map +0 -1
  220. package/dist/lib/bean/cli.tools.deps.js.map +0 -1
  221. package/dist/lib/bean/cli.tools.metadata.d.ts.map +0 -1
  222. package/dist/lib/bean/cli.tools.metadata.js.map +0 -1
  223. package/dist/lib/bean/toolsMetadata/generateAtoms.d.ts +0 -2
  224. package/dist/lib/bean/toolsMetadata/generateAtoms.d.ts.map +0 -1
  225. package/dist/lib/bean/toolsMetadata/generateAtoms.js +0 -24
  226. package/dist/lib/bean/toolsMetadata/generateAtoms.js.map +0 -1
  227. package/dist/lib/bean/toolsMetadata/generateBeans.d.ts.map +0 -1
  228. package/dist/lib/bean/toolsMetadata/generateBeans.js.map +0 -1
  229. package/dist/lib/bean/toolsMetadata/generateConfig.d.ts.map +0 -1
  230. package/dist/lib/bean/toolsMetadata/generateConfig.js.map +0 -1
  231. package/dist/lib/bean/toolsMetadata/generateControllers.d.ts +0 -2
  232. package/dist/lib/bean/toolsMetadata/generateControllers.d.ts.map +0 -1
  233. package/dist/lib/bean/toolsMetadata/generateControllers.js +0 -24
  234. package/dist/lib/bean/toolsMetadata/generateControllers.js.map +0 -1
  235. package/dist/lib/bean/toolsMetadata/generateEntities.d.ts +0 -2
  236. package/dist/lib/bean/toolsMetadata/generateEntities.d.ts.map +0 -1
  237. package/dist/lib/bean/toolsMetadata/generateEntities.js +0 -24
  238. package/dist/lib/bean/toolsMetadata/generateEntities.js.map +0 -1
  239. package/dist/lib/bean/toolsMetadata/generateModels.d.ts +0 -2
  240. package/dist/lib/bean/toolsMetadata/generateModels.d.ts.map +0 -1
  241. package/dist/lib/bean/toolsMetadata/generateModels.js +0 -34
  242. package/dist/lib/bean/toolsMetadata/generateModels.js.map +0 -1
  243. package/dist/lib/bean/toolsMetadata/generateMonkey.d.ts.map +0 -1
  244. package/dist/lib/bean/toolsMetadata/generateMonkey.js.map +0 -1
  245. package/dist/lib/bean/toolsMetadata/generateScope.d.ts.map +0 -1
  246. package/dist/lib/bean/toolsMetadata/generateScope.js.map +0 -1
  247. package/dist/lib/bean/toolsMetadata/generateServices.d.ts +0 -2
  248. package/dist/lib/bean/toolsMetadata/generateServices.d.ts.map +0 -1
  249. package/dist/lib/bean/toolsMetadata/generateServices.js +0 -54
  250. package/dist/lib/bean/toolsMetadata/generateServices.js.map +0 -1
  251. package/dist/lib/beans.d.ts.map +0 -1
  252. package/dist/lib/beans.js.map +0 -1
  253. package/dist/lib/command/create.bean.d.ts.map +0 -1
  254. package/dist/lib/command/create.bean.js.map +0 -1
  255. package/dist/lib/command/create.module.d.ts.map +0 -1
  256. package/dist/lib/command/create.module.js.map +0 -1
  257. package/dist/lib/command/create.suite.d.ts.map +0 -1
  258. package/dist/lib/command/create.suite.js.map +0 -1
  259. package/dist/lib/command/default.list.d.ts.map +0 -1
  260. package/dist/lib/command/default.list.js.map +0 -1
  261. package/dist/lib/command/init.main.d.ts.map +0 -1
  262. package/dist/lib/command/init.main.js.map +0 -1
  263. package/dist/lib/command/init.monkey.d.ts.map +0 -1
  264. package/dist/lib/command/init.monkey.js.map +0 -1
  265. package/dist/lib/command/tools.build.d.ts.map +0 -1
  266. package/dist/lib/command/tools.build.js.map +0 -1
  267. package/dist/lib/command/tools.deps.d.ts.map +0 -1
  268. package/dist/lib/command/tools.deps.js.map +0 -1
  269. package/dist/lib/command/tools.metadata.d.ts.map +0 -1
  270. package/dist/lib/command/tools.metadata.js.map +0 -1
  271. package/dist/lib/commands.d.ts.map +0 -1
  272. package/dist/lib/commands.js.map +0 -1
  273. package/dist/lib/this.d.ts.map +0 -1
  274. package/dist/lib/this.js.map +0 -1
  275. package/dist/typings.d.ts.map +0 -1
  276. package/dist/typings.js.map +0 -1
@@ -0,0 +1,8 @@
1
+ import { BeanCliBase } from '@cabloy/cli';
2
+ declare module '@cabloy/cli' {
3
+ interface ICommandArgv {
4
+ }
5
+ }
6
+ export declare class CliInitConfig extends BeanCliBase {
7
+ execute(): Promise<void>;
8
+ }
@@ -0,0 +1,36 @@
1
+ import path from 'node:path';
2
+ import { BeanCliBase } from '@cabloy/cli';
3
+ import fse from 'fs-extra';
4
+ import { __ThisSetName__ } from "../this.js";
5
+ export class CliInitConfig extends BeanCliBase {
6
+ async execute() {
7
+ const { argv } = this.context;
8
+ // super
9
+ await super.execute();
10
+ // module name/info
11
+ const moduleName = argv._[0];
12
+ if (!moduleName)
13
+ return;
14
+ argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
15
+ // check if exists
16
+ const _module = this.helper.findModule(moduleName);
17
+ if (!_module) {
18
+ throw new Error(`module does not exist: ${moduleName}`);
19
+ }
20
+ // target dir
21
+ const targetDir = await this.helper.ensureDir(_module.root);
22
+ const configFile = path.join(targetDir, 'src/config/config.ts');
23
+ if (fse.existsSync(configFile)) {
24
+ throw new Error(`config exists: ${moduleName}`);
25
+ }
26
+ // render boilerplate
27
+ await this.template.renderBoilerplateAndSnippets({
28
+ targetDir: path.join(targetDir, 'src'),
29
+ setName: __ThisSetName__,
30
+ snippetsPath: null,
31
+ boilerplatePath: 'init/config/boilerplate',
32
+ });
33
+ // tools.metadata
34
+ await this.helper.invokeCli([':tools:metadata', moduleName], { cwd: argv.projectPath });
35
+ }
36
+ }
@@ -0,0 +1,8 @@
1
+ import { BeanCliBase } from '@cabloy/cli';
2
+ declare module '@cabloy/cli' {
3
+ interface ICommandArgv {
4
+ }
5
+ }
6
+ export declare class CliInitConstant extends BeanCliBase {
7
+ execute(): Promise<void>;
8
+ }
@@ -0,0 +1,36 @@
1
+ import path from 'node:path';
2
+ import { BeanCliBase } from '@cabloy/cli';
3
+ import fse from 'fs-extra';
4
+ import { __ThisSetName__ } from "../this.js";
5
+ export class CliInitConstant extends BeanCliBase {
6
+ async execute() {
7
+ const { argv } = this.context;
8
+ // super
9
+ await super.execute();
10
+ // module name/info
11
+ const moduleName = argv._[0];
12
+ if (!moduleName)
13
+ return;
14
+ argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
15
+ // check if exists
16
+ const _module = this.helper.findModule(moduleName);
17
+ if (!_module) {
18
+ throw new Error(`module does not exist: ${moduleName}`);
19
+ }
20
+ // target dir
21
+ const targetDir = await this.helper.ensureDir(_module.root);
22
+ const constantFile = path.join(targetDir, 'src/config/constants.ts');
23
+ if (fse.existsSync(constantFile)) {
24
+ throw new Error(`constant exists: ${moduleName}`);
25
+ }
26
+ // render boilerplate
27
+ await this.template.renderBoilerplateAndSnippets({
28
+ targetDir: path.join(targetDir, 'src'),
29
+ setName: __ThisSetName__,
30
+ snippetsPath: null,
31
+ boilerplatePath: 'init/constant/boilerplate',
32
+ });
33
+ // tools.metadata
34
+ await this.helper.invokeCli([':tools:metadata', moduleName], { cwd: argv.projectPath });
35
+ }
36
+ }
@@ -0,0 +1,8 @@
1
+ import { BeanCliBase } from '@cabloy/cli';
2
+ declare module '@cabloy/cli' {
3
+ interface ICommandArgv {
4
+ }
5
+ }
6
+ export declare class CliInitError extends BeanCliBase {
7
+ execute(): Promise<void>;
8
+ }
@@ -0,0 +1,47 @@
1
+ import path from 'node:path';
2
+ import { BeanCliBase } from '@cabloy/cli';
3
+ import fse from 'fs-extra';
4
+ import { __ThisSetName__ } from "../this.js";
5
+ export class CliInitError extends BeanCliBase {
6
+ async execute() {
7
+ const { argv } = this.context;
8
+ // super
9
+ await super.execute();
10
+ // module name/info
11
+ const moduleName = argv._[0];
12
+ if (!moduleName)
13
+ return;
14
+ argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
15
+ // check if exists
16
+ const _module = this.helper.findModule(moduleName);
17
+ if (!_module) {
18
+ throw new Error(`module does not exist: ${moduleName}`);
19
+ }
20
+ // target dir
21
+ const targetDir = await this.helper.ensureDir(_module.root);
22
+ const errorFile = path.join(targetDir, 'src/config/errors.ts');
23
+ if (fse.existsSync(errorFile)) {
24
+ throw new Error(`error exists: ${moduleName}`);
25
+ }
26
+ // render boilerplate
27
+ await this.template.renderBoilerplateAndSnippets({
28
+ targetDir: path.join(targetDir, 'src'),
29
+ setName: __ThisSetName__,
30
+ snippetsPath: null,
31
+ boilerplatePath: 'init/error/boilerplate',
32
+ });
33
+ // special for locale
34
+ const localeFile = path.join(targetDir, 'src/config/locale');
35
+ if (!fse.existsSync(localeFile)) {
36
+ // render boilerplate
37
+ await this.template.renderBoilerplateAndSnippets({
38
+ targetDir: path.join(targetDir, 'src'),
39
+ setName: __ThisSetName__,
40
+ snippetsPath: null,
41
+ boilerplatePath: 'init/locale/boilerplate',
42
+ });
43
+ }
44
+ // tools.metadata
45
+ await this.helper.invokeCli([':tools:metadata', moduleName], { cwd: argv.projectPath });
46
+ }
47
+ }
@@ -0,0 +1,8 @@
1
+ import { BeanCliBase } from '@cabloy/cli';
2
+ declare module '@cabloy/cli' {
3
+ interface ICommandArgv {
4
+ }
5
+ }
6
+ export declare class CliInitLocale extends BeanCliBase {
7
+ execute(): Promise<void>;
8
+ }
@@ -0,0 +1,36 @@
1
+ import path from 'node:path';
2
+ import { BeanCliBase } from '@cabloy/cli';
3
+ import fse from 'fs-extra';
4
+ import { __ThisSetName__ } from "../this.js";
5
+ export class CliInitLocale extends BeanCliBase {
6
+ async execute() {
7
+ const { argv } = this.context;
8
+ // super
9
+ await super.execute();
10
+ // module name/info
11
+ const moduleName = argv._[0];
12
+ if (!moduleName)
13
+ return;
14
+ argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
15
+ // check if exists
16
+ const _module = this.helper.findModule(moduleName);
17
+ if (!_module) {
18
+ throw new Error(`module does not exist: ${moduleName}`);
19
+ }
20
+ // target dir
21
+ const targetDir = await this.helper.ensureDir(_module.root);
22
+ const localeFile = path.join(targetDir, 'src/config/locale');
23
+ if (fse.existsSync(localeFile)) {
24
+ throw new Error(`locale exists: ${moduleName}`);
25
+ }
26
+ // render boilerplate
27
+ await this.template.renderBoilerplateAndSnippets({
28
+ targetDir: path.join(targetDir, 'src'),
29
+ setName: __ThisSetName__,
30
+ snippetsPath: null,
31
+ boilerplatePath: 'init/locale/boilerplate',
32
+ });
33
+ // tools.metadata
34
+ await this.helper.invokeCli([':tools:metadata', moduleName], { cwd: argv.projectPath });
35
+ }
36
+ }
@@ -6,4 +6,3 @@ declare module '@cabloy/cli' {
6
6
  export declare class CliInitMain extends BeanCliBase {
7
7
  execute(): Promise<void>;
8
8
  }
9
- //# sourceMappingURL=cli.init.main.d.ts.map
@@ -1,7 +1,7 @@
1
+ import path from 'node:path';
1
2
  import { BeanCliBase } from '@cabloy/cli';
2
3
  import fse from 'fs-extra';
3
- import { __ThisSetName__ } from '../this.js';
4
- import path from 'node:path';
4
+ import { __ThisSetName__ } from "../this.js";
5
5
  export class CliInitMain extends BeanCliBase {
6
6
  async execute() {
7
7
  const { argv } = this.context;
@@ -34,4 +34,3 @@ export class CliInitMain extends BeanCliBase {
34
34
  await this.helper.invokeCli([':tools:metadata', moduleName], { cwd: argv.projectPath });
35
35
  }
36
36
  }
37
- //# sourceMappingURL=cli.init.main.js.map
@@ -7,4 +7,3 @@ export declare class CliInitMonkey extends BeanCliBase {
7
7
  execute(): Promise<void>;
8
8
  _setPackageInfo(modulePath: string): Promise<void>;
9
9
  }
10
- //# sourceMappingURL=cli.init.monkey.d.ts.map
@@ -1,7 +1,7 @@
1
+ import path from 'node:path';
1
2
  import { BeanCliBase } from '@cabloy/cli';
2
3
  import fse from 'fs-extra';
3
- import { __ThisSetName__ } from '../this.js';
4
- import path from 'node:path';
4
+ import { __ThisSetName__ } from "../this.js";
5
5
  export class CliInitMonkey extends BeanCliBase {
6
6
  async execute() {
7
7
  const { argv } = this.context;
@@ -48,17 +48,15 @@ export class CliInitMonkey extends BeanCliBase {
48
48
  pkg.vonaModule.capabilities.monkey = true;
49
49
  changed = true;
50
50
  }
51
- // dependencies
52
- if (!pkg.vonaModule.dependencies)
53
- pkg.vonaModule.dependencies = {};
54
- if (!pkg.vonaModule.dependencies['a-vona']) {
55
- pkg.vonaModule.dependencies['a-vona'] = '5.0.0';
56
- changed = true;
57
- }
51
+ // // dependencies
52
+ // if (!pkg.vonaModule.dependencies) pkg.vonaModule.dependencies = {};
53
+ // if (!pkg.vonaModule.dependencies['a-vona']) {
54
+ // pkg.vonaModule.dependencies['a-vona'] = '5.0.0';
55
+ // changed = true;
56
+ // }
58
57
  // save
59
58
  if (changed) {
60
59
  await this.helper.saveJSONFile(pkgFile, pkg);
61
60
  }
62
61
  }
63
62
  }
64
- //# sourceMappingURL=cli.init.monkey.js.map
@@ -0,0 +1,8 @@
1
+ import { BeanCliBase } from '@cabloy/cli';
2
+ declare module '@cabloy/cli' {
3
+ interface ICommandArgv {
4
+ }
5
+ }
6
+ export declare class CliInitStatic extends BeanCliBase {
7
+ execute(): Promise<void>;
8
+ }
@@ -0,0 +1,36 @@
1
+ import path from 'node:path';
2
+ import { BeanCliBase } from '@cabloy/cli';
3
+ import fse from 'fs-extra';
4
+ import { __ThisSetName__ } from "../this.js";
5
+ export class CliInitStatic extends BeanCliBase {
6
+ async execute() {
7
+ const { argv } = this.context;
8
+ // super
9
+ await super.execute();
10
+ // module name/info
11
+ const moduleName = argv._[0];
12
+ if (!moduleName)
13
+ return;
14
+ argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
15
+ // check if exists
16
+ const _module = this.helper.findModule(moduleName);
17
+ if (!_module) {
18
+ throw new Error(`module does not exist: ${moduleName}`);
19
+ }
20
+ // target dir
21
+ const targetDir = await this.helper.ensureDir(_module.root);
22
+ const staticDir = path.join(targetDir, 'static');
23
+ if (fse.existsSync(staticDir)) {
24
+ throw new Error(`static exists: ${moduleName}`);
25
+ }
26
+ // render boilerplate
27
+ await this.template.renderBoilerplateAndSnippets({
28
+ targetDir,
29
+ setName: __ThisSetName__,
30
+ snippetsPath: null,
31
+ boilerplatePath: 'init/static/boilerplate',
32
+ });
33
+ // // tools.metadata
34
+ // await this.helper.invokeCli([':tools:metadata', moduleName], { cwd: argv.projectPath });
35
+ }
36
+ }
@@ -0,0 +1,15 @@
1
+ import type { IModuleInfo } from '@cabloy/module-info';
2
+ import { BeanCliBase } from '@cabloy/cli';
3
+ declare module '@cabloy/cli' {
4
+ interface ICommandArgv {
5
+ module: string;
6
+ moduleInfo: IModuleInfo;
7
+ resourceName: string;
8
+ resourceNameCapitalize: string;
9
+ moduleResourceName: string;
10
+ moduleActionPathRaw: string;
11
+ }
12
+ }
13
+ export declare class CliToolsCrud extends BeanCliBase {
14
+ execute(): Promise<void>;
15
+ }
@@ -0,0 +1,42 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { BeanCliBase } from '@cabloy/cli';
4
+ import { combineApiPathControllerAndActionRaw } from '@cabloy/utils';
5
+ import { __ThisSetName__ } from "../this.js";
6
+ export class CliToolsCrud extends BeanCliBase {
7
+ async execute() {
8
+ const { argv } = this.context;
9
+ // super
10
+ await super.execute();
11
+ // module name/info
12
+ const moduleName = argv.module;
13
+ argv.moduleInfo = this.helper.parseModuleInfo(moduleName);
14
+ // check if exists
15
+ const _module = this.helper.findModule(moduleName);
16
+ if (!_module) {
17
+ throw new Error(`module does not exist: ${moduleName}`);
18
+ }
19
+ // target dir
20
+ const targetDir = await this.helper.ensureDir(_module.root);
21
+ // resourceName
22
+ const resourceName = argv.resourceName;
23
+ argv.resourceNameCapitalize = this.helper.firstCharToUpperCase(resourceName);
24
+ // moduleResourceName
25
+ argv.moduleResourceName = this.helper.combineModuleNameAndResource(argv.moduleInfo.relativeName, argv.resourceName);
26
+ argv.moduleActionPathRaw = combineApiPathControllerAndActionRaw(moduleName, resourceName, '', true);
27
+ // controller
28
+ const controllerFile = path.join(targetDir, 'src/controller', `${resourceName}.ts`);
29
+ if (fs.existsSync(controllerFile)) {
30
+ throw new Error(`resource exists: ${resourceName}`);
31
+ }
32
+ // render
33
+ await this.template.renderBoilerplateAndSnippets({
34
+ targetDir,
35
+ setName: __ThisSetName__,
36
+ snippetsPath: 'tools/crud/snippets',
37
+ boilerplatePath: 'tools/crud/boilerplate',
38
+ });
39
+ // tools.metadata
40
+ await this.helper.invokeCli([':tools:metadata', moduleName], { cwd: argv.projectPath });
41
+ }
42
+ }
@@ -1,20 +1,12 @@
1
1
  import { BeanCliBase } from '@cabloy/cli';
2
2
  declare module '@cabloy/cli' {
3
3
  interface ICommandArgv {
4
- tsc: boolean;
5
- force: boolean;
6
4
  }
7
5
  }
8
6
  export declare class CliToolsDeps extends BeanCliBase {
9
7
  execute(): Promise<void>;
10
- _generate(projectPath: string, tsc: boolean, force: boolean): Promise<void>;
8
+ _generate(projectPath: string): Promise<void>;
11
9
  _getProjectMode(projectPath: string): "source" | "project";
12
- _getVonaPath(projectPath: string): any;
13
- _resolveTemplatePath(file: string): import("url").URL;
10
+ _getVonaPath(projectPath: string): string | undefined;
14
11
  _generateTypeProjectFile(projectPath: string): Promise<void>;
15
- _generateTypeModulesFile(projectPath: string, force: boolean): Promise<void>;
16
- _generatePkgFromPkgOriginal(pkgOriginal: any, pkgFile: any): Promise<void>;
17
- _saveBackVersions(pkg: any, pkgOriginal: any, pkgOriginalFile: any): Promise<void>;
18
- _tsc(): Promise<void>;
19
12
  }
20
- //# sourceMappingURL=cli.tools.deps.d.ts.map
@@ -1,149 +1,42 @@
1
1
  import path from 'node:path';
2
2
  import { BeanCliBase } from '@cabloy/cli';
3
3
  import fse from 'fs-extra';
4
- import eggBornUtils from 'egg-born-utils';
4
+ import { resolveTemplatePath } from "../utils.js";
5
5
  export class CliToolsDeps extends BeanCliBase {
6
6
  async execute() {
7
7
  const { argv } = this.context;
8
8
  // super
9
9
  await super.execute();
10
10
  const projectPath = argv.projectPath;
11
- const tsc = argv.tsc;
12
- const force = argv.force;
13
11
  // generate
14
- await this._generate(projectPath, tsc, force);
12
+ await this._generate(projectPath);
15
13
  }
16
- async _generate(projectPath, tsc, force) {
17
- const pkgFile = path.join(projectPath, 'package.json');
18
- const pkgOriginalFile = path.join(projectPath, 'package.original.json');
19
- // check original
20
- if (!fse.existsSync(pkgOriginalFile)) {
21
- await fse.copyFile(pkgFile, pkgOriginalFile);
22
- }
23
- // pkg/pkgOriginal
24
- const pkgOriginal = await this.helper.loadJSONFile(pkgOriginalFile);
25
- if (fse.existsSync(pkgFile)) {
26
- const pkg = await this.helper.loadJSONFile(pkgFile);
27
- // save back versions
28
- await this._saveBackVersions(pkg, pkgOriginal, pkgOriginalFile);
29
- }
30
- // generate pkg from pkgOriginal
31
- await this._generatePkgFromPkgOriginal(pkgOriginal, pkgFile);
14
+ async _generate(projectPath) {
15
+ // generate package.json
16
+ await this.common._generatePackageJson(projectPath);
32
17
  // generate type modules file
33
- await this._generateTypeModulesFile(projectPath, force);
18
+ await this.common._generateTypeModulesFile(projectPath);
34
19
  // generate type project file
35
20
  await this._generateTypeProjectFile(projectPath);
36
- // tsc
37
- if (tsc) {
38
- await this._tsc();
39
- }
40
21
  }
41
22
  _getProjectMode(projectPath) {
42
23
  const vonaPath = this._getVonaPath(projectPath);
43
- return vonaPath.indexOf('packages-vona') > -1 ? 'source' : 'project';
24
+ return vonaPath.includes('packages-vona') ? 'source' : 'project';
44
25
  }
45
26
  _getVonaPath(projectPath) {
46
- return eggBornUtils.tools._getVonaPath(projectPath);
47
- }
48
- _resolveTemplatePath(file) {
49
- return new URL(path.join('../../../templates', file), import.meta.url);
27
+ let vonaPath = path.join(projectPath, 'packages-vona/vona');
28
+ if (fse.existsSync(vonaPath))
29
+ return vonaPath;
30
+ vonaPath = path.join(projectPath, 'node_modules/vona');
31
+ if (fse.existsSync(vonaPath))
32
+ return vonaPath;
50
33
  }
51
34
  async _generateTypeProjectFile(projectPath) {
52
35
  const projectMode = this._getProjectMode(projectPath);
53
- const fileTemplate = this._resolveTemplatePath(`_tsconfig_${projectMode}.json`);
36
+ const fileTemplate = resolveTemplatePath(`config/_tsconfig_${projectMode}.json`);
54
37
  const fileConfig = path.join(projectPath, 'tsconfig.json');
55
- // content
56
- let contentOld;
57
- const exists = fse.existsSync(fileConfig);
58
- if (exists) {
59
- contentOld = (await fse.readFile(fileConfig)).toString();
60
- }
61
- else {
62
- contentOld = (await fse.readFile(fileTemplate)).toString();
63
- }
64
- const content = JSON.parse(contentOld);
65
- const referencesOld = content.references;
66
- // remove old
67
- const referencesNew = referencesOld.filter(item => !['src/suite/', 'src/module/', 'src/suite-vendor/', 'src/module-vendor/'].some(item2 => item.path.indexOf(item2) > -1));
68
- //
69
- if (exists && JSON.stringify(referencesNew, null, 2) === JSON.stringify(referencesOld, null, 2))
70
- return;
71
- const contentNew = { ...content, references: referencesNew };
72
- await fse.outputFile(fileConfig, JSON.stringify(contentNew, null, 2));
73
- }
74
- async _generateTypeModulesFile(projectPath, force) {
75
- const typeFile = path.join(projectPath, 'src/backend/typing/modules.d.ts');
76
- let content = '';
77
- // // all suites
78
- // for (const key in this.modulesMeta.suites) {
79
- // const suite = this.modulesMeta.suites[key];
80
- // content += `import '${suite.package.name}';\n`;
81
- // }
82
- // all modules
83
- this.modulesMeta.modulesArray.forEach(module => {
84
- content += `import '${module.package.name}';\n`;
85
- });
86
- await fse.writeFile(typeFile, content);
87
- // all modules: type file
88
- for (const module of this.modulesMeta.modulesArray) {
89
- if (module.info.node_modules)
90
- continue;
91
- const moduleTypeFile = path.join(module.root, 'src/.metadata/modules.d.ts');
92
- if (force || !fse.existsSync(moduleTypeFile)) {
93
- await fse.ensureLink(typeFile, moduleTypeFile);
94
- }
38
+ if (!fse.existsSync(fileConfig)) {
39
+ await fse.copyFile(fileTemplate, fileConfig);
95
40
  }
96
41
  }
97
- async _generatePkgFromPkgOriginal(pkgOriginal, pkgFile) {
98
- const depsOriginal = pkgOriginal.dependencies;
99
- // all modules
100
- this.modulesMeta.modulesArray.forEach(module => {
101
- if (!depsOriginal[module.package.name]) {
102
- const version = module.info.node_modules ? '^' + module.package.version : 'workspace:^';
103
- depsOriginal[module.package.name] = version;
104
- }
105
- });
106
- // all globalDependencies of modules
107
- this.modulesMeta.modulesArray.forEach(module => {
108
- const deps = module.package.dependencies;
109
- const globalDependencies = module.package.vonaModule?.globalDependencies;
110
- if (globalDependencies) {
111
- for (const key in globalDependencies) {
112
- let version = globalDependencies[key];
113
- if (version !== false && !depsOriginal[key]) {
114
- if (version === true)
115
- version = deps[key];
116
- depsOriginal[key] = version;
117
- }
118
- }
119
- }
120
- });
121
- await this.helper.saveJSONFile(pkgFile, pkgOriginal);
122
- }
123
- async _saveBackVersions(pkg, pkgOriginal, pkgOriginalFile) {
124
- let changed = false;
125
- for (const key of ['version', 'gitHead']) {
126
- if (pkgOriginal[key] !== pkg[key]) {
127
- pkgOriginal[key] = pkg[key];
128
- changed = true;
129
- }
130
- }
131
- for (const field of ['dependencies', 'devDependencies']) {
132
- const fieldObj = pkg[field];
133
- const fieldObjOriginal = pkgOriginal[field];
134
- for (const key in fieldObjOriginal) {
135
- if (fieldObjOriginal[key] !== fieldObj[key]) {
136
- fieldObjOriginal[key] = fieldObj[key];
137
- changed = true;
138
- }
139
- }
140
- }
141
- if (changed) {
142
- await this.helper.saveJSONFile(pkgOriginalFile, pkgOriginal);
143
- }
144
- }
145
- async _tsc() {
146
- await this.helper.processHelper.tsc();
147
- }
148
42
  }
149
- //# sourceMappingURL=cli.tools.deps.js.map
@@ -7,7 +7,7 @@ declare module '@cabloy/cli' {
7
7
  export declare class CliToolsMetadata extends BeanCliBase {
8
8
  execute(): Promise<void>;
9
9
  _generateMetadata(moduleName: string, force: boolean): Promise<void>;
10
+ _generatePatch(content: string): string;
10
11
  _generateThis(moduleName: string, relativeNameCapitalize: string, modulePath: string): Promise<void>;
11
12
  _generateIndex(modulePath: string): Promise<void>;
12
13
  }
13
- //# sourceMappingURL=cli.tools.metadata.d.ts.map