vovk-cli 0.0.1-draft.3 → 0.0.1-draft.300

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 (152) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +29 -1
  3. package/client-templates/cjs/index.cjs.ejs +19 -0
  4. package/client-templates/cjs/index.d.cts.ejs +25 -0
  5. package/client-templates/mixins/mixins.d.ts.ejs +64 -0
  6. package/client-templates/mixins/mixins.json.ejs +1 -0
  7. package/client-templates/mjs/index.d.mts.ejs +25 -0
  8. package/client-templates/mjs/index.mjs.ejs +23 -0
  9. package/client-templates/packageJson/package.json.ejs +1 -0
  10. package/client-templates/readme/README.md.ejs +38 -0
  11. package/client-templates/schemaCjs/schema.cjs.ejs +26 -0
  12. package/client-templates/schemaCjs/schema.d.cts.ejs +10 -0
  13. package/client-templates/schemaJson/schema.json.ejs +1 -0
  14. package/client-templates/schemaTs/schema.ts.ejs +35 -0
  15. package/client-templates/ts/index.ts.ejs +33 -0
  16. package/dist/bundle/index.d.mts +8 -0
  17. package/dist/bundle/index.mjs +90 -0
  18. package/dist/dev/diffSegmentSchema.d.mts +36 -0
  19. package/dist/{watcher/diffSchema.mjs → dev/diffSegmentSchema.mjs} +4 -12
  20. package/dist/{watcher → dev}/ensureSchemaFiles.d.mts +3 -0
  21. package/dist/{watcher → dev}/ensureSchemaFiles.mjs +17 -21
  22. package/dist/dev/index.d.mts +9 -0
  23. package/dist/dev/index.mjs +388 -0
  24. package/dist/dev/logDiffResult.d.mts +3 -0
  25. package/dist/dev/logDiffResult.mjs +57 -0
  26. package/dist/dev/writeMetaJson.d.mts +2 -0
  27. package/dist/dev/writeMetaJson.mjs +17 -0
  28. package/dist/dev/writeOneSegmentSchemaFile.d.mts +12 -0
  29. package/dist/dev/writeOneSegmentSchemaFile.mjs +32 -0
  30. package/dist/generate/ensureClient.d.mts +3 -0
  31. package/dist/generate/ensureClient.mjs +32 -0
  32. package/dist/generate/generate.d.mts +15 -0
  33. package/dist/generate/generate.mjs +291 -0
  34. package/dist/generate/getClientTemplateFiles.d.mts +20 -0
  35. package/dist/generate/getClientTemplateFiles.mjs +89 -0
  36. package/dist/generate/getProjectFullSchema.d.mts +7 -0
  37. package/dist/generate/getProjectFullSchema.mjs +65 -0
  38. package/dist/generate/getTemplateClientImports.d.mts +18 -0
  39. package/dist/generate/getTemplateClientImports.mjs +38 -0
  40. package/dist/generate/index.d.mts +33 -0
  41. package/dist/generate/index.mjs +189 -0
  42. package/dist/generate/mergePackages.d.mts +7 -0
  43. package/dist/generate/mergePackages.mjs +55 -0
  44. package/dist/generate/writeOneClientFile.d.mts +36 -0
  45. package/dist/generate/writeOneClientFile.mjs +120 -0
  46. package/dist/getProjectInfo/getConfig/getConfigAbsolutePaths.d.mts +5 -0
  47. package/dist/getProjectInfo/{getConfigAbsolutePaths.mjs → getConfig/getConfigAbsolutePaths.mjs} +6 -3
  48. package/dist/getProjectInfo/{getRelativeSrcRoot.d.mts → getConfig/getRelativeSrcRoot.d.mts} +1 -1
  49. package/dist/getProjectInfo/getConfig/getRelativeSrcRoot.mjs +12 -0
  50. package/dist/getProjectInfo/getConfig/getTemplateDefs.d.mts +16 -0
  51. package/dist/getProjectInfo/getConfig/getTemplateDefs.mjs +98 -0
  52. package/dist/getProjectInfo/{getUserConfig.d.mts → getConfig/getUserConfig.d.mts} +3 -2
  53. package/dist/getProjectInfo/{getUserConfig.mjs → getConfig/getUserConfig.mjs} +7 -5
  54. package/dist/getProjectInfo/{importUncachedModule.mjs → getConfig/importUncachedModule.mjs} +1 -5
  55. package/dist/getProjectInfo/{importUncachedModuleWorker.mjs → getConfig/importUncachedModuleWorker.mjs} +0 -1
  56. package/dist/getProjectInfo/getConfig/index.d.mts +120 -0
  57. package/dist/getProjectInfo/getConfig/index.mjs +94 -0
  58. package/dist/getProjectInfo/index.d.mts +12 -9
  59. package/dist/getProjectInfo/index.mjs +22 -23
  60. package/dist/index.d.mts +2 -24
  61. package/dist/index.mjs +106 -69
  62. package/dist/init/checkTSConfigForExperimentalDecorators.mjs +2 -2
  63. package/dist/init/createConfig.d.mts +3 -4
  64. package/dist/init/createConfig.mjs +22 -16
  65. package/dist/init/getTemplateFilesFromPackage.d.mts +2 -1
  66. package/dist/init/getTemplateFilesFromPackage.mjs +13 -9
  67. package/dist/init/index.d.mts +2 -3
  68. package/dist/init/index.mjs +119 -138
  69. package/dist/init/installDependencies.d.mts +4 -1
  70. package/dist/init/installDependencies.mjs +6 -4
  71. package/dist/init/logUpdateDependenciesError.d.mts +13 -0
  72. package/dist/init/logUpdateDependenciesError.mjs +51 -0
  73. package/dist/init/updateDependenciesWithoutInstalling.d.mts +3 -2
  74. package/dist/init/updateDependenciesWithoutInstalling.mjs +50 -15
  75. package/dist/init/updateNPMScripts.d.mts +3 -1
  76. package/dist/init/updateNPMScripts.mjs +10 -7
  77. package/dist/init/updateTypeScriptConfig.d.mts +4 -1
  78. package/dist/init/updateTypeScriptConfig.mjs +13 -9
  79. package/dist/initProgram.d.mts +2 -0
  80. package/dist/initProgram.mjs +22 -0
  81. package/dist/locateSegments.d.mts +8 -1
  82. package/dist/locateSegments.mjs +16 -6
  83. package/dist/new/addClassToSegmentCode.d.mts +1 -2
  84. package/dist/new/addClassToSegmentCode.mjs +9 -5
  85. package/dist/new/addCommonTerms.mjs +1 -0
  86. package/dist/new/index.d.mts +2 -2
  87. package/dist/new/index.mjs +14 -3
  88. package/dist/new/newModule.d.mts +7 -2
  89. package/dist/new/newModule.mjs +61 -35
  90. package/dist/new/newSegment.d.mts +4 -2
  91. package/dist/new/newSegment.mjs +22 -13
  92. package/dist/new/render.d.mts +9 -9
  93. package/dist/new/render.mjs +38 -13
  94. package/dist/types.d.mts +73 -28
  95. package/dist/utils/compileJSONSchemaToTypeScriptType.d.mts +5 -0
  96. package/dist/utils/compileJSONSchemaToTypeScriptType.mjs +9 -0
  97. package/dist/utils/compileTs.d.mts +12 -0
  98. package/dist/utils/compileTs.mjs +261 -0
  99. package/dist/utils/debounceWithArgs.d.mts +2 -2
  100. package/dist/utils/debounceWithArgs.mjs +24 -9
  101. package/dist/utils/formatLoggedSegmentName.d.mts +3 -1
  102. package/dist/utils/formatLoggedSegmentName.mjs +4 -3
  103. package/dist/utils/getAvailablePort.mjs +3 -2
  104. package/dist/utils/getFileSystemEntryType.mjs +1 -1
  105. package/dist/utils/getPackageJson.d.mts +3 -0
  106. package/dist/utils/getPackageJson.mjs +22 -0
  107. package/dist/utils/getPublicModuleNameFromPath.d.mts +4 -0
  108. package/dist/utils/getPublicModuleNameFromPath.mjs +9 -0
  109. package/dist/utils/normalizeOpenAPIMixins.d.mts +7 -0
  110. package/dist/utils/normalizeOpenAPIMixins.mjs +67 -0
  111. package/dist/utils/pickSegmentFullSchema.d.mts +3 -0
  112. package/dist/utils/pickSegmentFullSchema.mjs +15 -0
  113. package/dist/utils/removeUnlistedDirectories.d.mts +10 -0
  114. package/dist/utils/removeUnlistedDirectories.mjs +61 -0
  115. package/dist/utils/resolveAbsoluteModulePath.d.mts +2 -0
  116. package/dist/utils/resolveAbsoluteModulePath.mjs +32 -0
  117. package/module-templates/controller.ts.ejs +56 -0
  118. package/module-templates/service.ts.ejs +28 -0
  119. package/package.json +42 -21
  120. package/dist/generateClient.d.mts +0 -7
  121. package/dist/generateClient.mjs +0 -97
  122. package/dist/getProjectInfo/directoryExists.d.mts +0 -1
  123. package/dist/getProjectInfo/directoryExists.mjs +0 -10
  124. package/dist/getProjectInfo/getConfig.d.mts +0 -11
  125. package/dist/getProjectInfo/getConfig.mjs +0 -29
  126. package/dist/getProjectInfo/getConfigAbsolutePaths.d.mts +0 -4
  127. package/dist/getProjectInfo/getRelativeSrcRoot.mjs +0 -12
  128. package/dist/postinstall.d.mts +0 -1
  129. package/dist/postinstall.mjs +0 -22
  130. package/dist/watcher/diffSchema.d.mts +0 -43
  131. package/dist/watcher/index.d.mts +0 -6
  132. package/dist/watcher/index.mjs +0 -295
  133. package/dist/watcher/isMetadataEmpty.d.mts +0 -2
  134. package/dist/watcher/isMetadataEmpty.mjs +0 -4
  135. package/dist/watcher/logDiffResult.d.mts +0 -3
  136. package/dist/watcher/logDiffResult.mjs +0 -90
  137. package/dist/watcher/writeOneSchemaFile.d.mts +0 -11
  138. package/dist/watcher/writeOneSchemaFile.mjs +0 -27
  139. package/templates/controller.ejs +0 -50
  140. package/templates/service.ejs +0 -7
  141. package/templates/worker.ejs +0 -1
  142. package/templates_old/MyThingController.c.only.template.ts +0 -32
  143. package/templates_old/MyThingController.c.template.ts +0 -34
  144. package/templates_old/MyThingService.s.template.ts +0 -18
  145. package/templates_old/controller.ejs +0 -85
  146. package/templates_old/service.ejs +0 -9
  147. package/templates_old/worker.ejs +0 -9
  148. package/templates_old/zod/MyThingController.c.only.template.ts +0 -32
  149. package/templates_old/zod/MyThingController.c.template.ts +0 -39
  150. package/templates_old/zod/MyThingService.s.template.ts +0 -18
  151. /package/dist/getProjectInfo/{importUncachedModule.d.mts → getConfig/importUncachedModule.d.mts} +0 -0
  152. /package/dist/getProjectInfo/{importUncachedModuleWorker.d.mts → getConfig/importUncachedModuleWorker.d.mts} +0 -0
@@ -1,85 +0,0 @@
1
- <% var modulePascalName = _.upperFirst(_.camelCase(moduleName)); %>
2
- <% var modulePascalNamePlural = pluralize(modulePascalName); %>
3
- <% var ControllerName = modulePascalName + 'Controller'; %>
4
- <% var RPCName = modulePascalName + 'RPC'; %>
5
- <% var ServiceName = modulePascalName + 'Service'; %>
6
- ---
7
- # Relative to modules dir
8
- fileName: <%= getFileDir(segmentName, moduleName) + ControllerName + '.ts' %>
9
- className: <%= ControllerName %> # Used to define a controller in a segment
10
- rpcName: <%= RPCName %> # Used to define an exported RPC class in a segment
11
- ---
12
-
13
- import { prefix, get, put, post, del<%= !config.validationLibrary ? ', type VovkRequest' : '' %> } from 'vovk';
14
- <% if(withService) { %>
15
- import <%= ServiceName %> from './<%= ServiceName %>';
16
- <% } %>
17
- <% if(config.validationLibrary === 'vovk-zod') { %>
18
- import { withZod } from 'vovk-zod';
19
- import { z } from 'zod';
20
- <% } %>
21
-
22
- @prefix('<%= _.kebabCase(moduleName).toLowerCase() %>')
23
- export default class <%= ControllerName %> {
24
- @get()
25
- <% if(config.validationLibrary === 'vovk-zod') { %>
26
- async get<%= modulePascalNamePlural %> = withZod(null, z.object({ q: z.string() }), (req) => {
27
- const q = req.nextUrl.searchParams.get('q');
28
- <% if(withService) { %>
29
- return <%= ServiceName %>.getMyThingsExample(q);
30
- <% } else { %>
31
- return { q };
32
- <% } %>
33
- });
34
- <% } else { %>
35
- static get<%= modulePascalNamePlural %> = async (req: VovkRequest<null, { q: string }>) => {
36
- const q = req.nextUrl.searchParams.get('q');
37
- <% if(withService) { %>
38
- return <%= ServiceName %>.getMyThingsExample(q);
39
- <% } else { %>
40
- return { q };
41
- <% } %>
42
- }
43
- <% } %>
44
-
45
- @put(':id')
46
- <% if(config.validationLibrary === 'vovk-zod') { %>
47
- static update<%= modulePascalNamePlural %> = withZod(
48
- z.object({
49
- foo: z.union([z.literal('bar'), z.literal('baz')]),
50
- }),
51
- z.object({ q: z.string() }),
52
- async (req, params: { id: string }) => {
53
- const { id } = params;
54
- const body = await req.json();
55
- const q = req.nextUrl.searchParams.get('q');
56
- <% if(withService) { %>
57
- return MyThingService.updateMyThingExample(id, q, body);
58
- <% } else { %>
59
- return { id, body, q };
60
- <% } %>
61
- }
62
- );
63
- <% } else { %>
64
- static update<%= modulePascalNamePlural %> = async (req: VovkRequest<{ foo: 'bar' | 'baz' }, { q: string }>, params: { id: string }) => {
65
- const { id } = params;
66
- const body = await req.json();
67
- const q = req.nextUrl.searchParams.get('q');
68
- <% if(withService) { %>
69
- return MyThingService.updateMyThingExample(id, q, body);
70
- <% } else { %>
71
- return { id, body, q };
72
- <% } %>
73
- };
74
- <% } %>
75
-
76
- @post()
77
- static create<%= modulePascalNamePlural %> = () => {
78
- // ...
79
- };
80
-
81
- @del(':id')
82
- static delete<%= modulePascalNamePlural %> = () => {
83
- // ...
84
- };
85
- }
@@ -1,9 +0,0 @@
1
- <% var modulePascalName = _.upperFirst(_.camelCase(moduleName); %>
2
- <% var ServiceName = modulePascalName + 'Service'; %>
3
-
4
- ---
5
- # Relative to modules dir
6
- fileName: <%= getFileDir(segmentName, moduleName) + ServiceName + '.ts' %>
7
- ---
8
-
9
- // TO DO: Implement <%= ServiceName %>
@@ -1,9 +0,0 @@
1
- <% var modulePascalName = _.upperFirst(_.camelCase(moduleName); %>
2
- <% var WorkerName = modulePascalName + 'Worker'; %>
3
-
4
- ---
5
- # Relative to modules dir
6
- fileName: <%= getFileDir(segmentName, moduleName) + WorkerName + '.ts' %>
7
- ---
8
-
9
- // TO DO: Implement <%= WorkerName %>
@@ -1,32 +0,0 @@
1
- import { prefix, get, put, post, del, type VovkRequest } from 'vovk';
2
-
3
- @prefix('my-thing')
4
- export default class MyThingController {
5
- @get()
6
- static getMyThingsExample = (req: VovkRequest<null, { q: string }>) => {
7
- const q = req.nextUrl.searchParams.get('q');
8
- return { q };
9
- };
10
-
11
- @put(':id')
12
- static updateMyThingExample = async (
13
- req: VovkRequest<{ foo: 'bar' | 'baz' }, { q: string }>,
14
- params: { id: string }
15
- ) => {
16
- const { id } = params;
17
- const body = await req.json();
18
- const q = req.nextUrl.searchParams.get('q');
19
-
20
- return { id, q, body };
21
- };
22
-
23
- @post()
24
- static createMyThingExample = () => {
25
- // ...
26
- };
27
-
28
- @del(':id')
29
- static deleteMyThingExample = () => {
30
- // ...
31
- };
32
- }
@@ -1,39 +0,0 @@
1
- import { prefix, get, put, post, del } from 'vovk';
2
- import { z } from 'zod';
3
- import { withZod } from 'vovk-zod';
4
- import MyThingService from './MyThingService.s.template';
5
-
6
- @prefix('my-thing')
7
- export default class MyThingController {
8
- @get()
9
- static getMyThingsExample = withZod(null, z.object({ q: z.string() }), (req) => {
10
- const q = req.nextUrl.searchParams.get('q');
11
-
12
- return MyThingService.getMyThingsExample(q);
13
- });
14
-
15
- @put(':id')
16
- static updateMyThingExample = withZod(
17
- z.object({
18
- foo: z.union([z.literal('bar'), z.literal('baz')]),
19
- }),
20
- z.object({ q: z.string() }),
21
- async (req, params: { id: string }) => {
22
- const { id } = params;
23
- const body = await req.json();
24
- const q = req.nextUrl.searchParams.get('q');
25
-
26
- return MyThingService.updateMyThingExample(id, q, body);
27
- }
28
- );
29
-
30
- @post()
31
- static async createMyThingExample() {
32
- // ...
33
- }
34
-
35
- @del(':id')
36
- static deleteMyThingExample() {
37
- // ...
38
- }
39
- }
@@ -1,18 +0,0 @@
1
- import type { VovkControllerBody, VovkControllerQuery } from 'vovk';
2
- import type MyThingController from './MyThingController.c.template';
3
-
4
- export default class MyThingService {
5
- static getMyThingsExample = (q: VovkControllerQuery<typeof MyThingController.getMyThingsExample>['q']) => {
6
- return { q };
7
- };
8
-
9
- static updateMyThingExample = (
10
- id: string,
11
- q: VovkControllerQuery<typeof MyThingController.updateMyThingExample>['q'],
12
- body: VovkControllerBody<typeof MyThingController.updateMyThingExample>
13
- ) => {
14
- return { id, q, body };
15
- };
16
-
17
- // ...
18
- }