Set of automation tasks for Rapid Build UI cli, components, mixins and showcase.
Run in project root!
$ npm install @rapid-build-ui/cli
Simple way, place in project's root package.json scripts property.
{
"scripts": {
"build-continuous": "node node_modules/@rapid-build-ui/cli/ci cli continuous",
"build-release": "node node_modules/@rapid-build-ui/cli/ci cli release",
"bump": "node node_modules/@rapid-build-ui/cli/bump cli patch"
}
}
{
"scripts": {
"build-continuous": "node node_modules/@rapid-build-ui/cli/ci component continuous",
"build-release": "node node_modules/@rapid-build-ui/cli/ci component release",
"bump": "node node_modules/@rapid-build-ui/cli/bump component patch"
}
}
{
"scripts": {
"build-continuous": "node node_modules/@rapid-build-ui/cli/ci showcase continuous",
"build-release": "node node_modules/@rapid-build-ui/cli/ci showcase release",
"bump": "node node_modules/@rapid-build-ui/cli/bump showcase patch"
}
}
Use the API. The process.cwd() must be the project's root path!
const cli = require('@rapid-build-ui/cli');
// See API Documentation
All return a promise.
-
- params
- type (string): cli | component
- semver (string): 1.0.0 | patch | reference
- extraBumpFile (string, optional): file path relative to project root
- overview
- bump version in all package.json(s)
- bump extra file (optional)
- update changelog
- params
-
- build component
- copy root files to: dist/client/ (ex: LICENSE)
- trigger showcase ci build
-
- build component
- copy root files to: dist/client/
- copy npm config to dist/client/
- publish npm package from dist/client/
- publish github release from master
-
- copy root files to: dist/server/ (ex: LICENSE)
-
- copy root files to: dist/server/
- copy npm config to dist/server/
- publish npm package from dist/server/
- publish github release from master
-
- create directory for cloned components (.rb-components)
- clone component repos (into .rb-components)
- setup components
- setup showcase
- build showcase
- create heroku dist/package.json
- publish heroku app rapid-build-ui-io-dev
-
- install client
- install server
- build showcase
- create heroku dist/package.json
- publish heroku app rapid-build-ui-io-staging
- publish github release from master
# config example
repo:
name: 'rb-alert'
owner: 'rapid-build-ui'
slug: 'rapid-build-ui/rb-alert'
tokens:
github: 'token' # all projects
heroku: 'token' # showcase
npm: 'token' # components and cli
travis: 'token' # components
paths:
abs: # absolute os paths
project: '/rb-alert'
components: '/rapid-build-ui.io/.rb-components' # (showcase only)
dist:
root: '/rb-alert/dist'
client: '/rb-alert/dist/client'
server: '/rb-alert/dist/server'
src:
root: '/rb-alert/src'
client: '/rb-alert/src/client'
server: '/rb-alert/src/server'
rel: # relative paths from project root
dist:
root: 'dist'
client: 'dist/client'
server: 'dist/server'
src:
root: 'src'
client: 'src/client'
server: 'src/server'
Applies to all projects.
$ git checkout master
$ git pull
$ git merge continuous --no-ff -m "chore(merge): continuous"
$ npm run bump # then check CHANGELOG.md (might need tweaking)
$ git commit -am "chore(bump): v1.x.x"
$ git push # ✓ then wait for successful travis ci build
$ git checkout continuous
$ git pull
$ git merge master -m "chore(merge): master"
$ git push