Cafe is a build tool for client-side applications aiming to be language/module system/architecture agnostic and flexible. Tries hard to be modular and extensible by itself too.
Current version (cafe4) is a prototype and is written in Coffeescript in functional and asynchronous way (mostly functional and mostly asynchronous :-).
#Installation
npm install -g cafe4
#Usage
First init a cafe project with
cafe init
This would create you template recipe file, where you can describe packages your app is using. Working recipe looks something like this:
abstract: {api_version: 5}
modules:
- module1: modules/module1
- jquery: [jquery.1.8.js, plainjs]
- module2: [modules/module2, [jquery]]
- my_coffee_module: [my_coffee_file.coffee]
bundles:
bundle1:
modules:
- jquery
- module1
- module2
- my_coffee_module
bundle2:
modules:
- jquery
- module1
- my_coffee_module
To compile your app run
cafe menu build
For more details look at getting started page.
#Contributing Don't forget to check that all tests are passing before commit (grunt nodeunit)
- clone this repo git clone https://github.com/EugeneN/cafe.git
- cd cafe
- grunt install | grunt coffee
- grunt build
#Changelog
0.0.90
-
yaml recipe reader
-
advanced recipe parsing logic ** aliases ** different formats for modules
-
caching logic optimization. (2 times faster build process then in previous versions)
-
Added growl notifications. (can be disabled by option --nogrowl).