@xpack/doxygen2docusaurus 2.0.0 → 2.1.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/LICENSE +1 -1
- package/README.md +2 -1
- package/bin/doxygen2docusaurus.js +1 -1
- package/dist/cli/main.d.ts +0 -14
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +0 -34
- package/dist/cli/main.js.map +1 -1
- package/dist/docusaurus/cli-options.d.ts +3 -292
- package/dist/docusaurus/cli-options.d.ts.map +1 -1
- package/dist/docusaurus/cli-options.js +6 -290
- package/dist/docusaurus/cli-options.js.map +1 -1
- package/dist/docusaurus/generator.d.ts +0 -172
- package/dist/docusaurus/generator.d.ts.map +1 -1
- package/dist/docusaurus/generator.js +20 -280
- package/dist/docusaurus/generator.js.map +1 -1
- package/dist/docusaurus/renderers/descriptiontype.d.ts +0 -417
- package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/descriptiontype.js +11 -555
- package/dist/docusaurus/renderers/descriptiontype.js.map +1 -1
- package/dist/docusaurus/renderers/docinternalstype.d.ts +0 -132
- package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/docinternalstype.js +0 -156
- package/dist/docusaurus/renderers/docinternalstype.js.map +1 -1
- package/dist/docusaurus/renderers/doclisttype.d.ts +0 -22
- package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/doclisttype.js +0 -42
- package/dist/docusaurus/renderers/doclisttype.js.map +1 -1
- package/dist/docusaurus/renderers/doctabletype.d.ts +0 -88
- package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/doctabletype.js +1 -113
- package/dist/docusaurus/renderers/doctabletype.js.map +1 -1
- package/dist/docusaurus/renderers/doctitletype.d.ts +0 -22
- package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/doctitletype.js +0 -42
- package/dist/docusaurus/renderers/doctitletype.js.map +1 -1
- package/dist/docusaurus/renderers/docvariablelisttype.d.ts +0 -44
- package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/docvariablelisttype.js +1 -69
- package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -1
- package/dist/docusaurus/renderers/docxrefsecttype.d.ts +0 -22
- package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/docxrefsecttype.js +0 -38
- package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -1
- package/dist/docusaurus/renderers/element-renderer-base.d.ts +0 -74
- package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -1
- package/dist/docusaurus/renderers/element-renderer-base.js +0 -64
- package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -1
- package/dist/docusaurus/renderers/inctype.d.ts +0 -23
- package/dist/docusaurus/renderers/inctype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/inctype.js +0 -41
- package/dist/docusaurus/renderers/inctype.js.map +1 -1
- package/dist/docusaurus/renderers/linkedtexttype.d.ts +0 -22
- package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/linkedtexttype.js +0 -45
- package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -1
- package/dist/docusaurus/renderers/listingtype.d.ts +0 -52
- package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/listingtype.js +1 -88
- package/dist/docusaurus/renderers/listingtype.js.map +1 -1
- package/dist/docusaurus/renderers/paramtype.d.ts +0 -22
- package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/paramtype.js +2 -51
- package/dist/docusaurus/renderers/paramtype.js.map +1 -1
- package/dist/docusaurus/renderers/referencetype.d.ts +0 -23
- package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/referencetype.js +0 -38
- package/dist/docusaurus/renderers/referencetype.js.map +1 -1
- package/dist/docusaurus/renderers/reftexttype.d.ts +0 -22
- package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/reftexttype.js +0 -38
- package/dist/docusaurus/renderers/reftexttype.js.map +1 -1
- package/dist/docusaurus/renderers/reftype.d.ts +0 -22
- package/dist/docusaurus/renderers/reftype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/reftype.js +0 -38
- package/dist/docusaurus/renderers/reftype.js.map +1 -1
- package/dist/docusaurus/renderers/renderers.d.ts +0 -151
- package/dist/docusaurus/renderers/renderers.d.ts.map +1 -1
- package/dist/docusaurus/renderers/renderers.js +4 -184
- package/dist/docusaurus/renderers/renderers.js.map +1 -1
- package/dist/docusaurus/renderers/substringtype.d.ts +0 -22
- package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/substringtype.js +0 -39
- package/dist/docusaurus/renderers/substringtype.js.map +1 -1
- package/dist/docusaurus/renderers/tableofcontentstype.d.ts +0 -22
- package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/tableofcontentstype.js +0 -39
- package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -1
- package/dist/docusaurus/types.d.ts +0 -110
- package/dist/docusaurus/types.d.ts.map +1 -1
- package/dist/docusaurus/types.js +0 -11
- package/dist/docusaurus/types.js.map +1 -1
- package/dist/docusaurus/utils.d.ts +0 -214
- package/dist/docusaurus/utils.d.ts.map +1 -1
- package/dist/docusaurus/utils.js +0 -296
- package/dist/docusaurus/utils.js.map +1 -1
- package/dist/docusaurus/view-model/classes-vm.d.ts +0 -137
- package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/classes-vm.js +9 -225
- package/dist/docusaurus/view-model/classes-vm.js.map +1 -1
- package/dist/docusaurus/view-model/collection-base.d.ts +0 -120
- package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -1
- package/dist/docusaurus/view-model/collection-base.js +11 -101
- package/dist/docusaurus/view-model/collection-base.js.map +1 -1
- package/dist/docusaurus/view-model/compound-base-vm.d.ts +2 -147
- package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/compound-base-vm.js +47 -225
- package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -1
- package/dist/docusaurus/view-model/concepts-vm.d.ts +26 -0
- package/dist/docusaurus/view-model/concepts-vm.d.ts.map +1 -0
- package/dist/docusaurus/view-model/concepts-vm.js +329 -0
- package/dist/docusaurus/view-model/concepts-vm.js.map +1 -0
- package/dist/docusaurus/view-model/description-anchors.d.ts +0 -58
- package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -1
- package/dist/docusaurus/view-model/description-anchors.js +0 -71
- package/dist/docusaurus/view-model/description-anchors.js.map +1 -1
- package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +0 -247
- package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/files-and-folders-vm.js +61 -353
- package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -1
- package/dist/docusaurus/view-model/groups-vm.d.ts +0 -148
- package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/groups-vm.js +2 -223
- package/dist/docusaurus/view-model/groups-vm.js.map +1 -1
- package/dist/docusaurus/view-model/members-vm.d.ts +0 -552
- package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/members-vm.js +17 -702
- package/dist/docusaurus/view-model/members-vm.js.map +1 -1
- package/dist/docusaurus/view-model/namespaces-vm.d.ts +4 -199
- package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/namespaces-vm.js +79 -284
- package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -1
- package/dist/docusaurus/view-model/options.d.ts +0 -43
- package/dist/docusaurus/view-model/options.d.ts.map +1 -1
- package/dist/docusaurus/view-model/options.js +0 -57
- package/dist/docusaurus/view-model/options.js.map +1 -1
- package/dist/docusaurus/view-model/pages-vm.d.ts +0 -115
- package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/pages-vm.js +0 -162
- package/dist/docusaurus/view-model/pages-vm.js.map +1 -1
- package/dist/docusaurus/view-model/tree-entries-vm.d.ts +8 -142
- package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/tree-entries-vm.js +54 -174
- package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -1
- package/dist/docusaurus/view-model/view-model.d.ts +0 -125
- package/dist/docusaurus/view-model/view-model.d.ts.map +1 -1
- package/dist/docusaurus/view-model/view-model.js +20 -182
- package/dist/docusaurus/view-model/view-model.js.map +1 -1
- package/dist/docusaurus/workspace.d.ts +1 -126
- package/dist/docusaurus/workspace.d.ts.map +1 -1
- package/dist/docusaurus/workspace.js +8 -221
- package/dist/docusaurus/workspace.js.map +1 -1
- package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +5 -492
- package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/compounddef-dm.js +23 -672
- package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +0 -129
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +1 -145
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +104 -2848
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +73 -3975
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +0 -165
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +0 -229
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +0 -70
- package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/doxygentype-dm.js +0 -105
- package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +0 -84
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +1 -122
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +0 -116
- package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/inctype-dm.js +3 -155
- package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +3 -138
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +5 -180
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +0 -76
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +0 -107
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +0 -162
- package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/locationtype-dm.js +4 -203
- package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +2 -443
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +19 -475
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +0 -141
- package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/memberreftype-dm.js +0 -176
- package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +0 -101
- package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/membertype-dm.js +0 -115
- package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +0 -164
- package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/paramtype-dm.js +0 -208
- package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +0 -139
- package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/referencetype-dm.js +2 -175
- package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +0 -120
- package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/reftexttype-dm.js +2 -141
- package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +0 -268
- package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/reftype-dm.js +4 -326
- package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +0 -105
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +1 -139
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +0 -168
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +0 -209
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +0 -267
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +0 -354
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +0 -66
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +0 -97
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -1
- package/dist/doxygen/data-model/data-model.d.ts +0 -149
- package/dist/doxygen/data-model/data-model.d.ts.map +1 -1
- package/dist/doxygen/data-model/data-model.js +4 -197
- package/dist/doxygen/data-model/data-model.js.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +0 -115
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +4 -129
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +0 -87
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +0 -118
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -1
- package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +0 -253
- package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -1
- package/dist/doxygen/data-model/doxygen-xml-parser.js +0 -291
- package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -1
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +0 -98
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +2 -122
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +0 -82
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +0 -114
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -1
- package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +0 -85
- package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/index/indexmembertype-dm.js +1 -107
- package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -1
- package/dist/doxygen/data-model/types.d.ts +0 -104
- package/dist/doxygen/data-model/types.d.ts.map +1 -1
- package/dist/doxygen/data-model/types.js +0 -52
- package/dist/doxygen/data-model/types.js.map +1 -1
- package/dist/index.d.ts +4 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -42
- package/dist/index.js.map +1 -1
- package/package.json +45 -51
- package/src/cli/main.ts +122 -0
- package/src/docusaurus/cli-options.ts +560 -0
- package/src/docusaurus/generator.ts +788 -0
- package/src/docusaurus/renderers/descriptiontype.ts +1299 -0
- package/src/docusaurus/renderers/docinternalstype.ts +354 -0
- package/src/docusaurus/renderers/doclisttype.ts +134 -0
- package/src/docusaurus/renderers/doctabletype.ts +220 -0
- package/src/docusaurus/renderers/doctitletype.ts +77 -0
- package/src/docusaurus/renderers/docvariablelisttype.ts +123 -0
- package/src/docusaurus/renderers/docxrefsecttype.ts +84 -0
- package/src/docusaurus/renderers/element-renderer-base.ts +112 -0
- package/src/docusaurus/renderers/inctype.ts +75 -0
- package/src/docusaurus/renderers/linkedtexttype.ts +64 -0
- package/src/docusaurus/renderers/listingtype.ts +235 -0
- package/src/docusaurus/renderers/paramtype.ts +116 -0
- package/src/docusaurus/renderers/referencetype.ts +83 -0
- package/src/docusaurus/renderers/reftexttype.ts +81 -0
- package/src/docusaurus/renderers/reftype.ts +77 -0
- package/src/docusaurus/renderers/renderers.ts +756 -0
- package/src/docusaurus/renderers/substringtype.ts +53 -0
- package/src/docusaurus/renderers/tableofcontentstype.ts +74 -0
- package/src/docusaurus/types.ts +187 -0
- package/src/docusaurus/utils.ts +409 -0
- package/src/docusaurus/view-model/README.md +12 -0
- package/src/docusaurus/view-model/classes-vm.ts +1088 -0
- package/src/docusaurus/view-model/collection-base.ts +352 -0
- package/src/docusaurus/view-model/compound-base-vm.ts +1340 -0
- package/src/docusaurus/view-model/concepts-vm.ts +719 -0
- package/src/docusaurus/view-model/description-anchors.ts +107 -0
- package/src/docusaurus/view-model/files-and-folders-vm.ts +1293 -0
- package/src/docusaurus/view-model/groups-vm.ts +548 -0
- package/src/docusaurus/view-model/members-vm.ts +1943 -0
- package/src/docusaurus/view-model/namespaces-vm.ts +1018 -0
- package/src/docusaurus/view-model/options.ts +95 -0
- package/src/docusaurus/view-model/pages-vm.ts +342 -0
- package/src/docusaurus/view-model/tree-entries-vm.ts +376 -0
- package/src/docusaurus/view-model/view-model.ts +513 -0
- package/src/docusaurus/workspace.ts +588 -0
- package/src/doxygen/data-model/README.md +13 -0
- package/src/doxygen/data-model/compounds/compounddef-dm.ts +1156 -0
- package/src/doxygen/data-model/compounds/compoundreftype-dm.ts +266 -0
- package/src/doxygen/data-model/compounds/descriptiontype-dm.ts +10107 -0
- package/src/doxygen/data-model/compounds/docvarlistentrytype-dm.ts +354 -0
- package/src/doxygen/data-model/compounds/doxygentype-dm.ts +187 -0
- package/src/doxygen/data-model/compounds/enumvaluetype-dm.ts +218 -0
- package/src/doxygen/data-model/compounds/inctype-dm.ts +217 -0
- package/src/doxygen/data-model/compounds/linkedtexttype-dm.ts +288 -0
- package/src/doxygen/data-model/compounds/listofallmemberstype-dm.ts +160 -0
- package/src/doxygen/data-model/compounds/locationtype-dm.ts +284 -0
- package/src/doxygen/data-model/compounds/memberdeftype-dm.ts +874 -0
- package/src/doxygen/data-model/compounds/memberreftype-dm.ts +270 -0
- package/src/doxygen/data-model/compounds/membertype-dm.ts +239 -0
- package/src/doxygen/data-model/compounds/paramtype-dm.ts +302 -0
- package/src/doxygen/data-model/compounds/referencetype-dm.ts +248 -0
- package/src/doxygen/data-model/compounds/reftexttype-dm.ts +234 -0
- package/src/doxygen/data-model/compounds/reftype-dm.ts +430 -0
- package/src/doxygen/data-model/compounds/reimplementtype-dm.ts +201 -0
- package/src/doxygen/data-model/compounds/sectiondeftype-dm.ts +330 -0
- package/src/doxygen/data-model/compounds/tableofcontentstype-dm.ts +563 -0
- package/src/doxygen/data-model/compounds/templateparamlisttype-dm.ts +150 -0
- package/src/doxygen/data-model/data-model.ts +377 -0
- package/src/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.ts +271 -0
- package/src/doxygen/data-model/doxyfile/doxyfiletype-dm.ts +200 -0
- package/src/doxygen/data-model/doxygen-xml-parser.ts +522 -0
- package/src/doxygen/data-model/index/indexcompoundtype-dm.ts +256 -0
- package/src/doxygen/data-model/index/indexdoxygentype-dm.ts +196 -0
- package/src/doxygen/data-model/index/indexmembertype-dm.ts +230 -0
- package/src/doxygen/data-model/types.ts +175 -0
- package/src/doxygen/data-model/xsds/README.md +6 -0
- package/src/doxygen/data-model/xsds/compound.xsd +1699 -0
- package/src/doxygen/data-model/xsds/doxyfile.xsd +355 -0
- package/src/doxygen/data-model/xsds/index.xsd +72 -0
- package/src/doxygen/data-model/xsds/xml.xsd +23 -0
- package/src/index.ts +261 -0
- package/src/tsconfig.json +10 -0
- package/dist/doxygen2docusaurus.d.ts +0 -4774
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/tsdoc-metadata.json +0 -11
|
@@ -0,0 +1,560 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the xPack project (http://xpack.github.io).
|
|
3
|
+
* Copyright (c) 2025-2026 Liviu Ionescu. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Permission to use, copy, modify, and/or distribute this software
|
|
6
|
+
* for any purpose is hereby granted, under the terms of the MIT license.
|
|
7
|
+
*
|
|
8
|
+
* If a copy of the license was not distributed with this file, it can
|
|
9
|
+
* be obtained from https://opensource.org/licenses/MIT.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
// ----------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
import assert from 'node:assert'
|
|
15
|
+
import * as fs from 'node:fs/promises'
|
|
16
|
+
import * as path from 'node:path'
|
|
17
|
+
// import * as util from 'node:util'
|
|
18
|
+
|
|
19
|
+
// ----------------------------------------------------------------------------
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Redirect configuration for URL compatibility.
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
export interface Redirects {
|
|
27
|
+
/** Source URL(s) to redirect from. */
|
|
28
|
+
from: string | string[]
|
|
29
|
+
/** Target URL to redirect to. */
|
|
30
|
+
to: string
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Configuration options as specified by users in configuration files.
|
|
35
|
+
*
|
|
36
|
+
* @remarks
|
|
37
|
+
* All options are optional and can be either string or boolean values
|
|
38
|
+
* depending on the specific configuration property.
|
|
39
|
+
*
|
|
40
|
+
* @public
|
|
41
|
+
*/
|
|
42
|
+
export type CliConfigurationOptions = Record<string, string | boolean>
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Command line argument options passed to the application.
|
|
46
|
+
*
|
|
47
|
+
* @remarks
|
|
48
|
+
* Represents the parsed command line arguments with flexible typing
|
|
49
|
+
* to accommodate various option formats and undefined values.
|
|
50
|
+
*
|
|
51
|
+
* @public
|
|
52
|
+
*/
|
|
53
|
+
export type CommandOptions = Record<string, string | boolean | undefined>
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Multiple configuration sets for different build scenarios.
|
|
57
|
+
*
|
|
58
|
+
* @remarks
|
|
59
|
+
* Allows defining different configuration profiles that can be selected
|
|
60
|
+
* based on the build context or command line parameters.
|
|
61
|
+
*
|
|
62
|
+
* @public
|
|
63
|
+
*/
|
|
64
|
+
export type MultiConfigurations = Record<string, CliConfigurationOptions>
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Generic package.json structure for configuration discovery.
|
|
68
|
+
*
|
|
69
|
+
* @internal
|
|
70
|
+
*/
|
|
71
|
+
// Prefer config.doxygen2docusaurus, but also accept doxygen2docusaurus.
|
|
72
|
+
interface GenericPackageConfiguration {
|
|
73
|
+
/** Nested configuration under the config property. */
|
|
74
|
+
config?: { doxygen2docusaurus: CliConfigurationOptions }
|
|
75
|
+
/** Direct configuration property. */
|
|
76
|
+
doxygen2docusaurus?: CliConfigurationOptions
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Comprehensive CLI options class for documentation generation configuration.
|
|
81
|
+
*
|
|
82
|
+
* @remarks
|
|
83
|
+
* The CliOptions class contains all configuration parameters that control
|
|
84
|
+
* the behaviour of the doxygen2docusaurus conversion process, including
|
|
85
|
+
* paths, URLs, styling, and feature toggles.
|
|
86
|
+
*
|
|
87
|
+
* @public
|
|
88
|
+
*/
|
|
89
|
+
export class CliOptions {
|
|
90
|
+
/**
|
|
91
|
+
* Path to the Doxygen XML input folder relative to the website folder.
|
|
92
|
+
*
|
|
93
|
+
* @remarks
|
|
94
|
+
* Specifies the location of XML files generated by Doxygen, typically
|
|
95
|
+
* containing the parsed documentation data. Path should not include
|
|
96
|
+
* initial or final slashes.
|
|
97
|
+
*
|
|
98
|
+
* @defaultValue 'doxygen/xml'
|
|
99
|
+
*/
|
|
100
|
+
doxygenXmlInputFolderPath = 'doxygen/xml'
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Path to the documentation folder relative to the website folder.
|
|
104
|
+
*
|
|
105
|
+
* @remarks
|
|
106
|
+
* Defines the base folder where generated documentation will be placed
|
|
107
|
+
* within the Docusaurus website structure. Path should not include
|
|
108
|
+
* initial or final slashes.
|
|
109
|
+
*
|
|
110
|
+
* @defaultValue 'docs'
|
|
111
|
+
*/
|
|
112
|
+
docsFolderPath = 'docs'
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Path to the API documentation folder relative to the docs folder.
|
|
116
|
+
*
|
|
117
|
+
* @remarks
|
|
118
|
+
* Specifies the subfolder within the docs folder where API reference
|
|
119
|
+
* documentation will be generated. Path should not include initial
|
|
120
|
+
* or final slashes.
|
|
121
|
+
*
|
|
122
|
+
* @defaultValue 'api'
|
|
123
|
+
*/
|
|
124
|
+
apiFolderPath = 'api'
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Base URL for the entire website.
|
|
128
|
+
*
|
|
129
|
+
* @remarks
|
|
130
|
+
* Defines the root URL path for the website, typically '/' for root
|
|
131
|
+
* deployment or '/project-name/' for GitHub Pages or similar hosting.
|
|
132
|
+
*
|
|
133
|
+
* @defaultValue '/'
|
|
134
|
+
*/
|
|
135
|
+
baseUrl = '/'
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* URL path to the documentation section relative to the website root.
|
|
139
|
+
*
|
|
140
|
+
* @remarks
|
|
141
|
+
* Specifies the URL segment that leads to the documentation section,
|
|
142
|
+
* without initial or final slashes. Used for navigation and linking.
|
|
143
|
+
*
|
|
144
|
+
* @defaultValue 'docs'
|
|
145
|
+
*/
|
|
146
|
+
docsBaseUrl = 'docs'
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* URL path to the API documentation relative to the docs section.
|
|
150
|
+
*
|
|
151
|
+
* @remarks
|
|
152
|
+
* Defines the URL segment for API documentation within the docs section,
|
|
153
|
+
* without initial or final slashes. Used for generating navigation links.
|
|
154
|
+
*
|
|
155
|
+
* @defaultValue 'api'
|
|
156
|
+
*/
|
|
157
|
+
apiBaseUrl = 'api'
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Path for images relative to the `static` folder.
|
|
161
|
+
*
|
|
162
|
+
* @remarks
|
|
163
|
+
* Specifies where Doxygen-generated images will be stored within the
|
|
164
|
+
* Docusaurus static assets folder structure.
|
|
165
|
+
*
|
|
166
|
+
* @defaultValue 'assets/images/doxygen'
|
|
167
|
+
*/
|
|
168
|
+
imagesFolderPath = 'assets/images/doxygen'
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Output folder for compatibility redirect files.
|
|
172
|
+
*
|
|
173
|
+
* @remarks
|
|
174
|
+
* Optional path relative to the website/static folder where HTML redirect
|
|
175
|
+
* files will be generated to maintain compatibility with original Doxygen
|
|
176
|
+
* URLs. When undefined, no redirect files are created.
|
|
177
|
+
*/
|
|
178
|
+
compatibilityRedirectsOutputFolderPath?: string | undefined
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Title displayed on the main API documentation page.
|
|
182
|
+
*
|
|
183
|
+
* @remarks
|
|
184
|
+
* When specified, this title overrides the default title generated from
|
|
185
|
+
* the project brief. When empty, the title is automatically constructed
|
|
186
|
+
* from the project configuration.
|
|
187
|
+
*
|
|
188
|
+
* @defaultValue ''
|
|
189
|
+
*/
|
|
190
|
+
mainPageTitle = ''
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Path to the sidebar category configuration file.
|
|
194
|
+
*
|
|
195
|
+
* @remarks
|
|
196
|
+
* Specifies the location where the generated sidebar category JSON
|
|
197
|
+
* configuration will be written, relative to the current website folder.
|
|
198
|
+
*
|
|
199
|
+
* @defaultValue 'sidebar-category-doxygen.json'
|
|
200
|
+
*/
|
|
201
|
+
sidebarCategoryFilePath = 'sidebar-category-doxygen.json'
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Label displayed in the Docusaurus sidebar for the API documentation.
|
|
205
|
+
*
|
|
206
|
+
* @remarks
|
|
207
|
+
* Short descriptive text that appears in the sidebar navigation to
|
|
208
|
+
* identify the API reference section.
|
|
209
|
+
*
|
|
210
|
+
* @defaultValue 'API Reference (Doxygen)'
|
|
211
|
+
*/
|
|
212
|
+
sidebarCategoryLabel = 'API Reference (Doxygen)'
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Path to the navbar dropdown configuration file.
|
|
216
|
+
*
|
|
217
|
+
* @remarks
|
|
218
|
+
* Specifies the location where the generated navbar dropdown JSON
|
|
219
|
+
* configuration will be written, relative to the current website folder.
|
|
220
|
+
*
|
|
221
|
+
* @defaultValue 'docusaurus-config-navbar-doxygen.json'
|
|
222
|
+
*/
|
|
223
|
+
navbarDropdownFilePath = 'docusaurus-config-navbar-doxygen.json'
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Label displayed in the top navigation bar.
|
|
227
|
+
*
|
|
228
|
+
* @remarks
|
|
229
|
+
* Short text that appears in the Docusaurus top navigation bar to
|
|
230
|
+
* provide access to the API documentation section.
|
|
231
|
+
*
|
|
232
|
+
* @defaultValue 'API Reference'
|
|
233
|
+
*/
|
|
234
|
+
navbarDropdownLabel = 'API Reference'
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Position of the navigation menu in the top bar.
|
|
238
|
+
*
|
|
239
|
+
* @remarks
|
|
240
|
+
* Determines whether the API documentation menu appears on the left
|
|
241
|
+
* or right side of the Docusaurus navigation bar.
|
|
242
|
+
*
|
|
243
|
+
* @defaultValue 'left'
|
|
244
|
+
*/
|
|
245
|
+
navbarDropdownPosition: 'left' | 'right' = 'left'
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Path to the custom CSS file for styling overrides.
|
|
249
|
+
*
|
|
250
|
+
* @remarks
|
|
251
|
+
* Specifies the location where custom CSS styles will be written to
|
|
252
|
+
* provide Doxygen-specific styling within the Docusaurus theme.
|
|
253
|
+
* Path is relative to the current website folder.
|
|
254
|
+
*
|
|
255
|
+
* @defaultValue 'src/css/custom-doxygen2docusaurus.css'
|
|
256
|
+
*/
|
|
257
|
+
customCssFilePath = 'src/css/custom-doxygen2docusaurus.css'
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Controls verbose output during the conversion process.
|
|
261
|
+
*
|
|
262
|
+
* @remarks
|
|
263
|
+
* When enabled, provides detailed logging information about the
|
|
264
|
+
* conversion process, including file processing status and statistics.
|
|
265
|
+
*
|
|
266
|
+
* @defaultValue false
|
|
267
|
+
*/
|
|
268
|
+
verbose = false
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* Controls debug-level output during the conversion process.
|
|
272
|
+
*
|
|
273
|
+
* @remarks
|
|
274
|
+
* When enabled, provides extensive debugging information useful for
|
|
275
|
+
* troubleshooting issues. Automatically enables verbose output as well.
|
|
276
|
+
*
|
|
277
|
+
* @defaultValue false
|
|
278
|
+
*/
|
|
279
|
+
debug = false
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* Controls whether TODO suggestion descriptions are displayed.
|
|
283
|
+
*
|
|
284
|
+
* @remarks
|
|
285
|
+
* When enabled, shows suggestions for improvements or missing content
|
|
286
|
+
* that could enhance the generated documentation quality.
|
|
287
|
+
*
|
|
288
|
+
* @defaultValue false
|
|
289
|
+
*/
|
|
290
|
+
suggestToDoDescriptions = false
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Controls whether pages are listed at the top of the sidebar.
|
|
294
|
+
*
|
|
295
|
+
* @remarks
|
|
296
|
+
* When enabled, places page links prominently at the top of the sidebar
|
|
297
|
+
* navigation structure for easier access to important pages.
|
|
298
|
+
*
|
|
299
|
+
* @defaultValue true
|
|
300
|
+
*/
|
|
301
|
+
listPagesAtTop = true
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Controls program listing rendering in File pages.
|
|
305
|
+
*
|
|
306
|
+
* @remarks
|
|
307
|
+
* When enabled, includes syntax-highlighted source code listings
|
|
308
|
+
* within the generated File documentation pages.
|
|
309
|
+
*
|
|
310
|
+
* @defaultValue true
|
|
311
|
+
*/
|
|
312
|
+
renderProgramListing = true
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* Controls program listing rendering in member definition sections.
|
|
316
|
+
*
|
|
317
|
+
* @remarks
|
|
318
|
+
* When enabled, includes inline syntax-highlighted code snippets
|
|
319
|
+
* within member documentation sections for better context.
|
|
320
|
+
*
|
|
321
|
+
* @defaultValue true
|
|
322
|
+
*/
|
|
323
|
+
renderProgramListingInline = true
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Note about the location of original Doxygen pages.
|
|
327
|
+
*
|
|
328
|
+
* @remarks
|
|
329
|
+
* Provides information about where to find the original Doxygen HTML
|
|
330
|
+
* pages for comparison purposes. When populated, this note is displayed
|
|
331
|
+
* to inform users about the availability of alternative documentation
|
|
332
|
+
* formats.
|
|
333
|
+
*/
|
|
334
|
+
originalPagesNote = ''
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* String identifier for distinguishing multiple configuration instances.
|
|
338
|
+
*
|
|
339
|
+
* @remarks
|
|
340
|
+
* Used when multiple configuration instances exist to provide unique
|
|
341
|
+
* identification. Particularly useful in multi-configuration scenarios
|
|
342
|
+
* where different settings need to be applied to different outputs.
|
|
343
|
+
*
|
|
344
|
+
* @defaultValue 'default'
|
|
345
|
+
*/
|
|
346
|
+
id = 'default'
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* Creates a new CliOptions instance with the specified command options.
|
|
350
|
+
*
|
|
351
|
+
* @remarks
|
|
352
|
+
* Initialises the configuration object by setting the ID and optional
|
|
353
|
+
* flags like verbose and debug. When the ID is not 'default', adjusts
|
|
354
|
+
* folder paths and file names to include the ID for multi-configuration
|
|
355
|
+
* scenarios.
|
|
356
|
+
*
|
|
357
|
+
* @param commandOptions - Command-line options object containing ID and flags
|
|
358
|
+
*/
|
|
359
|
+
constructor(commandOptions: CommandOptions) {
|
|
360
|
+
this.id = commandOptions.id as string
|
|
361
|
+
|
|
362
|
+
if (commandOptions.verbose !== undefined) {
|
|
363
|
+
this.verbose = true
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
if (commandOptions.debug !== undefined) {
|
|
367
|
+
this.debug = true
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
if (this.id !== 'default') {
|
|
371
|
+
this.apiFolderPath = this.id
|
|
372
|
+
this.apiBaseUrl = this.id
|
|
373
|
+
this.imagesFolderPath = `img/doxygen-${this.id}`
|
|
374
|
+
this.sidebarCategoryFilePath =
|
|
375
|
+
'sidebar-category-doxygen' + `-${this.id}.json`
|
|
376
|
+
this.navbarDropdownFilePath =
|
|
377
|
+
'docusaurus-config-navbar-doxygen' + `-${this.id}.json`
|
|
378
|
+
} else {
|
|
379
|
+
this.apiFolderPath = 'api'
|
|
380
|
+
this.apiBaseUrl = 'api'
|
|
381
|
+
this.imagesFolderPath = `img/doxygen`
|
|
382
|
+
this.sidebarCategoryFilePath = `sidebar-category-doxygen.json`
|
|
383
|
+
this.navbarDropdownFilePath = `docusaurus-config-navbar-doxygen.json`
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* Parses configuration options from various JSON configuration sources.
|
|
389
|
+
*
|
|
390
|
+
* @remarks
|
|
391
|
+
* Attempts to load configuration from multiple locations in order of
|
|
392
|
+
* preference: config/doxygen2docusaurus.json, doxygen2docusaurus.json,
|
|
393
|
+
* and package.json. Validates required properties and enables debug
|
|
394
|
+
* output if requested.
|
|
395
|
+
*
|
|
396
|
+
* @throws Assertion error if required configuration properties are missing
|
|
397
|
+
*/
|
|
398
|
+
async parse(): Promise<void> {
|
|
399
|
+
let configurationOptions: CliConfigurationOptions | undefined = undefined
|
|
400
|
+
|
|
401
|
+
try {
|
|
402
|
+
const userPackageJsonPath = path.resolve(
|
|
403
|
+
process.cwd(),
|
|
404
|
+
'config',
|
|
405
|
+
'doxygen2docusaurus.json'
|
|
406
|
+
)
|
|
407
|
+
const pkgJsonRaw = await fs.readFile(userPackageJsonPath, 'utf8')
|
|
408
|
+
|
|
409
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
410
|
+
const multiConfigurations: MultiConfigurations = JSON.parse(pkgJsonRaw)
|
|
411
|
+
|
|
412
|
+
configurationOptions = this.selectMultiConfiguration(multiConfigurations)
|
|
413
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
414
|
+
} catch (err) {
|
|
415
|
+
/* Cannot read/parse JSON */
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
if (configurationOptions === undefined) {
|
|
419
|
+
try {
|
|
420
|
+
const userPackageJsonPath = path.resolve(
|
|
421
|
+
process.cwd(),
|
|
422
|
+
'doxygen2docusaurus.json'
|
|
423
|
+
)
|
|
424
|
+
const pkgJsonRaw = await fs.readFile(userPackageJsonPath, 'utf8')
|
|
425
|
+
|
|
426
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
427
|
+
const multiConfigurations: MultiConfigurations = JSON.parse(pkgJsonRaw)
|
|
428
|
+
|
|
429
|
+
configurationOptions =
|
|
430
|
+
this.selectMultiConfiguration(multiConfigurations)
|
|
431
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
432
|
+
} catch (err) {
|
|
433
|
+
/* Cannot read/parse JSON */
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
if (configurationOptions === undefined) {
|
|
438
|
+
try {
|
|
439
|
+
// Try to get the configuration from
|
|
440
|
+
// package.json/[config/]doxygen2docusaurus.
|
|
441
|
+
const userPackageJsonPath = path.resolve(process.cwd(), 'package.json')
|
|
442
|
+
const pkgJsonRaw = await fs.readFile(userPackageJsonPath, 'utf8')
|
|
443
|
+
|
|
444
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
445
|
+
const pkgJson: GenericPackageConfiguration = JSON.parse(pkgJsonRaw)
|
|
446
|
+
|
|
447
|
+
const multiConfigurations:
|
|
448
|
+
| CliConfigurationOptions
|
|
449
|
+
| MultiConfigurations
|
|
450
|
+
| undefined =
|
|
451
|
+
pkgJson.config?.doxygen2docusaurus ?? pkgJson.doxygen2docusaurus
|
|
452
|
+
|
|
453
|
+
if (multiConfigurations !== undefined) {
|
|
454
|
+
configurationOptions =
|
|
455
|
+
this.selectMultiConfiguration(multiConfigurations)
|
|
456
|
+
}
|
|
457
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
458
|
+
} catch (err) {
|
|
459
|
+
/* Cannot read/parse JSON */
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
if (configurationOptions !== undefined) {
|
|
464
|
+
if (this.debug) {
|
|
465
|
+
console.log(configurationOptions)
|
|
466
|
+
}
|
|
467
|
+
// Override only properties that exist in CliOptions
|
|
468
|
+
const thisProperties = Object.getOwnPropertyNames(this)
|
|
469
|
+
|
|
470
|
+
for (const key of Object.keys(configurationOptions)) {
|
|
471
|
+
const value: unknown = configurationOptions[key]
|
|
472
|
+
// console.log(key, value)
|
|
473
|
+
if (value !== undefined && thisProperties.includes(key)) {
|
|
474
|
+
const thisProperty = (this as Record<string, unknown>)[key]
|
|
475
|
+
const thisType = typeof thisProperty
|
|
476
|
+
const valueType = typeof value
|
|
477
|
+
|
|
478
|
+
// if (['id', 'verbose', 'debug'].includes(key)) {
|
|
479
|
+
if (['id'].includes(key)) {
|
|
480
|
+
continue
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
// Override only if types match.
|
|
484
|
+
if (thisType === valueType) {
|
|
485
|
+
;(this as Record<string, unknown>)[key] = value
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
if (this.debug) {
|
|
492
|
+
this.verbose = true
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
if (this.verbose) {
|
|
496
|
+
console.log()
|
|
497
|
+
console.log(this)
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
assert(
|
|
501
|
+
this.doxygenXmlInputFolderPath.length > 0,
|
|
502
|
+
'doxygenXmlInputFolderPath is required'
|
|
503
|
+
)
|
|
504
|
+
|
|
505
|
+
assert(this.docsFolderPath.length > 0, 'docsFolderPath is required')
|
|
506
|
+
assert(this.apiFolderPath.length > 0, 'apiFolderPath is required')
|
|
507
|
+
|
|
508
|
+
assert(this.docsBaseUrl.length > 0, 'docsBaseUrl is required')
|
|
509
|
+
// assert(this.apiBaseUrl.length > 0, 'apiBaseUrl is required')
|
|
510
|
+
|
|
511
|
+
assert(
|
|
512
|
+
this.sidebarCategoryFilePath.length > 0,
|
|
513
|
+
'sidebarCategoryFilePath is required'
|
|
514
|
+
)
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
/**
|
|
518
|
+
* Selects the appropriate configuration from multi-configuration options.
|
|
519
|
+
*
|
|
520
|
+
* @remarks
|
|
521
|
+
* When using a specific ID, returns the corresponding configuration.
|
|
522
|
+
* For the default ID, returns either the 'default' configuration or
|
|
523
|
+
* treats the entire object as a single configuration.
|
|
524
|
+
*
|
|
525
|
+
* @param multiConfigurations - Configuration object or multi-config map
|
|
526
|
+
* @returns Selected configuration options or undefined if not found
|
|
527
|
+
*/
|
|
528
|
+
selectMultiConfiguration(
|
|
529
|
+
multiConfigurations: CliConfigurationOptions | MultiConfigurations
|
|
530
|
+
): CliConfigurationOptions | undefined {
|
|
531
|
+
let configurationOptions: CliConfigurationOptions | undefined = undefined
|
|
532
|
+
if (this.id !== 'default') {
|
|
533
|
+
configurationOptions = (
|
|
534
|
+
multiConfigurations as Record<
|
|
535
|
+
string,
|
|
536
|
+
CliConfigurationOptions | undefined
|
|
537
|
+
>
|
|
538
|
+
)[this.id]
|
|
539
|
+
|
|
540
|
+
if (configurationOptions !== undefined) {
|
|
541
|
+
configurationOptions.id = this.id
|
|
542
|
+
}
|
|
543
|
+
} else {
|
|
544
|
+
const multiConfig = multiConfigurations as MultiConfigurations
|
|
545
|
+
configurationOptions =
|
|
546
|
+
'default' in multiConfig
|
|
547
|
+
? multiConfig.default
|
|
548
|
+
: (multiConfigurations as CliConfigurationOptions)
|
|
549
|
+
}
|
|
550
|
+
return configurationOptions
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
// Was used during development. Now stick to true.
|
|
555
|
+
export const renderParagraphs = true
|
|
556
|
+
|
|
557
|
+
// Does not make noticeable differences.
|
|
558
|
+
export const maxParallelPromises = 42
|
|
559
|
+
|
|
560
|
+
// ----------------------------------------------------------------------------
|