beidou-cli
v2.3.0
Published
Beidou cli tools
Downloads
19
Readme
beidou-cli
Beidou application cli tool
Install
Global install beidou-cli
if you need to init beidou boilerplate, use local install otherwise.
global
$ npm install beidou-cli -g
local
$ npm install beidou-cli --save
Usage
Add beidou
to package.json
scripts:
{
"scripts": {
"dev": "beidou dev",
"debug": "beidou debug",
"test": "beidou test",
"cov": "beidou cov",
"start": "beidou start",
"stop": "beidou stop",
"build": "beidou build"
}
}
Command
All the commands support these specific v8 options:
--debug
--inspect
--harmony*
--es_staging
$ beidou [command] --debug --es_staging
if process.env.NODE_DEBUG_OPTION
is provided (WebStorm etc), will use it as debug options.
init
command
Init beidou boilerplate project
$ beidou init
options
--tag=next
init boilerplate project with npm next tag, used for alpha or beta version.--force
force to overwrite directory.
Choose boilerplate
$ beidou init
? Please select a boilerplate type (Use arrow keys)
❯ Simple - Simple beidou isomorphic app boilerplate
Redux - Redux beidou isomorphic app boilerplate
CSS-MODULES - css-modules beidou isomorphic app boilerplate
Advanced - Advanced beidou isomorphic app boilerplate
dev
Start dev cluster on local
env, it will start a master, an agent and a worker.
$ beidou dev
options
--baseDir
application's root path, default toprocess.cwd()
.--port
server port, default to6001
.--cluster
worker process number, skip this argvs will start only1
worker, provide this without value will startcpu
count worker.--sticky
start a sticky cluster server, default tofalse
.
debug
Debug beidou app with V8 Inspector Integration.
automatically detect the protocol, use the new inspector
when the targeted runtime >=7.0.0 .
use inspector-proxy to proxy worker debug, so you don't need to worry about reload.
$ beidou debug --debug-port=9229 --proxy=9999
options
- all
beidou dev
options is accepted. --proxy=9999
worker debug proxy port.
test
Using [mocha] with [co-mocha] to run test.
[power-assert] is the default assert
library, and [intelli-espower-loader] will be auto required.
$ beidou test [files] [options]
files
is optional, default totest/**/*.test.js
test/fixtures
,test/node_modules
is always exclude.
auto require test/.setup.js
If test/.setup.js
file exists, it will be auto require as the first test file.
test
├── .setup.js
└── foo.test.js
options
You can pass any mocha argv.
--require
require the given module--grep
only run tests matching--timeout
milliseconds, default to 30000--full-trace
display the full stack trace, default to false.- see more at https://mochajs.org/#usage
environment
Environment is also support, will use it if options not provide.
You can set TESTS
env to set the tests directory, it support [glob] grammar.
TESTS=test/a.test.js beidou test
And the reporter can set by the TEST_REPORTER
env, default is spec
.
TEST_REPORTER=doc beidou test
The test timeout can set by TEST_TIMEOUT
env, default is 30000
ms.
TEST_TIMEOUT=2000 beidou test
cov
Using [istanbul] to run code coverage, it support all test params above.
Coverage reporter will output text-summary, json and lcov.
options
You can pass any mocha argv.
-x
add dir ignore coverage, support multiple argv--prerequire
prerequire files for coverage instrument, you can use this options if load files slowly when callmm.app
ormm.cluster
- also support all test params above.
environment
You can set COV_EXCLUDES
env to add dir ignore coverage.
$ COV_EXCLUDES="app/plugins/c*,app/autocreate/**" beidou cov
start
Start beidou server at production mode.
$ beidou start [options] [baseDir]
# Usage
# beidou start --port=7001
# beidou start ./server
- Arguments
baseDir
- directory of application, default toprocess.cwd()
.
- Options
port
- listening port, default toprocess.env.PORT
, if unset, egg will use6001
as default.title
- process title description, use for kill grep, default toegg-server-${APP_NAME}
.workers
- numbers of app workers, default toprocess.env.EGG_WORKERS
, if unset, egg will useos.cpus().length
as default.daemon
- whether run at background daemon mode, don't use it if in docker mode.env
- server env, default toprocess.env.EGG_SERVER_ENV
, recommended to keep empty then use framwork default env.stdout
- customize stdout file, default to$HOME/logs/master-stdout.log
.stderr
- customize stderr file, default to$HOME/logs/master-stderr.log
.timeout
- the maximum timeout when app starts, default to 300s.ignore-stderr
- whether ignore stderr when app starts.
stop
Stop beidou gracefull.
Note: if exec without --title
, it will kill all egg process.
# stop egg
$ beidou stop [--title=example]
- Options
title
- process title description, use for kill grep.
build
Build beidou assets
- Options
target
- build target,node
orbrowser
(default)