vovk-cli 0.0.1-draft.381 → 0.0.1-draft.383
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.
- package/client-templates/ts/index.ts.ejs +5 -0
- package/dist/bundle/index.mjs +0 -21
- package/module-templates/arktype/controller.ts.ejs +28 -18
- package/module-templates/type/controller.ts.ejs +20 -12
- package/module-templates/type/service.ts.ejs +16 -7
- package/module-templates/valibot/controller.ts.ejs +28 -18
- package/package.json +6 -6
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
import type { VovkFetcher } from 'vovk';
|
|
3
3
|
import { createRPC } from '<%= t.commonImports.module.createRPC %>';
|
|
4
4
|
import { schema } from './schema<%= t.nodeNextResolutionExt.ts %>';
|
|
5
|
+
<% if(t.isBundle) { %>
|
|
5
6
|
import { openapi } from './openapi<%= t.nodeNextResolutionExt.ts %>';
|
|
7
|
+
<% } else { %>
|
|
8
|
+
// TODO: This is a temporary fix https://github.com/rolldown/tsdown/issues/528#issuecomment-3476284358
|
|
9
|
+
import openapi dfrom './openapi.json' with { type: "json" };
|
|
10
|
+
<% } %>
|
|
6
11
|
<% Object.values(t.schema.segments).filter((segment) => segment.emitSchema).forEach((segment, i) => { if(segment.segmentType !== 'mixin') { %>
|
|
7
12
|
import type { Controllers as Controllers<%= i %> } from "<%= t.segmentMeta[segment.segmentName].segmentImportPath %>";
|
|
8
13
|
<% }
|
package/dist/bundle/index.mjs
CHANGED
|
@@ -5,27 +5,6 @@ import { generate } from '../generate/generate.mjs';
|
|
|
5
5
|
import { BuiltInTemplateName } from '../getProjectInfo/getConfig/getTemplateDefs.mjs';
|
|
6
6
|
import chalkHighlightThing from '../utils/chalkHighlightThing.mjs';
|
|
7
7
|
import { locateSegments } from '../locateSegments.mjs';
|
|
8
|
-
/*
|
|
9
|
-
async function tsdownBundle({
|
|
10
|
-
outDirAbsolute,
|
|
11
|
-
tsFullClientOutAbsoluteDirInput,
|
|
12
|
-
}: {
|
|
13
|
-
outDirAbsolute: string;
|
|
14
|
-
tsFullClientOutAbsoluteDirInput: string;
|
|
15
|
-
}) {
|
|
16
|
-
const { build } = await import('tsdown');
|
|
17
|
-
|
|
18
|
-
await build({
|
|
19
|
-
entry: path.join(tsFullClientOutAbsoluteDirInput, './index.ts'),
|
|
20
|
-
dts: true,
|
|
21
|
-
format: ['cjs', 'esm'],
|
|
22
|
-
hash: false,
|
|
23
|
-
fixedExtension: true,
|
|
24
|
-
clean: true,
|
|
25
|
-
...tsdownBuildOptions,
|
|
26
|
-
outDir: outDirAbsolute,
|
|
27
|
-
});
|
|
28
|
-
} */
|
|
29
8
|
export async function bundle({ projectInfo, fullSchema, cliBundleOptions, }) {
|
|
30
9
|
const { config, log, cwd, apiDirAbsolutePath } = projectInfo;
|
|
31
10
|
const locatedSegments = await locateSegments({ dir: apiDirAbsolutePath, config, log });
|
|
@@ -23,13 +23,11 @@ export default class <%= vars.ModuleName %> {
|
|
|
23
23
|
})
|
|
24
24
|
@get()
|
|
25
25
|
static get<%= t.TheThings %> = withArk({
|
|
26
|
-
|
|
27
|
-
handle(req) {
|
|
28
|
-
const search = req.nextUrl.searchParams.get('search');
|
|
26
|
+
handle() {
|
|
29
27
|
<% if(t.withService) { %>
|
|
30
|
-
return <%= vars.ServiceName %>.get<%= t.TheThings %>(
|
|
28
|
+
return <%= vars.ServiceName %>.get<%= t.TheThings %>();
|
|
31
29
|
<% } else { %>
|
|
32
|
-
return {
|
|
30
|
+
return { message: 'TODO: get <%= t.theThings %>' };
|
|
33
31
|
<% } %>
|
|
34
32
|
}
|
|
35
33
|
});
|
|
@@ -39,30 +37,42 @@ export default class <%= vars.ModuleName %> {
|
|
|
39
37
|
})
|
|
40
38
|
@put('{id}')
|
|
41
39
|
static update<%= t.TheThing %> = withArk({
|
|
42
|
-
body: type({
|
|
43
|
-
foo: type('"bar" | "baz"'),
|
|
44
|
-
}),
|
|
45
|
-
query: type({ q: type('string') }),
|
|
40
|
+
body: type({ todo: type('true') }),
|
|
46
41
|
params: type({ id: type('string') }),
|
|
47
42
|
async handle(req, params) {
|
|
48
43
|
const { id } = params;
|
|
49
44
|
const body = await req.json();
|
|
50
|
-
const q = req.nextUrl.searchParams.get('q');
|
|
51
45
|
<% if(t.withService) { %>
|
|
52
|
-
return <%= vars.ServiceName %>.update<%= t.TheThing %>(id,
|
|
46
|
+
return <%= vars.ServiceName %>.update<%= t.TheThing %>(id, body);
|
|
53
47
|
<% } else { %>
|
|
54
|
-
return { id, body
|
|
48
|
+
return { message: `TODO: update <%= t.theThing %>`, id, body };
|
|
55
49
|
<% } %>
|
|
56
50
|
}
|
|
57
51
|
});
|
|
58
52
|
|
|
59
53
|
@post()
|
|
60
|
-
static create<%= t.TheThing %> = (
|
|
61
|
-
|
|
62
|
-
|
|
54
|
+
static create<%= t.TheThing %> = withArk({
|
|
55
|
+
body: type({ todo: type('true') }),
|
|
56
|
+
async handle(req) {
|
|
57
|
+
const body = await req.json();
|
|
58
|
+
<% if(t.withService) { %>
|
|
59
|
+
return <%= vars.ServiceName %>.create<%= t.TheThing %>(body);
|
|
60
|
+
<% } else { %>
|
|
61
|
+
return { message: `TODO: create <%= t.theThing %>`, body };
|
|
62
|
+
<% } %>
|
|
63
|
+
}
|
|
64
|
+
});
|
|
63
65
|
|
|
64
66
|
@del('{id}')
|
|
65
|
-
static delete<%= t.TheThing %> = (
|
|
66
|
-
|
|
67
|
-
|
|
67
|
+
static delete<%= t.TheThing %> = withArk({
|
|
68
|
+
params: type({ id: type('string') }),
|
|
69
|
+
handle(_req, params) {
|
|
70
|
+
const { id } = params;
|
|
71
|
+
<% if(t.withService) { %>
|
|
72
|
+
return <%= vars.ServiceName %>.delete<%= t.TheThing %>(id);
|
|
73
|
+
<% } else { %>
|
|
74
|
+
return { message: `TODO: delete <%= t.theThing %>`, id };
|
|
75
|
+
<% } %>
|
|
76
|
+
}
|
|
77
|
+
});
|
|
68
78
|
}
|
|
@@ -20,12 +20,11 @@ export default class <%= vars.ControllerName %> {
|
|
|
20
20
|
summary: 'Get <%= t.TheThings %>',
|
|
21
21
|
})
|
|
22
22
|
@get()
|
|
23
|
-
static get<%= t.TheThings %> =
|
|
24
|
-
const search = req.nextUrl.searchParams.get('search');
|
|
23
|
+
static get<%= t.TheThings %> = () => {
|
|
25
24
|
<% if(t.withService) { %>
|
|
26
|
-
return <%= vars.ServiceName %>.get<%= t.TheThings %>(
|
|
25
|
+
return <%= vars.ServiceName %>.get<%= t.TheThings %>();
|
|
27
26
|
<% } else { %>
|
|
28
|
-
return {
|
|
27
|
+
return { message: 'TODO: get <%= t.theThings %>' };
|
|
29
28
|
<% } %>
|
|
30
29
|
}
|
|
31
30
|
|
|
@@ -33,24 +32,33 @@ export default class <%= vars.ControllerName %> {
|
|
|
33
32
|
summary: 'Update <%= t.TheThing %>',
|
|
34
33
|
})
|
|
35
34
|
@put('{id}')
|
|
36
|
-
static update<%= t.TheThing %> = async (req: VovkRequest<{
|
|
35
|
+
static update<%= t.TheThing %> = async (req: VovkRequest<{ todo: true }>, params: { id: string }) => {
|
|
37
36
|
const { id } = params;
|
|
38
37
|
const body = await req.json();
|
|
39
|
-
const q = req.nextUrl.searchParams.get('q');
|
|
40
38
|
<% if(t.withService) { %>
|
|
41
|
-
return <%= vars.ServiceName %>.update<%= t.TheThing %>(id,
|
|
39
|
+
return <%= vars.ServiceName %>.update<%= t.TheThing %>(id, body);
|
|
42
40
|
<% } else { %>
|
|
43
|
-
return { id, body
|
|
41
|
+
return { message: `TODO: update <%= t.theThing %>`, id, body };
|
|
44
42
|
<% } %>
|
|
45
43
|
};
|
|
46
44
|
|
|
47
45
|
@post()
|
|
48
|
-
static create<%= t.TheThing %> = () => {
|
|
49
|
-
|
|
46
|
+
static create<%= t.TheThing %> = async (req: VovkRequest<{ todo: true }>) => {
|
|
47
|
+
const body = await req.json();
|
|
48
|
+
<% if(t.withService) { %>
|
|
49
|
+
return <%= vars.ServiceName %>.create<%= t.TheThing %>(body);
|
|
50
|
+
<% } else { %>
|
|
51
|
+
return { message: `TODO: create <%= t.theThing %>`, body };
|
|
52
|
+
<% } %>
|
|
50
53
|
};
|
|
51
54
|
|
|
52
55
|
@del('{id}')
|
|
53
|
-
static delete<%= t.TheThing %> = () => {
|
|
54
|
-
|
|
56
|
+
static delete<%= t.TheThing %> = (_req: VovkRequest<unknown>, params: { id: string }) => {
|
|
57
|
+
const { id } = params;
|
|
58
|
+
<% if(t.withService) { %>
|
|
59
|
+
return <%= vars.ServiceName %>.delete<%= t.TheThing %>(id);
|
|
60
|
+
<% } else { %>
|
|
61
|
+
return { message: `TODO: delete <%= t.theThing %>`, id };
|
|
62
|
+
<% } %>
|
|
55
63
|
};
|
|
56
64
|
}
|
|
@@ -8,21 +8,30 @@ fileName: <%= vars.ServiceName + '.ts' %>
|
|
|
8
8
|
sourceName: <%= vars.ServiceName %>
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
import type { VovkBody,
|
|
11
|
+
import type { VovkBody, VovkParams } from 'vovk';
|
|
12
12
|
import type <%= vars.ControllerName %> from './<%= vars.ControllerName %><%= t.nodeNextResolutionExt.ts %>';
|
|
13
13
|
|
|
14
14
|
export default class <%= vars.ServiceName %> {
|
|
15
|
-
static get<%= t.TheThings %> = (
|
|
16
|
-
return {
|
|
15
|
+
static get<%= t.TheThings %> = () => {
|
|
16
|
+
return { message: 'TODO: get <%= t.theThings %>' };
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
static update<%= t.TheThing %> = (
|
|
20
|
-
id:
|
|
21
|
-
q: VovkQuery<typeof <%= vars.ControllerName %>.update<%= t.TheThing %>>['q'],
|
|
20
|
+
id: VovkParams<typeof <%= vars.ControllerName %>.update<%= t.TheThing %>>['id'],
|
|
22
21
|
body: VovkBody<typeof <%= vars.ControllerName %>.update<%= t.TheThing %>>
|
|
23
22
|
) => {
|
|
24
|
-
return { id,
|
|
23
|
+
return { message: `TODO: update <%= t.theThing %>`, id, body };
|
|
25
24
|
};
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
static create<%= t.TheThing %> = (
|
|
27
|
+
body: VovkBody<typeof <%= vars.ControllerName %>.create<%= t.TheThing %>>
|
|
28
|
+
) => {
|
|
29
|
+
return { message: `TODO: create <%= t.theThing %>`, body };
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
static delete<%= t.TheThing %> = (
|
|
33
|
+
id: VovkParams<typeof <%= vars.ControllerName %>.delete<%= t.TheThing %>>['id']
|
|
34
|
+
) => {
|
|
35
|
+
return { message: `TODO: delete <%= t.theThing %>`, id };
|
|
36
|
+
};
|
|
28
37
|
}
|
|
@@ -23,13 +23,11 @@ export default class <%= vars.ModuleName %> {
|
|
|
23
23
|
})
|
|
24
24
|
@get()
|
|
25
25
|
static get<%= t.TheThings %> = withValibot({
|
|
26
|
-
|
|
27
|
-
handle(req) {
|
|
28
|
-
const search = req.nextUrl.searchParams.get('search');
|
|
26
|
+
handle() {
|
|
29
27
|
<% if(t.withService) { %>
|
|
30
|
-
return <%= vars.ServiceName %>.get<%= t.TheThings %>(
|
|
28
|
+
return <%= vars.ServiceName %>.get<%= t.TheThings %>();
|
|
31
29
|
<% } else { %>
|
|
32
|
-
return {
|
|
30
|
+
return { message: 'TODO: get <%= t.theThings %>' };
|
|
33
31
|
<% } %>
|
|
34
32
|
}
|
|
35
33
|
});
|
|
@@ -39,30 +37,42 @@ export default class <%= vars.ModuleName %> {
|
|
|
39
37
|
})
|
|
40
38
|
@put('{id}')
|
|
41
39
|
static update<%= t.TheThing %> = withValibot({
|
|
42
|
-
body: v.object({
|
|
43
|
-
foo: v.union([v.literal('bar'), v.literal('baz')]),
|
|
44
|
-
}),
|
|
45
|
-
query: v.object({ q: v.string() }),
|
|
40
|
+
body: v.object({ todo: v.literal(true) }),
|
|
46
41
|
params: v.object({ id: v.string() }),
|
|
47
42
|
async handle(req, params) {
|
|
48
43
|
const { id } = params;
|
|
49
44
|
const body = await req.json();
|
|
50
|
-
const q = req.nextUrl.searchParams.get('q');
|
|
51
45
|
<% if(t.withService) { %>
|
|
52
|
-
return <%= vars.ServiceName %>.update<%= t.TheThing %>(id,
|
|
46
|
+
return <%= vars.ServiceName %>.update<%= t.TheThing %>(id, body);
|
|
53
47
|
<% } else { %>
|
|
54
|
-
return { id, body
|
|
48
|
+
return { message: `TODO: update <%= t.theThing %>`, id, body };
|
|
55
49
|
<% } %>
|
|
56
50
|
}
|
|
57
51
|
});
|
|
58
52
|
|
|
59
53
|
@post()
|
|
60
|
-
static create<%= t.TheThing %> = (
|
|
61
|
-
|
|
62
|
-
|
|
54
|
+
static create<%= t.TheThing %> = withValibot({
|
|
55
|
+
body: v.object({ todo: v.literal(true) }),
|
|
56
|
+
async handle(req) {
|
|
57
|
+
const body = await req.json();
|
|
58
|
+
<% if(t.withService) { %>
|
|
59
|
+
return <%= vars.ServiceName %>.create<%= t.TheThing %>(body);
|
|
60
|
+
<% } else { %>
|
|
61
|
+
return { message: `TODO: create <%= t.theThing %>`, body };
|
|
62
|
+
<% } %>
|
|
63
|
+
}
|
|
64
|
+
});
|
|
63
65
|
|
|
64
66
|
@del('{id}')
|
|
65
|
-
static delete<%= t.TheThing %> = (
|
|
66
|
-
|
|
67
|
-
|
|
67
|
+
static delete<%= t.TheThing %> = withValibot({
|
|
68
|
+
params: v.object({ id: v.string() }),
|
|
69
|
+
handle(_req, params) {
|
|
70
|
+
const { id } = params;
|
|
71
|
+
<% if(t.withService) { %>
|
|
72
|
+
return <%= vars.ServiceName %>.delete<%= t.TheThing %>(id);
|
|
73
|
+
<% } else { %>
|
|
74
|
+
return { message: `TODO: delete <%= t.theThing %>`, id };
|
|
75
|
+
<% } %>
|
|
76
|
+
}
|
|
77
|
+
});
|
|
68
78
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vovk-cli",
|
|
3
|
-
"version": "0.0.1-draft.
|
|
3
|
+
"version": "0.0.1-draft.383",
|
|
4
4
|
"bin": {
|
|
5
5
|
"vovk": "./dist/index.mjs"
|
|
6
6
|
},
|
|
@@ -35,11 +35,11 @@
|
|
|
35
35
|
},
|
|
36
36
|
"homepage": "https://vovk.dev",
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"vovk": "^3.0.0-draft.
|
|
39
|
-
"vovk-ajv": "^0.0.0-draft.
|
|
40
|
-
"vovk-client": "^0.0.4-draft.
|
|
41
|
-
"vovk-python": "^0.0.1-draft.
|
|
42
|
-
"vovk-rust": "^0.0.1-draft.
|
|
38
|
+
"vovk": "^3.0.0-draft.465",
|
|
39
|
+
"vovk-ajv": "^0.0.0-draft.111",
|
|
40
|
+
"vovk-client": "^0.0.4-draft.138",
|
|
41
|
+
"vovk-python": "^0.0.1-draft.80",
|
|
42
|
+
"vovk-rust": "^0.0.1-draft.66"
|
|
43
43
|
},
|
|
44
44
|
"optionalDependencies": {
|
|
45
45
|
"@rolldown/binding-linux-x64-gnu": "1.0.0-beta.44"
|