storyboard-webclient/README.md
Michael Krotscheck 33f755ed2c
Updated README
The readme had bitrotted a bit, referring to commands like jshint
that we no longer use. This updates the README, preferring `npm run`
over `grunt` based task execution.

Change-Id: I4e9bc49373b31542273966eb741f2cb40854f404
2016-05-04 12:02:31 -07:00

65 lines
2.8 KiB
Markdown

Storyboard Web Client
=====================
A WebClient for the OpenStack Storyboard project.
Project Resources
-----------------
- [Project status, bugs, and blueprints](http://storyboard.openstack.org)
- [Source code](https://git.openstack.org/cgit/openstack-infra/storyboard-webclient)
- [Documentation](http://docs.openstack.org/infra/storyboard)
- [Additional resources are linked from the project wiki page](https://wiki.openstack.org/wiki/StoryBoard)
- [How to contribute to OpenStack](http://docs.openstack.org/infra/manual/developers.html)
- [Code reviews workflow](http://docs.openstack.org/infra/manual/developers.html#development-workflow)
Getting Started
---------------
First of all be sure to have tox installed on your machine then:
- Install the virtualenv containing nodejs: `tox -evenv`
- Source the new path containing grunt:
`source .tox/venv/bin/activate`
- Now you can launch the grunt tasks of storyboard-webclient, by default run
the development server with the following command: `grunt serve`
NPM Commands
-----------
The following are commands that may be used during project development.
- `npm run lint`: Runs a linter on the javascript sources files of the
project, this will help us keeping style consistency across our files and
can reduce the risk of bugs.
- `npm run clean`: Erases the temporary folders created by various grunt
tasks, such as reports, cover and dist.
- `npm run build`: Compile and packages our code.
- `npm run serve`: Development server - runs a build and sets up concurrent
watchers that will automatically lint, test, and refresh the code when a
change is detected.
- `npm run test-unit`: This command will create a clean build against which
our unit tests will be run. For more information, please see
karma-unit.conf.js
- `npm run test-integration`: This command will create a clean build against
which our functional tests will be run. For more information, please see
protractor-integration.conf.js
- `npm run test-functional`: This command will create a clean build against
which our functional tests will be run. For more information, please see
protractor.conf.js
Grunt tasks
-----------
For more detailed development, the following commands are available via grunt.
To run them, you will need to install grunt globally: `npm install -g grunt`.
- `compile`: Compiles all of our sources in the dist directory.
- `package`: Built code into a release package.
- `serve:dist`: This task performs a full build of our application,
and then runs that source in a local web server. It does no watching,
it simply hosts the files.
- `serve:prod`: This task is identical to 'server:dist',
with the exception that it will proxy the API requests against the production
API. *USE WITH CAUTION*