Create, Build, Test, Serve and Release. Quickly
- Build and serve static or NodeJS sites
- Automatic browser refresh when source code is changed
- Use Jade or Mustache HTML templating
- Compile Sass and CommonJS or AMD to CSS/JS and
.min
minified equivalents - Test your code and automatically retest on the fly with each code change. True TDD!
- Code coverage reporting by default with adjustable thresholds
- Continuous (or manual) Deployment to github.io, Bower and/or Amazon S3
- Customise the build process using component.config.js or using gulp
npm install -g component-helper
To create a new project with a build process, tdd and continuous deployment already set-up
- Run
component new *component-name*
(which will create your component directory) - follow on-screen instructions.
- Run
npm start
within your new directory
Get the CLI (build, test, release etc) working within an existing project
- Copy the component.config.js into your project root
- Remove and Update the the config for your needs
- Update the
paths
object to match your directory structure
The component helper can be run from the command line or directly from within NodeJS files (i.e. a gulpfile). The tasks are almost exactly the same.
Once required (var component = require('component-helper');
), you can call the following:
CLI | Node |
---|---|
component new component-name | unavailable |
component build | component.build.run(replacements) (optional: replacements object) |
component build scripts | component.build.scripts() |
component build styles | component.build.styles() |
component build html | component.build.html(replacements) (optional: replacements object) |
component build server-config-files | component.build.serverConfigFiles() |
component serve | component.serve.run(config) (optional: server config) |
component serve path/to/serve | component.serve.adhoc(path) (mandatory: path/to/serve) |
component test | component.test.run() |
component test tdd | component.test.tdd() |
component init bower | component.init.bower() |
component init git | component.init.git(repository) (mandatory: Git URL) |
component bump Semantic Version | component.bump.run(versionType) (optional: major, minor, patch, prerelease or semantic version) |
component release Semantic Version | component.release.run(versionType) (optional: major, minor, patch, prerelease or semantic version) |
component release gh-pages | component.release.ghPages(message) (optional: commit message) |
component release s3 | component.release.s3(version) (optional: semantic version) |
The CLI and Node will use the config set within component.config.js in your project root.
This project depends on collaboration between developers. Contributions of any size are actively encouraged.