Compy is a lightweight approach for developing web apps (framework/lib agnostic). Based on TJ's component package manager it allows you to install components and use them in your code right away. Compy makes your development fun because:
require
watch screencast for live intro.
$ npm install compy -g
compy can use component's plugins to extend it's functionality. For example if you want to use coffee in your project, you need to npm install component-coffee
in your project's folder.
compy was tested with following plugins:
Usage: compy <command> [options]
Options:
-h, --help output usage information
-V, --version output the version number
-d, --dir <path> project source path. Must contain package.json
-o, --output <path> output directory for build/compile
-v, --verbose verbosity
-f, --force force installation of packages
-s, --staticServer <path> custom server that serves static with compy middleware
--dev install dev dependencies
Commands:
install [name ...] install dependencies or component
compile compile app (in dist folder by default)
build build the app (compile and minify sources)
server [watch] run static server. If "watch" option enabled - watch changes, recompile and push livereload
test run karma tests
watch watch and rebuild assets on change
plate [appname] generate boilerplate package.json
graph show all dependencies/versions installed
The configuration for compy sits in package.json inside compy namespace. main
is an entry point of your app and the only required property.
{
"name": "appName",
"version": "0.0.0",
"description": "my awesome app",
"main": "index.js",
"license": "BSD",
"compy": {
"dependencies": {
"component/jquery": "*"
},
"main": "app.js"
}
}
To run karma based tests with compy. The package.json configuration should be adjusted and all required karma plugins should be installed. For example to run mocha tests with sinon and chai inside phantomjs following configurations should be set:
{
...
"compy":{
...
"tests":{
"frameworks":[
"mocha", "sinon-chai"
],
"plugins":[
"karma-mocha",
"karma-sinon-chai",
"karma-phantomjs-launcher"
]
}
}
}
And plugins should be installed locally.
$ npm install karma-mocha karma-sinon-chai karma-phantomjs-launcher
now with compy test
all *.spec.js files will be runned as a mocha tests.
MIT