@salesforce/plugin-command-reference 3.1.106 → 3.1.108
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 +7 -4
- package/lib/commands/commandreference/generate.d.ts +1 -0
- package/lib/commands/commandreference/generate.js +10 -3
- package/lib/commands/commandreference/generate.js.map +1 -1
- package/lib/ditamap/command-helpers.d.ts +25 -0
- package/lib/ditamap/command-helpers.js +59 -0
- package/lib/ditamap/command-helpers.js.map +1 -0
- package/lib/ditamap/command.d.ts +1 -14
- package/lib/ditamap/command.js +2 -44
- package/lib/ditamap/command.js.map +1 -1
- package/lib/docs.d.ts +3 -1
- package/lib/docs.js +29 -27
- package/lib/docs.js.map +1 -1
- package/lib/generator-factory.d.ts +46 -0
- package/lib/generator-factory.js +89 -0
- package/lib/generator-factory.js.map +1 -0
- package/lib/markdown/cli-reference.d.ts +10 -0
- package/lib/markdown/cli-reference.js +50 -0
- package/lib/markdown/cli-reference.js.map +1 -0
- package/lib/markdown/command.d.ts +17 -0
- package/lib/markdown/command.js +257 -0
- package/lib/markdown/command.js.map +1 -0
- package/lib/markdown/index.d.ts +7 -0
- package/lib/markdown/index.js +23 -0
- package/lib/markdown/index.js.map +1 -0
- package/lib/markdown/markdown-base.d.ts +10 -0
- package/lib/markdown/markdown-base.js +39 -0
- package/lib/markdown/markdown-base.js.map +1 -0
- package/lib/markdown/root-index.d.ts +6 -0
- package/lib/markdown/root-index.js +37 -0
- package/lib/markdown/root-index.js.map +1 -0
- package/lib/markdown/toc.d.ts +8 -0
- package/lib/markdown/toc.js +68 -0
- package/lib/markdown/toc.js.map +1 -0
- package/lib/markdown/topic-commands.d.ts +8 -0
- package/lib/markdown/topic-commands.js +40 -0
- package/lib/markdown/topic-commands.js.map +1 -0
- package/lib/markdown/topic-index.d.ts +9 -0
- package/lib/markdown/topic-index.js +80 -0
- package/lib/markdown/topic-index.js.map +1 -0
- package/lib/utils.d.ts +1 -1
- package/messages/main.md +5 -1
- package/npm-shrinkwrap.json +1418 -234
- package/oclif.lock +365 -104
- package/oclif.manifest.json +14 -2
- package/package.json +18 -5
package/README.md
CHANGED
|
@@ -91,7 +91,7 @@ generate the command reference guide located
|
|
|
91
91
|
```
|
|
92
92
|
USAGE
|
|
93
93
|
$ sf commandreference generate [--json] [--flags-dir <value>] [-d <value>] [-p <value>... | -a] [-s <value>] [--hidden]
|
|
94
|
-
[--error-on-warnings] [-c <value>]
|
|
94
|
+
[--error-on-warnings] [-c <value>] [--output-format dita|markdown]
|
|
95
95
|
|
|
96
96
|
FLAGS
|
|
97
97
|
-a, --all include all relevant plugins in the generation
|
|
@@ -99,9 +99,12 @@ FLAGS
|
|
|
99
99
|
-d, --output-dir=<value> [default: ./tmp/root] output directory to put generated files
|
|
100
100
|
-p, --plugins=<value>... comma separated list of plugin names to be part of the generation. Defaults to the oclif
|
|
101
101
|
plugin in the current working directory
|
|
102
|
-
-s, --ditamap-suffix=<value> [default: unified] unique suffix to append to generated
|
|
102
|
+
-s, --ditamap-suffix=<value> [default: unified] unique suffix to append to generated DITA files
|
|
103
103
|
--error-on-warnings fail the command if there are any warnings
|
|
104
104
|
--hidden show hidden commands
|
|
105
|
+
--output-format=<option> [default: dita] output format for generated documentation; 'dita' (default) generates
|
|
106
|
+
DITA XML files, 'markdown' generates Markdown files
|
|
107
|
+
<options: dita|markdown>
|
|
105
108
|
|
|
106
109
|
GLOBAL FLAGS
|
|
107
110
|
--flags-dir=<value> Import flag values from a directory.
|
|
@@ -130,7 +133,7 @@ EXAMPLES
|
|
|
130
133
|
$ sf commandreference generate --all --config-path /path/to/plugin --output-dir ./docs
|
|
131
134
|
```
|
|
132
135
|
|
|
133
|
-
_See code: [src/commands/commandreference/generate.ts](https://github.com/salesforcecli/plugin-command-reference/blob/3.1.
|
|
136
|
+
_See code: [src/commands/commandreference/generate.ts](https://github.com/salesforcecli/plugin-command-reference/blob/3.1.108/src/commands/commandreference/generate.ts)_
|
|
134
137
|
|
|
135
138
|
## `sf jit install`
|
|
136
139
|
|
|
@@ -151,6 +154,6 @@ EXAMPLES
|
|
|
151
154
|
$ sf jit install
|
|
152
155
|
```
|
|
153
156
|
|
|
154
|
-
_See code: [src/commands/jit/install.ts](https://github.com/salesforcecli/plugin-command-reference/blob/3.1.
|
|
157
|
+
_See code: [src/commands/jit/install.ts](https://github.com/salesforcecli/plugin-command-reference/blob/3.1.108/src/commands/jit/install.ts)_
|
|
155
158
|
|
|
156
159
|
<!-- commandsstop -->
|
|
@@ -16,6 +16,7 @@ export default class CommandReferenceGenerate extends SfCommand<CommandReference
|
|
|
16
16
|
hidden: Interfaces.BooleanFlag<boolean>;
|
|
17
17
|
'error-on-warnings': Interfaces.BooleanFlag<boolean>;
|
|
18
18
|
'config-path': Interfaces.OptionFlag<string | undefined, Interfaces.CustomOptions>;
|
|
19
|
+
'output-format': Interfaces.OptionFlag<string, Interfaces.CustomOptions>;
|
|
19
20
|
};
|
|
20
21
|
private loadedConfig;
|
|
21
22
|
run(): Promise<CommandReferenceGenerateResults>;
|
|
@@ -65,6 +65,11 @@ export default class CommandReferenceGenerate extends SfCommand {
|
|
|
65
65
|
summary: messages.getMessage('flags.config-path.summary'),
|
|
66
66
|
char: 'c',
|
|
67
67
|
}),
|
|
68
|
+
'output-format': Flags.string({
|
|
69
|
+
summary: messages.getMessage('flags.output-format.summary'),
|
|
70
|
+
options: ['dita', 'markdown'],
|
|
71
|
+
default: 'dita',
|
|
72
|
+
}),
|
|
68
73
|
};
|
|
69
74
|
loadedConfig;
|
|
70
75
|
async run() {
|
|
@@ -127,9 +132,11 @@ export default class CommandReferenceGenerate extends SfCommand {
|
|
|
127
132
|
const commands = await this.loadCommands(plugins);
|
|
128
133
|
const topicMetadata = this.loadTopicMetadata(commands);
|
|
129
134
|
const cliMeta = this.loadCliMeta();
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
135
|
+
const outputFormat = flags['output-format'];
|
|
136
|
+
if (outputFormat !== 'dita' && outputFormat !== 'markdown') {
|
|
137
|
+
throw new SfError(`Invalid output format: ${outputFormat}. Must be 'dita' or 'markdown'.`);
|
|
138
|
+
}
|
|
139
|
+
const docs = new Docs(Ditamap.outputDir, outputFormat, flags.hidden, topicMetadata ?? new Map(), cliMeta);
|
|
133
140
|
events.on('topic', ({ topic }) => {
|
|
134
141
|
this.log(chalk.green(`Generating topic '${topic}'`));
|
|
135
142
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/commandreference/generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC/D,mEAAmE;AACnE,OAAO,EAAW,MAAM,EAAc,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAW,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAyB,MAAM,EAAqB,MAAM,gBAAgB,CAAC;AAElF,wDAAwD;AACxD,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;AAMvF,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,SAA0C;IACvF,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAChE,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACxE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE5D,MAAM,CAAU,KAAK,GAAG;QAC7B,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACzB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;YACxD,OAAO,EAAE,CAAC,WAAW,CAAC;YACtB,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE,YAAY;SACtB,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC;YACrD,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,CAAC,KAAK,CAAC;SACnB,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC;YACjD,SAAS,EAAE,CAAC,SAAS,CAAC;SACvB,CAAC;QACF,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7B,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,8BAA8B,CAAC;YAC5D,OAAO,EAAE,OAAO,CAAC,MAAM;SACxB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC/E,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC;YACjC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,iCAAiC,CAAC;YAC/D,OAAO,EAAE,CAAC,iBAAiB,CAAC;YAC5B,gBAAgB,EAAE,IAAI;SACvB,CAAC;QACF,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC;YAC7B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,2BAA2B,CAAC;YACzD,IAAI,EAAE,GAAG;SACV,CAAC;KACH,CAAC;IAEM,YAAY,CAAqB;IAElC,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAE7D,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEzC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAE1G,IAAI,WAAqB,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACjC,WAAW,GAAG,IAAI,CAAC,YAAY;iBAC5B,cAAc,EAAE;iBAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;iBAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG;gBACb,QAAQ;gBACR,kBAAkB;gBAClB,yBAAyB;gBACzB,+BAA+B;gBAC/B,uCAAuC;aACxC,CAAC;YACF,WAAW,GAAG,IAAI,CAAC,YAAY;iBAC5B,cAAc,EAAE;iBAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,OAAO,CACf,8GAA8G,CAC/G,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,WAAW;aACxB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,IAAI,UAAU,GAAG,IAAI,CAAC;YACtB,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAExC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,UAAU,GAAG,sBAAsB,UAAU,EAAE,CAAC;gBAChD,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACpC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,UAAU,8BAA8B,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,GAAG,CACN,0DAA0D,OAAO;aAC9D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,IAAI,EAAE,CAAC;aACrC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;QAEF,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QAExC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC7E,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC;YAChC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;YACrE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/commandreference/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Dictionary, Optional } from '@salesforce/ts-types';
|
|
2
|
+
import { CommandParameterData } from '../utils.js';
|
|
3
|
+
export type FlagInfo = {
|
|
4
|
+
hidden: boolean;
|
|
5
|
+
description: string;
|
|
6
|
+
summary: string;
|
|
7
|
+
required: boolean;
|
|
8
|
+
kind: string;
|
|
9
|
+
type: string;
|
|
10
|
+
defaultHelpValue?: string;
|
|
11
|
+
default: string | (() => Promise<string>);
|
|
12
|
+
aliases?: string[];
|
|
13
|
+
options?: string[];
|
|
14
|
+
char?: string;
|
|
15
|
+
deprecated?: {
|
|
16
|
+
version: string;
|
|
17
|
+
to: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export declare const getDefault: (flag: FlagInfo, flagName: string) => Promise<string>;
|
|
21
|
+
export declare const flagIsDefined: (input: [string, Optional<FlagInfo>]) => input is [string, FlagInfo];
|
|
22
|
+
export declare const buildDescription: (commandName: string) => (binary: string) => (flag: FlagInfo) => string[];
|
|
23
|
+
export declare const formatParagraphs: (textToFormat?: string) => string[];
|
|
24
|
+
export declare const readBinary: (commandMeta: Record<string, unknown>) => string;
|
|
25
|
+
export declare const buildCommandParameters: (commandName: string, binary: string, flags: Dictionary<FlagInfo>) => Promise<CommandParameterData[]>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026, Salesforce, Inc.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { replaceConfigVariables } from '../utils.js';
|
|
17
|
+
export const getDefault = async (flag, flagName) => {
|
|
18
|
+
if (!flag) {
|
|
19
|
+
return '';
|
|
20
|
+
}
|
|
21
|
+
if (flagName === 'target-org' || flagName === 'target-dev-hub') {
|
|
22
|
+
return '';
|
|
23
|
+
}
|
|
24
|
+
if (typeof flag.default === 'function') {
|
|
25
|
+
try {
|
|
26
|
+
const help = await flag.default();
|
|
27
|
+
return help.includes('[object Object]') ? '' : help ?? '';
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return '';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return flag.default;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
export const flagIsDefined = (input) => input[1] !== undefined;
|
|
38
|
+
export const buildDescription = (commandName) => (binary) => (flag) => {
|
|
39
|
+
const description = replaceConfigVariables(Array.isArray(flag?.description) ? flag?.description.join('\n') : flag?.description ?? '', binary, commandName);
|
|
40
|
+
return formatParagraphs(flag.summary ? `${replaceConfigVariables(flag.summary, binary, commandName)}\n${description}` : description);
|
|
41
|
+
};
|
|
42
|
+
export const formatParagraphs = (textToFormat) => textToFormat ? textToFormat.split('\n').filter((n) => n !== '') : [];
|
|
43
|
+
export const readBinary = (commandMeta) => 'binary' in commandMeta && typeof commandMeta.binary === 'string' ? commandMeta.binary : 'unknown';
|
|
44
|
+
export const buildCommandParameters = async (commandName, binary, flags) => {
|
|
45
|
+
const descriptionBuilder = buildDescription(commandName)(binary);
|
|
46
|
+
return Promise.all([...Object.entries(flags)]
|
|
47
|
+
.filter(flagIsDefined)
|
|
48
|
+
.filter(([, flag]) => !flag.hidden)
|
|
49
|
+
.map(async ([flagName, flag]) => ({
|
|
50
|
+
...flag,
|
|
51
|
+
name: flagName,
|
|
52
|
+
description: descriptionBuilder(flag),
|
|
53
|
+
optional: !flag.required,
|
|
54
|
+
kind: flag.kind ?? flag.type,
|
|
55
|
+
hasValue: flag.type !== 'boolean',
|
|
56
|
+
defaultFlagValue: await getDefault(flag, flagName),
|
|
57
|
+
})));
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=command-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-helpers.js","sourceRoot":"","sources":["../../src/ditamap/command-helpers.ts"],"names":[],"mappings":"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"}
|
package/lib/ditamap/command.d.ts
CHANGED
|
@@ -1,23 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CommandClass, CommandParameterData } from '../utils.js';
|
|
1
|
+
import { CommandClass } from '../utils.js';
|
|
3
2
|
import { Ditamap } from './ditamap.js';
|
|
4
|
-
type FlagInfo = {
|
|
5
|
-
hidden: boolean;
|
|
6
|
-
description: string;
|
|
7
|
-
summary: string;
|
|
8
|
-
required: boolean;
|
|
9
|
-
kind: string;
|
|
10
|
-
type: string;
|
|
11
|
-
defaultHelpValue?: string;
|
|
12
|
-
default: string | (() => Promise<string>);
|
|
13
|
-
};
|
|
14
3
|
export declare class Command extends Ditamap {
|
|
15
4
|
private flags;
|
|
16
5
|
private commandMeta;
|
|
17
6
|
private commandName;
|
|
18
7
|
constructor(topic: string, subtopic: string | null, command: CommandClass, commandMeta?: Record<string, unknown>);
|
|
19
|
-
getParametersForTemplate(flags: Dictionary<FlagInfo>): Promise<CommandParameterData[]>;
|
|
20
8
|
getTemplateFileName(): string;
|
|
21
9
|
protected transformToDitamap(): Promise<string>;
|
|
22
10
|
}
|
|
23
|
-
export {};
|
package/lib/ditamap/command.js
CHANGED
|
@@ -17,27 +17,7 @@ import { join } from 'node:path';
|
|
|
17
17
|
import { asString, ensureObject, ensureString } from '@salesforce/ts-types';
|
|
18
18
|
import { punctuate, replaceConfigVariables } from '../utils.js';
|
|
19
19
|
import { Ditamap } from './ditamap.js';
|
|
20
|
-
|
|
21
|
-
if (!flag) {
|
|
22
|
-
return '';
|
|
23
|
-
}
|
|
24
|
-
if (flagName === 'target-org' || flagName === 'target-dev-hub') {
|
|
25
|
-
// special handling to prevent global/local default usernames from appearing in the docs, but they do appear in user's help
|
|
26
|
-
return '';
|
|
27
|
-
}
|
|
28
|
-
if (typeof flag.default === 'function') {
|
|
29
|
-
try {
|
|
30
|
-
const help = await flag.default();
|
|
31
|
-
return help.includes('[object Object]') ? '' : help ?? '';
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
return '';
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
return flag.default;
|
|
39
|
-
}
|
|
40
|
-
};
|
|
20
|
+
import { buildCommandParameters, readBinary, formatParagraphs } from './command-helpers.js';
|
|
41
21
|
export class Command extends Ditamap {
|
|
42
22
|
flags;
|
|
43
23
|
commandMeta;
|
|
@@ -101,36 +81,14 @@ export class Command extends Ditamap {
|
|
|
101
81
|
this.data = Object.assign(command, commandData);
|
|
102
82
|
this.destination = join(Ditamap.outputDir, topic, filename);
|
|
103
83
|
}
|
|
104
|
-
async getParametersForTemplate(flags) {
|
|
105
|
-
const descriptionBuilder = buildDescription(this.commandName)(readBinary(this.commandMeta));
|
|
106
|
-
return Promise.all([...Object.entries(flags)]
|
|
107
|
-
.filter(flagIsDefined)
|
|
108
|
-
.filter(([, flag]) => !flag.hidden)
|
|
109
|
-
.map(async ([flagName, flag]) => ({
|
|
110
|
-
...flag,
|
|
111
|
-
name: flagName,
|
|
112
|
-
description: descriptionBuilder(flag),
|
|
113
|
-
optional: !flag.required,
|
|
114
|
-
kind: flag.kind ?? flag.type,
|
|
115
|
-
hasValue: flag.type !== 'boolean',
|
|
116
|
-
defaultFlagValue: await getDefault(flag, flagName),
|
|
117
|
-
})));
|
|
118
|
-
}
|
|
119
84
|
// eslint-disable-next-line class-methods-use-this
|
|
120
85
|
getTemplateFileName() {
|
|
121
86
|
return 'command.hbs';
|
|
122
87
|
}
|
|
123
88
|
async transformToDitamap() {
|
|
124
|
-
const parameters = await this.
|
|
89
|
+
const parameters = await buildCommandParameters(this.commandName, readBinary(this.commandMeta), this.flags);
|
|
125
90
|
this.data = Object.assign({}, this.data, { parameters });
|
|
126
91
|
return super.transformToDitamap();
|
|
127
92
|
}
|
|
128
93
|
}
|
|
129
|
-
const flagIsDefined = (input) => input[1] !== undefined;
|
|
130
|
-
const buildDescription = (commandName) => (binary) => (flag) => {
|
|
131
|
-
const description = replaceConfigVariables(Array.isArray(flag?.description) ? flag?.description.join('\n') : flag?.description ?? '', binary, commandName);
|
|
132
|
-
return formatParagraphs(flag.summary ? `${replaceConfigVariables(flag.summary, binary, commandName)}\n${description}` : description);
|
|
133
|
-
};
|
|
134
|
-
const formatParagraphs = (textToFormat) => textToFormat ? textToFormat.split('\n').filter((n) => n !== '') : [];
|
|
135
|
-
const readBinary = (commandMeta) => 'binary' in commandMeta && typeof commandMeta.binary === 'string' ? commandMeta.binary : 'unknown';
|
|
136
94
|
//# sourceMappingURL=command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/ditamap/command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAc,YAAY,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/ditamap/command.ts"],"names":[],"mappings":"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"}
|
package/lib/docs.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { AnyJson } from '@salesforce/ts-types';
|
|
2
2
|
import { CliMeta, SfTopics, CommandClass } from './utils.js';
|
|
3
|
+
import { OutputFormat } from './generator-factory.js';
|
|
3
4
|
export declare class Docs {
|
|
4
5
|
private outputDir;
|
|
5
6
|
private hidden;
|
|
6
7
|
private topicMeta;
|
|
7
8
|
private cliMeta;
|
|
8
|
-
|
|
9
|
+
private factory;
|
|
10
|
+
constructor(outputDir: string, outputFormat: OutputFormat, hidden: boolean, topicMeta: SfTopics, cliMeta: CliMeta);
|
|
9
11
|
build(commands: CommandClass[]): Promise<void>;
|
|
10
12
|
populateTopic(topic: string, subtopics: Map<string, CommandClass[]>): Promise<AnyJson[]>;
|
|
11
13
|
/**
|
package/lib/docs.js
CHANGED
|
@@ -16,13 +16,8 @@
|
|
|
16
16
|
import fs from 'node:fs/promises';
|
|
17
17
|
import { ensureString } from '@salesforce/ts-types';
|
|
18
18
|
import chalk from 'chalk';
|
|
19
|
-
import { BaseDitamap } from './ditamap/base-ditamap.js';
|
|
20
|
-
import { CLIReference } from './ditamap/cli-reference.js';
|
|
21
|
-
import { Command } from './ditamap/command.js';
|
|
22
|
-
import { TopicCommands } from './ditamap/topic-commands.js';
|
|
23
|
-
import { TopicDitamap } from './ditamap/topic-ditamap.js';
|
|
24
19
|
import { events, punctuate } from './utils.js';
|
|
25
|
-
import {
|
|
20
|
+
import { DitaGeneratorFactory, MarkdownGeneratorFactory, } from './generator-factory.js';
|
|
26
21
|
function emitNoTopicMetadataWarning(topic) {
|
|
27
22
|
events.emit('warning', `No metadata for topic ${chalk.bold(topic)}. That topic owner must add topic metadata in the oclif section in the package.json file within their plugin.`);
|
|
28
23
|
}
|
|
@@ -31,11 +26,13 @@ export class Docs {
|
|
|
31
26
|
hidden;
|
|
32
27
|
topicMeta;
|
|
33
28
|
cliMeta;
|
|
34
|
-
|
|
29
|
+
factory;
|
|
30
|
+
constructor(outputDir, outputFormat, hidden, topicMeta, cliMeta) {
|
|
35
31
|
this.outputDir = outputDir;
|
|
36
32
|
this.hidden = hidden;
|
|
37
33
|
this.topicMeta = topicMeta;
|
|
38
34
|
this.cliMeta = cliMeta;
|
|
35
|
+
this.factory = outputFormat === 'markdown' ? new MarkdownGeneratorFactory(outputDir) : new DitaGeneratorFactory();
|
|
39
36
|
}
|
|
40
37
|
async build(commands) {
|
|
41
38
|
// Create if doesn't exist
|
|
@@ -57,14 +54,9 @@ export class Docs {
|
|
|
57
54
|
}
|
|
58
55
|
}
|
|
59
56
|
const subTopicNames = [];
|
|
60
|
-
const
|
|
57
|
+
const commands = [];
|
|
61
58
|
for (const [subtopic, classes] of subtopics.entries()) {
|
|
62
59
|
try {
|
|
63
|
-
// const subTopicsMeta = topicMeta.subtopics;
|
|
64
|
-
// if (!subTopicsMeta?.get(subtopic)) {
|
|
65
|
-
// emitNoTopicMetadataWarning(`${topic}:${subtopic}`);
|
|
66
|
-
// continue;
|
|
67
|
-
// }
|
|
68
60
|
subTopicNames.push(subtopic);
|
|
69
61
|
// Commands within the sub topic
|
|
70
62
|
for (const command of classes) {
|
|
@@ -73,7 +65,7 @@ export class Docs {
|
|
|
73
65
|
const commandMeta = this.resolveCommandMeta(ensureString(command.id), command, commandsInFullTopic.length);
|
|
74
66
|
// eslint-disable-next-line no-await-in-loop
|
|
75
67
|
await this.populateCommand(topic, subtopic, command, commandMeta);
|
|
76
|
-
|
|
68
|
+
commands.push(command);
|
|
77
69
|
}
|
|
78
70
|
}
|
|
79
71
|
catch (error) {
|
|
@@ -88,8 +80,10 @@ export class Docs {
|
|
|
88
80
|
}
|
|
89
81
|
// The topic ditamap with all of the subtopic links.
|
|
90
82
|
events.emit('subtopics', topic, subTopicNames);
|
|
91
|
-
|
|
92
|
-
|
|
83
|
+
const topicCommands = this.factory.createTopicCommands(topic, topicMeta);
|
|
84
|
+
if (topicCommands)
|
|
85
|
+
await topicCommands.write();
|
|
86
|
+
await this.factory.createTopicIndex(topic, commands, topicMeta).write();
|
|
93
87
|
return subTopicNames;
|
|
94
88
|
}
|
|
95
89
|
/**
|
|
@@ -100,7 +94,6 @@ export class Docs {
|
|
|
100
94
|
* @returns The commands grouped by topics/subtopic/commands.
|
|
101
95
|
*/
|
|
102
96
|
groupTopicsAndSubtopics(commands) {
|
|
103
|
-
// const topLevelTopics: Dictionary<Dictionary<CommandClass | CommandClass[]>> = {};
|
|
104
97
|
const topLevelTopics = new Map();
|
|
105
98
|
for (const command of commands) {
|
|
106
99
|
if (command.hidden && !this.hidden) {
|
|
@@ -110,16 +103,13 @@ export class Docs {
|
|
|
110
103
|
const topLevelTopic = commandParts[0];
|
|
111
104
|
const plugin = command.plugin;
|
|
112
105
|
if (plugin) {
|
|
113
|
-
// Also include the namespace on the commands so we don't need to do the split at other times in the code.
|
|
114
106
|
command.topic = topLevelTopic;
|
|
115
107
|
const existingTopicsForTopLevel = topLevelTopics.get(topLevelTopic) ?? new Map();
|
|
116
108
|
if (commandParts.length === 1) {
|
|
117
|
-
// This is a top-level topic that is also a command
|
|
118
109
|
const existingTarget = existingTopicsForTopLevel.get(commandParts[0]) ?? [];
|
|
119
110
|
existingTopicsForTopLevel.set(commandParts[0], [...existingTarget, command]);
|
|
120
111
|
}
|
|
121
112
|
else if (commandParts.length === 2) {
|
|
122
|
-
// This is a command directly under the top-level topic
|
|
123
113
|
const existingTarget = existingTopicsForTopLevel.get(commandParts[1]) ?? [];
|
|
124
114
|
existingTopicsForTopLevel.set(commandParts[1], [...existingTarget, command]);
|
|
125
115
|
}
|
|
@@ -146,15 +136,27 @@ export class Docs {
|
|
|
146
136
|
}
|
|
147
137
|
async populateTemplate(commands) {
|
|
148
138
|
const topicsAndSubtopics = this.groupTopicsAndSubtopics(commands);
|
|
149
|
-
await
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
139
|
+
await this.factory.createCliReference(Array.from(topicsAndSubtopics.keys())).write();
|
|
140
|
+
const helpReference = this.factory.createHelpReference();
|
|
141
|
+
if (helpReference)
|
|
142
|
+
await helpReference.write();
|
|
143
|
+
const rootIndex = this.factory.createRootIndex(Array.from(topicsAndSubtopics.keys()));
|
|
144
|
+
if (rootIndex)
|
|
145
|
+
await rootIndex.write();
|
|
146
|
+
const tocEntries = [];
|
|
153
147
|
for (const [topic, subtopics] of topicsAndSubtopics.entries()) {
|
|
154
148
|
events.emit('topic', { topic });
|
|
155
149
|
// eslint-disable-next-line no-await-in-loop
|
|
156
150
|
await this.populateTopic(topic, subtopics);
|
|
151
|
+
const commandIds = [...subtopics.values()]
|
|
152
|
+
.flat()
|
|
153
|
+
.filter((cmd) => !cmd.hidden || this.hidden)
|
|
154
|
+
.map((cmd) => ({ id: ensureString(cmd.id), state: cmd.state, deprecated: cmd.deprecated ?? false }));
|
|
155
|
+
tocEntries.push({ topic, commandIds });
|
|
157
156
|
}
|
|
157
|
+
const toc = this.factory.createToc(tocEntries);
|
|
158
|
+
if (toc)
|
|
159
|
+
await toc.write();
|
|
158
160
|
}
|
|
159
161
|
resolveCommandMeta(commandId, command, commandsInTopic) {
|
|
160
162
|
const commandMeta = Object.assign({}, this.cliMeta);
|
|
@@ -196,9 +198,9 @@ export class Docs {
|
|
|
196
198
|
if (command.hidden && !this.hidden) {
|
|
197
199
|
return '';
|
|
198
200
|
}
|
|
199
|
-
const
|
|
200
|
-
await
|
|
201
|
-
return
|
|
201
|
+
const commandGenerator = this.factory.createCommand(topic, subtopic, command, commandMeta);
|
|
202
|
+
await commandGenerator.write();
|
|
203
|
+
return commandGenerator.getFilename();
|
|
202
204
|
}
|
|
203
205
|
}
|
|
204
206
|
//# sourceMappingURL=docs.js.map
|
package/lib/docs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAW,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { CommandClass, SfTopic } from './utils.js';
|
|
2
|
+
export type OutputFormat = 'dita' | 'markdown';
|
|
3
|
+
type Writable = {
|
|
4
|
+
write(): Promise<void>;
|
|
5
|
+
};
|
|
6
|
+
type WritableWithFilename = Writable & {
|
|
7
|
+
getFilename(): string;
|
|
8
|
+
};
|
|
9
|
+
export type TocTopicEntry = {
|
|
10
|
+
topic: string;
|
|
11
|
+
commandIds: Array<{
|
|
12
|
+
id: string;
|
|
13
|
+
state?: string;
|
|
14
|
+
deprecated?: boolean;
|
|
15
|
+
}>;
|
|
16
|
+
};
|
|
17
|
+
export type GeneratorFactory = {
|
|
18
|
+
createCliReference(topics: string[]): Writable;
|
|
19
|
+
createHelpReference(): Writable | null;
|
|
20
|
+
createRootIndex(topics: string[]): Writable | null;
|
|
21
|
+
createToc(topicEntries: TocTopicEntry[]): Writable | null;
|
|
22
|
+
createTopicCommands(topic: string, topicMeta: SfTopic): Writable | null;
|
|
23
|
+
createTopicIndex(topic: string, commands: CommandClass[], topicMeta: SfTopic): Writable;
|
|
24
|
+
createCommand(topic: string, subtopic: string | null, command: CommandClass, commandMeta: Record<string, unknown>): WritableWithFilename;
|
|
25
|
+
};
|
|
26
|
+
export declare class DitaGeneratorFactory implements GeneratorFactory {
|
|
27
|
+
createCliReference(_topics: string[]): Writable;
|
|
28
|
+
createHelpReference(): Writable;
|
|
29
|
+
createRootIndex(topics: string[]): Writable;
|
|
30
|
+
createToc(_topicEntries: TocTopicEntry[]): null;
|
|
31
|
+
createTopicCommands(topic: string, topicMeta: SfTopic): Writable;
|
|
32
|
+
createTopicIndex(topic: string, commands: CommandClass[], _topicMeta: SfTopic): Writable;
|
|
33
|
+
createCommand(topic: string, subtopic: string | null, command: CommandClass, commandMeta: Record<string, unknown>): WritableWithFilename;
|
|
34
|
+
}
|
|
35
|
+
export declare class MarkdownGeneratorFactory implements GeneratorFactory {
|
|
36
|
+
private outputDir;
|
|
37
|
+
constructor(outputDir: string);
|
|
38
|
+
createCliReference(_topics: string[]): Writable;
|
|
39
|
+
createHelpReference(): null;
|
|
40
|
+
createRootIndex(_topics: string[]): null;
|
|
41
|
+
createToc(topicEntries: TocTopicEntry[]): Writable;
|
|
42
|
+
createTopicCommands(_topic: string, _topicMeta: SfTopic): null;
|
|
43
|
+
createTopicIndex(topic: string, commands: CommandClass[], topicMeta: SfTopic): Writable;
|
|
44
|
+
createCommand(topic: string, subtopic: string | null, command: CommandClass, commandMeta: Record<string, unknown>): WritableWithFilename;
|
|
45
|
+
}
|
|
46
|
+
export {};
|