@voxgig/sdkgen 3.4.6 → 3.5.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/voxgig-sdkgen +78 -10
- package/dist/action/action.d.ts +5 -2
- package/dist/action/action.js +113 -6
- package/dist/action/action.js.map +1 -1
- package/dist/action/check.d.ts +15 -0
- package/dist/action/check.js +347 -0
- package/dist/action/check.js.map +1 -0
- package/dist/action/dispatch.d.ts +8 -0
- package/dist/action/dispatch.js +74 -0
- package/dist/action/dispatch.js.map +1 -0
- package/dist/action/docs.d.ts +4 -0
- package/dist/action/docs.js +236 -0
- package/dist/action/docs.js.map +1 -0
- package/dist/action/doctor.d.ts +5 -2
- package/dist/action/doctor.js +526 -74
- package/dist/action/doctor.js.map +1 -1
- package/dist/action/feature.js +96 -17
- package/dist/action/feature.js.map +1 -1
- package/dist/action/kind.d.ts +30 -0
- package/dist/action/kind.js +258 -0
- package/dist/action/kind.js.map +1 -0
- package/dist/action/package.d.ts +25 -0
- package/dist/action/package.js +852 -0
- package/dist/action/package.js.map +1 -0
- package/dist/action/resolve.d.ts +18 -0
- package/dist/action/resolve.js +280 -0
- package/dist/action/resolve.js.map +1 -0
- package/dist/action/target.d.ts +7 -1
- package/dist/action/target.js +240 -97
- package/dist/action/target.js.map +1 -1
- package/dist/cmp/Docs.d.ts +4 -0
- package/dist/cmp/Docs.js +98 -0
- package/dist/cmp/Docs.js.map +1 -0
- package/dist/cmp/ExternalDocs.d.ts +2 -0
- package/dist/cmp/ExternalDocs.js +43 -0
- package/dist/cmp/ExternalDocs.js.map +1 -0
- package/dist/cmp/ReadmeTop.js +5 -1
- package/dist/cmp/ReadmeTop.js.map +1 -1
- package/dist/helpers/definition.d.ts +5 -0
- package/dist/helpers/definition.js +72 -0
- package/dist/helpers/definition.js.map +1 -0
- package/dist/helpers/featureSource.d.ts +8 -2
- package/dist/helpers/featureSource.js +61 -12
- package/dist/helpers/featureSource.js.map +1 -1
- package/dist/helpers/junk.d.ts +11 -0
- package/dist/helpers/junk.js +149 -0
- package/dist/helpers/junk.js.map +1 -0
- package/dist/helpers/manifest.d.ts +50 -0
- package/dist/helpers/manifest.js +328 -0
- package/dist/helpers/manifest.js.map +1 -0
- package/dist/helpers/modelcheck.d.ts +22 -0
- package/dist/helpers/modelcheck.js +203 -0
- package/dist/helpers/modelcheck.js.map +1 -0
- package/dist/helpers/semver.d.ts +4 -0
- package/dist/helpers/semver.js +174 -0
- package/dist/helpers/semver.js.map +1 -0
- package/dist/helpers/shipped.d.ts +4 -0
- package/dist/helpers/shipped.js +36 -0
- package/dist/helpers/shipped.js.map +1 -0
- package/dist/helpers/stdrep.d.ts +9 -1
- package/dist/helpers/stdrep.js +22 -0
- package/dist/helpers/stdrep.js.map +1 -1
- package/dist/sdkgen.d.ts +15 -3
- package/dist/sdkgen.js +233 -67
- package/dist/sdkgen.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +10 -2
- package/dist/utility.js +17 -0
- package/dist/utility.js.map +1 -1
- package/model/sdkgen.aontu +69 -0
- package/package.json +3 -2
- package/project/.sdk/model/feature/audit.aontu +1 -0
- package/project/.sdk/model/feature/cache.aontu +1 -0
- package/project/.sdk/model/feature/clienttrack.aontu +1 -0
- package/project/.sdk/model/feature/debug.aontu +1 -0
- package/project/.sdk/model/feature/idempotency.aontu +1 -0
- package/project/.sdk/model/feature/log.aontu +1 -0
- package/project/.sdk/model/feature/metrics.aontu +1 -0
- package/project/.sdk/model/feature/netsim.aontu +1 -0
- package/project/.sdk/model/feature/paging.aontu +1 -0
- package/project/.sdk/model/feature/proxy.aontu +1 -0
- package/project/.sdk/model/feature/ratelimit.aontu +1 -0
- package/project/.sdk/model/feature/rbac.aontu +1 -0
- package/project/.sdk/model/feature/retry.aontu +1 -0
- package/project/.sdk/model/feature/streaming.aontu +1 -0
- package/project/.sdk/model/feature/telemetry.aontu +1 -0
- package/project/.sdk/model/feature/test.aontu +1 -0
- package/project/.sdk/model/feature/timeout.aontu +1 -0
- package/project/.sdk/model/target/c.aontu +1 -0
- package/project/.sdk/model/target/clojure.aontu +1 -0
- package/project/.sdk/model/target/cpp.aontu +1 -0
- package/project/.sdk/model/target/dart.aontu +1 -0
- package/project/.sdk/model/target/elixir.aontu +1 -0
- package/project/.sdk/model/target/go-cli.aontu +1 -0
- package/project/.sdk/model/target/go-mcp.aontu +1 -0
- package/project/.sdk/model/target/go.aontu +1 -0
- package/project/.sdk/model/target/haskell.aontu +1 -0
- package/project/.sdk/model/target/java.aontu +1 -0
- package/project/.sdk/model/target/js.aontu +1 -0
- package/project/.sdk/model/target/kotlin.aontu +1 -0
- package/project/.sdk/model/target/lean.aontu +1 -0
- package/project/.sdk/model/target/lua.aontu +1 -0
- package/project/.sdk/model/target/ocaml.aontu +1 -0
- package/project/.sdk/model/target/perl.aontu +1 -0
- package/project/.sdk/model/target/php.aontu +1 -0
- package/project/.sdk/model/target/py-data.aontu +1 -0
- package/project/.sdk/model/target/py.aontu +1 -0
- package/project/.sdk/model/target/rb.aontu +1 -0
- package/project/.sdk/model/target/rust.aontu +1 -0
- package/project/.sdk/model/target/scala.aontu +1 -0
- package/project/.sdk/model/target/seneca-provider.aontu +1 -0
- package/project/.sdk/model/target/zig.aontu +1 -0
- package/project/.sdk/src/cmp/c/Config_c.ts +44 -0
- package/project/.sdk/src/cmp/c/fragment/Main.fragment.c +3 -1
- package/project/.sdk/src/cmp/clojure/Config_clojure.ts +37 -42
- package/project/.sdk/src/cmp/clojure/utility_clojure.ts +42 -0
- package/project/.sdk/src/cmp/cpp/Config_cpp.ts +18 -0
- package/project/.sdk/src/cmp/csharp/Config_csharp.ts +125 -52
- package/project/.sdk/src/cmp/csharp/fragment/Main.fragment.cs +3 -1
- package/project/.sdk/src/cmp/csharp/utility_csharp.ts +94 -6
- package/project/.sdk/src/cmp/dart/Config_dart.ts +56 -3
- package/project/.sdk/src/cmp/dart/fragment/Config.data.fragment.dart +74 -0
- package/project/.sdk/src/cmp/dart/fragment/Config.fragment.dart +6 -9
- package/project/.sdk/src/cmp/dart/fragment/Main.fragment.dart +16 -5
- package/project/.sdk/src/cmp/dart/utility_dart.ts +18 -0
- package/project/.sdk/src/cmp/elixir/Config_elixir.ts +128 -13
- package/project/.sdk/src/cmp/elixir/fragment/Main.fragment.ex +3 -1
- package/project/.sdk/src/cmp/elixir/utility_elixir.ts +6 -0
- package/project/.sdk/src/cmp/haskell/Config_haskell.ts +35 -52
- package/project/.sdk/src/cmp/haskell/Package_haskell.ts +1 -0
- package/project/.sdk/src/cmp/haskell/Test_haskell.ts +1 -1
- package/project/.sdk/src/cmp/haskell/utility_haskell.ts +15 -5
- package/project/.sdk/src/cmp/java/Config_java.ts +21 -0
- package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +15 -0
- package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +42 -39
- package/project/.sdk/src/cmp/perl/Config_perl.ts +15 -0
- package/project/.sdk/src/cmp/perl/fragment/Main.fragment.pm +3 -1
- package/project/.sdk/src/cmp/rust/Config_rust.ts +44 -0
- package/project/.sdk/src/cmp/rust/fragment/Main.fragment.rs +4 -2
- package/project/.sdk/src/cmp/scala/Config_scala.ts +15 -0
- package/project/.sdk/src/cmp/swift/Config_swift.ts +17 -0
- package/project/.sdk/src/cmp/swift/fragment/Main.fragment.swift +3 -1
- package/project/.sdk/src/cmp/zig/Config_zig.ts +44 -0
- package/project/.sdk/src/cmp/zig/TestEntity_zig.ts +9 -2
- package/project/.sdk/src/cmp/zig/fragment/Main.fragment.zig +31 -18
- package/project/.sdk/tm/c/core/sdk.h +1 -0
- package/project/.sdk/tm/c/utility/make_options.c +5 -1
- package/project/.sdk/tm/clojure/src/sdk/core.clj +51 -3
- package/project/.sdk/tm/cpp/core/types.hpp +4 -1
- package/project/.sdk/tm/cpp/utility/pipeline.hpp +5 -1
- package/project/.sdk/tm/csharp/test/PipelineTest.cs +15 -0
- package/project/.sdk/tm/csharp/utility/MakeOptions.cs +67 -1
- package/project/.sdk/tm/dart/lib/utility/MakeOptionsUtility.dart +43 -0
- package/project/.sdk/tm/elixir/lib/projectname/utility.ex +58 -2
- package/project/.sdk/tm/haskell/{test/TestJson.hs → src/SdkJson.hs} +8 -4
- package/project/.sdk/tm/haskell/src/SdkRuntime.hs +55 -2
- package/project/.sdk/tm/haskell/test/Runner.hs +1 -1
- package/project/.sdk/tm/haskell/test/StructCorpus.hs +1 -1
- package/project/.sdk/tm/java/core/SdkClient.java +3 -1
- package/project/.sdk/tm/java/utility/MakeOptions.java +5 -1
- package/project/.sdk/tm/kotlin/core/SdkClient.kt +3 -1
- package/project/.sdk/tm/kotlin/utility/MakeOptions.kt +5 -1
- package/project/.sdk/tm/ocaml/Makefile +3 -2
- package/project/.sdk/tm/ocaml/sdk_json.ml +106 -0
- package/project/.sdk/tm/ocaml/sdk_runtime.ml +56 -0
- package/project/.sdk/tm/ocaml/test/struct_corpus.ml +4 -86
- package/project/.sdk/tm/perl/utility/make_options.pm +5 -1
- package/project/.sdk/tm/rust/utility/make_options.rs +79 -1
- package/project/.sdk/tm/scala/core/SdkClient.scala +3 -1
- package/project/.sdk/tm/scala/utility/Make.scala +5 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/MakeOptions.swift +5 -1
- package/project/.sdk/tm/zig/core/utility.zig +85 -1
- package/project/.sdk/tm/zig/test/gotcha_test.zig +8 -8
- package/project/sdkgen-package.json +57 -0
- package/src/action/action.ts +136 -6
- package/src/action/check.ts +495 -0
- package/src/action/dispatch.ts +105 -0
- package/src/action/docs.ts +310 -0
- package/src/action/doctor.ts +692 -81
- package/src/action/feature.ts +109 -17
- package/src/action/kind.ts +375 -0
- package/src/action/package.ts +1173 -0
- package/src/action/resolve.ts +362 -0
- package/src/action/target.ts +290 -108
- package/src/cmp/Docs.ts +125 -0
- package/src/cmp/ExternalDocs.ts +54 -0
- package/src/cmp/ReadmeTop.ts +6 -1
- package/src/helpers/definition.ts +82 -0
- package/src/helpers/featureSource.ts +83 -13
- package/src/helpers/junk.ts +168 -0
- package/src/helpers/manifest.ts +474 -0
- package/src/helpers/modelcheck.ts +262 -0
- package/src/helpers/semver.ts +211 -0
- package/src/helpers/shipped.ts +41 -0
- package/src/helpers/stdrep.ts +70 -0
- package/src/sdkgen.ts +294 -66
- package/src/types.ts +33 -3
- package/src/utility.ts +17 -0
package/dist/action/target.js
CHANGED
|
@@ -4,22 +4,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.action_target = action_target;
|
|
7
|
+
exports.featureCatalogue = featureCatalogue;
|
|
7
8
|
exports.target_add = target_add;
|
|
8
9
|
exports.resolveTarget = resolveTarget;
|
|
9
10
|
exports.trimFeatures = trimFeatures;
|
|
10
11
|
exports.readTargetFeature = readTargetFeature;
|
|
12
|
+
exports.aliasCmpText = aliasCmpText;
|
|
13
|
+
exports.aliasCmpName = aliasCmpName;
|
|
14
|
+
exports.aliasCmpTree = aliasCmpTree;
|
|
15
|
+
exports.pruneStaleTemplates = pruneStaleTemplates;
|
|
11
16
|
const node_path_1 = __importDefault(require("node:path"));
|
|
12
17
|
const jostraca_1 = require("jostraca");
|
|
13
18
|
const util_1 = require("@voxgig/util");
|
|
14
19
|
const dryrun_1 = require("../helpers/dryrun");
|
|
15
20
|
const stdrep_1 = require("../helpers/stdrep");
|
|
16
|
-
const
|
|
21
|
+
const junk_1 = require("../helpers/junk");
|
|
17
22
|
const aontu_1 = require("aontu");
|
|
18
23
|
const types_1 = require("../types");
|
|
19
24
|
const utility_1 = require("../utility");
|
|
20
25
|
const featureSource_1 = require("../helpers/featureSource");
|
|
21
26
|
const feature_1 = require("./feature");
|
|
22
27
|
const action_1 = require("./action");
|
|
28
|
+
const kind_1 = require("./kind");
|
|
29
|
+
const resolve_1 = require("./resolve");
|
|
23
30
|
const CMD_MAP = {
|
|
24
31
|
add: cmd_target_add
|
|
25
32
|
};
|
|
@@ -59,6 +66,10 @@ async function target_add(targets, actx) {
|
|
|
59
66
|
control: {
|
|
60
67
|
dryrun: !!actx.opts.dryrun
|
|
61
68
|
},
|
|
69
|
+
// Per-call for the same reason `control` is: this action runs on whatever
|
|
70
|
+
// Jostraca instance the caller handed it, and a template tree must not
|
|
71
|
+
// carry a maintainer's build droppings into a project. See helpers/junk.
|
|
72
|
+
cmp: (0, junk_1.copyOpts)(),
|
|
62
73
|
};
|
|
63
74
|
opts.log.info({
|
|
64
75
|
point: 'target-start',
|
|
@@ -83,9 +94,20 @@ async function target_add(targets, actx) {
|
|
|
83
94
|
if (actx.opts.dryrun) {
|
|
84
95
|
(0, dryrun_1.showDryrun)(opts.log, 'target-result', jres, actx.folder);
|
|
85
96
|
}
|
|
86
|
-
//
|
|
87
|
-
//
|
|
88
|
-
//
|
|
97
|
+
// The targets just written are not in the in-memory model — nothing
|
|
98
|
+
// recompiles `model/sdk.aontu` mid-process — so put them there before the
|
|
99
|
+
// fan-out below.
|
|
100
|
+
//
|
|
101
|
+
// TargetRoot copies each new target's feature source from ITS OWN TREE,
|
|
102
|
+
// which is the whole story only while every feature ships in the same
|
|
103
|
+
// package as every target. For a feature supplied by a DIFFERENT package,
|
|
104
|
+
// the source lives in that package's overlay, and only `feature_add`'s
|
|
105
|
+
// two-tree lookup consults it — for targets in the model. So a target added
|
|
106
|
+
// while such a feature was already active got no source for it at all:
|
|
107
|
+
// TargetRoot could not find it, and the fan-out could not see the target.
|
|
108
|
+
(0, resolve_1.registerInstalled)('target', targets, actx);
|
|
109
|
+
// feature_add copies feature templates for every target in the model,
|
|
110
|
+
// which now includes the ones just added.
|
|
89
111
|
await (0, feature_1.feature_add)(features, actx);
|
|
90
112
|
opts.log.info({
|
|
91
113
|
point: 'target-end',
|
|
@@ -96,8 +118,12 @@ async function target_add(targets, actx) {
|
|
|
96
118
|
};
|
|
97
119
|
}
|
|
98
120
|
const TargetRoot = (0, jostraca_1.cmp)(function TargetRoot(props) {
|
|
99
|
-
const { ctx$, targets, features } = props;
|
|
121
|
+
const { ctx$, targets, features, actx } = props;
|
|
100
122
|
const { model, log } = ctx$;
|
|
123
|
+
const fs = ctx$.fs();
|
|
124
|
+
// The prune below writes through `fs` directly rather than through
|
|
125
|
+
// jostraca, so it has to be told about the dry run itself.
|
|
126
|
+
const dryrun = !!actx?.opts?.dryrun;
|
|
101
127
|
// TODO: jostraca - make from value easier to specify
|
|
102
128
|
// const tfolder = 'node_modules/@voxgig/sdkgen/project/.sdk'
|
|
103
129
|
(0, jostraca_1.Project)({}, () => {
|
|
@@ -112,7 +138,13 @@ const TargetRoot = (0, jostraca_1.cmp)(function TargetRoot(props) {
|
|
|
112
138
|
target: tref,
|
|
113
139
|
note: tref
|
|
114
140
|
});
|
|
115
|
-
|
|
141
|
+
// Resolved through the shared kind spine, so a BARE name follows what
|
|
142
|
+
// the model records exactly as a feature's does. Without that, a target
|
|
143
|
+
// installed from an external package resolved back to the bundled
|
|
144
|
+
// scaffold on its next `target add` — the same write-only-provenance
|
|
145
|
+
// trap features had.
|
|
146
|
+
const source = (0, kind_1.resolveKind)(tref, 'target', ctx$);
|
|
147
|
+
const { name: tname, folder: tfolder, origname: torigname, base } = source;
|
|
116
148
|
tnames.push(tname);
|
|
117
149
|
const targetNote = tname + (tname != tref ? ' ref:' + tref : '');
|
|
118
150
|
log.info({
|
|
@@ -121,25 +153,31 @@ const TargetRoot = (0, jostraca_1.cmp)(function TargetRoot(props) {
|
|
|
121
153
|
tname,
|
|
122
154
|
note: tname + (tname != torigname ? 'original' + torigname : '') + ' from:' + tfolder
|
|
123
155
|
});
|
|
124
|
-
(
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
156
|
+
// An ALIASED add (`target add go~go2`) installs the target under a new
|
|
157
|
+
// name, and every one of the three trees has to agree about that name.
|
|
158
|
+
const aliased = tname !== torigname;
|
|
159
|
+
// The definition file and the index entry: the same for every kind, so
|
|
160
|
+
// they are emitted once, in action/kind.
|
|
161
|
+
(0, jostraca_1.Folder)({ name: 'model/target' }, () => (0, kind_1.kindModel)({
|
|
162
|
+
ctx$, kind: 'target', source, names: tnames,
|
|
163
|
+
content: ctx$.meta.content.target_index,
|
|
164
|
+
}));
|
|
165
|
+
if (aliased) {
|
|
166
|
+
// Components are dispatched by CONVENTION — `cmp/<t>/Main_<t>` — so
|
|
167
|
+
// an aliased tree whose files keep the origin suffix resolves
|
|
168
|
+
// nothing: `src/cmp/go2/Main_go.ts` is invisible to a lookup for
|
|
169
|
+
// `cmp/go2/Main_go2`. jostraca's tree Copy has no per-entry rename
|
|
170
|
+
// hook, so an aliased tree is emitted file by file instead.
|
|
171
|
+
aliasCmpTree(ctx$, tfolder + '/src/cmp/' + torigname, 'src/cmp/' + tname, torigname, tname);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
(0, jostraca_1.Folder)({ name: 'src/cmp/' + tname }, () => {
|
|
175
|
+
(0, jostraca_1.Copy)({
|
|
176
|
+
from: tfolder + '/src/cmp/' + torigname,
|
|
177
|
+
// exclude: true
|
|
178
|
+
});
|
|
141
179
|
});
|
|
142
|
-
}
|
|
180
|
+
}
|
|
143
181
|
// Copy the whole template tree MINUS the source of every feature the
|
|
144
182
|
// model did not ask for. Which files those are is discovered from the
|
|
145
183
|
// tree rather than assumed (see helpers/featureSource), because each
|
|
@@ -159,7 +197,7 @@ const TargetRoot = (0, jostraca_1.cmp)(function TargetRoot(props) {
|
|
|
159
197
|
// package failed to compile — "fhHasFeature redeclared in this block".
|
|
160
198
|
//
|
|
161
199
|
// The invariant this restores: tm/<target> == source tree MINUS trim.
|
|
162
|
-
pruneStaleTemplates(ctx$, tfolder + '/tm/' + torigname, 'tm/' + tname, trim);
|
|
200
|
+
pruneStaleTemplates(ctx$, tfolder + '/tm/' + torigname, 'tm/' + tname, trim, dryrun);
|
|
163
201
|
(0, jostraca_1.Folder)({ name: 'tm/' + tname }, () => {
|
|
164
202
|
(0, jostraca_1.Copy)({
|
|
165
203
|
from: tfolder + '/tm/' + torigname,
|
|
@@ -174,6 +212,96 @@ const TargetRoot = (0, jostraca_1.cmp)(function TargetRoot(props) {
|
|
|
174
212
|
});
|
|
175
213
|
});
|
|
176
214
|
});
|
|
215
|
+
// `<Cmp>_<origname>.<ext>` -> `<Cmp>_<tname>.<ext>`, for an aliased install.
|
|
216
|
+
// Anything not carrying the suffix (tsconfig.json, the fragment sources)
|
|
217
|
+
// keeps its name — the `.<ext>` anchor is what keeps this off
|
|
218
|
+
// `Main.fragment.go`, whose `go` is a file extension.
|
|
219
|
+
//
|
|
220
|
+
// Shared with doctor for the same reason as aliasCmpText: doctor walks the
|
|
221
|
+
// ORIGIN tree to decide what should be present, so it has to land each file
|
|
222
|
+
// under the same name the writer gave it, or it reports the whole tree as
|
|
223
|
+
// missing.
|
|
224
|
+
function aliasCmpName(name, torigname, tname) {
|
|
225
|
+
return name.replace(new RegExp('_' + (0, kind_1.escapeRe)(torigname) + '(\\.[^.]+)$'), '_' + tname + '$1');
|
|
226
|
+
}
|
|
227
|
+
// The origin name a component carries INSIDE its source, rewritten for an
|
|
228
|
+
// aliased install. Shared with doctor, which re-applies it before comparing —
|
|
229
|
+
// same discipline as templateReplacements: a writer and a reader that
|
|
230
|
+
// disagree by a character make every file read as a fork.
|
|
231
|
+
//
|
|
232
|
+
// Rewritten here rather than through jostraca's `replace` map, because that
|
|
233
|
+
// map canonicalises each key into a regex group NAME — `_go'` and `_go"` both
|
|
234
|
+
// reduce to the same name, so the later entry silently won and every
|
|
235
|
+
// single-quoted import came out as `from './Package_go2"`. One explicit regex
|
|
236
|
+
// keeps the quote it matched.
|
|
237
|
+
// `cmpbase` is the component tree's PREFIX — `src/cmp/` for a target,
|
|
238
|
+
// `src/cmp/docs/` for a docs item. Taken from the caller rather than fixed
|
|
239
|
+
// here: a docs item's components live one level deeper, and a rewrite that
|
|
240
|
+
// looked for `src/cmp/<orig>/` left an aliased docs component pointing at the
|
|
241
|
+
// ORIGIN's fragments — reading them silently when both are installed.
|
|
242
|
+
function aliasCmpText(src, torigname, tname, cmpbase = 'src/cmp/') {
|
|
243
|
+
const orig = (0, kind_1.escapeRe)(torigname);
|
|
244
|
+
return src
|
|
245
|
+
// The fragment directory, read relative to __dirname. The fragments are
|
|
246
|
+
// copied into the ALIAS's folder, so leaving the origin path would miss —
|
|
247
|
+
// or, if the origin target is also installed, silently read ITS fragments.
|
|
248
|
+
.replace(new RegExp((0, kind_1.escapeRe)(cmpbase) + orig + '/', 'g'), cmpbase + tname + '/')
|
|
249
|
+
// Sibling imports: `'./Package_go'` -> `'./Package_go2'`. Anchored on the
|
|
250
|
+
// closing quote (captured, so the style is preserved) to keep it off file
|
|
251
|
+
// EXTENSIONS — `Main.fragment.go` must not become `Main.fragment.go2`.
|
|
252
|
+
.replace(new RegExp('_' + orig + '([\'"])', 'g'), '_' + tname + '$1');
|
|
253
|
+
}
|
|
254
|
+
// Emit an aliased `src/cmp` tree: every file renamed from the origin suffix
|
|
255
|
+
// to the installed one, and its CONTENT rewritten to match.
|
|
256
|
+
//
|
|
257
|
+
// Renaming alone would break the tree, because a component names its origin
|
|
258
|
+
// twice over: sibling imports (`from './Package_go'`) and the fragment
|
|
259
|
+
// directory it reads through `__dirname` (`/../../../src/cmp/go/fragment/`,
|
|
260
|
+
// in 67 of the shipped components). Both are rewritten here — the fragment
|
|
261
|
+
// path because the fragments are copied to the ALIAS's folder, so the origin
|
|
262
|
+
// path would either miss or, worse, silently read the origin target's
|
|
263
|
+
// fragments if that target is also installed.
|
|
264
|
+
//
|
|
265
|
+
// Files are emitted through jostraca (`File`/`Content`) rather than copied
|
|
266
|
+
// with `fs`, so a dry run reports them and writes nothing, exactly as the
|
|
267
|
+
// tree Copy on the unaliased path does.
|
|
268
|
+
function aliasCmpTree(ctx$, fromDir, toRel, torigname, tname, cmpbase = 'src/cmp/') {
|
|
269
|
+
const fs = ctx$.fs();
|
|
270
|
+
const aliasText = (src) => aliasCmpText(src, torigname, tname, cmpbase);
|
|
271
|
+
const emit = (dir, rel) => {
|
|
272
|
+
let entries;
|
|
273
|
+
try {
|
|
274
|
+
entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
275
|
+
}
|
|
276
|
+
catch (e) {
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
// Sorted, so an aliased tree is emitted in the same byte-stable order
|
|
280
|
+
// everything else in this toolchain is. Junk is dropped here because this
|
|
281
|
+
// walk stands in for a tree Copy, which drops it through
|
|
282
|
+
// `cmp.Copy.ignore` — an aliased install must not be the one path that
|
|
283
|
+
// ships a maintainer's `__pycache__`. See helpers/junk.
|
|
284
|
+
const names = entries
|
|
285
|
+
.map((ent) => ent.name)
|
|
286
|
+
.filter((name) => !(0, junk_1.isJunk)(name))
|
|
287
|
+
.sort();
|
|
288
|
+
for (const name of names) {
|
|
289
|
+
const child = node_path_1.default.join(dir, name);
|
|
290
|
+
const ent = entries.find((e) => e.name === name);
|
|
291
|
+
if (ent.isDirectory()) {
|
|
292
|
+
(0, jostraca_1.Folder)({ name }, () => emit(child, rel + '/' + name));
|
|
293
|
+
continue;
|
|
294
|
+
}
|
|
295
|
+
const renamed = aliasCmpName(name, torigname, tname);
|
|
296
|
+
// `template` against the model with no replace map, matching what Copy
|
|
297
|
+
// does for the unaliased tree — jostraca's Copy always interpolates
|
|
298
|
+
// `$$ref$$` against the model, so an aliased tree must too.
|
|
299
|
+
const src = fs.readFileSync(child, 'utf8');
|
|
300
|
+
(0, jostraca_1.File)({ name: renamed }, () => (0, jostraca_1.Content)((0, jostraca_1.template)(aliasText(src), ctx$.model)));
|
|
301
|
+
}
|
|
302
|
+
};
|
|
303
|
+
(0, jostraca_1.Folder)({ name: toRel }, () => emit(fromDir, toRel));
|
|
304
|
+
}
|
|
177
305
|
// Path patterns that keep a target's unwanted feature source out of the
|
|
178
306
|
// project: the source of every AVAILABLE feature the model did not select,
|
|
179
307
|
// plus the templates that only compile with the complete feature set.
|
|
@@ -202,7 +330,7 @@ const TargetRoot = (0, jostraca_1.cmp)(function TargetRoot(props) {
|
|
|
202
330
|
// model/guide/guide.aontu is the one file a user owns (merged separately by
|
|
203
331
|
// create-sdkgen) — so removing what the toolchain says should not be there is
|
|
204
332
|
// consistent with how the rest of that tree is already treated.
|
|
205
|
-
function pruneStaleTemplates(ctx$, fromDir, toRel, trim) {
|
|
333
|
+
function pruneStaleTemplates(ctx$, fromDir, toRel, trim, dryrun) {
|
|
206
334
|
const { log } = ctx$;
|
|
207
335
|
const fs = ctx$.fs();
|
|
208
336
|
const folder = ctx$.folder ?? '.';
|
|
@@ -218,6 +346,15 @@ function pruneStaleTemplates(ctx$, fromDir, toRel, trim) {
|
|
|
218
346
|
return;
|
|
219
347
|
}
|
|
220
348
|
for (const ent of entries) {
|
|
349
|
+
// Junk is invisible to this listing on BOTH sides, and it has to be
|
|
350
|
+
// both. In the source it is never copied, so counting it would want a
|
|
351
|
+
// file that can never arrive. In the destination it was never written
|
|
352
|
+
// by this toolchain, so counting it as stale would have `target add`
|
|
353
|
+
// delete a maintainer's own `__pycache__` out of their SDK repo —
|
|
354
|
+
// this prune's remit is the tree it writes, not the tree it finds.
|
|
355
|
+
if ((0, junk_1.isJunk)(ent.name)) {
|
|
356
|
+
continue;
|
|
357
|
+
}
|
|
221
358
|
const child = node_path_1.default.join(dir, ent.name);
|
|
222
359
|
const childRel = '' === rel ? ent.name : rel + '/' + ent.name;
|
|
223
360
|
if (ent.isDirectory()) {
|
|
@@ -246,6 +383,28 @@ function pruneStaleTemplates(ctx$, fromDir, toRel, trim) {
|
|
|
246
383
|
if (0 === stale.length) {
|
|
247
384
|
return;
|
|
248
385
|
}
|
|
386
|
+
// A DRY RUN must not delete. This prune calls `fs.unlinkSync` directly, and
|
|
387
|
+
// jostraca enforces `control.dryrun` only inside its own write layer — so
|
|
388
|
+
// `-y target add <t>` previewed the copies and then really removed every
|
|
389
|
+
// stale template, which is the opposite of what the flag promises and
|
|
390
|
+
// exactly the blast radius a maintainer runs `-y` to inspect. Report the
|
|
391
|
+
// deletions instead, in the same shape the copies are reported.
|
|
392
|
+
if (dryrun) {
|
|
393
|
+
log.info({
|
|
394
|
+
point: 'target-template-prune', target: toRel, count: stale.length,
|
|
395
|
+
files: stale, dryrun: true,
|
|
396
|
+
note: toRel + ': would remove ' + stale.length +
|
|
397
|
+
' stale template(s) — ** DRY RUN **, nothing was written'
|
|
398
|
+
});
|
|
399
|
+
for (const rel of stale) {
|
|
400
|
+
log.info({
|
|
401
|
+
point: 'target-template-prune-file', target: toRel,
|
|
402
|
+
file: toRel + '/' + rel, dryrun: true,
|
|
403
|
+
note: 'would remove ' + toRel + '/' + rel
|
|
404
|
+
});
|
|
405
|
+
}
|
|
406
|
+
return;
|
|
407
|
+
}
|
|
249
408
|
const removed = [];
|
|
250
409
|
for (const rel of stale) {
|
|
251
410
|
try {
|
|
@@ -268,6 +427,48 @@ function pruneStaleTemplates(ctx$, fromDir, toRel, trim) {
|
|
|
268
427
|
});
|
|
269
428
|
}
|
|
270
429
|
}
|
|
430
|
+
// WHICH NAMES COUNT AS FEATURE SOURCE, when deciding what to trim.
|
|
431
|
+
//
|
|
432
|
+
// This used to be the SOURCE folder's own `model/feature/` listing, which is
|
|
433
|
+
// right only while every target ships in the same package as every feature.
|
|
434
|
+
// An external target package declares no feature models of its own — it has
|
|
435
|
+
// no reason to — so nothing was discovered, nothing was trimmed, and the
|
|
436
|
+
// consumer received the target's source for EVERY feature regardless of what
|
|
437
|
+
// its model selected. Measured on a target copied from the bundled `go`: the
|
|
438
|
+
// bundled one keeps 2 feature source files, the external one kept all 18.
|
|
439
|
+
//
|
|
440
|
+
// That is the failure `helpers/featureSource` was written to end (272 stray
|
|
441
|
+
// files in one repo), arriving again by the one route it did not cover.
|
|
442
|
+
//
|
|
443
|
+
// The catalogue is therefore the union of every place a feature this project
|
|
444
|
+
// could select can come from:
|
|
445
|
+
//
|
|
446
|
+
// - the bundled scaffold, which is what a bare `feature add <name>` means;
|
|
447
|
+
// - the source package's own declarations, for a package shipping both;
|
|
448
|
+
// - the consumer's OWN installed feature models, which is how an EXTERNAL
|
|
449
|
+
// feature's source becomes trimmable at all.
|
|
450
|
+
//
|
|
451
|
+
// Every term is a place feature DEFINITIONS live, deliberately. Taking the
|
|
452
|
+
// third from the model's feature KEYS instead would make any name a project
|
|
453
|
+
// happens to declare a trim candidate — and a file in a `feature/` directory
|
|
454
|
+
// is not necessarily a feature. `tm/rust/feature/support.rs` and its siblings
|
|
455
|
+
// are shared machinery that `Main_rust` emits unconditionally (`pub mod
|
|
456
|
+
// support`), so a project that declared a feature called `support` would have
|
|
457
|
+
// had that file pruned and produced a crate that cannot compile. A definition
|
|
458
|
+
// file is evidence that the name really denotes a feature; a model key is not.
|
|
459
|
+
//
|
|
460
|
+
// For a bundled add this is `bundled ∪ bundled ∪ (⊆ bundled)`, so the trim is
|
|
461
|
+
// byte-identical to what it always was — the goldens hold it to that.
|
|
462
|
+
function featureCatalogue(ctx$, tfolder) {
|
|
463
|
+
const fs = ctx$.fs();
|
|
464
|
+
const root = ctx$.folder ?? '.';
|
|
465
|
+
const names = new Set([
|
|
466
|
+
...(0, featureSource_1.availableFeatures)(fs, node_path_1.default.join(root, resolve_1.BUNDLED)),
|
|
467
|
+
...(0, featureSource_1.availableFeatures)(fs, tfolder),
|
|
468
|
+
...(0, featureSource_1.availableFeatures)(fs, root),
|
|
469
|
+
]);
|
|
470
|
+
return Array.from(names).sort();
|
|
471
|
+
}
|
|
271
472
|
function trimFeatures(ctx$, tfolder, torigname, tname, features) {
|
|
272
473
|
const { log } = ctx$;
|
|
273
474
|
const fs = ctx$.fs();
|
|
@@ -281,8 +482,8 @@ function trimFeatures(ctx$, tfolder, torigname, tname, features) {
|
|
|
281
482
|
}
|
|
282
483
|
// `base` is not a declared feature — it is the always-present foundation
|
|
283
484
|
// every other feature builds on — so it is never a trim candidate.
|
|
284
|
-
const selected = new Set([
|
|
285
|
-
const available = (
|
|
485
|
+
const selected = new Set([featureSource_1.BASE_FEATURE, ...(features ?? [])]);
|
|
486
|
+
const available = featureCatalogue(ctx$, tfolder);
|
|
286
487
|
const drop = (0, featureSource_1.findFeatureSources)(fs, tfolder + '/tm/' + torigname, available)
|
|
287
488
|
.filter((s) => !selected.has(s.name));
|
|
288
489
|
const trimmed = 0 < drop.length;
|
|
@@ -332,76 +533,18 @@ function readTargetFeature(ctx$, tfolder, torigname, tname) {
|
|
|
332
533
|
return { trim: false, fullset: [] };
|
|
333
534
|
}
|
|
334
535
|
}
|
|
335
|
-
//
|
|
336
|
-
//
|
|
337
|
-
//
|
|
338
|
-
//
|
|
339
|
-
// On POSIX Path.sep IS '/', so this is the same split it always was.
|
|
340
|
-
function lastSegment(ref) {
|
|
341
|
-
return (0, struct_1.getelem)(ref.split('/').flatMap((p) => p.split(node_path_1.default.sep)), -1);
|
|
342
|
-
}
|
|
536
|
+
// `target add`'s view of the shared resolver: the same resolution every kind
|
|
537
|
+
// uses, with this action's historical field names. Kept as a wrapper so its
|
|
538
|
+
// callers (TargetRoot, doctor) and their tests do not have to move with the
|
|
539
|
+
// extraction.
|
|
343
540
|
function resolveTarget(tref, ctx$) {
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
let aliasref = tref;
|
|
352
|
-
torigname = lastSegment(aliasref);
|
|
353
|
-
const aliasing = tref.split('~');
|
|
354
|
-
if (1 < aliasing.length) {
|
|
355
|
-
aliasref = aliasing[0];
|
|
356
|
-
tname = aliasing.slice(1).join('~');
|
|
357
|
-
torigname = lastSegment(aliasref);
|
|
358
|
-
}
|
|
359
|
-
const search = [];
|
|
360
|
-
let found = false;
|
|
361
|
-
// Windows: an absolute ref is `D:\a\...` or `D:/a/...`, and a Path.join'd
|
|
362
|
-
// one carries backslashes, so neither `includes('/')` nor `startsWith('/')`
|
|
363
|
-
// recognises it. Path.isAbsolute and Path.sep are platform-correct and
|
|
364
|
-
// reduce to the same answers on POSIX.
|
|
365
|
-
if (aliasref.includes('/') || aliasref.includes(node_path_1.default.sep)) {
|
|
366
|
-
// NOTE: the last path element of the ref is the target name, not a folder.
|
|
367
|
-
const aliasbase = node_path_1.default.dirname(aliasref);
|
|
368
|
-
if (!node_path_1.default.isAbsolute(aliasref)) {
|
|
369
|
-
fulltfolder = node_path_1.default.normalize(node_path_1.default.join(root, 'node_modules', aliasbase, '.sdk'));
|
|
370
|
-
search.push(fulltfolder);
|
|
371
|
-
found = fs.existsSync(fulltfolder);
|
|
372
|
-
if (!found) {
|
|
373
|
-
fulltfolder = node_path_1.default.normalize(node_path_1.default.join(root, aliasbase, '.sdk'));
|
|
374
|
-
search.push(fulltfolder);
|
|
375
|
-
found = fs.existsSync(fulltfolder);
|
|
376
|
-
}
|
|
377
|
-
}
|
|
378
|
-
else {
|
|
379
|
-
fulltfolder = node_path_1.default.normalize(node_path_1.default.join(aliasbase, '.sdk'));
|
|
380
|
-
search.push(fulltfolder);
|
|
381
|
-
found = fs.existsSync(fulltfolder);
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
else {
|
|
385
|
-
search.push(fulltfolder);
|
|
386
|
-
found = fs.existsSync(fulltfolder);
|
|
387
|
-
}
|
|
388
|
-
if (!found) {
|
|
389
|
-
throw new Error('Target folder not found in:\n' + search.join('\n '));
|
|
390
|
-
}
|
|
391
|
-
// `base` is the target folder relative to the project root. Compare with the
|
|
392
|
-
// PLATFORM separator: on Windows `root + '/'` never prefixes a normalised
|
|
393
|
-
// absolute path, so the root would not be stripped and `base` would stay
|
|
394
|
-
// absolute. Normalise both sides first for the same reason.
|
|
395
|
-
const nroot = node_path_1.default.normalize(root);
|
|
396
|
-
const rootslash = nroot.endsWith(node_path_1.default.sep) ? nroot : nroot + node_path_1.default.sep;
|
|
397
|
-
const out = {
|
|
398
|
-
tname,
|
|
399
|
-
tfolder: fulltfolder,
|
|
400
|
-
torigname,
|
|
401
|
-
base: fulltfolder.startsWith(rootslash)
|
|
402
|
-
? fulltfolder.slice(rootslash.length)
|
|
403
|
-
: fulltfolder
|
|
541
|
+
const src = (0, resolve_1.resolveSource)(tref, 'target', ctx$);
|
|
542
|
+
return {
|
|
543
|
+
tname: src.name,
|
|
544
|
+
tfolder: src.folder,
|
|
545
|
+
torigname: src.origname,
|
|
546
|
+
base: src.base,
|
|
547
|
+
package: src.package,
|
|
404
548
|
};
|
|
405
|
-
return out;
|
|
406
549
|
}
|
|
407
550
|
//# sourceMappingURL=target.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/action/target.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/action/target.ts"],"names":[],"mappings":"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"}
|
package/dist/cmp/Docs.js
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// GENERATING A DOCS ITEM. See docs/design/sdkgen-packages.md §20.3.
|
|
3
|
+
//
|
|
4
|
+
// A docs item is dispatched by the same convention a target is —
|
|
5
|
+
// `cmp/docs/<n>/Main_<n>` — so an item's package supplies the emitter and
|
|
6
|
+
// sdkgen supplies only the call.
|
|
7
|
+
//
|
|
8
|
+
// WHY THIS IS NOT RENDERED BY THE CONSUMER'S Root.ts
|
|
9
|
+
//
|
|
10
|
+
// A project's `Root.ts` is written once, by create-sdkgen, and is never
|
|
11
|
+
// touched again (doctor has an `unwired` category precisely because of it).
|
|
12
|
+
// So a kind introduced later can reach generation in one of two ways: every
|
|
13
|
+
// existing project edits its Root, or sdkgen runs the kind's own pass. The
|
|
14
|
+
// second is what happens here — `docs add` in a project scaffolded years ago
|
|
15
|
+
// generates with no scaffold change at all, which is the whole point of
|
|
16
|
+
// putting the destinations in packages.
|
|
17
|
+
//
|
|
18
|
+
// The cost is honest and small: a second `generate()` call over the same
|
|
19
|
+
// root, so the changes report arrives in two parts.
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.DocsItem = exports.Docs = void 0;
|
|
22
|
+
exports.prepareModel = prepareModel;
|
|
23
|
+
const jostraca_1 = require("jostraca");
|
|
24
|
+
const utility_1 = require("../utility");
|
|
25
|
+
const stdrep_1 = require("../helpers/stdrep");
|
|
26
|
+
const types_1 = require("../types");
|
|
27
|
+
// The model preamble every pass performs before rendering: the case-variant
|
|
28
|
+
// name constants (`Name`, `NAME`, …) and the ProjectName replacement map that
|
|
29
|
+
// template substitution reads.
|
|
30
|
+
//
|
|
31
|
+
// Done HERE rather than relied upon, because a docs pass does NOT go through
|
|
32
|
+
// the consumer's Root — nothing else has set `ctx$.model`, and when there are
|
|
33
|
+
// out-of-tree items the Root was handed a FILTERED COPY, so the preamble it
|
|
34
|
+
// performed did not touch this object at all.
|
|
35
|
+
function prepareModel(model, ctx$) {
|
|
36
|
+
ctx$.model = model;
|
|
37
|
+
model.const = model.const || { name: model.name };
|
|
38
|
+
(0, jostraca_1.names)(model.const, model.name);
|
|
39
|
+
if (null == model.const.year) {
|
|
40
|
+
model.const.year = new Date().getFullYear();
|
|
41
|
+
}
|
|
42
|
+
(0, jostraca_1.names)(model, model.name);
|
|
43
|
+
ctx$.stdrep = ctx$.stdrep || {};
|
|
44
|
+
(0, jostraca_1.names)(ctx$.stdrep, model.Name, 'Project' + 'Name');
|
|
45
|
+
}
|
|
46
|
+
// One item: its emitter, called with the item and the shared replace map.
|
|
47
|
+
//
|
|
48
|
+
// No Folder here — WHERE it lands is the caller's business, because that is
|
|
49
|
+
// exactly what differs between the two passes: in-tree the item owns
|
|
50
|
+
// `<sdk-repo>/<name>/`, out-of-tree the destination IS the item's root.
|
|
51
|
+
const DocsItem = (0, jostraca_1.cmp)(function DocsItem(props) {
|
|
52
|
+
const { item, ctx$ } = props;
|
|
53
|
+
const log = ctx$.log;
|
|
54
|
+
const model = props.model ?? ctx$.model;
|
|
55
|
+
const stdrep = (0, stdrep_1.ensureStdrep)(ctx$);
|
|
56
|
+
// The MODEL KEY is the fallback, and it is not paranoia: `name` comes from
|
|
57
|
+
// the base schema's `name: key()`, so an item whose project has not
|
|
58
|
+
// included that schema — or whose own definition omits it — reached
|
|
59
|
+
// `require('cmp/docs/undefined/Main_undefined')`, a message naming nothing
|
|
60
|
+
// the author wrote. Seen in the first real install of a docs package.
|
|
61
|
+
const name = item.name ?? item.key$;
|
|
62
|
+
if (null == name || '' === name) {
|
|
63
|
+
throw new Error('Docs item has no name and no model key, so its component cannot be ' +
|
|
64
|
+
'located: ' + JSON.stringify(Object.keys(item ?? {})));
|
|
65
|
+
}
|
|
66
|
+
const Main_docs = (0, utility_1.requirePath)(ctx$, `cmp/docs/${name}/Main_${name}`);
|
|
67
|
+
Main_docs['Main']({ model, docs: item, stdrep });
|
|
68
|
+
log.info({
|
|
69
|
+
point: 'generate-docs', docs: name, note: 'docs:' + name
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
exports.DocsItem = DocsItem;
|
|
73
|
+
// Every IN-TREE docs item, each in its own folder.
|
|
74
|
+
//
|
|
75
|
+
// Items with `output: path` are excluded: they get their own pass rooted at
|
|
76
|
+
// that path, and rendering them here as well would ALSO write them into
|
|
77
|
+
// `<sdk-repo>/<name>/` — the same reason `withoutExternal` exists for
|
|
78
|
+
// targets.
|
|
79
|
+
const Docs = (0, jostraca_1.cmp)(function Docs(props) {
|
|
80
|
+
const { ctx$ } = props;
|
|
81
|
+
const model = props.model ?? ctx$.model;
|
|
82
|
+
prepareModel(model, ctx$);
|
|
83
|
+
const items = model?.main?.[types_1.KIT]?.docs ?? {};
|
|
84
|
+
(0, jostraca_1.each)(items, (item) => {
|
|
85
|
+
if (false === item.active) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
const path = item.output?.path;
|
|
89
|
+
if (null != path && '' !== path) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const name = item.name ?? item.key$;
|
|
93
|
+
(0, jostraca_1.names)(item, name);
|
|
94
|
+
(0, jostraca_1.Folder)({ name }, () => DocsItem({ item }));
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
exports.Docs = Docs;
|
|
98
|
+
//# sourceMappingURL=Docs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Docs.js","sourceRoot":"","sources":["../../src/cmp/Docs.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,EAAE;AACF,iEAAiE;AACjE,0EAA0E;AAC1E,iCAAiC;AACjC,EAAE;AACF,qDAAqD;AACrD,EAAE;AACF,wEAAwE;AACxE,4EAA4E;AAC5E,4EAA4E;AAC5E,2EAA2E;AAC3E,6EAA6E;AAC7E,wEAAwE;AACxE,wCAAwC;AACxC,EAAE;AACF,yEAAyE;AACzE,oDAAoD;;;QA0GlD,YAAY;AAxGd,uCAAmD;AAEnD,wCAAwC;AAExC,8CAAgD;AAEhD,oCAA8B;AAG9B,4EAA4E;AAC5E,8EAA8E;AAC9E,+BAA+B;AAC/B,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,8CAA8C;AAC9C,SAAS,YAAY,CAAC,KAAU,EAAE,IAAS;IACzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IAElB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;IACjD,IAAA,gBAAK,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC7C,CAAC;IACD,IAAA,gBAAK,EAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAExB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAA;IAC/B,IAAA,gBAAK,EAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC,CAAA;AACpD,CAAC;AAGD,0EAA0E;AAC1E,EAAE;AACF,4EAA4E;AAC5E,qEAAqE;AACrE,wEAAwE;AACxE,MAAM,QAAQ,GAAG,IAAA,cAAG,EAAC,SAAS,QAAQ,CAAC,KAAU;IAC/C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;IACpB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAA;IAEvC,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,CAAA;IAEjC,2EAA2E;IAC3E,oEAAoE;IACpE,oEAAoE;IACpE,2EAA2E;IAC3E,sEAAsE;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;IAEnC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,qEAAqE;YACrE,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,qBAAW,EAAC,IAAI,EAAE,YAAY,IAAI,SAAS,IAAI,EAAE,CAAC,CAAA;IAEpE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IAEhD,GAAG,CAAC,IAAI,CAAC;QACP,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;KACzD,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;QAuCA,QAAQ;AApCV,mDAAmD;AACnD,EAAE;AACF,4EAA4E;AAC5E,wEAAwE;AACxE,sEAAsE;AACtE,WAAW;AACX,MAAM,IAAI,GAAG,IAAA,cAAG,EAAC,SAAS,IAAI,CAAC,KAAU;IACvC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IACtB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAA;IAEvC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAEzB,MAAM,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,WAAG,CAAC,EAAE,IAAI,IAAI,EAAE,CAAA;IAE5C,IAAA,eAAI,EAAC,KAAK,EAAE,CAAC,IAAS,EAAE,EAAE;QACxB,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAA;QAE9B,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChC,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;QAEnC,IAAA,gBAAK,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAEjB,IAAA,iBAAM,EAAC,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;QAIA,IAAI"}
|