@voxgig/create-sdkgen 0.20.4 → 0.21.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/README.md +27 -0
- package/dist/project/standard/CreateRoot.js +7 -1
- package/dist/project/standard/CreateRoot.js.map +1 -1
- package/package.json +1 -1
- package/project/standard/.sdk/admin/README.md +31 -0
- package/project/standard/.sdk/admin/status.sh +10 -0
- package/project/standard/.sdk/build/docgen.js +2 -15
- package/project/standard/.sdk/model/.model-config/model-config.aon +0 -1
- package/project/standard/.sdk/model/edition/edition-index.aon +1 -0
- package/project/standard/.sdk/model/sdk.fragment.aon +3 -0
- package/project/standard/.sdk/package.json +10 -5
- package/project/standard/.sdk/src/BuildSDK.ts +8 -1
- package/src/project/standard/CreateRoot.ts +8 -1
- package/project/standard/.sdk/src/DocStaticRoot.ts +0 -45
package/README.md
CHANGED
|
@@ -70,3 +70,30 @@ are in the [sdkgen documentation](https://github.com/voxgig/sdkgen/tree/main/doc
|
|
|
70
70
|
How to validate a change, and why a pull request from a fork gets no CI, are
|
|
71
71
|
in [`CONTRIBUTING.md`](./CONTRIBUTING.md). The documentation follows
|
|
72
72
|
[the style guide](./STYLE-GUIDE.md).
|
|
73
|
+
|
|
74
|
+
## Documentation editions
|
|
75
|
+
|
|
76
|
+
New projects include `@voxgig/docgen`. Installing the `.sdk` dependencies adds
|
|
77
|
+
the `summary` and `github-pages` editions. `npm run generate` then produces
|
|
78
|
+
`SUMMARY.md` and the static HTML site in `docs/`. It also adds text QA and a GitHub Pages workflow. With `--no-install`, setup happens when dependencies are installed.
|
|
79
|
+
|
|
80
|
+
Add the optional Slidev presentation from `.sdk`:
|
|
81
|
+
|
|
82
|
+
```sh
|
|
83
|
+
npx voxgig-sdkgen edition add presentation
|
|
84
|
+
npm run generate
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Configure shared branding and each edition under `main.kit.doc` in the model.
|
|
88
|
+
Customise templates in `.sdk/tm/edition/` and add authored Markdown in
|
|
89
|
+
`.sdk/doc/content/`. SDK README generation remains a separate SDK phase.
|
|
90
|
+
The [docgen guide](https://github.com/voxgig/docgen) describes the model,
|
|
91
|
+
local assets, presentation builds, and Vale text QA.
|
|
92
|
+
|
|
93
|
+
## Repository administration
|
|
94
|
+
|
|
95
|
+
New projects include `.sdk/admin/status.sh`. Run it to review local repository,
|
|
96
|
+
SDK, and documentation status; add `--github` to read CI and Pages status through
|
|
97
|
+
`gh`. Docgen generates `.sdk/admin/setup-github-pages.sh` for Pages setup.
|
|
98
|
+
See the [administration reference](https://github.com/voxgig/sdkgen/blob/main/docs/reference/project-layout.md#repository-administration)
|
|
99
|
+
for script options and ownership.
|
|
@@ -223,7 +223,7 @@ const CreateRoot = (0, jostraca_1.cmp)(function CreateRoot(props) {
|
|
|
223
223
|
const guideExclude = [spec.sdk_folder, ...GUIDE_REL].join('/');
|
|
224
224
|
(0, jostraca_1.Copy)({
|
|
225
225
|
from,
|
|
226
|
-
exclude: [/\.fragment\./, guideExclude]
|
|
226
|
+
exclude: [/\.fragment\./, guideExclude, /^\.sdk\/admin\/.*\.sh$/]
|
|
227
227
|
});
|
|
228
228
|
(0, jostraca_1.File)({ name: '.gitignore' }, () => {
|
|
229
229
|
(0, jostraca_1.Content)(GITIGNORE_TOP);
|
|
@@ -232,6 +232,12 @@ const CreateRoot = (0, jostraca_1.cmp)(function CreateRoot(props) {
|
|
|
232
232
|
const projdef = sanitizeDefName(node_path_1.default.basename(origdef));
|
|
233
233
|
spec.def = projdef;
|
|
234
234
|
(0, jostraca_1.Folder)({ name: spec.sdk_folder }, () => {
|
|
235
|
+
(0, jostraca_1.Folder)({ name: 'admin' }, () => {
|
|
236
|
+
const admin = node_path_1.default.join(from, spec.sdk_folder, 'admin');
|
|
237
|
+
for (const name of fs.readdirSync(admin).filter((name) => name.endsWith('.sh')).sort()) {
|
|
238
|
+
(0, jostraca_1.File)({ name, mode: 0o755 }, () => (0, jostraca_1.Content)(fs.readFileSync(node_path_1.default.join(admin, name), 'utf8')));
|
|
239
|
+
}
|
|
240
|
+
});
|
|
235
241
|
(0, jostraca_1.File)({ name: '.gitignore' }, () => {
|
|
236
242
|
(0, jostraca_1.Content)(GITIGNORE_SDK);
|
|
237
243
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateRoot.js","sourceRoot":"","sources":["../../../src/project/standard/CreateRoot.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"CreateRoot.js","sourceRoot":"","sources":["../../../src/project/standard/CreateRoot.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Repository administration
|
|
2
|
+
|
|
3
|
+
Run these scripts from any working directory:
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
.sdk/admin/status.sh
|
|
7
|
+
.sdk/admin/status.sh --json
|
|
8
|
+
.sdk/admin/status.sh --github
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
`status.sh` reads the compiled SDK model, repository state, target directories,
|
|
12
|
+
publication settings, tool versions, and documentation outputs. It does not run
|
|
13
|
+
builds or tests, contact package registries, fetch Git refs, or change files.
|
|
14
|
+
`--github` also reads recent workflow runs and Pages status through `gh`.
|
|
15
|
+
Install the `.sdk` dependencies before using it.
|
|
16
|
+
|
|
17
|
+
When a GitHub Pages edition and its CI workflow are enabled, docgen generates
|
|
18
|
+
`setup-github-pages.sh` here. Preview its changes, then configure Pages:
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
.sdk/admin/setup-github-pages.sh --dry-run
|
|
22
|
+
.sdk/admin/setup-github-pages.sh
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The setup script configures GitHub Actions as the publishing source. It does
|
|
26
|
+
not commit, push, merge, or deploy. Push the documentation workflow and project
|
|
27
|
+
changes to its configured deployment branch to publish the website.
|
|
28
|
+
|
|
29
|
+
The status launcher comes from create-sdkgen; its reporting code comes from
|
|
30
|
+
sdkgen. Docgen owns the generated Pages setup script. Put project-specific
|
|
31
|
+
administration scripts beside them with different names.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Standard repository status report. Implementation is supplied by sdkgen.
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
sdk_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
5
|
+
report="$sdk_dir/node_modules/@voxgig/sdkgen/dist/admin/status.js"
|
|
6
|
+
if [[ ! -f "$report" ]]; then
|
|
7
|
+
echo 'Install or update the .sdk dependencies to use the status report.' >&2
|
|
8
|
+
exit 1
|
|
9
|
+
fi
|
|
10
|
+
exec node "$report" "$sdk_dir/.." "$@"
|
|
@@ -1,15 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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)
|
|
1
|
+
// Docgen owns the default edition set and preserves project customisations.
|
|
2
|
+
require('@voxgig/docgen').prepareProject(require('node:path').resolve(__dirname, '../..'))
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Populated by docgen when the project toolchain is installed.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"version": "0.0.1",
|
|
4
4
|
"description": "$$const.Name$$ SDK Project",
|
|
5
5
|
"scripts": {
|
|
6
|
-
"generate": "tsc --build src && voxgig-model model/sdk.aon && voxgig-model test/test.aon",
|
|
6
|
+
"generate": "node build/docgen.js && tsc --build src && voxgig-model model/sdk.aon && voxgig-model test/test.aon",
|
|
7
7
|
"watch-generate": "voxgig-model -w model/sdk.aon",
|
|
8
8
|
"dry-generate": "tsc --build src && voxgig-model -y model/sdk.aon",
|
|
9
9
|
"watch-dry-generate": "voxgig-model -w -y model/sdk.aon",
|
|
@@ -17,19 +17,24 @@
|
|
|
17
17
|
"add-target": "voxgig-sdkgen target add",
|
|
18
18
|
"dry-add-target": "voxgig-sdkgen -y target add",
|
|
19
19
|
"add-feature": "voxgig-sdkgen feature add",
|
|
20
|
-
"dry-add-feature": "voxgig-sdkgen -y feature add"
|
|
20
|
+
"dry-add-feature": "voxgig-sdkgen -y feature add",
|
|
21
|
+
"add-edition": "voxgig-sdkgen edition add",
|
|
22
|
+
"text-qa": "cd .. && voxgig-docgen qa",
|
|
23
|
+
"postinstall": "node build/docgen.js",
|
|
24
|
+
"status": "bash admin/status.sh"
|
|
21
25
|
},
|
|
22
26
|
"author": "$$const.Name$$",
|
|
23
27
|
"license": "$$const.License$$",
|
|
24
28
|
"devDependencies": {
|
|
25
29
|
"@types/node": ">=25.6",
|
|
26
30
|
"typescript": ">=6.0",
|
|
27
|
-
"@voxgig/apidef": ">=8.0",
|
|
31
|
+
"@voxgig/apidef": ">=8.6.0",
|
|
28
32
|
"@voxgig/model": ">=10.0",
|
|
29
|
-
"@voxgig/sdkgen": ">=4.0",
|
|
33
|
+
"@voxgig/sdkgen": ">=4.17.0",
|
|
30
34
|
"@voxgig/util": ">=0.5",
|
|
31
35
|
"@voxgig/struct": ">=0.2",
|
|
32
36
|
"jostraca": ">=0.33.1",
|
|
33
|
-
"aontu": ">=0.52"
|
|
37
|
+
"aontu": ">=0.52",
|
|
38
|
+
"@voxgig/docgen": ">=0.10.1"
|
|
34
39
|
}
|
|
35
40
|
}
|
|
@@ -113,6 +113,13 @@ function makeEntityTestData(_model: Model, entity: ModelEntity) {
|
|
|
113
113
|
makeEntityTestFields(entity, i++, ent)
|
|
114
114
|
delete ent.id
|
|
115
115
|
|
|
116
|
+
// Request contracts are separate from synthetic stored mock records.
|
|
117
|
+
data.requests = {}
|
|
118
|
+
for (const op of Object.values(entity.op || {}) as any[]) for (const point of op.points || []) {
|
|
119
|
+
if (point.contract) data.requests[point.contract.id] = {
|
|
120
|
+
provenance: 'operation-contract', contract: JSON.parse(point.contract.json),
|
|
121
|
+
}
|
|
122
|
+
}
|
|
116
123
|
return data
|
|
117
124
|
}
|
|
118
125
|
|
|
@@ -170,7 +177,7 @@ function makeEntityTestFields(entity: ModelEntity, start: number, entdata: Recor
|
|
|
170
177
|
entdata[field.name] =
|
|
171
178
|
field.name.endsWith('_id') ?
|
|
172
179
|
field.name.substring(0, field.name.length - 3).toUpperCase() + '01' :
|
|
173
|
-
'`$NUMBER`'
|
|
180
|
+
['`$NUMBER`', '`$INTEGER`'].includes(field.type) ? num :
|
|
174
181
|
'`$BOOLEAN`' === field.type ? 0 === num % 2 :
|
|
175
182
|
'`$OBJECT`' === field.type ? {} :
|
|
176
183
|
'`$MAP`' === field.type ? {} :
|
|
@@ -258,7 +258,7 @@ const CreateRoot = cmp(function CreateRoot(props: any) {
|
|
|
258
258
|
|
|
259
259
|
Copy({
|
|
260
260
|
from,
|
|
261
|
-
exclude: [/\.fragment\./, guideExclude]
|
|
261
|
+
exclude: [/\.fragment\./, guideExclude, /^\.sdk\/admin\/.*\.sh$/]
|
|
262
262
|
})
|
|
263
263
|
|
|
264
264
|
File({ name: '.gitignore' }, () => {
|
|
@@ -270,6 +270,13 @@ const CreateRoot = cmp(function CreateRoot(props: any) {
|
|
|
270
270
|
spec.def = projdef
|
|
271
271
|
|
|
272
272
|
Folder({ name: spec.sdk_folder }, () => {
|
|
273
|
+
Folder({ name: 'admin' }, () => {
|
|
274
|
+
const admin = Path.join(from, spec.sdk_folder, 'admin')
|
|
275
|
+
for (const name of fs.readdirSync(admin).filter((name: string) => name.endsWith('.sh')).sort()) {
|
|
276
|
+
File({ name, mode: 0o755 }, () => Content(fs.readFileSync(Path.join(admin, name), 'utf8')))
|
|
277
|
+
}
|
|
278
|
+
})
|
|
279
|
+
|
|
273
280
|
File({ name: '.gitignore' }, () => {
|
|
274
281
|
Content(GITIGNORE_SDK)
|
|
275
282
|
})
|
|
@@ -1,45 +0,0 @@
|
|
|
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
|
-
|