Developer command line tools
To support you with bootstrapping, running and deploying applications we have built a Command Line Interface. The tool is the successor of the cumulocity-node-tools
. To avoid conflicts, it listens to the new command c8ycli
instead of c8y
. You can install it via npm:
npm install -g @c8y/cli
Usage
c8ycli [options] [command]
Info: The commands must be executed from the root of the project.
Options
-u, --url <url> The URL of the remote instance
--version Provides version number
-h, --help Provides usage information
Commands
All the commands except of new
take an array of glob patterns. These will be solved to folders or entry point manifests.
new [name] [template] Creates a folder to start a new application or extend an existing one
serve [options] [appPaths...] Runs local development server
build [options] [appPaths...] Builds the specified apps
deploy [options] [appPaths...] Deploys apps from the specified paths
locale-extract [options] [srcPaths...] Extracts all strings for translation and outputs the .po files to defined folder
The new
command
The c8ycli new [name] [template]
helps to start an empty application or to extend one of our existing applications (Cockpit, Devicemanagement or Administration). To extend an existing application use as [name]
and [template]
the name of the existing application like this:
$ c8ycli new cockpit cockpit
Tip: You can use the c8ycli new
command without any parameter to get an interactive wizard which let you choose the name, template and version.
Tip: The c8ycli new
command has a -a
flag which defines which package to use for scaffolding. This way you can also define which version of the app you want to scaffold, e.g.:
c8ycli new my-cockpit cockpit -a @c8y/apps@1004.11.0
will scaffold an app with the version 10.4.11.0
c8ycli new my-cockpit cockpit -a @c8y/apps@latest
will scaffold an app with the latest official release. Same as if used without the -a
flag
c8ycli new my-cockpit cockpit -a @c8y/apps@next
will scaffold an app with the latest beta release.
Application options
Application options can be defined with --app.<option>=<value>
. These will be applied to all applications found with [appPaths...]
.
--app.name="My Application"
--app.key=myapp-key
--app.contextPath=myapplication
--app.brandingEntry="./branding/mybranding.less"
Webpack options
Webpack options can be defined with --env.<option>=<value>
. These will be directly passed to the webpack configuration.
--env.mode="production"
--env.hmr