compy

    0.1.31 • Public • Published

    NPM version Dependency Status Build Status compy - lightweight app builder/compiller

    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:

    • you can install and use components without any configurations
    • you can use local require
    • you can use coffeescript, sass, jade and other plugins
    • you can run karma tests
    • you will have livereload with simple static server

    watch screencast for live intro.

    install

    $ npm install compy -g

    plugins

    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:

    cli comands

      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
    
    
    

    config

    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"
      }
    }

    writing tests

    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.

    license

    MIT

    Keywords

    none

    Install

    npm i compy

    DownloadsWeekly Downloads

    39

    Version

    0.1.31

    License

    BSD

    Last publish

    Collaborators

    • edjafarov