@iviva/react-tsdoc 0.1.2 → 0.1.4
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/.github/workflows/npm-publish.yml +10 -2
- package/dist/index.js +53 -5
- package/dist/index.js.map +1 -1
- package/package-lock.json +1 -1
- package/package.json +1 -1
- package/src/index.ts +270 -216
|
@@ -19,11 +19,19 @@ jobs:
|
|
|
19
19
|
- name: Build
|
|
20
20
|
run: npm run build
|
|
21
21
|
- name: Publish if version has been updated
|
|
22
|
-
uses: pascalgn/npm-publish-action@
|
|
22
|
+
uses: pascalgn/npm-publish-action@1.3.9
|
|
23
23
|
with: # All of theses inputs are optional
|
|
24
24
|
tag_name: "v%s"
|
|
25
25
|
tag_message: "v%s"
|
|
26
26
|
commit_pattern: "^Release (\\S+)"
|
|
27
|
+
workspace: "."
|
|
27
28
|
env: # More info about the environment variables in the README
|
|
28
29
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Leave this as is, it's automatically generated
|
|
29
|
-
NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} # You need to set this in your repo settings
|
|
30
|
+
NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} # You need to set this in your repo settings
|
|
31
|
+
- name: Report Status
|
|
32
|
+
if: always()
|
|
33
|
+
uses: ravsamhq/notify-slack-action@v1
|
|
34
|
+
with:
|
|
35
|
+
status: ${{ job.status }}
|
|
36
|
+
env:
|
|
37
|
+
SLACK_WEBHOOK_URL: ${{ secrets.ACTION_MONITORING_SLACK }}
|
package/dist/index.js
CHANGED
|
@@ -157,13 +157,38 @@ function generateHookTypeDefinition(hook) {
|
|
|
157
157
|
}
|
|
158
158
|
function generateComponentTypeDefinition(c, interfaces) {
|
|
159
159
|
let code = "";
|
|
160
|
+
let type = c.type || 'functional';
|
|
160
161
|
let inf = interfaces[c.propType];
|
|
161
162
|
if (inf) {
|
|
162
163
|
code += inf.comment + '\n';
|
|
163
164
|
code += inf.code + '\n';
|
|
164
165
|
}
|
|
166
|
+
if (c.stateType) {
|
|
167
|
+
let stateInf = interfaces[c.stateType];
|
|
168
|
+
if (stateInf) {
|
|
169
|
+
code += stateInf.comment + '\n';
|
|
170
|
+
code += stateInf.code + '\n';
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
if (c.refType) {
|
|
174
|
+
let refInf = interfaces[c.refType];
|
|
175
|
+
if (refInf) {
|
|
176
|
+
code += refInf.comment + '\n';
|
|
177
|
+
code += refInf.code + '\n';
|
|
178
|
+
}
|
|
179
|
+
}
|
|
165
180
|
code += c.comment + '\n';
|
|
166
|
-
|
|
181
|
+
switch (type) {
|
|
182
|
+
case 'functional':
|
|
183
|
+
code += `export const ${c.name} : React.FunctionComponent<${c.propType}>;\n`;
|
|
184
|
+
break;
|
|
185
|
+
case 'class':
|
|
186
|
+
code += `export class ${c.name} extends React.Component<${c.propType}, ${c.stateType || 'any'}> {}\n`;
|
|
187
|
+
break;
|
|
188
|
+
case 'forwardRef':
|
|
189
|
+
code += `export const ${c.name}:React.ForwardRefExoticComponent<${c.propType} & React.RefAttributes<${c.refType || 'any'}>>;\n`;
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
167
192
|
return code;
|
|
168
193
|
}
|
|
169
194
|
function fillRelatedTypes(t, types, docInfo) {
|
|
@@ -285,7 +310,28 @@ function parseVariableDeclaration(node, docInfo) {
|
|
|
285
310
|
if (type == 'React.FunctionComponent') {
|
|
286
311
|
let propType = node.type.typeArguments[0].getText();
|
|
287
312
|
let comment = extractComment(node.parent);
|
|
288
|
-
docInfo.components[name] = { comment, propType, name };
|
|
313
|
+
docInfo.components[name] = { comment, propType, name, type: 'functional' };
|
|
314
|
+
return;
|
|
315
|
+
}
|
|
316
|
+
if (type == 'React.ForwardRefExoticComponent') {
|
|
317
|
+
let cType = node.type.typeArguments[0].getText();
|
|
318
|
+
// get prop type and ref type
|
|
319
|
+
// assume
|
|
320
|
+
// - props defined as following format <PropType & RefType>
|
|
321
|
+
// - RefType always starts with `React.RefAttributes`
|
|
322
|
+
let parts = cType.split("&", 2).map(p => p.trim());
|
|
323
|
+
let propType = parts[0];
|
|
324
|
+
let refType = parts[1];
|
|
325
|
+
if (parts[0].startsWith('React.RefAttributes')) {
|
|
326
|
+
propType = parts[1];
|
|
327
|
+
refType = parts[0];
|
|
328
|
+
}
|
|
329
|
+
refType = refType
|
|
330
|
+
.replace('React.RefAttributes<', '')
|
|
331
|
+
.replace(">", '')
|
|
332
|
+
.trim();
|
|
333
|
+
let comment = extractComment(node.parent);
|
|
334
|
+
docInfo.components[name] = { comment, propType, refType, name, type: 'forwardRef' };
|
|
289
335
|
return;
|
|
290
336
|
}
|
|
291
337
|
if (name.startsWith('use')) {
|
|
@@ -297,11 +343,12 @@ function parseVariableDeclaration(node, docInfo) {
|
|
|
297
343
|
function parseClassDeclaration(node, docInfo) {
|
|
298
344
|
var _a, _b;
|
|
299
345
|
let className = (_b = (_a = node) === null || _a === void 0 ? void 0 : _a.heritageClauses[0]) === null || _b === void 0 ? void 0 : _b.types[0].expression.getText();
|
|
300
|
-
if (className
|
|
346
|
+
if (className == 'React.Component') {
|
|
301
347
|
let propType = node.heritageClauses[0].types[0].typeArguments[0].getText();
|
|
348
|
+
let stateType = node.heritageClauses[0].types[0].typeArguments[1].getText();
|
|
302
349
|
let comment = extractComment(node);
|
|
303
350
|
let name = node.name.getText();
|
|
304
|
-
docInfo.components[name] = { comment, propType, name };
|
|
351
|
+
docInfo.components[name] = { comment, propType, name, stateType, type: 'class' };
|
|
305
352
|
}
|
|
306
353
|
}
|
|
307
354
|
function parseTypeAlias(node, docInfo) {
|
|
@@ -348,10 +395,11 @@ function walkTree(node, docInfo) {
|
|
|
348
395
|
parseClassDeclaration(node, docInfo);
|
|
349
396
|
break;
|
|
350
397
|
case ts.SyntaxKind.FunctionDeclaration:
|
|
398
|
+
case 242:
|
|
351
399
|
parseVariableDeclaration(node, docInfo);
|
|
352
400
|
break;
|
|
353
401
|
}
|
|
354
|
-
node.forEachChild(child => walkTree(child, docInfo));
|
|
402
|
+
node.forEachChild((child) => walkTree(child, docInfo));
|
|
355
403
|
}
|
|
356
404
|
function validateProgram(program) {
|
|
357
405
|
const compilerDiagnostics = program.getSemanticDiagnostics();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package-lock.json
CHANGED
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -12,63 +12,63 @@ enum ComponentFlags {
|
|
|
12
12
|
Hook = 1 << 1,
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
function logCompilerMessage(message:string) {
|
|
15
|
+
function logCompilerMessage(message: string) {
|
|
16
16
|
console.error(chalk.gray(`[TypeScript] ${message}`));
|
|
17
17
|
}
|
|
18
|
-
function logDebug(...objects:any[]) {
|
|
18
|
+
function logDebug(...objects: any[]) {
|
|
19
19
|
console.log(chalk.gray(...objects));
|
|
20
20
|
}
|
|
21
|
-
function logInfo(...objects:any[]) {
|
|
21
|
+
function logInfo(...objects: any[]) {
|
|
22
22
|
console.log(chalk.green(...objects));
|
|
23
23
|
}
|
|
24
|
-
function logWarning(...objects:any[]) {
|
|
24
|
+
function logWarning(...objects: any[]) {
|
|
25
25
|
console.log(chalk.redBright(...objects));
|
|
26
26
|
}
|
|
27
|
-
function logError(...objects:any[]) {
|
|
27
|
+
function logError(...objects: any[]) {
|
|
28
28
|
console.log(chalk.redBright(...objects));
|
|
29
29
|
}
|
|
30
|
-
function indentCode(code:string,chars:string) {
|
|
30
|
+
function indentCode(code: string, chars: string) {
|
|
31
31
|
let lines = code.split('\n').map(line => line.trimRight());
|
|
32
32
|
return lines.map(line => chars + line).join('\n');
|
|
33
33
|
}
|
|
34
34
|
class MarkdownBuilder {
|
|
35
35
|
private code = "";
|
|
36
|
-
public addTitle(title:string,level:1|2|3|4) {
|
|
36
|
+
public addTitle(title: string, level: 1 | 2 | 3 | 4) {
|
|
37
37
|
let headerChar = '#';
|
|
38
38
|
let prefix = '';
|
|
39
|
-
for(let i=0;i<level;i++) {
|
|
39
|
+
for (let i = 0; i < level; i++) {
|
|
40
40
|
prefix += headerChar;
|
|
41
41
|
}
|
|
42
|
-
this.code += prefix +' ' + title+'\n\n';
|
|
42
|
+
this.code += prefix + ' ' + title + '\n\n';
|
|
43
43
|
}
|
|
44
|
-
public addParagraph(p:string) {
|
|
45
|
-
|
|
44
|
+
public addParagraph(p: string) {
|
|
45
|
+
|
|
46
46
|
this.code += '\n\n' + p + '\n\n';
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
public addCode(code:string) {
|
|
49
|
+
public addCode(code: string) {
|
|
50
50
|
code = code.trim();
|
|
51
51
|
if (code.startsWith('```')) {
|
|
52
52
|
code = code.substring(3);
|
|
53
53
|
}
|
|
54
54
|
if (code.endsWith('```')) {
|
|
55
|
-
code = code.substring(0,code.length-3);
|
|
55
|
+
code = code.substring(0, code.length - 3);
|
|
56
56
|
}
|
|
57
57
|
this.code += '\n\n```tsx\n' + code.trim() + '\n```\n\n'
|
|
58
58
|
}
|
|
59
|
-
public addTable(table:any[]) {
|
|
60
|
-
const tableFormat = (s:string) => {
|
|
61
|
-
return s.replace(/\s+/g,' ').replace(/\|/g,'\\|');
|
|
59
|
+
public addTable(table: any[]) {
|
|
60
|
+
const tableFormat = (s: string) => {
|
|
61
|
+
return s.replace(/\s+/g, ' ').replace(/\|/g, '\\|');
|
|
62
62
|
}
|
|
63
|
-
if (table.length==0) return;
|
|
63
|
+
if (table.length == 0) return;
|
|
64
64
|
let headers = Object.keys(table[0]);
|
|
65
65
|
this.code += '|' + (headers.map(tableFormat)).join('|') + '|\n';
|
|
66
|
-
this.code += '|' + (headers.map(h=>'-')).join('|')+'|\n';
|
|
67
|
-
for(let i in table) {
|
|
66
|
+
this.code += '|' + (headers.map(h => '-')).join('|') + '|\n';
|
|
67
|
+
for (let i in table) {
|
|
68
68
|
let row = table[i];
|
|
69
69
|
this.code += '|' + (headers.map(h => tableFormat(row[h]))).join('|') + '|\n';
|
|
70
70
|
}
|
|
71
|
-
|
|
71
|
+
|
|
72
72
|
}
|
|
73
73
|
public toString() {
|
|
74
74
|
return this.code;
|
|
@@ -79,7 +79,7 @@ interface IExportModuleOptions {
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
interface ITypeDefinition {
|
|
82
|
-
comment:string;
|
|
82
|
+
comment: string;
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
interface IFunctionParam {
|
|
@@ -87,12 +87,12 @@ interface IFunctionParam {
|
|
|
87
87
|
type: string;
|
|
88
88
|
}
|
|
89
89
|
interface IFunctionSignature extends ITypeDefinition {
|
|
90
|
-
parameters:IFunctionParam[];
|
|
91
|
-
return:string;
|
|
90
|
+
parameters: IFunctionParam[];
|
|
91
|
+
return: string;
|
|
92
92
|
code: string;
|
|
93
93
|
}
|
|
94
|
-
interface IUnion extends ITypeDefinition{
|
|
95
|
-
items:string[];
|
|
94
|
+
interface IUnion extends ITypeDefinition {
|
|
95
|
+
items: string[];
|
|
96
96
|
code: string;
|
|
97
97
|
}
|
|
98
98
|
interface IInterfaceMember {
|
|
@@ -109,7 +109,10 @@ interface IInterfaceDeclaration extends ITypeDefinition {
|
|
|
109
109
|
interface IReactComponent {
|
|
110
110
|
name: string;
|
|
111
111
|
propType: string;
|
|
112
|
+
stateType?: string
|
|
113
|
+
refType?: string
|
|
112
114
|
comment: string;
|
|
115
|
+
type?: 'class' | 'functional' | 'forwardRef'
|
|
113
116
|
}
|
|
114
117
|
interface IReactHookParam {
|
|
115
118
|
name: string;
|
|
@@ -117,37 +120,37 @@ interface IReactHookParam {
|
|
|
117
120
|
}
|
|
118
121
|
interface IReactHook {
|
|
119
122
|
name: string;
|
|
120
|
-
type:string;
|
|
121
|
-
parameters:IReactHookParam[];
|
|
122
|
-
comment:string;
|
|
123
|
+
type: string;
|
|
124
|
+
parameters: IReactHookParam[];
|
|
125
|
+
comment: string;
|
|
123
126
|
}
|
|
124
127
|
interface IDocInfo {
|
|
125
128
|
interfaces: { [key: string]: IInterfaceDeclaration };
|
|
126
129
|
components: { [key: string]: IReactComponent };
|
|
127
130
|
hooks: { [key: string]: IReactHook };
|
|
128
|
-
functions:{[key:string]:IFunctionSignature};
|
|
129
|
-
unions:{[key:string]:IUnion};
|
|
131
|
+
functions: { [key: string]: IFunctionSignature };
|
|
132
|
+
unions: { [key: string]: IUnion };
|
|
130
133
|
|
|
131
134
|
}
|
|
132
135
|
interface IExample {
|
|
133
136
|
summary: string;
|
|
134
|
-
|
|
137
|
+
|
|
135
138
|
}
|
|
136
139
|
interface ITypeDocumentation {
|
|
137
140
|
name: string;
|
|
138
|
-
type: 'interface' | 'function' |'union';
|
|
141
|
+
type: 'interface' | 'function' | 'union';
|
|
139
142
|
summary: string;
|
|
140
|
-
examples:IExample[];
|
|
141
|
-
code:string;
|
|
142
|
-
flags:ComponentFlags;
|
|
143
|
+
examples: IExample[];
|
|
144
|
+
code: string;
|
|
145
|
+
flags: ComponentFlags;
|
|
143
146
|
|
|
144
147
|
}
|
|
145
148
|
|
|
146
149
|
interface IHookDocumentation {
|
|
147
150
|
name: string;
|
|
148
151
|
summary: string;
|
|
149
|
-
examples:IExample[];
|
|
150
|
-
flags:ComponentFlags;
|
|
152
|
+
examples: IExample[];
|
|
153
|
+
flags: ComponentFlags;
|
|
151
154
|
}
|
|
152
155
|
interface IComponentDocumentation {
|
|
153
156
|
/**
|
|
@@ -173,13 +176,13 @@ interface IComponentDocumentation {
|
|
|
173
176
|
/**
|
|
174
177
|
* Any custom @-attribute flags set on the component
|
|
175
178
|
*/
|
|
176
|
-
flags:ComponentFlags;
|
|
179
|
+
flags: ComponentFlags;
|
|
177
180
|
|
|
178
181
|
}
|
|
179
182
|
interface IDocObject {
|
|
180
|
-
components:IComponentDocumentation[];
|
|
181
|
-
hooks:IHookDocumentation[];
|
|
182
|
-
types:ITypeDocumentation[];
|
|
183
|
+
components: IComponentDocumentation[];
|
|
184
|
+
hooks: IHookDocumentation[];
|
|
185
|
+
types: ITypeDocumentation[];
|
|
183
186
|
}
|
|
184
187
|
|
|
185
188
|
/**
|
|
@@ -191,7 +194,7 @@ interface IComponentPropDocumentation {
|
|
|
191
194
|
summary: string;
|
|
192
195
|
examples: IExample[];
|
|
193
196
|
}
|
|
194
|
-
function extractActualContentFromDocMess(node:tsdoc.DocNode):string {
|
|
197
|
+
function extractActualContentFromDocMess(node: tsdoc.DocNode): string {
|
|
195
198
|
if (!node) {
|
|
196
199
|
return "";
|
|
197
200
|
}
|
|
@@ -199,85 +202,112 @@ function extractActualContentFromDocMess(node:tsdoc.DocNode):string {
|
|
|
199
202
|
if (node instanceof tsdoc.DocExcerpt) {
|
|
200
203
|
result += node.content.toString();
|
|
201
204
|
}
|
|
202
|
-
for(const childNode of node.getChildNodes()) {
|
|
205
|
+
for (const childNode of node.getChildNodes()) {
|
|
203
206
|
result += extractActualContentFromDocMess(childNode);
|
|
204
207
|
}
|
|
205
208
|
return result;
|
|
206
209
|
}
|
|
207
|
-
function parseTSDocComment(comment: string): [string, IExample[],ComponentFlags] {
|
|
210
|
+
function parseTSDocComment(comment: string): [string, IExample[], ComponentFlags] {
|
|
208
211
|
let config = new tsdoc.TSDocConfiguration();
|
|
209
212
|
|
|
210
213
|
config.addTagDefinition(
|
|
211
214
|
new tsdoc.TSDocTagDefinition({
|
|
212
|
-
tagName:'@export',
|
|
213
|
-
syntaxKind:tsdoc.TSDocTagSyntaxKind.ModifierTag,
|
|
214
|
-
allowMultiple:false
|
|
215
|
-
}
|
|
215
|
+
tagName: '@export',
|
|
216
|
+
syntaxKind: tsdoc.TSDocTagSyntaxKind.ModifierTag,
|
|
217
|
+
allowMultiple: false
|
|
218
|
+
})
|
|
216
219
|
);
|
|
217
220
|
|
|
218
221
|
config.addTagDefinition(
|
|
219
222
|
new tsdoc.TSDocTagDefinition({
|
|
220
|
-
tagName:'@hook',
|
|
221
|
-
syntaxKind:tsdoc.TSDocTagSyntaxKind.ModifierTag,
|
|
222
|
-
allowMultiple:false
|
|
223
|
-
}
|
|
223
|
+
tagName: '@hook',
|
|
224
|
+
syntaxKind: tsdoc.TSDocTagSyntaxKind.ModifierTag,
|
|
225
|
+
allowMultiple: false
|
|
226
|
+
})
|
|
224
227
|
);
|
|
225
228
|
|
|
226
229
|
let parser = new tsdoc.TSDocParser(config);
|
|
227
230
|
|
|
228
231
|
let ctx = parser.parseString(comment);
|
|
229
232
|
let summary = extractActualContentFromDocMess(ctx.docComment.summarySection);
|
|
230
|
-
let examples:IExample[] = [];
|
|
231
|
-
let props:ComponentFlags = ComponentFlags.None;
|
|
232
|
-
for(const block of ctx.docComment.customBlocks) {
|
|
233
|
+
let examples: IExample[] = [];
|
|
234
|
+
let props: ComponentFlags = ComponentFlags.None;
|
|
235
|
+
for (const block of ctx.docComment.customBlocks) {
|
|
233
236
|
if (block.blockTag.tagName == '@example') {
|
|
234
|
-
let example = {summary:extractActualContentFromDocMess(block.content)};
|
|
237
|
+
let example = { summary: extractActualContentFromDocMess(block.content) };
|
|
235
238
|
examples.push(example);
|
|
236
239
|
|
|
237
240
|
}
|
|
238
241
|
}
|
|
239
|
-
let flags:ComponentFlags =
|
|
242
|
+
let flags: ComponentFlags = ComponentFlags.None;
|
|
240
243
|
|
|
241
244
|
if (ctx.docComment.modifierTagSet.hasTagName('@export')) {
|
|
242
245
|
flags = flags | ComponentFlags.Export;
|
|
243
|
-
}
|
|
246
|
+
}
|
|
244
247
|
|
|
245
248
|
if (ctx.docComment.modifierTagSet.hasTagName('@hook')) {
|
|
246
249
|
flags = flags | ComponentFlags.Hook;
|
|
247
250
|
}
|
|
248
251
|
|
|
249
|
-
return [summary,examples,flags];
|
|
252
|
+
return [summary, examples, flags];
|
|
250
253
|
}
|
|
251
254
|
function generatePropDocs(inf: IInterfaceDeclaration) {
|
|
252
255
|
let results: IComponentPropDocumentation[] = [];
|
|
253
256
|
for (let i in inf.members) {
|
|
254
257
|
let prop = inf.members[i];
|
|
255
258
|
let propDoc: IComponentPropDocumentation = { examples: [], name: prop.name, summary: '', type: prop.type };
|
|
256
|
-
[propDoc.summary,propDoc.examples] = parseTSDocComment(prop.comment);
|
|
259
|
+
[propDoc.summary, propDoc.examples] = parseTSDocComment(prop.comment);
|
|
257
260
|
results.push(propDoc);
|
|
258
261
|
}
|
|
259
262
|
return results;
|
|
260
263
|
}
|
|
261
|
-
function generateHookTypeDefinition(hook:IReactHook) {
|
|
264
|
+
function generateHookTypeDefinition(hook: IReactHook) {
|
|
262
265
|
return `export const ${hook.name}:${hook.type};`;
|
|
263
266
|
}
|
|
264
|
-
function generateComponentTypeDefinition(c:IReactComponent,interfaces:{[key:string]:IInterfaceDeclaration}) {
|
|
267
|
+
function generateComponentTypeDefinition(c: IReactComponent, interfaces: { [key: string]: IInterfaceDeclaration }) {
|
|
265
268
|
let code = "";
|
|
269
|
+
let type = c.type || 'functional'
|
|
266
270
|
let inf = interfaces[c.propType];
|
|
267
271
|
if (inf) {
|
|
268
272
|
code += inf.comment + '\n';
|
|
269
273
|
code += inf.code + '\n';
|
|
270
274
|
}
|
|
275
|
+
if (c.stateType) {
|
|
276
|
+
let stateInf = interfaces[c.stateType];
|
|
277
|
+
if (stateInf) {
|
|
278
|
+
code += stateInf.comment + '\n';
|
|
279
|
+
code += stateInf.code + '\n';
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
if (c.refType) {
|
|
283
|
+
let refInf = interfaces[c.refType];
|
|
284
|
+
if (refInf) {
|
|
285
|
+
code += refInf.comment + '\n';
|
|
286
|
+
code += refInf.code + '\n';
|
|
287
|
+
}
|
|
288
|
+
}
|
|
271
289
|
code += c.comment + '\n';
|
|
272
|
-
|
|
290
|
+
|
|
291
|
+
switch (type) {
|
|
292
|
+
case 'functional':
|
|
293
|
+
code += `export const ${c.name} : React.FunctionComponent<${c.propType}>;\n`
|
|
294
|
+
break
|
|
295
|
+
case 'class':
|
|
296
|
+
code += `export class ${c.name} extends React.Component<${c.propType}, ${c.stateType || 'any'}> {}\n`
|
|
297
|
+
break
|
|
298
|
+
case 'forwardRef':
|
|
299
|
+
code += `export const ${c.name}:React.ForwardRefExoticComponent<${c.propType} & React.RefAttributes<${c.refType || 'any'}>>;\n`
|
|
300
|
+
break
|
|
301
|
+
}
|
|
302
|
+
|
|
273
303
|
return code;
|
|
274
304
|
}
|
|
275
|
-
function fillRelatedTypes(t:string,types:any,docInfo:IDocInfo) {
|
|
305
|
+
function fillRelatedTypes(t: string, types: any, docInfo: IDocInfo) {
|
|
276
306
|
if (docInfo.interfaces[t]) {
|
|
277
307
|
types[t] = 1;
|
|
278
308
|
let inf = docInfo.interfaces[t];
|
|
279
|
-
for(let m of inf.members) {
|
|
280
|
-
fillRelatedTypes(m.comment,types,docInfo);
|
|
309
|
+
for (let m of inf.members) {
|
|
310
|
+
fillRelatedTypes(m.comment, types, docInfo);
|
|
281
311
|
}
|
|
282
312
|
return;
|
|
283
313
|
}
|
|
@@ -288,10 +318,10 @@ function fillRelatedTypes(t:string,types:any,docInfo:IDocInfo) {
|
|
|
288
318
|
if (docInfo.functions[t]) {
|
|
289
319
|
let f = docInfo.functions[t];
|
|
290
320
|
types[t] = 1;
|
|
291
|
-
fillRelatedTypes(f.return,types,docInfo);
|
|
292
|
-
for(let p of f.parameters) {
|
|
321
|
+
fillRelatedTypes(f.return, types, docInfo);
|
|
322
|
+
for (let p of f.parameters) {
|
|
293
323
|
let pt = p.type;
|
|
294
|
-
fillRelatedTypes(pt,types,docInfo);
|
|
324
|
+
fillRelatedTypes(pt, types, docInfo);
|
|
295
325
|
}
|
|
296
326
|
}
|
|
297
327
|
|
|
@@ -300,9 +330,9 @@ function generateDocObject(docInfo: IDocInfo): IDocObject {
|
|
|
300
330
|
let components: IComponentDocumentation[] = [];
|
|
301
331
|
//let typesToExport:any = {};
|
|
302
332
|
for (let cn in docInfo.components) {
|
|
303
|
-
let componentDoc: IComponentDocumentation = { examples: [], name: cn, props: [], summary: ''
|
|
333
|
+
let componentDoc: IComponentDocumentation = { examples: [], name: cn, props: [], summary: '', flags: ComponentFlags.None };
|
|
304
334
|
let componentInfo = docInfo.components[cn];
|
|
305
|
-
[componentDoc.summary,componentDoc.examples,componentDoc.flags] = parseTSDocComment(componentInfo.comment);
|
|
335
|
+
[componentDoc.summary, componentDoc.examples, componentDoc.flags] = parseTSDocComment(componentInfo.comment);
|
|
306
336
|
|
|
307
337
|
let propType = docInfo.interfaces[componentInfo.propType];
|
|
308
338
|
if (!!propType) {
|
|
@@ -313,11 +343,11 @@ function generateDocObject(docInfo: IDocInfo): IDocObject {
|
|
|
313
343
|
components.push(componentDoc);
|
|
314
344
|
|
|
315
345
|
}
|
|
316
|
-
let hooks:IHookDocumentation[] = [];
|
|
317
|
-
for(let hi in docInfo.hooks) {
|
|
346
|
+
let hooks: IHookDocumentation[] = [];
|
|
347
|
+
for (let hi in docInfo.hooks) {
|
|
318
348
|
let hook = docInfo.hooks[hi];
|
|
319
|
-
let hookDoc:IHookDocumentation = {name:hook.name,flags:ComponentFlags.None,summary:'',examples:[]};
|
|
320
|
-
[hookDoc.summary,hookDoc.examples,hookDoc.flags] = parseTSDocComment(hook.comment);
|
|
349
|
+
let hookDoc: IHookDocumentation = { name: hook.name, flags: ComponentFlags.None, summary: '', examples: [] };
|
|
350
|
+
[hookDoc.summary, hookDoc.examples, hookDoc.flags] = parseTSDocComment(hook.comment);
|
|
321
351
|
let propType = docInfo.functions[hook.type];
|
|
322
352
|
// if (!!propType) {
|
|
323
353
|
// typesToExport[hook.type] = 1;
|
|
@@ -328,31 +358,31 @@ function generateDocObject(docInfo: IDocInfo): IDocObject {
|
|
|
328
358
|
// for(let k of Object.keys(typesToExport)) {
|
|
329
359
|
// fillRelatedTypes(k,typesToExport,docInfo);
|
|
330
360
|
// }
|
|
331
|
-
let types:ITypeDocumentation[] = [];
|
|
332
|
-
for(let k of Object.keys(docInfo.interfaces)) {
|
|
361
|
+
let types: ITypeDocumentation[] = [];
|
|
362
|
+
for (let k of Object.keys(docInfo.interfaces)) {
|
|
333
363
|
let inf = docInfo.interfaces[k];
|
|
334
|
-
let typeDoc:ITypeDocumentation = { examples:[],name:inf.name,summary:'',type:'interface',code:'',flags:ComponentFlags.None};
|
|
364
|
+
let typeDoc: ITypeDocumentation = { examples: [], name: inf.name, summary: '', type: 'interface', code: '', flags: ComponentFlags.None };
|
|
335
365
|
typeDoc.code = inf.code;
|
|
336
|
-
[typeDoc.summary,typeDoc.examples,typeDoc.flags] = parseTSDocComment(inf.comment);
|
|
366
|
+
[typeDoc.summary, typeDoc.examples, typeDoc.flags] = parseTSDocComment(inf.comment);
|
|
337
367
|
types.push(typeDoc);
|
|
338
368
|
}
|
|
339
|
-
for(let k of Object.keys(docInfo.functions)) {
|
|
369
|
+
for (let k of Object.keys(docInfo.functions)) {
|
|
340
370
|
let inf = docInfo.functions[k];
|
|
341
|
-
let typeDoc:ITypeDocumentation = { examples:[],name:k,summary:'',type:'function',code:'',flags:ComponentFlags.None};
|
|
371
|
+
let typeDoc: ITypeDocumentation = { examples: [], name: k, summary: '', type: 'function', code: '', flags: ComponentFlags.None };
|
|
342
372
|
typeDoc.code = inf.code;
|
|
343
|
-
[typeDoc.summary,typeDoc.examples,typeDoc.flags] = parseTSDocComment(inf.comment);
|
|
373
|
+
[typeDoc.summary, typeDoc.examples, typeDoc.flags] = parseTSDocComment(inf.comment);
|
|
344
374
|
types.push(typeDoc);
|
|
345
375
|
}
|
|
346
|
-
for(let k of Object.keys(docInfo.unions)) {
|
|
376
|
+
for (let k of Object.keys(docInfo.unions)) {
|
|
347
377
|
let inf = docInfo.unions[k];
|
|
348
|
-
let typeDoc:ITypeDocumentation = { examples:[],name:k,summary:'',type:'union',code:'',flags:ComponentFlags.None};
|
|
378
|
+
let typeDoc: ITypeDocumentation = { examples: [], name: k, summary: '', type: 'union', code: '', flags: ComponentFlags.None };
|
|
349
379
|
typeDoc.code = inf.code;
|
|
350
|
-
[typeDoc.summary,typeDoc.examples,typeDoc.flags] = parseTSDocComment(inf.comment);
|
|
380
|
+
[typeDoc.summary, typeDoc.examples, typeDoc.flags] = parseTSDocComment(inf.comment);
|
|
351
381
|
types.push(typeDoc);
|
|
352
382
|
}
|
|
353
|
-
|
|
354
383
|
|
|
355
|
-
|
|
384
|
+
|
|
385
|
+
return { components, hooks, types };
|
|
356
386
|
}
|
|
357
387
|
|
|
358
388
|
function extractComment(node: ts.Node) {
|
|
@@ -361,22 +391,22 @@ function extractComment(node: ts.Node) {
|
|
|
361
391
|
if (!comments) return '';
|
|
362
392
|
return comments!.map(c => fullText.slice(c.pos, c.end)).join('\n');
|
|
363
393
|
}
|
|
364
|
-
function getCode(node:ts.Node) {
|
|
365
|
-
return node.getSourceFile().getFullText().substring(node.getStart(),node.getEnd());
|
|
394
|
+
function getCode(node: ts.Node) {
|
|
395
|
+
return node.getSourceFile().getFullText().substring(node.getStart(), node.getEnd());
|
|
366
396
|
}
|
|
367
|
-
function parseFunctionSignature(node:ts.Node,docInfo:IDocInfo) {
|
|
397
|
+
function parseFunctionSignature(node: ts.Node, docInfo: IDocInfo) {
|
|
368
398
|
|
|
369
399
|
}
|
|
370
400
|
function parseInterfaceDeclaration(node: ts.Node, docInfo: IDocInfo) {
|
|
371
401
|
|
|
372
402
|
let name = (node as any).name.getText();
|
|
373
403
|
let members = (node as any).members;
|
|
374
|
-
if (members.length==1 && members[0].kind == ts.SyntaxKind.CallSignature) {
|
|
375
|
-
return parseFunctionSignature(members[0],docInfo);
|
|
404
|
+
if (members.length == 1 && members[0].kind == ts.SyntaxKind.CallSignature) {
|
|
405
|
+
return parseFunctionSignature(members[0], docInfo);
|
|
376
406
|
}
|
|
377
407
|
|
|
378
408
|
let docs = extractComment(node);
|
|
379
|
-
let inf: IInterfaceDeclaration = { comment: docs, members: [], name: name
|
|
409
|
+
let inf: IInterfaceDeclaration = { comment: docs, members: [], name: name, code: getCode(node) };
|
|
380
410
|
for (let i = 0; i < members.length; i++) {
|
|
381
411
|
let member = members[i];
|
|
382
412
|
let name = member.name.getText();
|
|
@@ -390,12 +420,11 @@ function parseInterfaceDeclaration(node: ts.Node, docInfo: IDocInfo) {
|
|
|
390
420
|
function parseVariableDeclaration(node: ts.Node, docInfo: IDocInfo) {
|
|
391
421
|
|
|
392
422
|
let type = (node as any).type?.typeName?.getText();
|
|
393
|
-
if ((node as any)?.type?.kind == ts.SyntaxKind.CallSignature ||
|
|
423
|
+
if ((node as any)?.type?.kind == ts.SyntaxKind.CallSignature ||
|
|
394
424
|
(node as any)?.type?.kind == ts.SyntaxKind.FunctionType
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
}
|
|
425
|
+
) {
|
|
426
|
+
console.log('dug');
|
|
427
|
+
}
|
|
399
428
|
if (!type) {
|
|
400
429
|
return;
|
|
401
430
|
}
|
|
@@ -403,27 +432,52 @@ function parseVariableDeclaration(node: ts.Node, docInfo: IDocInfo) {
|
|
|
403
432
|
if (type == 'React.FunctionComponent') {
|
|
404
433
|
let propType = (node as any).type.typeArguments[0].getText();
|
|
405
434
|
let comment = extractComment(node.parent);
|
|
406
|
-
docInfo.components[name] = { comment, propType, name };
|
|
435
|
+
docInfo.components[name] = { comment, propType, name, type: 'functional' };
|
|
436
|
+
return;
|
|
437
|
+
}
|
|
438
|
+
if (type == 'React.ForwardRefExoticComponent') {
|
|
439
|
+
let cType = (node as any).type.typeArguments[0].getText();
|
|
440
|
+
// get prop type and ref type
|
|
441
|
+
// assume
|
|
442
|
+
// - props defined as following format <PropType & RefType>
|
|
443
|
+
// - RefType always starts with `React.RefAttributes`
|
|
444
|
+
let parts = (cType as string).split("&", 2).map(p => p.trim())
|
|
445
|
+
let propType = parts[0]
|
|
446
|
+
let refType = parts[1]
|
|
447
|
+
if (parts[0].startsWith('React.RefAttributes')) {
|
|
448
|
+
propType = parts[1]
|
|
449
|
+
refType = parts[0]
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
refType = refType
|
|
453
|
+
.replace('React.RefAttributes<', '')
|
|
454
|
+
.replace(">", '')
|
|
455
|
+
.trim()
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
let comment = extractComment(node.parent);
|
|
459
|
+
docInfo.components[name] = { comment, propType, refType, name, type: 'forwardRef' };
|
|
407
460
|
return;
|
|
408
461
|
}
|
|
409
462
|
if (name.startsWith('use')) {
|
|
410
463
|
let comment = extractComment(node.parent);
|
|
411
|
-
let parameters:IReactHookParam[] = [];
|
|
464
|
+
let parameters: IReactHookParam[] = [];
|
|
412
465
|
|
|
413
|
-
docInfo.hooks[name] = {name,type,parameters,comment};
|
|
466
|
+
docInfo.hooks[name] = { name, type, parameters, comment };
|
|
414
467
|
}
|
|
415
468
|
}
|
|
416
469
|
function parseClassDeclaration(node: ts.Node, docInfo: IDocInfo) {
|
|
417
470
|
let className = (node as any)?.heritageClauses[0]?.types[0].expression.getText();
|
|
418
|
-
if (className
|
|
471
|
+
if (className == 'React.Component') {
|
|
419
472
|
let propType = (node as any).heritageClauses[0].types[0].typeArguments[0].getText();
|
|
473
|
+
let stateType = (node as any).heritageClauses[0].types[0].typeArguments[1].getText();
|
|
420
474
|
let comment = extractComment(node);
|
|
421
475
|
let name = (node as any).name.getText();
|
|
422
|
-
docInfo.components[name] = { comment, propType, name };
|
|
476
|
+
docInfo.components[name] = { comment, propType, name, stateType, type: 'class' };
|
|
423
477
|
|
|
424
478
|
}
|
|
425
479
|
}
|
|
426
|
-
function parseTypeAlias(node:ts.Node,docInfo:IDocInfo) {
|
|
480
|
+
function parseTypeAlias(node: ts.Node, docInfo: IDocInfo) {
|
|
427
481
|
let name = (node as any).name.getText();
|
|
428
482
|
let type = (node as any).type;
|
|
429
483
|
if (type.kind == ts.SyntaxKind.FunctionType) {
|
|
@@ -431,10 +485,10 @@ function parseTypeAlias(node:ts.Node,docInfo:IDocInfo) {
|
|
|
431
485
|
let parameters = type.parameters;
|
|
432
486
|
let comment = extractComment(node);
|
|
433
487
|
let code = getCode(node);
|
|
434
|
-
let f:IFunctionSignature = {parameters:[],return:returnType,comment,code};
|
|
435
|
-
for(let p=0;p<parameters.length;p++) {
|
|
488
|
+
let f: IFunctionSignature = { parameters: [], return: returnType, comment, code };
|
|
489
|
+
for (let p = 0; p < parameters.length; p++) {
|
|
436
490
|
let parameter = parameters[p];
|
|
437
|
-
let fp:IFunctionParam = {name:parameter.name.getText(),type:parameter.type.getText()};
|
|
491
|
+
let fp: IFunctionParam = { name: parameter.name.getText(), type: parameter.type.getText() };
|
|
438
492
|
f.parameters.push(fp);
|
|
439
493
|
|
|
440
494
|
}
|
|
@@ -445,9 +499,9 @@ function parseTypeAlias(node:ts.Node,docInfo:IDocInfo) {
|
|
|
445
499
|
let types = type.types;
|
|
446
500
|
let comment = extractComment(node);
|
|
447
501
|
let code = getCode(node);
|
|
448
|
-
let u:IUnion = {items:[],comment,code};
|
|
502
|
+
let u: IUnion = { items: [], comment, code };
|
|
449
503
|
|
|
450
|
-
for(let p=0;p<types.length;p++) {
|
|
504
|
+
for (let p = 0; p < types.length; p++) {
|
|
451
505
|
let txt = types[p].getText();
|
|
452
506
|
u.items.push(txt);
|
|
453
507
|
}
|
|
@@ -458,7 +512,7 @@ function parseTypeAlias(node:ts.Node,docInfo:IDocInfo) {
|
|
|
458
512
|
function walkTree(node: ts.Node, docInfo: IDocInfo) {
|
|
459
513
|
switch (node.kind) {
|
|
460
514
|
case ts.SyntaxKind.TypeAliasDeclaration:
|
|
461
|
-
parseTypeAlias(node,docInfo);
|
|
515
|
+
parseTypeAlias(node, docInfo);
|
|
462
516
|
break;
|
|
463
517
|
case ts.SyntaxKind.InterfaceDeclaration:
|
|
464
518
|
parseInterfaceDeclaration(node, docInfo);
|
|
@@ -470,13 +524,12 @@ function walkTree(node: ts.Node, docInfo: IDocInfo) {
|
|
|
470
524
|
parseClassDeclaration(node, docInfo);
|
|
471
525
|
break;
|
|
472
526
|
case ts.SyntaxKind.FunctionDeclaration:
|
|
473
|
-
|
|
527
|
+
case 242:
|
|
528
|
+
parseVariableDeclaration(node, docInfo);
|
|
474
529
|
break;
|
|
475
530
|
|
|
476
|
-
|
|
477
|
-
|
|
478
531
|
}
|
|
479
|
-
node.forEachChild(child => walkTree(child, docInfo));
|
|
532
|
+
node.forEachChild((child: any) => walkTree(child, docInfo));
|
|
480
533
|
|
|
481
534
|
}
|
|
482
535
|
function validateProgram(program: ts.Program) {
|
|
@@ -505,12 +558,12 @@ function getSources(program: ts.Program) {
|
|
|
505
558
|
}).map(f => f.fileName);
|
|
506
559
|
}
|
|
507
560
|
|
|
508
|
-
function generateExportModule(docs:IDocObject,docInfo:IDocInfo,options:IExportModuleOptions) {
|
|
561
|
+
function generateExportModule(docs: IDocObject, docInfo: IDocInfo, options: IExportModuleOptions) {
|
|
509
562
|
let code = '';
|
|
510
563
|
if (options?.moduleName) {
|
|
511
564
|
code += `declare module "${options.moduleName}" {\n`;
|
|
512
565
|
}
|
|
513
|
-
for(let i in docs.types) {
|
|
566
|
+
for (let i in docs.types) {
|
|
514
567
|
let obj = docs.types[i];
|
|
515
568
|
let comment = '';
|
|
516
569
|
if (docInfo.interfaces[obj.name]) {
|
|
@@ -523,23 +576,24 @@ function generateExportModule(docs:IDocObject,docInfo:IDocInfo,options:IExportMo
|
|
|
523
576
|
comment = docInfo.unions[obj.name].comment;
|
|
524
577
|
}
|
|
525
578
|
if (ComponentFlags.Export === (obj.flags & ComponentFlags.Export)) {
|
|
526
|
-
code += indentCode('\n' + comment + '\n' +
|
|
579
|
+
code += indentCode('\n' + comment + '\n' + 'export ' + obj.code + '\n', ' ');
|
|
527
580
|
}
|
|
528
581
|
}
|
|
529
|
-
for(let i in docs.components) {
|
|
582
|
+
for (let i in docs.components) {
|
|
530
583
|
let doc = docs.components[i];
|
|
584
|
+
|
|
531
585
|
if (ComponentFlags.Export === (doc.flags & ComponentFlags.Export)) {
|
|
532
586
|
let component = docInfo.components[doc.name];
|
|
533
|
-
let componentCode = generateComponentTypeDefinition(component,docInfo.interfaces);
|
|
534
|
-
code += indentCode(componentCode,' ');
|
|
587
|
+
let componentCode = generateComponentTypeDefinition(component, docInfo.interfaces);
|
|
588
|
+
code += indentCode(componentCode, ' ');
|
|
535
589
|
}
|
|
536
590
|
}
|
|
537
|
-
for(let i in docs.hooks) {
|
|
591
|
+
for (let i in docs.hooks) {
|
|
538
592
|
let doc = docs.hooks[i];
|
|
539
593
|
if (ComponentFlags.Export === (doc.flags & ComponentFlags.Export)) {
|
|
540
594
|
let hook = docInfo.hooks[doc.name];
|
|
541
595
|
let hookCode = generateHookTypeDefinition(hook);
|
|
542
|
-
code += indentCode(hookCode,' ');
|
|
596
|
+
code += indentCode(hookCode, ' ');
|
|
543
597
|
}
|
|
544
598
|
|
|
545
599
|
}
|
|
@@ -547,18 +601,18 @@ function generateExportModule(docs:IDocObject,docInfo:IDocInfo,options:IExportMo
|
|
|
547
601
|
return code;
|
|
548
602
|
}
|
|
549
603
|
|
|
550
|
-
function load(root: string):[IDocInfo,IDocObject] {
|
|
604
|
+
function load(root: string): [IDocInfo, IDocObject] {
|
|
551
605
|
let options: ts.CompilerOptions = {
|
|
552
606
|
jsx: ts.JsxEmit.React,
|
|
553
607
|
};
|
|
554
|
-
logDebug('Loading',root);
|
|
608
|
+
logDebug('Loading', root);
|
|
555
609
|
logDebug('Loading', root);
|
|
556
610
|
let program = ts.createProgram([root], options);
|
|
557
611
|
logDebug('Compiled');
|
|
558
612
|
validateProgram(program);
|
|
559
613
|
logDebug('Validated');
|
|
560
614
|
let sources = getSources(program);
|
|
561
|
-
let docInfo: IDocInfo = { interfaces: {}, components: {},hooks:{},functions:{},unions:{} };
|
|
615
|
+
let docInfo: IDocInfo = { interfaces: {}, components: {}, hooks: {}, functions: {}, unions: {} };
|
|
562
616
|
for (var i = 0; i < sources.length; i++) {
|
|
563
617
|
let source = sources[i];
|
|
564
618
|
logDebug('Loading', source);
|
|
@@ -574,179 +628,179 @@ function load(root: string):[IDocInfo,IDocObject] {
|
|
|
574
628
|
}
|
|
575
629
|
}
|
|
576
630
|
let docs = generateDocObject(docInfo);
|
|
577
|
-
return [docInfo,docs];
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
/*
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
631
|
+
return [docInfo, docs];
|
|
632
|
+
|
|
633
|
+
|
|
634
|
+
|
|
635
|
+
/*
|
|
636
|
+
for(let i in docInfo.components) {
|
|
637
|
+
let c = docInfo.components[i];
|
|
638
|
+
let inf = docInfo.interfaces[c.propType];
|
|
639
|
+
if (!!inf) {
|
|
640
|
+
console.log(inf.comment);
|
|
641
|
+
console.log(inf.code);
|
|
642
|
+
}
|
|
643
|
+
console.log(c.comment);
|
|
644
|
+
console.log(`export const ${c.name} : React.FunctionComponent<${c.propType}>;`)
|
|
645
|
+
}*/
|
|
592
646
|
|
|
593
647
|
}
|
|
594
648
|
|
|
595
649
|
|
|
596
|
-
function generateHookDoc(cdoc:IHookDocumentation,docs:IDocObject) {
|
|
597
|
-
let md =new MarkdownBuilder();
|
|
598
|
-
md.addTitle(cdoc.name,1)
|
|
650
|
+
function generateHookDoc(cdoc: IHookDocumentation, docs: IDocObject) {
|
|
651
|
+
let md = new MarkdownBuilder();
|
|
652
|
+
md.addTitle(cdoc.name, 1)
|
|
599
653
|
md.addParagraph(cdoc.summary);
|
|
600
|
-
md.addTitle('Installation',2);
|
|
654
|
+
md.addTitle('Installation', 2);
|
|
601
655
|
md.addCode(`import {${cdoc.name}} from 'uxp/components';`);
|
|
602
656
|
if (cdoc.examples.length > 0) {
|
|
603
|
-
md.addTitle('Examples',2);
|
|
604
|
-
for(let i in cdoc.examples) {
|
|
657
|
+
md.addTitle('Examples', 2);
|
|
658
|
+
for (let i in cdoc.examples) {
|
|
605
659
|
md.addCode(cdoc.examples[i].summary)
|
|
606
660
|
}
|
|
607
661
|
}
|
|
608
|
-
|
|
662
|
+
|
|
609
663
|
return md.toString();
|
|
610
664
|
}
|
|
611
665
|
|
|
612
|
-
function generateTypeDoc(cdoc:ITypeDocumentation,docs:IDocObject) {
|
|
613
|
-
let md =new MarkdownBuilder();
|
|
614
|
-
md.addTitle(cdoc.name,1)
|
|
666
|
+
function generateTypeDoc(cdoc: ITypeDocumentation, docs: IDocObject) {
|
|
667
|
+
let md = new MarkdownBuilder();
|
|
668
|
+
md.addTitle(cdoc.name, 1)
|
|
615
669
|
md.addParagraph(cdoc.summary);
|
|
616
670
|
md.addCode(cdoc.code);
|
|
617
|
-
md.addTitle('Usage',2);
|
|
671
|
+
md.addTitle('Usage', 2);
|
|
618
672
|
md.addCode(`import {${cdoc.name}} from 'uxp/components';`);
|
|
619
673
|
if (cdoc.examples.length > 0) {
|
|
620
|
-
md.addTitle('Examples',2);
|
|
621
|
-
for(let i in cdoc.examples) {
|
|
674
|
+
md.addTitle('Examples', 2);
|
|
675
|
+
for (let i in cdoc.examples) {
|
|
622
676
|
md.addCode(cdoc.examples[i].summary)
|
|
623
677
|
}
|
|
624
678
|
}
|
|
625
|
-
|
|
626
|
-
|
|
679
|
+
|
|
680
|
+
|
|
627
681
|
return md.toString();
|
|
628
682
|
}
|
|
629
|
-
function linkedType(t: string, docs:IDocObject) {
|
|
683
|
+
function linkedType(t: string, docs: IDocObject) {
|
|
630
684
|
if (docs.types.find(x => x.name.toUpperCase() == t.toUpperCase())) {
|
|
631
685
|
return `[${t}](types/${t})`;
|
|
632
686
|
}
|
|
633
687
|
return t;
|
|
634
688
|
}
|
|
635
|
-
function generateComponentDoc(cdoc:IComponentDocumentation,docs:IDocObject) {
|
|
636
|
-
let md =new MarkdownBuilder();
|
|
637
|
-
md.addTitle(cdoc.name,1)
|
|
689
|
+
function generateComponentDoc(cdoc: IComponentDocumentation, docs: IDocObject) {
|
|
690
|
+
let md = new MarkdownBuilder();
|
|
691
|
+
md.addTitle(cdoc.name, 1)
|
|
638
692
|
md.addParagraph(cdoc.summary);
|
|
639
|
-
md.addTitle('Installation',2);
|
|
693
|
+
md.addTitle('Installation', 2);
|
|
640
694
|
md.addCode(`import {${cdoc.name}} from 'uxp/components';`);
|
|
641
695
|
if (cdoc.examples.length > 0) {
|
|
642
|
-
md.addTitle('Examples',2);
|
|
643
|
-
for(let i in cdoc.examples) {
|
|
696
|
+
md.addTitle('Examples', 2);
|
|
697
|
+
for (let i in cdoc.examples) {
|
|
644
698
|
md.addCode(cdoc.examples[i].summary)
|
|
645
699
|
}
|
|
646
700
|
}
|
|
647
701
|
if (cdoc.props.length > 0) {
|
|
648
702
|
|
|
649
|
-
md.addTitle('Properties',2);
|
|
650
|
-
md.addTable(cdoc.props.map(p => ({Name:p.name,Type:linkedType(p.type,docs),Description:p.summary})));
|
|
651
|
-
for(let i in cdoc.props) {
|
|
703
|
+
md.addTitle('Properties', 2);
|
|
704
|
+
md.addTable(cdoc.props.map(p => ({ Name: p.name, Type: linkedType(p.type, docs), Description: p.summary })));
|
|
705
|
+
for (let i in cdoc.props) {
|
|
652
706
|
let prop = cdoc.props[i];
|
|
653
|
-
md.addTitle(prop.name,3);
|
|
707
|
+
md.addTitle(prop.name, 3);
|
|
654
708
|
md.addParagraph('---');
|
|
655
709
|
md.addParagraph(prop.summary);
|
|
656
|
-
md.addTable([{'type':linkedType(prop.type,docs)}]);
|
|
657
|
-
|
|
658
|
-
for(let j in prop.examples) {
|
|
710
|
+
md.addTable([{ 'type': linkedType(prop.type, docs) }]);
|
|
711
|
+
|
|
712
|
+
for (let j in prop.examples) {
|
|
659
713
|
md.addCode(prop.examples[j].summary);
|
|
660
714
|
}
|
|
661
715
|
}
|
|
662
|
-
|
|
716
|
+
|
|
663
717
|
}
|
|
664
718
|
return md.toString();
|
|
665
719
|
}
|
|
666
|
-
function generateDocs(root: string, outputPath:string) {
|
|
667
|
-
let [docInfo,docs] = load(root);
|
|
720
|
+
function generateDocs(root: string, outputPath: string) {
|
|
721
|
+
let [docInfo, docs] = load(root);
|
|
668
722
|
let components = docs.components;
|
|
669
|
-
if (outputPath.endsWith('/')) outputPath = outputPath.substring(0,outputPath.length-1);
|
|
723
|
+
if (outputPath.endsWith('/')) outputPath = outputPath.substring(0, outputPath.length - 1);
|
|
670
724
|
|
|
671
725
|
mkdirp.sync(outputPath + '/components/');
|
|
672
726
|
mkdirp.sync(outputPath + '/types/');
|
|
673
727
|
mkdirp.sync(outputPath + '/hooks/');
|
|
674
728
|
|
|
675
|
-
for(let i in components) {
|
|
729
|
+
for (let i in components) {
|
|
676
730
|
let component = components[i];
|
|
677
731
|
if (ComponentFlags.Export === (component.flags & ComponentFlags.Export)) {
|
|
678
|
-
let md = generateComponentDoc(component,docs);
|
|
732
|
+
let md = generateComponentDoc(component, docs);
|
|
679
733
|
let path = outputPath + '/components/' + component.name + '.md';
|
|
680
734
|
|
|
681
|
-
console.log(chalk.gray('Writing component',component.name,'to',path));
|
|
682
|
-
fs.writeFileSync(path,md.toString());
|
|
735
|
+
console.log(chalk.gray('Writing component', component.name, 'to', path));
|
|
736
|
+
fs.writeFileSync(path, md.toString());
|
|
683
737
|
}
|
|
684
738
|
}
|
|
685
|
-
for(let i in docs.types) {
|
|
739
|
+
for (let i in docs.types) {
|
|
686
740
|
let type = docs.types[i];
|
|
687
741
|
if (ComponentFlags.Export === (type.flags & ComponentFlags.Export)) {
|
|
688
|
-
let md = generateTypeDoc(type,docs);
|
|
742
|
+
let md = generateTypeDoc(type, docs);
|
|
689
743
|
let path = outputPath + '/types/' + type.name + '.md';
|
|
690
|
-
console.log(chalk.gray('Writing type',type.name,'to',path));
|
|
691
|
-
fs.writeFileSync(path,md.toString());
|
|
744
|
+
console.log(chalk.gray('Writing type', type.name, 'to', path));
|
|
745
|
+
fs.writeFileSync(path, md.toString());
|
|
692
746
|
}
|
|
693
747
|
}
|
|
694
748
|
|
|
695
|
-
for(let i in docs.hooks) {
|
|
749
|
+
for (let i in docs.hooks) {
|
|
696
750
|
let hook = docs.hooks[i];
|
|
697
751
|
if (ComponentFlags.Export === (hook.flags & ComponentFlags.Export)) {
|
|
698
|
-
let md = generateHookDoc(hook,docs);
|
|
752
|
+
let md = generateHookDoc(hook, docs);
|
|
699
753
|
let path = outputPath + '/hooks/' + hook.name + '.md';
|
|
700
|
-
console.log(chalk.gray('Writing hook',hook.name,'to',path));
|
|
701
|
-
fs.writeFileSync(path,md.toString());
|
|
754
|
+
console.log(chalk.gray('Writing hook', hook.name, 'to', path));
|
|
755
|
+
fs.writeFileSync(path, md.toString());
|
|
702
756
|
}
|
|
703
757
|
}
|
|
704
758
|
}
|
|
705
|
-
function generateTypeDefinition(root:string,outputPath:string,moduleName:string) {
|
|
706
|
-
|
|
759
|
+
function generateTypeDefinition(root: string, outputPath: string, moduleName: string) {
|
|
760
|
+
|
|
707
761
|
|
|
708
|
-
let [docInfo,docs] = load(root);
|
|
709
|
-
let moduleCode = generateExportModule(docs,docInfo,{moduleName:moduleName || 'module'});
|
|
710
|
-
fs.writeFileSync(outputPath,moduleCode);
|
|
762
|
+
let [docInfo, docs] = load(root);
|
|
763
|
+
let moduleCode = generateExportModule(docs, docInfo, { moduleName: moduleName || 'module' });
|
|
764
|
+
fs.writeFileSync(outputPath, moduleCode);
|
|
711
765
|
}
|
|
712
766
|
|
|
713
767
|
export function main() {
|
|
714
768
|
try {
|
|
715
769
|
let cmd = clap
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
770
|
+
.command('react-tsdoc')
|
|
771
|
+
.description('Generate docs for React components')
|
|
772
|
+
.version('0.0.1')
|
|
773
|
+
;
|
|
720
774
|
cmd.command('types [input.ts] [output.t.ds]')
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
.action((actionArgs:{args:string[],options:any})=>{
|
|
725
|
-
let args = actionArgs.args || [];
|
|
726
|
-
let options = actionArgs.options || {};
|
|
727
|
-
|
|
728
|
-
generateTypeDefinition(
|
|
729
|
-
args[0],
|
|
730
|
-
args[1],
|
|
731
|
-
options.moduleName
|
|
732
|
-
);
|
|
733
|
-
})
|
|
775
|
+
.option('--module-name <name>')
|
|
734
776
|
|
|
735
|
-
|
|
777
|
+
|
|
778
|
+
.action((actionArgs: { args: string[], options: any }) => {
|
|
779
|
+
let args = actionArgs.args || [];
|
|
780
|
+
let options = actionArgs.options || {};
|
|
781
|
+
|
|
782
|
+
generateTypeDefinition(
|
|
783
|
+
args[0],
|
|
784
|
+
args[1],
|
|
785
|
+
options.moduleName
|
|
786
|
+
);
|
|
787
|
+
})
|
|
788
|
+
|
|
789
|
+
;
|
|
736
790
|
|
|
737
791
|
cmd.command('docs [input.ts] [output-folder]')
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
792
|
+
.action((actionArgs: { args: string[], options: any }) => {
|
|
793
|
+
let { args, options } = actionArgs;
|
|
794
|
+
generateDocs(args[0], args[1]);
|
|
795
|
+
})
|
|
796
|
+
;
|
|
797
|
+
|
|
744
798
|
cmd.run();
|
|
745
|
-
} catch(e) {
|
|
799
|
+
} catch (e) {
|
|
746
800
|
console.error(chalk.red(e));
|
|
747
801
|
|
|
748
802
|
}
|
|
749
|
-
|
|
803
|
+
|
|
750
804
|
|
|
751
805
|
}
|
|
752
806
|
|