docs: enhance how references are generated (#5805)

* adjusted configurations

* enhancements to tool and configurations

* change reference in docs

* fixed issue in workflows reference

* added project name

* more optimizations

* fix context error

* added a types reference

* resolved missing types

* fix reference reflection types not having children

* add an expand url parameter

* added new option to the README

* added details about new option
This commit is contained in:
Shahed Nasser
2023-12-05 15:29:41 +02:00
committed by GitHub
parent a418e6cebc
commit 892d737c1f
4358 changed files with 947876 additions and 534760 deletions

View File

@@ -11,6 +11,9 @@ const require = createRequire(import.meta.url)
const referenceNames = process.argv.slice(2) || ["all"]
const basePath = path.join(require.resolve("typedoc-config"), "..")
let generatedCount = 0
let totalCount = 0
let ranMerger = false
if (!referenceNames.length) {
console.error(
@@ -27,15 +30,19 @@ referenceNames.forEach((name) => {
// `typedoc-config` directory, except for files starting
// with `_`
const files = globSync("[^_]**.js", {
cwd: path.join(basePath),
cwd: basePath,
})
totalCount = files.length
files.forEach((file) => generateReference(file))
} else if (name === "merge") {
runMerger()
} else {
totalCount = 1
generateReference(`${name}.js`)
}
})
function generateReference(referenceName: string) {
export function generateReference(referenceName: string) {
const configPathName = path.join(basePath, referenceName)
// check if the config file exists
@@ -54,6 +61,12 @@ function generateReference(referenceName: string) {
typedocProcess.stdout?.on("data", (chunk: string) => {
formatColoredLog(colorLog, referenceName, chunk.trim())
})
typedocProcess.on("exit", (code) => {
generatedCount++
if (generatedCount >= totalCount && !ranMerger && code !== 1) {
runMerger()
}
})
typedocProcess.stderr?.on("data", (chunk: string) => {
// split multiline outputs
const split: string[] = chunk.split("\n")
@@ -79,3 +92,10 @@ function formatColoredLog(
) {
console.log(`${chalkInstance(title)} -> ${message}`)
}
function runMerger() {
// run merger
console.log(chalk.bgBlueBright("\n\nRunning Merger\n\n"))
ranMerger = true
generateReference("_merger.js")
}