fix(usage-to-readme): fix multiple .USAGE.md changes

This commit is contained in:
Julien Fontanet
2024-01-19 10:23:52 +01:00
parent 3892efcca2
commit a624330818
+24 -18
View File
@@ -10,32 +10,38 @@ const { execFile } = require('node:child_process')
const generateReadme = readFile(join(__dirname, 'README.md.tpl'), 'utf8').then(compile) const generateReadme = readFile(join(__dirname, 'README.md.tpl'), 'utf8').then(compile)
async function usageToReadme(...args) { async function usageToReadme(...args) {
console.error(process.argv, args)
const gitAdd = args[0] === '--git-add' const gitAdd = args[0] === '--git-add'
if (gitAdd) { if (gitAdd) {
args.shift() args.shift()
} }
const usagePath = args[0] for (const usagePath of args) {
const dir = dirname(usagePath) console.error(usagePath)
const dir = dirname(usagePath)
const [usage, pkg] = await Promise.all([ const [usage, pkg] = await Promise.all([
readFile(usagePath, 'utf8'), readFile(usagePath, 'utf8'),
readFile(join(dir, 'package.json')).then(JSON.parse), readFile(join(dir, 'package.json')).then(JSON.parse),
]) ])
const readmePath = join(dir, 'README.md') const readmePath = join(dir, 'README.md')
await writeFile(readmePath, (await generateReadme)({ pkg, usage: usage.trim() })) await writeFile(readmePath, (await generateReadme)({ pkg, usage: usage.trim() }))
if (gitAdd) { if (gitAdd) {
await new Promise((resolve, reject) => { await new Promise((resolve, reject) => {
execFile('git', ['add', '--', readmePath]) execFile('git', ['add', '--', readmePath])
.on('error', reject) .on('error', reject)
.on('exit', code => { .on('exit', code => {
if (code !== 0) { if (code !== 0) {
reject(new Error('command exited with non-zero status code: ' + code)) reject(new Error('command exited with non-zero status code: ' + code))
} } else {
}) resolve()
}) }
})
})
}
} }
} }