A Jake wrapper for interfacing with node modules.
JavaScript CSS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
example
jakelib
.gitignore
LICENSE
README.md
jake-config.js
package.json

README.md

Jake Builds

Jake Builds runs on Node and Jake. It's a wrapper for creating jake tasks and interfacing with node modules. The configurations are all setup using jake-config.js.

Supported Node Module Wrappers

Node Modules Versions Description
node-watch 0.3.4 Used in handling the watch task
node-sass 3.10.1 Compiling and minifying CSS from SCSS files
less 2.7.1 Compiling and minifying CSS from Less files
uglify-js 2.7.4 Compile and minify our JavaScript files

Keep in mind that if you use the imagemin module, Jpegtran should be installed globally. You can install it with Homebrew using: brew install jpeg.

Creating Jake Builds and Watch Tasks

All tasks are setup using the jake-config.js as a configuration file. Each of the node modules that are used have a custom jake wrapper to interface with more easily. These are all the options you can adjust for Build and Watch tasks:

module.exports = {

  // Each object inside of the build array is output as a task under the namespace 'build'.
  build: [
    { ... }
  ],

  // Each object inside of the watch array is output as a watch task.
  watch: [
    { ... }
  ]

}

Build Tasks

// General Build Tasks
build: [
  {
    task: '...',
    desc: '...',
    module: '...',
    options: [{...}]
  }
]
Field Type Description
task string The jake task name. As a build task, this will be called on using the build namespace. E.g. jake build:your_task_name.
desc string A description for your task. This appears when you list your tasks using jake -ls.
module (optional) string The module you want to use for this task. If omitted, your key will be used instead. If your key does not match an existing node module, this field is required.
options object The options that are passed to the node module.

A build task is generated for every object in the build array. You can also use jake build to run all build scripts.

Watch Tasks

// General Watch Tasks
watch: [
  {
    task: '...',
    files: [...],
    ignore: [...]
  }
]
Field Type Description
task string The key is directly linked to build tasks. If a watch key of docs is created, when it triggers the build:docs task gets fired.
files array Files or directories to watch.
ignore (optional) array An array of files to ignore. This is helpful if a build task generates a file within a directory that is also being watched.

A watch task is generated for every object in the watch array.

Copyright and License

Jake Builds copyright (c) 2017 Sebastian Nitu. Jake Builds is released under the MIT license.