[Nightly] Command line tools for working with Backbase CXP.
npm install bb-cli-nightlyBackbase CLI tools
===================


Early preview, nightly version. Unstable.
[Nightly] Command line tools for working with Backbase CXP.
Scaffold new components, navigate through archetypes and work with REST API helpers using clean, automated workflow.
``shell`
npm i bb-cli-nightly --global
Each command have it's own help section bb COMMAND -h, filled with all information about arguments, default values and examples.
Global help is also available:
``
bb -h
By typing a simple command you can now check out a new mvn archetype by executing the command:
``
bb archetype
Or use it's short version:
``
bb arch
Read more about Archetype API here.
Scaffold new widgets, containers and other Backbase CXP components.
In directory where you run the command, tool will generate starting template for chosen item.
``
bb generate widget
``
bb generate container
#### Launchpad 0.12 Generators
For Launchpad 0.12 development, please use the following commands:
``
bb generate lp12-widget
``
bb generate lp12-module
Read more about generate API here.
``
bb export [OPTIONS]
Exports portal. Chunk option will divide export into separate xml files grouped by item type.
It will also pretty print xml files and sort items and properties alphabetically on name.
bb rest options for defining host, port, contaxt, username and password also work. Or you can define those properties inside .bbrc file.
#### Options
``
-s, --save
-t, --type
-n, --name
-C, --item-context
--pretty
--sanitize
-k, --chunk
-f, --force
#### Examples
Outputs prettified, sorted xml file.
``
bb export
Saves export to myPortal.xml
``
bb export --save myPortal.xml
Chunks export to myPortal dir
``
bb export --portal my-portal --save myPortal -k
Saves export including content to retail.zip
``
bb export --type portal --save retail.zip
Chunks full export into retail dir
``
bb export --type portal --portal retail-banking --save retail -k
Chunks widget-accounts export to accounts dir
``
bb export -s accounts --type widget --name widget-accounts -k
``
bb import [OPTIONS]
Imports portal exported by export tool. It supports importing of chunked exports.
#### Options
``
-t, --target
#### Examples
Imports portal from myPortal.xml
``
bb import --target myPortal.xml
Imports bb export chunked portal from chunked dir
``
bb import --target chunked
Syncs local XML model with remote.
Run it in the component folder to sync with CXP. It parser the first *.xml file or defined one from --file argument.--save
In case that xml file does not exist, it can create one by saving the response from the REST API call.
This call will be made on server catalog for the item defined by parameter.--save
In case that is undefined, it will search for bower.json file and use the name of the package as item name (handy for LP widgets).
``
bb sync [OPTIONS] Syncs local XML model with remote.
#### Options
`
-short, --name (type) default description
-f, --file (string) first xml file A file to target.
-c, --context (string) portalserver Portal server context (for other options use .bbrc).`
-s, --save (string) Name of the server item which model should be exported to a file.
-y, --yes (boolean) Disables dialogs.
-v, --verbose false Prints detailed output.
Command line version of Backbase Rest API library for low level and precise tasks.
``
bb rest [OPTIONS]
#### Options
`
-short, --name
-H, --host
-P, --port
-c, --context
-u, --username
-w, --password
-p, --portal
-t, --target
-T, --target-arg
-m, --method
-f, --file
-r, --rights Targets context rights.
-g, --tags Targets context tags.
-q, --query
-x, --empty-cache Shortcut to empty all server caches.
-v, --verbose Prints detailed output.
-s, --save
`
Symlinks source directory to defined target.
Use this command to symlink clone of your widget/module working repo to the working portal.
``
bb ln --source /component/path --target /path/to/portalserver/static/dir/
#### Helpers
This command also supports conventions used in Launchpad and ES. For example:
If --lp-trunk path is set, target will be:
{lp path}/launchpad-bundles/static/launchpad/{bundle}/widgets/{package name}
If --lp-portal path is set, target will be:
{cxp portal path}/src/main/webapp/static/launchpad/{bundle}/widgets/{package name}
As LP convention, if package name starts with widget- it will be stripped out when creating a symlink.
If --portal path is set, target will be:
{cxp portal path}/src/main/webapp/static/widgets/{package name}
where package_name will be the name of the package read from bower.json or package.json.
#### Options
`
-short, --name
-s, --source
-t, --target
--lp-trunk .`
--lp-portal
--portal
-f, --force Force removal of the target.
-u, --unlink Remove symlink.
``
bb install [OPTIONS]
bb install
Wraps a bower install and applies additional options like requirejs-conf generation and server catalog update.
#### Options
``
-C, --catalog
-v, --verbose
--base-url
--require-confs
Also accepts bower install arguments like --save, -save-dev, --production, check bower install -h.
#### Examples
``
bb install jquery --save
bb install todo-widget -C --save
All REST based commands support .bbrc configuration. Running the command in the folder with .bbrc file or in one of the child folders with defined configuration, CLI will use it to override default options.
Example of .bbrc (must contain valid JSON) contents:
`json`
{
"context": "/",
"port": "7778",
"username": "me",
"password": "it's me"
}
If CXP based project has custom configuration for context or admin credentials, put custom .bbrc into the root folder, so CLI could use custom defaults.
``
/project
.bbrc
config
some.xml
Where .bbrc file contains this conf:
``
{
"context": "/",
"username": "me",
"password": "it's me"
}
Now running bb import from /project/config dir, CLI will use defined REST configuration with overriden context` and user credentials.
Programmatic API.
___
Copyright © 2015 Backbase B.V.