forked from github/docs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a script for syncing rest and webhooks (#36688)
- Loading branch information
Showing
2 changed files
with
65 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
#!/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 -- --version api.github.com ; npm run dev') | ||
) | ||
log( | ||
chalk.cyan.bold(' - Two versions:') + | ||
' ' + | ||
chalk.magenta('npm run sync-rest -- --version 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 --version api.github.com ; 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 -- --version api.github.com ; npm run dev') | ||
) | ||
log( | ||
chalk.cyan.bold(' - Two versions:') + | ||
' ' + | ||
chalk.magenta('npm run sync-webhooks -- --version 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') |