forked from mamba-org/provision-with-micromamba
-
Notifications
You must be signed in to change notification settings - Fork 0
/
generate-inputs-docs.js
30 lines (26 loc) · 979 Bytes
/
generate-inputs-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
const fs = require('fs')
const jsYaml = require('js-yaml')
const GENERATED_MARKER_START = '<!-- generated by generate-inputs-docs.js -->'
const GENERATED_MARKER_END = '<!-- end generated -->'
function generateInputsDocs (inputs) {
let markdown = ''
for (const inputName in inputs) {
const input = inputs[inputName]
markdown += `\n### \`${inputName}\`\n\n${input.description}\n`
if (input.default) {
markdown += `\nDefault value: \`${input.default}\`\n`
}
}
return markdown
}
function main () {
const yaml = jsYaml.safeLoad(fs.readFileSync('action.yml'))
const inputsDocs = generateInputsDocs(yaml.inputs)
const oldReadmeContent = fs.readFileSync('README.md').toString()
const newReadmeContent = oldReadmeContent.replace(
new RegExp(GENERATED_MARKER_START + '.+' + GENERATED_MARKER_END, 'ms'),
GENERATED_MARKER_START + '\n' + inputsDocs + '\n' + GENERATED_MARKER_END
)
fs.writeFileSync('README.md', newReadmeContent)
}
main()