documentation/bin/documentation.js
Tom MacWright 631c6925d4 feat(core): Switch to Promises everywhere. Adopt Node v4 ES6 (#648)
* feat(core): Switch to Promises everywhere. Adopt Node v4 ES6

Big changes:

* Uses template strings where appropriate
* Config and argument parsing is unified and there is no such thing
  as formatterOptions anymore. All user-passed options go through
  mergeConfig.
* The node API surface changed (again): `buildSync` is removed,
  building operations return Promises.
* Now using Flow for internal type annotations.

More changes:

* Remove buildSync command
* feat(inference): Partially implement object shorthand support
* Refs #649
* Use Flow annotations to  enforce types
* Keep flow but switch to comment syntax
* Clarify types
* More flow improvements
* Turn server into class
* LinkerStack becomes class too
* Fix comment description type
* Run flow on lint
* Many more flow fixes
* More intense flow refactoring
* Simplify inference steps
* Update inference tests, flow errors down to 1
* Continue refining types
* Fix more flow issues
* Use 'use strict' everywhere
* Make 'ast' property configurable
* Fix many tests
* Fix more tests
* Fix more tests
* Fix augments
* Test Markdown meta support
* Improve test coverage
* Switch back from for of to for for speed
2017-01-27 16:14:19 -05:00

63 lines
1.4 KiB
JavaScript
Executable File

#!/usr/bin/env node
/* eslint no-console: 0 */
'use strict';
var yargs = require('yargs'),
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);
}