FreePhoenix888 / generate-help-of-cli-apps-in-markdown-format

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

npm Gitpod

Generates help messages of CLI applications in markdown format in markdown format

Table Of Contents

Quick Start

  • 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)
      }
  • 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`,
  }
});

Bash

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

Library

Library Usage

See Documentation for examples and API

About


Languages

Language:TypeScript 100.0%