* feat: improve upgrade * feat: addMigrations * fix: get version * feat: retry * feat: migration context * feat: get the version number from the server
6.2 KiB
order |
---|
2 |
NocoBase CLI
NocoBase CLI is designed to help you develop, build, and deploy NocoBase applications.
NocoBase CLI supports both ts-node and node modes
- ts-node mode (default): used for development environment, supports real-time compilation, but slow response
- node mode: for production environment, fast response, but need to execute
yarn nocobase build
to compile all source code first
Instructions
$ yarn nocobase -h
Usage: nocobase [command] [options]
Options:
-h, --help
Commands:
create-plugin Create plugin scaffolding
console
db:auth Verify that the database connection is successful
db:sync Generate relevant data tables and fields from collections configuration
install Install
start Start the application in the production environment
build Compile and package
clean Delete the compiled files
dev Start the application for the development environment and supports live compilation
doc Documentation development
test Test
umi
upgrade Upgrade
help
Use in scaffolding
The scripts
in the application scaffolding package.json
are as follows
{
"scripts": {
"dev": "nocobase dev",
"start": "nocobase start",
"clean": "nocobase clean",
"build": "nocobase build",
"test": "nocobase test",
"postinstall": "nocobase umi generate tmp"
}
}
Extensions
NocoBase CLI is built on commander, you can freely extend the command, the extended command can be written in app/server/index.ts
.
const app = new Application(config);
app.command('hello').action(() => {});
Alternatively, write in the plugin.
class MyPlugin extends Plugin {
beforeLoad() {
this.app.command('hello').action(() => {});
}
}
Terminal runs
$ yarn nocobase hello
Built-in command line
Sort by frequency of use
dev
Start the application in the development environment and the code is compiled in real time.
NocoBase will be installed automatically if it is not installed (refer to the install command)Usage: nocobase dev [options]
Options:
-p, --port [port]
--client
--server
-h, --help
Example
# Start application for development environment, live compile
yarn nocobase dev
# Start only the server side
yarn nocobase dev --server
# Start only the client side
yarn nocobase dev --client
start
Start the application in a production environment, the code needs to be yarn build.
- NocoBase will be installed automatically if it is not installed (refer to the install command)
- If the source code has been modified, it needs to be repackaged (refer to the build command)
$ yarn nocobase start -h
Usage: nocobase start [options]
Options:
-p, --port
-s, --silent
-h, --help
Example
# Start the application in a production environment
yarn nocobase start
install
Install
$ yarn nocobase install -h
Usage: nocobase install [options]
Options:
-f, --force
-c, --clean
-s, --silent
-l, --lang [lang]
-e, --root-email <rootEmail>
-p, --root-password <rootPassword>
-n, --root-nickname [rootNickname]
-h, --help
Example
# Initial Installation
yarn nocobase install -l en-US -e admin@nocobase.com -p admin123
# Delete all data tables of NocoBase and reinstall
yarn nocobase install -f -l en-US -e admin@nocobase.com -p admin123
# Empty the database and reinstall
yarn nocobase install -c -l en-US -e admin@nocobase.com -p admin123
Difference between -f/--force
and -c/--clean
-f/--force
Delete all data tables of NocoBase-c/--clean
Delete all data tables of the database
upgrade
Upgrade
yarn nocobase upgrade
test
jest tests, supports all jest-cli options, and extends -c, --db-clean
support in addition.
$ yarn nocobase test -h
Usage: nocobase test [options]
Options:
-c, --db-clean Empty the database before running all tests
-h, --help
Example
# Run all test files
yarn nocobase test
# Run all test files in the specified folder
yarn nocobase test packages/core/server
# Run all tests in the specified file
yarn nocobase test packages/core/database/src/__tests__/database.test.ts
# Empty the database before running tests
yarn nocobase test -c
yarn nocobase test packages/core/server -c
build
Before deployed to the production environment, the source code needs to be compiled and packaged. It needs to be rebuilt if there are changes to the code.
# All packages
yarn nocobase build
# Specified package
yarn nocobase build app/server app/client
clean
Delete the compiled file
yarn clean
# Equivalent to
yarn rimraf -rf packages/*/*/{lib,esm,es,dist}
doc
Documentation development
# Start documentation
yarn doc --lang=en-US # Equivalent to yarn doc dev
# Build the documentation and output it to . /docs/dist/ directory by default
yarn doc build
# View the final result of the document output by dist
yarn doc serve --lang=en-US
db:auth
Verify that the database is successfully connected
$ yarn nocobase db:auth -h
Usage: nocobase db:auth [options]
Options:
-r, --retry [retry] retry times
-h, --help
db:sync
Generate data tables and fields via collections configuration
$ yarn nocobase db:sync -h
Usage: nocobase db:sync [options]
Options:
-f, --force
-h, --help display help for command
umi
app/client
is built based on umi and can be used to execute other related commands via nocobase umi
.
# Generate the .umi cache required by the development environment
yarn nocobase umi generate tmp
help
The help command, also available with the option parameter, -h
and --help
# View all cli
yarn nocobase help
# You can also use -h
yarn nocobase -h
# or --help
yarn nocobase --help
# Option to view the db:sync command
yarn nocobase db:sync -h