An experimental, pluggable build system, built on top of Gulp.
npm install --save-dev pavios
Pavios is based around the concept of tasks, which are modules that are installed along with
pavios and define gulp tasks.
Simply install a pavios module from npm and add its configuration to a
.paviosrc file in the root of your project or in any directory above your project's
node_modules folder. See the documentation for the rc module used in Pavios for more information.
Pavios provides a
pavios.API object for use in the creation of tasks.
var pavios = ;var gulp = paviosgulp;var API = paviosAPI;var getConfig = APIgetConfig;var gulpModule = ;var config = ;gulp;
let gulp API: getConfig = ;let gulpModule = ;let config = ;gulp;
require 'pavios'gulpModule = require 'gulp-module'config = getConfig 'task'gulptask 'task'->gulpsrc configsrcpipe gulpModulepipe gulpdest configdest
Need something more robust than module.exports.order (it's brittle and requires knowledge of pretty much every Pavios task and what it does)
Error handling in pavios-jade (errors from gulp-jade aren't caught)
Eslint parsers/plugins have to be installed at the pavios-* level instead of the top level. This needs to be fixed because installing something like babel-eslint in node_modules is unsustainable.
Coffeelint doesn't detect coffeelint.json for some reason (This is probably not an issue with where the module is, because pavios-eslint detects .eslintrc correctly, and doesn't work with babel-eslint for it)
Should the Gulp API be implemented by the Pavios object?
But maybe we want to cleanly separate Gulp functionality and Pavios addons.
Doesn't Pavios provide the addons and Gulp the base functionality?
pavios = require 'pavios'paviosconfig = getConfig 'babel'typeCheckstandard configpavioscreateTask 'babel'->paviossrc 'abc'pipe $ifprod$sourcemapsinitpipe paviosdest 'def'