documentation/bin/documentation.js
Tom MacWright 11d9045a00 Native Flow, use Jest (#767)
* build: Use Flow syntax without comments.

We're switching to Flow annotations - not Flow comments. This
gives documentation.js the ability to self-document without
JSDoc types and improves our compatibility with tools like
prettier.

Fixes #729. Fixes #709
2017-05-08 20:46:21 -04:00

64 lines
1.4 KiB
JavaScript
Executable File

#!/usr/bin/env node
/* eslint no-console: 0 */
var yargs = require('yargs');
var commands = require('../lib/commands');
var argv = yargs
.command(commands.serve)
.command(commands.build)
.command(commands.lint)
.command(commands.readme)
.fail(function(msg, error) {
if (error) {
throw error;
} else {
yargs.showHelp('error');
console.error(msg);
return yargs.exit(1);
}
})
.version(function() {
return require('../package').version;
})
.usage(
`Usage:
# generate markdown docs for index.js and files it references
$0 build index.js -f md
# generate html docs for all files in src
$0 build src/** -f html -o docs
# document index.js, ignoring any files it requires or imports
$0 build index.js -f md --shallow
# build, serve, and live-update html docs for app.js
$0 serve app.js
# validate JSDoc syntax in util.js
$0 lint util.js
# update the API section of README.md with docs from index.js
$0 readme index.js --section=API
# build docs for all values exported by index.js
$0 build --document-exported index.js
`
)
.recommendCommands()
.help().argv;
if (argv.private) {
console.error(
'--private is deprecated, please use the --access (or -a) option instead'
);
console.error('for example: -a public -a private -a protected -a undefined');
}
if (!argv._handled) {
yargs.showHelp('error');
process.exit(1);
}