@next-core/build-config-factory 2.18.50 → 2.19.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/CHANGELOG.md +33 -0
- package/package.json +4 -4
- package/src/generateBrickDocs.js +89 -20
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,39 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [2.19.0](https://github.com/easyops-cn/next-core/compare/@next-core/build-config-factory@2.18.52...@next-core/build-config-factory@2.19.0) (2022-07-05)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **generateBrickDocs:** type will not be traversed in another module once traversed ([c539bcf](https://github.com/easyops-cn/next-core/commit/c539bcf86a8d7d0955f4115373db838032c5c677))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **generateBrickDocs:** add support for extendedTypes ([12c9e53](https://github.com/easyops-cn/next-core/commit/12c9e536b07104a9ee8478cbe8c2aa6887751335))
|
|
17
|
+
* **generateBrickDocs:** add support for index signature ([1f16c2c](https://github.com/easyops-cn/next-core/commit/1f16c2c1a961a43a139f8bef1117c8eb4e4ba3f6))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## [2.18.52](https://github.com/easyops-cn/next-core/compare/@next-core/build-config-factory@2.18.51...@next-core/build-config-factory@2.18.52) (2022-06-28)
|
|
24
|
+
|
|
25
|
+
**Note:** Version bump only for package @next-core/build-config-factory
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## [2.18.51](https://github.com/easyops-cn/next-core/compare/@next-core/build-config-factory@2.18.50...@next-core/build-config-factory@2.18.51) (2022-06-27)
|
|
32
|
+
|
|
33
|
+
**Note:** Version bump only for package @next-core/build-config-factory
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
6
39
|
## [2.18.50](https://github.com/easyops-cn/next-core/compare/@next-core/build-config-factory@2.18.49...@next-core/build-config-factory@2.18.50) (2022-06-24)
|
|
7
40
|
|
|
8
41
|
**Note:** Version bump only for package @next-core/build-config-factory
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-core/build-config-factory",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.19.0",
|
|
4
4
|
"description": "build config factory",
|
|
5
5
|
"homepage": "https://github.com/easyops-cn/next-core/tree/master/packages/build-config-factory",
|
|
6
6
|
"license": "GPL-3.0",
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
},
|
|
19
19
|
"sideEffects": false,
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@next-core/brick-utils": "^2.37.
|
|
21
|
+
"@next-core/brick-utils": "^2.37.20",
|
|
22
22
|
"@next-core/repo-config": "^0.2.1",
|
|
23
23
|
"@next-core/typedoc-plugin-filter-inherit": "^1.2.2",
|
|
24
|
-
"@next-core/webpack-config-factory": "^2.16.
|
|
24
|
+
"@next-core/webpack-config-factory": "^2.16.6",
|
|
25
25
|
"change-case": "^4.1.2",
|
|
26
26
|
"chokidar": "^3.5.3",
|
|
27
27
|
"fs-extra": "^10.1.0",
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"typedoc": "^0.19.2",
|
|
38
38
|
"typedoc-plugin-no-inherit": "^1.2.2"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "b8a911770baa015938fd6f70daaeb584ea2449c8"
|
|
41
41
|
}
|
package/src/generateBrickDocs.js
CHANGED
|
@@ -392,16 +392,32 @@ function extractBrickDocInterface(typeIds, references) {
|
|
|
392
392
|
name: finder.name,
|
|
393
393
|
typeParameter: getTypeParameter(finder),
|
|
394
394
|
kind: "interface",
|
|
395
|
-
|
|
396
|
-
|
|
395
|
+
extendedTypes: finder.extendedTypes,
|
|
396
|
+
children:
|
|
397
|
+
finder.children?.map((child) => {
|
|
397
398
|
return {
|
|
398
399
|
name: child.name,
|
|
399
400
|
type: extractRealInterfaceType(child.type.type, child.type),
|
|
400
401
|
required: !get(child, ["flags", "isOptional"], false),
|
|
401
402
|
description: get(child, ["comment", "shortText"], "").trim(),
|
|
402
403
|
};
|
|
403
|
-
}),
|
|
404
|
-
|
|
404
|
+
}) || [],
|
|
405
|
+
indexSignature:
|
|
406
|
+
finder.indexSignature?.map((child) => {
|
|
407
|
+
return {
|
|
408
|
+
name: child.name,
|
|
409
|
+
parameters: child.parameters.map((parameter) => ({
|
|
410
|
+
...parameter,
|
|
411
|
+
type: extractRealInterfaceType(
|
|
412
|
+
parameter.type.type,
|
|
413
|
+
parameter.type
|
|
414
|
+
),
|
|
415
|
+
})),
|
|
416
|
+
type: extractRealInterfaceType(child.type.type, child.type),
|
|
417
|
+
required: !get(child, ["flags", "isOptional"], false),
|
|
418
|
+
description: get(child, ["comment", "shortText"], "").trim(),
|
|
419
|
+
};
|
|
420
|
+
}) || [],
|
|
405
421
|
};
|
|
406
422
|
}
|
|
407
423
|
|
|
@@ -438,10 +454,16 @@ function traverseExtraInterfaceReferences(modules, References) {
|
|
|
438
454
|
function traverseElementUsedInterfaceIds(
|
|
439
455
|
element,
|
|
440
456
|
usedReferenceIds,
|
|
441
|
-
references
|
|
457
|
+
references,
|
|
458
|
+
traversedTypeSet
|
|
442
459
|
) {
|
|
443
460
|
element.children.forEach((child) => {
|
|
444
|
-
traverseUsedReferenceIdsByType(
|
|
461
|
+
traverseUsedReferenceIdsByType(
|
|
462
|
+
child.type,
|
|
463
|
+
usedReferenceIds,
|
|
464
|
+
references,
|
|
465
|
+
traversedTypeSet
|
|
466
|
+
);
|
|
445
467
|
});
|
|
446
468
|
}
|
|
447
469
|
|
|
@@ -461,13 +483,19 @@ function traverseModules(modules, brickDocs) {
|
|
|
461
483
|
if (!elementId) return;
|
|
462
484
|
|
|
463
485
|
const usedReferenceIds = new Set();
|
|
486
|
+
const traversedTypeSet = new Set();
|
|
464
487
|
const classElement = module.children.find(
|
|
465
488
|
(child) => child.id === elementId && existBrickDocId(child)
|
|
466
489
|
);
|
|
467
490
|
if (!classElement) return;
|
|
468
491
|
const { comment, children, groups } = classElement;
|
|
469
492
|
const references = [...module.children, ...extraInterfaceReferencesValues];
|
|
470
|
-
traverseElementUsedInterfaceIds(
|
|
493
|
+
traverseElementUsedInterfaceIds(
|
|
494
|
+
classElement,
|
|
495
|
+
usedReferenceIds,
|
|
496
|
+
references,
|
|
497
|
+
traversedTypeSet
|
|
498
|
+
);
|
|
471
499
|
const brick = {
|
|
472
500
|
...extractBrickDocBaseKind(comment.tags),
|
|
473
501
|
...extractBrickDocComplexKind(groups, children),
|
|
@@ -480,25 +508,38 @@ function traverseModules(modules, brickDocs) {
|
|
|
480
508
|
});
|
|
481
509
|
}
|
|
482
510
|
|
|
483
|
-
function traverseUsedReferenceIdsByType(
|
|
511
|
+
function traverseUsedReferenceIdsByType(
|
|
512
|
+
type,
|
|
513
|
+
usedReferenceIds,
|
|
514
|
+
references,
|
|
515
|
+
traversedTypeSet
|
|
516
|
+
) {
|
|
484
517
|
if (!type || !type.type) return;
|
|
485
518
|
|
|
486
|
-
if (type
|
|
519
|
+
if (traversedTypeSet.has(type)) {
|
|
487
520
|
return;
|
|
488
521
|
}
|
|
489
|
-
|
|
522
|
+
|
|
523
|
+
traversedTypeSet.add(type);
|
|
524
|
+
|
|
490
525
|
switch (type.type) {
|
|
491
526
|
case "union":
|
|
492
527
|
case "intersection":
|
|
493
528
|
type.types.forEach((item) =>
|
|
494
|
-
traverseUsedReferenceIdsByType(
|
|
529
|
+
traverseUsedReferenceIdsByType(
|
|
530
|
+
item,
|
|
531
|
+
usedReferenceIds,
|
|
532
|
+
references,
|
|
533
|
+
traversedTypeSet
|
|
534
|
+
)
|
|
495
535
|
);
|
|
496
536
|
break;
|
|
497
537
|
case "array":
|
|
498
538
|
traverseUsedReferenceIdsByType(
|
|
499
539
|
type.elementType,
|
|
500
540
|
usedReferenceIds,
|
|
501
|
-
references
|
|
541
|
+
references,
|
|
542
|
+
traversedTypeSet
|
|
502
543
|
);
|
|
503
544
|
break;
|
|
504
545
|
case "reference":
|
|
@@ -507,12 +548,18 @@ function traverseUsedReferenceIdsByType(type, usedReferenceIds, references) {
|
|
|
507
548
|
traverseUsedReferenceIdsByReflection(
|
|
508
549
|
references.find((child) => child.id === type.id),
|
|
509
550
|
usedReferenceIds,
|
|
510
|
-
references
|
|
551
|
+
references,
|
|
552
|
+
traversedTypeSet
|
|
511
553
|
);
|
|
512
554
|
}
|
|
513
555
|
if (type.typeArguments && type.typeArguments.length > 0) {
|
|
514
556
|
type.typeArguments.forEach((item) =>
|
|
515
|
-
traverseUsedReferenceIdsByType(
|
|
557
|
+
traverseUsedReferenceIdsByType(
|
|
558
|
+
item,
|
|
559
|
+
usedReferenceIds,
|
|
560
|
+
references,
|
|
561
|
+
traversedTypeSet
|
|
562
|
+
)
|
|
516
563
|
);
|
|
517
564
|
}
|
|
518
565
|
break;
|
|
@@ -521,7 +568,8 @@ function traverseUsedReferenceIdsByType(type, usedReferenceIds, references) {
|
|
|
521
568
|
traverseUsedReferenceIdsByType(
|
|
522
569
|
type.objectType,
|
|
523
570
|
usedReferenceIds,
|
|
524
|
-
references
|
|
571
|
+
references,
|
|
572
|
+
traversedTypeSet
|
|
525
573
|
);
|
|
526
574
|
break;
|
|
527
575
|
}
|
|
@@ -530,20 +578,40 @@ function traverseUsedReferenceIdsByType(type, usedReferenceIds, references) {
|
|
|
530
578
|
function traverseUsedReferenceIdsByReflection(
|
|
531
579
|
reflection,
|
|
532
580
|
usedReferenceIds,
|
|
533
|
-
references
|
|
581
|
+
references,
|
|
582
|
+
traversedTypeSet
|
|
534
583
|
) {
|
|
535
584
|
if (!reflection) {
|
|
536
585
|
return;
|
|
537
586
|
}
|
|
538
587
|
switch (reflection.kindString) {
|
|
539
588
|
case "Interface":
|
|
589
|
+
reflection.extendedTypes?.forEach((type) =>
|
|
590
|
+
traverseUsedReferenceIdsByType(
|
|
591
|
+
type,
|
|
592
|
+
usedReferenceIds,
|
|
593
|
+
references,
|
|
594
|
+
traversedTypeSet
|
|
595
|
+
)
|
|
596
|
+
);
|
|
540
597
|
reflection.children
|
|
541
|
-
|
|
598
|
+
?.filter((item) => item.kindString === "Property")
|
|
599
|
+
.forEach((item) =>
|
|
600
|
+
traverseUsedReferenceIdsByType(
|
|
601
|
+
item.type,
|
|
602
|
+
usedReferenceIds,
|
|
603
|
+
references,
|
|
604
|
+
traversedTypeSet
|
|
605
|
+
)
|
|
606
|
+
);
|
|
607
|
+
reflection.indexSignature
|
|
608
|
+
?.filter((item) => item.kindString === "Index signature")
|
|
542
609
|
.forEach((item) =>
|
|
543
610
|
traverseUsedReferenceIdsByType(
|
|
544
611
|
item.type,
|
|
545
612
|
usedReferenceIds,
|
|
546
|
-
references
|
|
613
|
+
references,
|
|
614
|
+
traversedTypeSet
|
|
547
615
|
)
|
|
548
616
|
);
|
|
549
617
|
break;
|
|
@@ -551,7 +619,8 @@ function traverseUsedReferenceIdsByReflection(
|
|
|
551
619
|
traverseUsedReferenceIdsByType(
|
|
552
620
|
reflection.type,
|
|
553
621
|
usedReferenceIds,
|
|
554
|
-
references
|
|
622
|
+
references,
|
|
623
|
+
traversedTypeSet
|
|
555
624
|
);
|
|
556
625
|
break;
|
|
557
626
|
}
|
|
@@ -590,7 +659,7 @@ function generateBrickBook(docsJson) {
|
|
|
590
659
|
fs.writeFileSync(storiesPath, JSON.stringify(stories, null, 2), {
|
|
591
660
|
encoding: "utf-8",
|
|
592
661
|
});
|
|
593
|
-
console.log("Brick book written to
|
|
662
|
+
console.log("Brick book written to stories.json.");
|
|
594
663
|
}
|
|
595
664
|
|
|
596
665
|
module.exports = function generateBrickDocs(packageName) {
|