|
| 1 | +/* jshint node: true */ |
| 2 | +"use strict"; |
| 3 | + |
| 4 | +var gulp = require("gulp"); |
| 5 | +var jshint = require("gulp-jshint"); |
| 6 | +var jscs = require("gulp-jscs"); |
| 7 | +var plumber = require("gulp-plumber"); |
| 8 | +var purescript = require("gulp-purescript"); |
| 9 | + |
| 10 | +var paths = [ |
| 11 | + "src/**/*.purs", |
| 12 | + "bower_components/purescript-*/src/**/*.purs" |
| 13 | +]; |
| 14 | + |
| 15 | +gulp.task("lint", function() { |
| 16 | + return gulp.src("src/**/*.js") |
| 17 | + .pipe(jshint()) |
| 18 | + .pipe(jshint.reporter()) |
| 19 | + .pipe(jscs()); |
| 20 | +}); |
| 21 | + |
| 22 | +gulp.task("make", ["lint"], function() { |
| 23 | + return gulp.src(paths) |
| 24 | + .pipe(plumber()) |
| 25 | + .pipe(purescript.pscMake()); |
| 26 | +}); |
| 27 | + |
| 28 | +var docTasks = []; |
| 29 | + |
| 30 | +var docTask = function(name) { |
| 31 | + var taskName = "docs-" + name.toLowerCase(); |
| 32 | + gulp.task(taskName, function () { |
| 33 | + return gulp.src("src/" + name.replace(/\./g, "/") + ".purs") |
| 34 | + .pipe(plumber()) |
| 35 | + .pipe(purescript.pscDocs()) |
| 36 | + .pipe(gulp.dest("docs/" + name + ".md")); |
| 37 | + }); |
| 38 | + docTasks.push(taskName); |
| 39 | +}; |
| 40 | + |
| 41 | +["Control.Monad.Eff", "Control.Monad.Eff.Unsafe"].forEach(docTask); |
| 42 | + |
| 43 | +gulp.task("docs", docTasks); |
| 44 | + |
| 45 | +gulp.task("dotpsci", function () { |
| 46 | + return gulp.src(paths) |
| 47 | + .pipe(plumber()) |
| 48 | + .pipe(purescript.dotPsci()); |
| 49 | +}); |
| 50 | + |
| 51 | +gulp.task("default", ["make", "docs", "dotpsci"]); |
0 commit comments