@voxgig/create-sdkgen 0.22.0 → 0.23.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/dist/project/standard/CreateRoot.js +15 -2
- package/dist/project/standard/CreateRoot.js.map +1 -1
- package/package.json +1 -1
- package/project/standard/.sdk/model/guide/guide.aon +1 -1
- package/project/standard/.sdk/model/sdk.fragment.aon +2 -2
- package/project/standard/.sdk/test/feature/feature-test-index.aon +1 -1
- package/project/standard/.sdk/test/primary/primary-test-index.aon +30 -30
- package/project/standard/.sdk/test/struct/test.aon +10 -10
- package/src/project/standard/CreateRoot.ts +16 -2
|
@@ -162,11 +162,24 @@ function mergeGuide(existing, template) {
|
|
|
162
162
|
return template;
|
|
163
163
|
}
|
|
164
164
|
const isInclude = (line) => line.trim().startsWith('@');
|
|
165
|
-
|
|
165
|
+
// AN INCLUDE IS THE FILE IT NAMES, whichever way the `./` falls.
|
|
166
|
+
//
|
|
167
|
+
// The template gained a `./` when aontu 0.65 made a bare single-segment
|
|
168
|
+
// include name a PACKAGE (ADR-039). Every guide written before that says
|
|
169
|
+
// `@"base-guide.aon"`, and `guide.aon` is project-owned: the scaffold
|
|
170
|
+
// writes it once and never again, so those files stay as they are until
|
|
171
|
+
// something migrates them.
|
|
172
|
+
//
|
|
173
|
+
// Comparing the raw lines read the old spelling as a DIFFERENT include, so
|
|
174
|
+
// a re-scaffold restored one the file already had — leaving the guide
|
|
175
|
+
// including `base-guide.aon` twice, under two spellings, which is the one
|
|
176
|
+
// thing this merge exists to avoid.
|
|
177
|
+
const key = (line) => line.trim().replace(/^@"\.\//, '@"');
|
|
178
|
+
const have = new Set(existing.split('\n').map(key));
|
|
166
179
|
const missing = template.split('\n')
|
|
167
180
|
.filter(isInclude)
|
|
168
181
|
.map((line) => line.trim())
|
|
169
|
-
.filter((line) => !have.has(line));
|
|
182
|
+
.filter((line) => !have.has(key(line)));
|
|
170
183
|
if (0 === missing.length) {
|
|
171
184
|
return existing;
|
|
172
185
|
}
|
|
@@ -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
|
@@ -15,7 +15,7 @@ def: 'DEF'
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
# SDK Configuration.
|
|
18
|
-
@"config.aon"
|
|
18
|
+
@"./config.aon"
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
# SDK Entities
|
|
@@ -38,7 +38,7 @@ def: 'DEF'
|
|
|
38
38
|
#
|
|
39
39
|
# LAST, deliberately: it may refine main.kit.target.<t>, and a target can only
|
|
40
40
|
# be refined after target-index.aon has defined it.
|
|
41
|
-
@"project.aon"
|
|
41
|
+
@"./project.aon"
|
|
42
42
|
|
|
43
43
|
# Documentation editions. Settings belong in project.aon.
|
|
44
44
|
@"edition/edition-index.aon"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# Feature behaviour cases, one section per feature.
|
|
2
|
-
feature: cost: @"cost.aon"
|
|
2
|
+
feature: cost: @"./cost.aon"
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
primary: clean: @"clean.aon"
|
|
2
|
-
primary: done: @"done.aon"
|
|
3
|
-
primary: featureAdd: @"featureAdd.aon"
|
|
4
|
-
primary: featureHook: @"featureHook.aon"
|
|
5
|
-
primary: featureInit: @"featureInit.aon"
|
|
6
|
-
primary: fetcher: @"fetcher.aon"
|
|
7
|
-
primary: makeContext: @"makeContext.aon"
|
|
8
|
-
primary: makeError: @"makeError.aon"
|
|
9
|
-
primary: makeFetchDef: @"makeFetchDef.aon"
|
|
10
|
-
primary: makeOptions: @"makeOptions.aon"
|
|
11
|
-
primary: makeRequest: @"makeRequest.aon"
|
|
12
|
-
primary: makeResponse: @"makeResponse.aon"
|
|
13
|
-
primary: makeResult: @"makeResult.aon"
|
|
14
|
-
primary: makeSpec: @"makeSpec.aon"
|
|
15
|
-
primary: makePoint: @"makePoint.aon"
|
|
16
|
-
primary: makeUrl: @"makeUrl.aon"
|
|
17
|
-
primary: operator: @"operator.aon"
|
|
18
|
-
primary: param: @"param.aon"
|
|
19
|
-
primary: prepareAuth: @"prepareAuth.aon"
|
|
20
|
-
primary: prepareBody: @"prepareBody.aon"
|
|
21
|
-
primary: prepareHeaders: @"prepareHeaders.aon"
|
|
22
|
-
primary: prepareMethod: @"prepareMethod.aon"
|
|
23
|
-
primary: prepareParams: @"prepareParams.aon"
|
|
24
|
-
primary: preparePath: @"preparePath.aon"
|
|
25
|
-
primary: prepareQuery: @"prepareQuery.aon"
|
|
26
|
-
primary: resultBasic: @"resultBasic.aon"
|
|
27
|
-
primary: resultBody: @"resultBody.aon"
|
|
28
|
-
primary: resultHeaders: @"resultHeaders.aon"
|
|
29
|
-
primary: transformRequest: @"transformRequest.aon"
|
|
30
|
-
primary: transformResponse: @"transformResponse.aon"
|
|
1
|
+
primary: clean: @"./clean.aon"
|
|
2
|
+
primary: done: @"./done.aon"
|
|
3
|
+
primary: featureAdd: @"./featureAdd.aon"
|
|
4
|
+
primary: featureHook: @"./featureHook.aon"
|
|
5
|
+
primary: featureInit: @"./featureInit.aon"
|
|
6
|
+
primary: fetcher: @"./fetcher.aon"
|
|
7
|
+
primary: makeContext: @"./makeContext.aon"
|
|
8
|
+
primary: makeError: @"./makeError.aon"
|
|
9
|
+
primary: makeFetchDef: @"./makeFetchDef.aon"
|
|
10
|
+
primary: makeOptions: @"./makeOptions.aon"
|
|
11
|
+
primary: makeRequest: @"./makeRequest.aon"
|
|
12
|
+
primary: makeResponse: @"./makeResponse.aon"
|
|
13
|
+
primary: makeResult: @"./makeResult.aon"
|
|
14
|
+
primary: makeSpec: @"./makeSpec.aon"
|
|
15
|
+
primary: makePoint: @"./makePoint.aon"
|
|
16
|
+
primary: makeUrl: @"./makeUrl.aon"
|
|
17
|
+
primary: operator: @"./operator.aon"
|
|
18
|
+
primary: param: @"./param.aon"
|
|
19
|
+
primary: prepareAuth: @"./prepareAuth.aon"
|
|
20
|
+
primary: prepareBody: @"./prepareBody.aon"
|
|
21
|
+
primary: prepareHeaders: @"./prepareHeaders.aon"
|
|
22
|
+
primary: prepareMethod: @"./prepareMethod.aon"
|
|
23
|
+
primary: prepareParams: @"./prepareParams.aon"
|
|
24
|
+
primary: preparePath: @"./preparePath.aon"
|
|
25
|
+
primary: prepareQuery: @"./prepareQuery.aon"
|
|
26
|
+
primary: resultBasic: @"./resultBasic.aon"
|
|
27
|
+
primary: resultBody: @"./resultBody.aon"
|
|
28
|
+
primary: resultHeaders: @"./resultHeaders.aon"
|
|
29
|
+
primary: transformRequest: @"./transformRequest.aon"
|
|
30
|
+
primary: transformResponse: @"./transformResponse.aon"
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
|
|
2
2
|
struct: &: {
|
|
3
|
-
name:
|
|
3
|
+
name: key()
|
|
4
4
|
set: []
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
struct: minor: @"minor.aon"
|
|
8
|
-
struct: getpath: @"getpath.aon"
|
|
9
|
-
struct: inject: @"inject.aon"
|
|
10
|
-
struct: merge: @"merge.aon"
|
|
11
|
-
struct: transform: @"transform.aon"
|
|
12
|
-
struct: walk: @"walk.aon"
|
|
13
|
-
struct: validate: @"validate.aon"
|
|
14
|
-
struct: select: @"select.aon"
|
|
15
|
-
struct: nullsem: @"nullsem.aon"
|
|
7
|
+
struct: minor: @"./minor.aon"
|
|
8
|
+
struct: getpath: @"./getpath.aon"
|
|
9
|
+
struct: inject: @"./inject.aon"
|
|
10
|
+
struct: merge: @"./merge.aon"
|
|
11
|
+
struct: transform: @"./transform.aon"
|
|
12
|
+
struct: walk: @"./walk.aon"
|
|
13
|
+
struct: validate: @"./validate.aon"
|
|
14
|
+
struct: select: @"./select.aon"
|
|
15
|
+
struct: nullsem: @"./nullsem.aon"
|
|
16
16
|
|
|
17
17
|
primary: check: {
|
|
18
18
|
DEF: {
|
|
@@ -184,11 +184,25 @@ function mergeGuide(existing: string | null, template: string): string {
|
|
|
184
184
|
|
|
185
185
|
const isInclude = (line: string) => line.trim().startsWith('@')
|
|
186
186
|
|
|
187
|
-
|
|
187
|
+
// AN INCLUDE IS THE FILE IT NAMES, whichever way the `./` falls.
|
|
188
|
+
//
|
|
189
|
+
// The template gained a `./` when aontu 0.65 made a bare single-segment
|
|
190
|
+
// include name a PACKAGE (ADR-039). Every guide written before that says
|
|
191
|
+
// `@"base-guide.aon"`, and `guide.aon` is project-owned: the scaffold
|
|
192
|
+
// writes it once and never again, so those files stay as they are until
|
|
193
|
+
// something migrates them.
|
|
194
|
+
//
|
|
195
|
+
// Comparing the raw lines read the old spelling as a DIFFERENT include, so
|
|
196
|
+
// a re-scaffold restored one the file already had — leaving the guide
|
|
197
|
+
// including `base-guide.aon` twice, under two spellings, which is the one
|
|
198
|
+
// thing this merge exists to avoid.
|
|
199
|
+
const key = (line: string) => line.trim().replace(/^@"\.\//, '@"')
|
|
200
|
+
|
|
201
|
+
const have = new Set(existing.split('\n').map(key))
|
|
188
202
|
const missing = template.split('\n')
|
|
189
203
|
.filter(isInclude)
|
|
190
204
|
.map((line: string) => line.trim())
|
|
191
|
-
.filter((line: string) => !have.has(line))
|
|
205
|
+
.filter((line: string) => !have.has(key(line)))
|
|
192
206
|
|
|
193
207
|
if (0 === missing.length) {
|
|
194
208
|
return existing
|