@voxgig/create-sdkgen 0.1.1 → 0.2.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.
- package/bin/create-sdkgen +2 -0
- package/bin/create-sdkgen~ +261 -0
- package/dist/create-sdkgen.js +2 -1
- package/dist/create-sdkgen.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/project/standard/.env.local +1 -0
- package/project/standard/.sdk/build/apidef.js +8 -0
- package/project/standard/.sdk/build/docgen.js +15 -0
- package/project/standard/.sdk/build/sdkgen.js +16 -0
- package/project/standard/.sdk/def/README.md +4 -0
- package/project/standard/.sdk/model/.model-config/model-config.jsonic +19 -0
- package/project/standard/.sdk/model/README.md +2 -0
- package/project/standard/.sdk/model/api/api-def.jsonic +5 -0
- package/project/standard/.sdk/model/api/api-entity-index.jsonic +2 -0
- package/project/standard/.sdk/model/config.jsonic +13 -0
- package/project/standard/.sdk/model/feature/README.md +2 -0
- package/project/standard/.sdk/model/feature/feature-index.jsonic +3 -0
- package/project/standard/.sdk/model/flow/flow-index.jsonic +2 -0
- package/project/standard/.sdk/model/guide.jsonic +5 -0
- package/project/standard/.sdk/model/sdk.fragment.jsonic +39 -0
- package/project/standard/.sdk/model/target/README.md +2 -0
- package/project/standard/.sdk/model/target/target-index.jsonic +2 -0
- package/project/standard/.sdk/model/target/target-index.jsonic~ +4 -0
- package/project/standard/.sdk/package.json +37 -0
- package/project/standard/.sdk/src/DocStaticRoot.ts +45 -0
- package/project/standard/.sdk/src/Root.ts +233 -0
- package/project/standard/.sdk/src/Top.ts +48 -0
- package/project/standard/.sdk/src/cmp/README.md +2 -0
- package/project/standard/.sdk/src/tsconfig.json +16 -0
- package/project/standard/.sdk/test/.model-config/model-config.json +7 -0
- package/project/standard/.sdk/test/.model-config/model-config.jsonic +4 -0
- package/project/standard/.sdk/test/primary/auth.jsonic +20 -0
- package/project/standard/.sdk/test/primary/body.jsonic +27 -0
- package/project/standard/.sdk/test/primary/contextify.jsonic +5 -0
- package/project/standard/.sdk/test/primary/done.jsonic +7 -0
- package/project/standard/.sdk/test/primary/error.jsonic +19 -0
- package/project/standard/.sdk/test/primary/findparam.jsonic +22 -0
- package/project/standard/.sdk/test/primary/fullurl.jsonic +50 -0
- package/project/standard/.sdk/test/primary/headers.jsonic +12 -0
- package/project/standard/.sdk/test/primary/inward.jsonic +3 -0
- package/project/standard/.sdk/test/primary/method.jsonic +11 -0
- package/project/standard/.sdk/test/primary/operator.jsonic +60 -0
- package/project/standard/.sdk/test/primary/options.jsonic +60 -0
- package/project/standard/.sdk/test/primary/outward.jsonic +3 -0
- package/project/standard/.sdk/test/primary/params.jsonic +10 -0
- package/project/standard/.sdk/test/primary/query.jsonic +9 -0
- package/project/standard/.sdk/test/primary/reqform.jsonic +9 -0
- package/project/standard/.sdk/test/primary/request.jsonic +31 -0
- package/project/standard/.sdk/test/primary/resbasic.jsonic +15 -0
- package/project/standard/.sdk/test/primary/resbody.jsonic +5 -0
- package/project/standard/.sdk/test/primary/resform.jsonic +11 -0
- package/project/standard/.sdk/test/primary/resheaders.jsonic +9 -0
- package/project/standard/.sdk/test/primary/response.jsonic +20 -0
- package/project/standard/.sdk/test/primary/spec.jsonic +32 -0
- package/project/standard/.sdk/test/struct/getpath.jsonic +143 -0
- package/project/standard/.sdk/test/struct/inject.jsonic +76 -0
- package/project/standard/.sdk/test/struct/merge.jsonic +161 -0
- package/project/standard/.sdk/test/struct/minor.jsonic +693 -0
- package/project/standard/.sdk/test/struct/select.jsonic +166 -0
- package/project/standard/.sdk/test/struct/transform.jsonic +453 -0
- package/project/standard/.sdk/test/struct/validate.jsonic +287 -0
- package/project/standard/.sdk/test/struct/walk.jsonic +57 -0
- package/project/standard/.sdk/test/test.json +15080 -0
- package/project/standard/.sdk/test/test.jsonic +44 -0
- package/project/standard/.sdk/tm/LICENSE +22 -0
- package/project/standard/.sdk/tm/README.md +2 -0
- package/src/create-sdkgen.ts +3 -1
package/bin/create-sdkgen
CHANGED
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const Path = require('node:path')
|
|
4
|
+
const { statSync } = require('node:fs')
|
|
5
|
+
const { parseArgs } = require('node:util')
|
|
6
|
+
|
|
7
|
+
const { Gubu, Fault, One } = require('gubu')
|
|
8
|
+
|
|
9
|
+
const Pkg = require('../package.json')
|
|
10
|
+
|
|
11
|
+
const { CreateSdkGen } = require('../dist/create-sdkgen.js')
|
|
12
|
+
|
|
13
|
+
const rootpath = require.resolve('../dist/standard/Root')
|
|
14
|
+
|
|
15
|
+
let KONSOLE = global['con'+'sole']
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
run()
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
async function run() {
|
|
22
|
+
try {
|
|
23
|
+
let options = resolveOptions()
|
|
24
|
+
|
|
25
|
+
if(options.debug) {
|
|
26
|
+
DEBUG = true
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if(options.version) {
|
|
30
|
+
version()
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if(options.help) {
|
|
34
|
+
help()
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if(options.version || options.help) {
|
|
38
|
+
exit()
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
options = validateOptions(options)
|
|
42
|
+
|
|
43
|
+
generate(options)
|
|
44
|
+
}
|
|
45
|
+
catch(err) {
|
|
46
|
+
handleError(err)
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
function exit(err) {
|
|
52
|
+
let code = 0
|
|
53
|
+
if(err) {
|
|
54
|
+
code = 1
|
|
55
|
+
}
|
|
56
|
+
process.exit(code)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
function generate(options) {
|
|
61
|
+
const createSdkGen = CreateSdkGen({
|
|
62
|
+
debug: options.debug
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
const spec = {
|
|
67
|
+
root: 'Root',
|
|
68
|
+
|
|
69
|
+
name: options.name,
|
|
70
|
+
def: options.def,
|
|
71
|
+
dryrun: options.dryrun,
|
|
72
|
+
project: options.project,
|
|
73
|
+
install: options.install,
|
|
74
|
+
target: options.target,
|
|
75
|
+
feature: options.feature,
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
createSdkGen.generate(spec)
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
function resolveOptions() {
|
|
84
|
+
|
|
85
|
+
let args
|
|
86
|
+
|
|
87
|
+
try {
|
|
88
|
+
args = parseArgs({
|
|
89
|
+
allowPositionals: true,
|
|
90
|
+
allowNegative: true,
|
|
91
|
+
options: {
|
|
92
|
+
def: {
|
|
93
|
+
type: 'string',
|
|
94
|
+
short: 'd',
|
|
95
|
+
default: ''
|
|
96
|
+
},
|
|
97
|
+
|
|
98
|
+
project: {
|
|
99
|
+
type: 'string',
|
|
100
|
+
short: 'p',
|
|
101
|
+
default: 'standard'
|
|
102
|
+
},
|
|
103
|
+
|
|
104
|
+
dryrun: {
|
|
105
|
+
type: 'boolean',
|
|
106
|
+
short: 'y',
|
|
107
|
+
},
|
|
108
|
+
|
|
109
|
+
install: {
|
|
110
|
+
type: 'boolean',
|
|
111
|
+
short: 'y',
|
|
112
|
+
default: true,
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
target: {
|
|
116
|
+
type: 'string',
|
|
117
|
+
short: 't',
|
|
118
|
+
multiple: true
|
|
119
|
+
},
|
|
120
|
+
|
|
121
|
+
feature: {
|
|
122
|
+
type: 'string',
|
|
123
|
+
short: 'f',
|
|
124
|
+
multiple: true
|
|
125
|
+
},
|
|
126
|
+
|
|
127
|
+
debug: {
|
|
128
|
+
type: 'string',
|
|
129
|
+
short: 'g',
|
|
130
|
+
default: 'info'
|
|
131
|
+
},
|
|
132
|
+
|
|
133
|
+
help: {
|
|
134
|
+
type: 'boolean',
|
|
135
|
+
short: 'h',
|
|
136
|
+
},
|
|
137
|
+
|
|
138
|
+
version: {
|
|
139
|
+
type: 'boolean',
|
|
140
|
+
short: 'v',
|
|
141
|
+
},
|
|
142
|
+
|
|
143
|
+
}
|
|
144
|
+
})
|
|
145
|
+
}
|
|
146
|
+
catch(err) {
|
|
147
|
+
if('ERR_PARSE_ARGS_UNKNOWN_OPTION' === err.code) {
|
|
148
|
+
handleError(err.message.replace(/\. .+$/,'.'))
|
|
149
|
+
}
|
|
150
|
+
throw err
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// Set fake name if -v or -h used.
|
|
154
|
+
let name = args.positionals[0]
|
|
155
|
+
name = null == name ? '' : name
|
|
156
|
+
name = '' === name && (args.values.help || args.values.version) ? '__none__' : name
|
|
157
|
+
|
|
158
|
+
targets = args.values.target || []
|
|
159
|
+
if( 1 < args.positionals.length ) {
|
|
160
|
+
targets.push(args.positionals.slice(1))
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
features = args.values.feature || []
|
|
164
|
+
|
|
165
|
+
const options = {
|
|
166
|
+
name,
|
|
167
|
+
def: args.values.def,
|
|
168
|
+
project: args.values.project,
|
|
169
|
+
dryrun: !!args.values.dryrun,
|
|
170
|
+
install: !!args.values.install,
|
|
171
|
+
target: targets,
|
|
172
|
+
feature: features,
|
|
173
|
+
debug: args.values.debug,
|
|
174
|
+
help: !!args.values.help,
|
|
175
|
+
version: !!args.values.version,
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
// console.log('ARGS', args, options)
|
|
179
|
+
|
|
180
|
+
return options
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
function validateOptions(rawOptions) {
|
|
185
|
+
const optShape = Gubu({
|
|
186
|
+
name: Fault('The first argument must be the project name.', String),
|
|
187
|
+
def: '',
|
|
188
|
+
project: String,
|
|
189
|
+
dryrun: Boolean,
|
|
190
|
+
install: Boolean,
|
|
191
|
+
target: [String],
|
|
192
|
+
feature: [String],
|
|
193
|
+
debug: String,
|
|
194
|
+
help: Boolean,
|
|
195
|
+
version: Boolean,
|
|
196
|
+
})
|
|
197
|
+
|
|
198
|
+
const err = []
|
|
199
|
+
const options = optShape(rawOptions,{err})
|
|
200
|
+
|
|
201
|
+
if(err[0]) {
|
|
202
|
+
handleError(err[0].text)
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
return options
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
function handleError(err) {
|
|
210
|
+
KONSOLE.log('Voxgig Create SDK Error: '+err)
|
|
211
|
+
exit(err)
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
function version() {
|
|
216
|
+
KONSOLE.log(Pkg.version)
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
function help() {
|
|
221
|
+
let s = `
|
|
222
|
+
Create a Voxgig SDK Generator project.
|
|
223
|
+
|
|
224
|
+
Usage: npm create @voxgig/sdkgen@latest <name> <args>
|
|
225
|
+
|
|
226
|
+
<name> is the name of the SDK project. This is also used to
|
|
227
|
+
create a project folder. If run against an existing folder
|
|
228
|
+
generated files will be overwritten.
|
|
229
|
+
|
|
230
|
+
<args> are the command arguments:
|
|
231
|
+
|
|
232
|
+
--def Path to the OpenAPI definition file (optional).
|
|
233
|
+
-d
|
|
234
|
+
|
|
235
|
+
--project Project template (folder or package reference). Default: standard.
|
|
236
|
+
-p
|
|
237
|
+
|
|
238
|
+
--dryrun Perform a dry run, where no files are modified.
|
|
239
|
+
-y
|
|
240
|
+
|
|
241
|
+
--debug Set log level (default: info): trace, error, debug, info, warn, fatal.
|
|
242
|
+
-g
|
|
243
|
+
|
|
244
|
+
--help Print this help message.
|
|
245
|
+
-h
|
|
246
|
+
|
|
247
|
+
--version Print version number.
|
|
248
|
+
-v
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
Examples:
|
|
252
|
+
|
|
253
|
+
# Basic usage
|
|
254
|
+
> npm create @voxgig/sdkgen@latest foo
|
|
255
|
+
# Creates the SDK Project in the folder ./foo
|
|
256
|
+
|
|
257
|
+
See also: https://voxgig.com/sdkgen
|
|
258
|
+
`
|
|
259
|
+
|
|
260
|
+
KONSOLE.log(s)
|
|
261
|
+
}
|
package/dist/create-sdkgen.js
CHANGED
|
@@ -85,8 +85,9 @@ function CreateSdkGen(opts) {
|
|
|
85
85
|
names(model, model.name);
|
|
86
86
|
names(model, model.name, 'project_name');
|
|
87
87
|
log.debug({ point: 'generate-model', model, note: JSON.stringify(model, null, 2) });
|
|
88
|
+
// console.log('GENERATE', model, jopts)
|
|
88
89
|
const jres = await jostraca.generate(jopts, () => Root({ model, spec }));
|
|
89
|
-
//
|
|
90
|
+
// console.log('JRES', jres)
|
|
90
91
|
(0, util_1.showChanges)(jopts.log, 'generate-result', jres, node_path_1.default.dirname(process.cwd()));
|
|
91
92
|
if (!spec.dryrun && spec.install) {
|
|
92
93
|
await installNpm(spec, jopts, model);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-sdkgen.js","sourceRoot":"","sources":["../src/create-sdkgen.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"create-sdkgen.js","sourceRoot":"","sources":["../src/create-sdkgen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/create-sdkgen.ts","../src/project/standard/modelsdk.ts","../src/project/standard/root.ts"],"version":"5.
|
|
1
|
+
{"root":["../src/create-sdkgen.ts","../src/project/standard/modelsdk.ts","../src/project/standard/root.ts"],"version":"5.9.2"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voxgig/create-sdkgen",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"main": "dist/create-sdkgen.js",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"types": "dist/create-sdkgen.d.ts",
|
|
@@ -37,21 +37,21 @@
|
|
|
37
37
|
"src",
|
|
38
38
|
"dist",
|
|
39
39
|
"bin",
|
|
40
|
-
"
|
|
40
|
+
"project",
|
|
41
41
|
"LICENSE"
|
|
42
42
|
],
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@hapi/code": "^9.0.3",
|
|
45
45
|
"@types/node": "24.1.0",
|
|
46
46
|
"esbuild": "^0.25.8",
|
|
47
|
-
"memfs": "^4.
|
|
48
|
-
"typescript": "^5.
|
|
47
|
+
"memfs": "^4.25.1",
|
|
48
|
+
"typescript": "^5.9.2"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@voxgig/util": "^0.2.0",
|
|
52
52
|
"aontu": "^0.28.0",
|
|
53
53
|
"chokidar": "^4.0.3",
|
|
54
54
|
"gubu": "^9.0.0",
|
|
55
|
-
"jostraca": "^0.
|
|
55
|
+
"jostraca": "^0.24.0"
|
|
56
56
|
}
|
|
57
57
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
PROJECTNAME_APIKEY=<apikey>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
|
|
2
|
+
const { DocGen } = require('@voxgig/docgen')
|
|
3
|
+
|
|
4
|
+
const config = {
|
|
5
|
+
root: __dirname+'/../dist/DocStaticRoot.js',
|
|
6
|
+
folder: __dirname+'/../../doc',
|
|
7
|
+
meta: {
|
|
8
|
+
name: '$$name$$'
|
|
9
|
+
},
|
|
10
|
+
model: {
|
|
11
|
+
folder: __dirname+'/../model',
|
|
12
|
+
},
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
module.exports = DocGen.makeBuild(config)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
const { SdkGen } = require('@voxgig/sdkgen')
|
|
3
|
+
|
|
4
|
+
const config = {
|
|
5
|
+
root: __dirname+'/../dist/Root.js',
|
|
6
|
+
folder: __dirname+'/../..',
|
|
7
|
+
meta: {
|
|
8
|
+
name: '$$name$$'
|
|
9
|
+
},
|
|
10
|
+
model: {
|
|
11
|
+
folder: __dirname+'/../model',
|
|
12
|
+
},
|
|
13
|
+
existing: { txt: { merge: true } },
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
module.exports = SdkGen.makeBuild(config)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
@'@voxgig/model/model/.model-config/model-config.jsonic'
|
|
4
|
+
|
|
5
|
+
sys: model: action: {
|
|
6
|
+
apidef: load: 'build/apidef.js'
|
|
7
|
+
sdkgen: load: 'build/sdkgen.js'
|
|
8
|
+
// docgen: load: 'build/docgen.js'
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
sys: model: order: action: 'apidef,sdkgen'
|
|
12
|
+
|
|
13
|
+
sys: model: watch: {
|
|
14
|
+
'src': {} # To catch fragment updates.
|
|
15
|
+
'dist': {}
|
|
16
|
+
'tm': {}
|
|
17
|
+
'def': {}
|
|
18
|
+
# 'doc/static/src': {}
|
|
19
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
|
|
2
|
+
# Generation guide.
|
|
3
|
+
@"guide.jsonic"
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
# Model definitions.
|
|
7
|
+
@"@voxgig/apidef/model/apidef.jsonic"
|
|
8
|
+
@"@voxgig/sdkgen/model/sdkgen.jsonic"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
# SDK Details.
|
|
12
|
+
name: 'NAME'
|
|
13
|
+
origin: 'voxgig'
|
|
14
|
+
def: 'DEF'
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# API Definition
|
|
18
|
+
@"api/api-def.jsonic"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# API Entities
|
|
22
|
+
@"api/api-entity-index.jsonic"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# SDK Configuration.
|
|
26
|
+
@"config.jsonic"
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
# SDK Features.
|
|
30
|
+
@"feature/feature-index.jsonic"
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# SDK Targets.
|
|
34
|
+
@"target/target-index.jsonic"
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
# Operation workflows.
|
|
38
|
+
@"flow/flow-index.jsonic"
|
|
39
|
+
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "build-$$const.name$$-sdk",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "$$const.Name$$ SDK Project",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"generate": "voxgig-model model/sdk.jsonic",
|
|
7
|
+
"watch-generate": "voxgig-model -w model/sdk.jsonic",
|
|
8
|
+
"dry-generate": "voxgig-model -y model/sdk.jsonic",
|
|
9
|
+
"watch-dry-generate": "voxgig-model -w -y model/sdk.jsonic",
|
|
10
|
+
"test-model": "voxgig-model test/test.jsonic",
|
|
11
|
+
"watch-test-model": "voxgig-model -w test/test.jsonic",
|
|
12
|
+
"watch": "tsc --build src -w",
|
|
13
|
+
"build": "tsc --build src",
|
|
14
|
+
"test": "echo no-test",
|
|
15
|
+
"clean": "rm -rf node_modules yarn.lock package-lock.json",
|
|
16
|
+
"reset": "npm run clean && npm i && npm run build && npm test",
|
|
17
|
+
"add-target": "voxgig-sdkgen target add",
|
|
18
|
+
"dry-add-target": "voxgig-sdkgen -y target add",
|
|
19
|
+
"add-feature": "voxgig-sdkgen feature add",
|
|
20
|
+
"dry-add-feature": "voxgig-sdkgen -y feature add"
|
|
21
|
+
},
|
|
22
|
+
"author": "$$const.Name$$",
|
|
23
|
+
"license": "$$const.License$$",
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@types/node": ">=24",
|
|
26
|
+
"typescript": ">=5",
|
|
27
|
+
"patch-package": ">=8"
|
|
28
|
+
},
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@voxgig/apidef": ">=2",
|
|
31
|
+
"@voxgig/model": ">=7",
|
|
32
|
+
"@voxgig/sdkgen": ">=0",
|
|
33
|
+
"@voxgig/util": ">=0",
|
|
34
|
+
"@voxgig/struct": ">=0",
|
|
35
|
+
"jostraca": ">=0"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
|
|
2
|
+
// import {
|
|
3
|
+
// names,
|
|
4
|
+
// cmp,
|
|
5
|
+
// each,
|
|
6
|
+
|
|
7
|
+
// Project,
|
|
8
|
+
// Folder,
|
|
9
|
+
|
|
10
|
+
// Index,
|
|
11
|
+
// } from '@voxgig/docgen'
|
|
12
|
+
|
|
13
|
+
import {
|
|
14
|
+
cmp,
|
|
15
|
+
} from '@voxgig/sdkgen'
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
const Root = cmp(function Root(props: any) {
|
|
19
|
+
|
|
20
|
+
/*
|
|
21
|
+
const { model, ctx$ } = props
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
model.const = { name: model.name }
|
|
25
|
+
|
|
26
|
+
names(model.const, model.name)
|
|
27
|
+
|
|
28
|
+
model.const.year = new Date().getFullYear()
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
ctx$.model = model
|
|
32
|
+
|
|
33
|
+
Project({}, () => {
|
|
34
|
+
|
|
35
|
+
Index({})
|
|
36
|
+
|
|
37
|
+
})
|
|
38
|
+
*/
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
export {
|
|
43
|
+
Root
|
|
44
|
+
}
|
|
45
|
+
|