Generates help messages of CLI applications in markdown format in markdown format
- Add the following to your README.md
<!-- CLI_HELP_START --> <!-- CLI_HELP_END -->
- Allow execution of your cli utilities. For example in bash you can do it like this
- Bash Version
find ./dist/cli/ -name "*.js" -exec chmod +x {} \;
- Javascript version
const files = glob.sync(path.resolve(process.cwd(), 'dist', 'cli', "*.js")); const writeMode = '755' for (const file of files) { fsExtra.chmodSync(file, writeMode) }
- Bash Version
- Run this javascript code
import {readFileSync, writeFileSync} from 'fs';
import {generateHelpOfCliAppsInMarkdownFormat} from '@freephoenix888/generate-help-of-cli-apps-in-markdown-format';
const cliAppFilePaths = ['./dist/cli/name.js'/* You need to specify the paths here or get them from elsewhere. */]; // If you build your typescript files into dist/cli folder then you can use this code to get the paths: await glob(`./dist/cli/*.js`, {absolute: true})
const generatedHelpOfCliApps = generateHelpOfCliAppsInMarkdownFormat({
cliAppFilePaths,
output: {
writeMode: 'replace-placeholder',
placeholder: {
start: `<!-- CLI_HELP_START -->`,
end: `<!-- CLI_HELP_END -->`,
},
filePath: `./README.md`,
}
});
Run this bash script
find ./dist/cli/ -name "*.js" -exec chmod +x {} \;
cli_help=$(npx --yes @freephoenix888/generate-help-of-cli-apps-in-markdown-format --cli-app-file-paths $(find ./dist/cli/*.js) --root-header-level 2)
pattern="(<!-- CLI_HELP_START -->)[\\S\\s]*(<!-- CLI_HELP_END -->)"
replacement=$'$1\n'"${cli_help}"$'\n$2'
npx --yes replace "$pattern" "$replacement" README.md
See Documentation for examples and API