Security News
PyPI’s New Archival Feature Closes a Major Security Gap
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
A tool for creating and developing Backbase-Launchpad specific Widgets and Modules.
=========
CLI development tool for widgets / modules
Name | bb-lp-cli |
---|---|
Bundle | tools |
Status | node >=0.12.x < 5.0.x |
General
Dev - Server
npm i bb-lp-cli -g
Using bblp as binary.
Check all the available commands that you can use.
bblp
or
bblp --help
Check command help
bblp <command> --help
Clone a git repository template. Default is using widget-ng-template
arguments: - template Can be a git repository url or a local folder. options:
bblp generate <template>
Start local development brwserSync server on http://localhost:3000/.
arguments:
options:
./index.dev.html
is the default. You can provide a custom path.bblp start [-a] [-p3030] [-l silent] [--template cxp] [-i] [-e]
Tests the widget / module using karma test runner and PhantomJS.
arguments:
options:
--browsers Firefox,Chrome,Safari
--config karma.config.js
--moduleDirectories 'target/bower_components'
bblp test
bblp test -c --browsers Firefox,Chrome --moduleDirectories '../../portal/myportal/statics/dist/itemRoot/static/features/[BBHOST]','target/bower_components'
Bundle the widget/module.
arguments:
options:
--moduleDirectories 'target/bower_components'
bblp build
with moduleDirectories
bblp build --moduleDirectories '../../portal/myportal/statics/dist/itemRoot/static/features/[BBHOST]','target/bower_components'
Compile & build styles: Some convention is required to compile styles files (less, scss, css). The name of the main file should be named as:
With custom configuration:
bblp build -c ./my-conf.json
.
If config contains entryPoint and excludes whey are going to be used instead of corresponding arguments. Here is the config example for UI module:{
"entryPoint": "./scripts/custom-ui.js",
"excludes": [
"input-overflow",
"touch",
"amount",
"list",
"field",
"responsive",
"wizard",
"timer",
"switcher",
"card",
"modal-dialog",
"scrolling-hook",
"smartsuggest",
"placeholder",
"infinite-scroll",
"element-resize"
]
}
excludes Array of components to exclude. Please note, that if custom entry point isn't specified current main is used.
Usage example: bblp build -x touch,color-picker,focus
.
entryPoint name of entry point file. It is used to create custom entry point due to the excludes array and corresponding dest file.
Usage example: bblp build -ex touch,color-picker,focus ./scripts/my-custom-dist-file.js
.
bblp custom-build <config>
options:
Description:
Custom build is aimed at reducing number of scripts on a page. It combines several widgets and their dependencies into a single bundle using configuration. As a result you'll get the bundle and custom requirejs config which defines paths to concatenated widgets and dependencies.
Arguments:
Here is the config example:
{
"dist": "./bundles",
"base": "launchpad",
"componentBase": "bower_components",
"componentMain": "scripts/main.js",
"componentDistModule": "dist/scripts/main",
"bundles": {
"login-page": {
"widgets": [
"widget-login-multifactor-engage",
"widget-device-dna"
],
"customComponents": {
"ui": {
"excludes": [
"input-overflow",
"touch",
"amount",
"list",
"field",
"responsive",
"wizard",
"timer",
"switcher",
"card",
"aria",
"number-input",
"nav-icon",
"modal-dialog",
"scrolling-hook",
"smartsuggest",
"placeholder",
"color-picker",
"infinite-scroll",
"element-resize"
]
}
}
}
},
"externals": ["angular", {"name": "jquery", "value": "jQuery"}],
"bundlesConfigPath": "./config/bundles-conf.js"
}
Config description:
config.dist
(String) - path to bundles destination folder;config.componentBase
(String) - path to used components;config.componentMain
(String) - path to main script file;config.componentDistModule
(String) - path to destination main file;config.bundles
(Object) - set of bundles configuration;config.bundle[NAME]
(String) NAME is a bundle identifier wich is used to create chunk;config.bundle[NAME].widgets
(Array) - array of widget names which are going to be used as an entry points;config.bundle[NAME].customComponents
(Object) - set of customised components;config.bundle[NAME].customComponents[CNAME]
(String) CNAME is a name of customised component;config.bundle[NAME].customComponents[CNAME].excludes
(Array) - Array of components to exclude;config.externals
(Array) - exterlan libraries array. Values can be both "String" and {"name": "libName", "value": "libGlobalName"} objects. If value is a String - module name is going to be used as a global name for the dependency, overwise passed value is going to be used;config.bundlesConfigPath
(String) - path to require config output.Bump version in package.json, model.xml, bower.json, README.md and CHANGELOG.md
NOTE if a version property is not found in model.xml file will be created
arguments:
VERSION Semver compliant major [X.x.x], minor [x.X.x] or patch [x.x.X]
[MESSAGE] Optional bump message options:
--suffix - Prerelease suffix name EX. .pre, .beta, .rc, Default .pre
--changelog - CHANGELOG file name Default CHANGELOG.md
bblp bump minor [increment] "Some relevant message"
Generating different types of documentation.
arguments:
options:
--api Generate API reference MarkDown in the docs folder. Based on JSDoc annotations. Default
--services Generate reference MarkDown and HTML files in the docs/services folder. based on RAML 0.8 specifications. Optional you can pass the domain name.
Basic Usage:
bblp docs
bblp docs --services https://my.domain.com/services/rest
Use conventional commit messaged. Default will run git commit.
arguments:
options:
bblp commit
How to add your commit convention adapter.
npm i cz-conventional-changelog -D
... configure it after inside the package.json
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog"
}
}
Register package to launchpad registry endpoints bower - http://launchpad.backbase.com:5678 npm - http://launchpad.backbase.com:8765
arguments:
options:
bblp register [npm]
Unregister package to launchpad registry endpoints
arguments:
options:
bblp unregister [npm] [-f]
Builds a theme. Requires a bower.json file in the directory with a "main" pointing to the base less file
bblp theme build
arguments:
options:
bblp theme build retail [-w --disable-compress -d]
Deploy a package into a running portal.
bblp deploy [--all]
options:
The config for connecting to the portal is obtained by merging multiple configuration files by this order of importance:
Local .bbrc files upwards the directory tree All .bbrc files upwards the directory tree .bbrc file located in user's home folder (~)
The default config is:
{
"scheme": "http",
"host": "localhost",
"port": "7777",
"context": "portalserver",
"username": "admin",
"password": "admin"
}
When used through bblp start -d
it will initially deploy all packages (including bower and
npm dependencies), then watch just the local package and re-deploy on any changes.
This is the default config structure if is not specified otherwise in bower.json file
"config": {
"paths" : {
"scripts": "./scripts",
"docs": "./docs",
"target": "./dist",
"templates": "./templates",
"styles": "./styles",
"test": "./test",
"reports": "./reports",
"index": "./index-dev.html"
},
"data": {
"route": "", // url access to the mock raml api
"files": [
'./**/raml/**/*.raml',
'./**/services/**/*.raml'
]
},
"proxies": {
},
"eslint": "configs/eslint.conf.yaml",
"karma": "configs/karma.conf.yaml"
....
}
By default the cli is looking for an configs folder in the root folder of the app. Possible extensions are on karma options:
Example karma.conf.yaml
# Karma Configuration Options
default:
browsers:
- Chrome
production:
browsers:
- Firefox
- Chrome
Example eslint.conf.yaml
---
rules:
eqeqeq: 0
curly: 2
quotes:
- 2
- "double"
NODE_ENV=production bblp test -c
YAML configuration is preferred format but you can also opt for a .json
format.
The same is possible also for eslint options:
IMPORTANT TO NOTE the file name needs to be karma.conf.yaml
and eslint.conf.yaml
. If you prefer a different name then you can set it up in the bower.json config
...
"karma": "configs/karma.configuration.yaml"
...
@todo
Clone and link the repository
git clone git@github.com:Backbase/bb-lp-cli.git && cd bb-lp-cli && npm link
Use the develop branch
npm install backbase/bb-lp-cli#develop
Publish a beta version
git tag x.x.x-beta.0
git tag push --tags
npm login
npm publish --tags beta
npm info
Q. How can i disable some folders, file, or rules from being linted? A. They are two options: Global and Inline.
1. Global: use a `.eslintignore` file in the root of the project and specify that to ignore, for ex:
```
# Ignore scripts but not the main file
scripts/
!scripts/main.js
```
2. Inline: using a comment inside of your JavaScript file, use the following format
/*eslint-disable */
http://stackoverflow.com/questions/3701646/how-to-add-to-the-pythonpath-in-windows-7
MacOS
Win7
The cli uses node-gyp
You will also need to install:
On Unix:
python
(v2.7
recommended, v3.x.x
is not supported)make
On Mac OS X:
python
(v2.7
recommended, v3.x.x
is not supported) (already installed on Mac OS X)Command Line Tools
via Xcode. You can find this under the menu Xcode -> Preferences -> Downloads
gcc
and the related toolchain containing make
On Windows:
Python (v2.7.3
recommended, v3.x.x
is not supported)
Windows XP/Vista/7:
Windows 7/8:
All Windows Versions
call "C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\Setenv.cmd" /Release /x86
call "C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\Setenv.cmd" /Release /x64
If you have multiple Python versions installed, you can identify which Python
version node-gyp
uses by setting the '--python' variable:
$ node-gyp --python /path/to/python2.7
If node-gyp
is called by way of npm
and you have multiple versions of
Python installed, then you can set npm
's 'python' config key to the appropriate
value:
$ npm config set python /path/to/executable/python2.7
Note that OS X is just a flavour of Unix and so needs python
, make
, and C/C++.
An easy way to obtain these is to install XCode from Apple,
and then use it to install the command line tools (under Preferences -> Downloads).
Check node-gyp project for more info.
FAQs
A tool for creating and developing Backbase-Launchpad specific Widgets and Modules.
The npm package bb-lp-cli receives a total of 38 weekly downloads. As such, bb-lp-cli popularity was classified as not popular.
We found that bb-lp-cli demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
Research
Security News
Malicious npm package postcss-optimizer delivers BeaverTail malware, targeting developer systems; similarities to past campaigns suggest a North Korean connection.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.