-
Notifications
You must be signed in to change notification settings - Fork 61.6k
/
Copy pathdocs.js
executable file
·77 lines (74 loc) · 2.72 KB
/
docs.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import chalk from 'chalk'
import { readFile } from 'fs/promises'
import { allVersions } from '#src/versions/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(
'\nUse this script to build a local docs review. You 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('To start the local development server run:\n'))
log(chalk.white.bold(' npm run dev\n'))
log(chalk.green.bold.underline('REST docs script examples\n'))
log(chalk.green.bold(' Examples of ways you can build the REST docs locally:\n'))
log(
chalk.cyan.bold(' - REST All versions:') +
' ' +
chalk.magenta('npm run sync-rest && npm run dev'),
)
log(
chalk.cyan.bold(' - REST Dotcom only:') +
' ' +
chalk.magenta('npm run sync-rest -- --versions api.github.com && npm run dev'),
)
log(
chalk.cyan.bold(' - REST Two versions:') +
' ' +
chalk.magenta('npm run sync-rest -- --versions ghes-3.7 ghes-3.8 && npm run dev'),
)
log(
chalk.cyan.bold(' - REST Dotcom and next calendar date version:') +
' ' +
chalk.magenta('npm run sync-rest -- --next --versions api.github.com && npm run dev'),
)
log(
chalk.cyan.bold(' - REST 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 script examples\n'))
log(chalk.green.bold(' Examples of ways you can build the Webhook docs locally:\n'))
log(
chalk.cyan.bold(' - Webhooks All versions:') +
' ' +
chalk.magenta('npm run sync-webhooks && npm run dev'),
)
log(
chalk.cyan.bold(' - Webhooks Dotcom only:') +
' ' +
chalk.magenta('npm run sync-webhooks -- --versions api.github.com && npm run dev'),
)
log(
chalk.cyan.bold(' - Webhooks Two versions:') +
' ' +
chalk.magenta('npm run sync-webhooks -- --versions ghes-3.7 ghes-3.8 && npm run dev'),
)
log(chalk.green.bold('\nFor more info and additional options, 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('\n\n')