generate-cli-api-help v0.0.7
What's this?
Given a TypeScript interface be able to:
- print given interface describing each property using TS typing info and jsdoc
Supports different output formats (markdown, JavaScript string, etc)
a markdown section detailing JavaScript API Usage information -->
Returned text can be used in different parts of user's program, for example, README.md, showHelp() function of CLI, etc. Ideal for small tools that defines its "Options" object in a TS interface.
Ideally, projects should use this tool at build time to build the help strings assets. Using the tool dynamically is possible but but take into account that : this project depends on typescript which is big. If user's app aim is to be small (and perhaps support browser) then using the API directly is a bad idea.
Usage Node.js API
npm install --save generate-cli-api-help
import {printHelp} from 'generate-cli-api-help'
const fileWithInterface = 'src/types.ts' // the .ts file containing the Config / Options interface from which to extract the help usage information
const interfaceName = 'MyAwesomeAppOptions' // The name of the interface with usage / config options
const config = {fileWithInterface, interfaceName}
const addMeToYourCode = printHelp(config)
Usage CLI
npm install -g generate-cli-api-help
generate-cli-api-help --input src/types.ts --interfaceName Options
TODO
support inheritance
move to its own repo
object validation : given a config object and interface validate the input. Validate Optionals. user programs could use us like:
const args = .... // minimist/yargs like object.
validate({input: file.ts, interfaceName: 'Config', validate: args})
Validate optionals but also types and non existent properties ?