1
0
mirror of synced 2026-01-14 21:01:32 -05:00
Files
docs/src/rest/docs.js

72 lines
2.6 KiB
JavaScript
Executable File

#!/usr/bin/env node
import chalk from 'chalk'
import { readFile } from 'fs/promises'
import { allVersions } from '../../lib/all-versions.js'
// Translate the docs versioning nomenclature back to the OpenAPI names
const invertedVersionMapping = JSON.parse(await readFile('src/rest/lib/config.json')).versionMapping
const versionMapping = {}
Object.assign(
versionMapping,
...Object.entries(invertedVersionMapping).map(([a, b]) => ({ [b]: a })),
)
const openApiVersions = Object.values(allVersions)
.map((version) => version.openApiVersionName)
.map((version) => (version in versionMapping ? versionMapping[version] : version))
.join(', ')
const log = console.log
log(chalk.green.bold.underline('REST docs\n'))
log(chalk.green.bold(' Examples of ways you can build the REST docs locally:\n'))
log(chalk.cyan.bold(' - All versions:') + ' ' + chalk.magenta('npm run sync-rest ; npm run dev'))
log(
chalk.cyan.bold(' - Dotcom only:') +
' ' +
chalk.magenta('npm run sync-rest -- --versions api.github.com ; npm run dev'),
)
log(
chalk.cyan.bold(' - Two versions:') +
' ' +
chalk.magenta('npm run sync-rest -- --versions ghes-3.7 ghes-3.8 ; npm run dev'),
)
log(
chalk.cyan.bold(' - Dotcom and next calendar date version:') +
' ' +
chalk.magenta('npm run sync-rest -- --next --versions api.github.com ; npm run dev'),
)
log(
chalk.cyan.bold(' - Dotcom only, including unpublished operations:') +
' ' +
chalk.magenta(
'npm run sync-rest -- --versions api.github.com --include-unpublished ; npm run dev',
),
)
log(chalk.green.bold.underline('\nWebhook docs\n'))
log(chalk.green.bold(' Examples of ways you can build the Webhook docs locally:\n'))
log(
chalk.cyan.bold(' - All versions:') +
' ' +
chalk.magenta('npm run sync-webhooks ; npm run dev'),
)
log(
chalk.cyan.bold(' - Dotcom only:') +
' ' +
chalk.magenta('npm run sync-webhooks -- --versions api.github.com ; npm run dev'),
)
log(
chalk.cyan.bold(' - Two versions:') +
' ' +
chalk.magenta('npm run sync-webhooks -- --versions ghes-3.7 ghes-3.8 ; npm run dev'),
)
log(chalk.green.bold('\nYou can build specific versions of the REST and Webhook docs.\n'))
log(chalk.white.bold(' Versions that can be built: ', openApiVersions, '\n'))
log(chalk.green.bold('\nThere are also additional options you can pass. For details run:\n'))
log(chalk.white.bold(' npm run sync-rest -- --help'))
log(chalk.white(' or'))
log(chalk.white.bold(' npm run sync-webhooks -- --help'))
log(chalk.green.bold('\nTo start the local development server run:\n'))
log(chalk.white.bold(' npm run dev'))
log('\n\n')