|
| 1 | +/* jshint node: true */ |
1 | 2 | "use strict"; |
2 | 3 |
|
3 | 4 | var gulp = require("gulp"); |
4 | | -var plumber = require("gulp-plumber"); |
| 5 | +var jshint = require("gulp-jshint"); |
| 6 | +var jscs = require("gulp-jscs"); |
5 | 7 | var purescript = require("gulp-purescript"); |
6 | | -var jsvalidate = require("gulp-jsvalidate"); |
7 | 8 |
|
8 | 9 | var sources = [ |
9 | | - 'src/**/*.purs', |
10 | | - 'bower_components/purescript-*/src/**/*.purs', |
11 | | - 'test/**/*.purs' |
| 10 | + "src/**/*.purs", |
| 11 | + "bower_components/purescript-*/src/**/*.purs", |
| 12 | + "test/**/*.purs" |
12 | 13 | ]; |
13 | 14 |
|
14 | 15 | var foreigns = [ |
15 | | - 'src/**/*.js', |
16 | | - 'bower_components/purescript-*/src/**/*.js', |
17 | | - 'test/**/*.js' |
| 16 | + "src/**/*.js", |
| 17 | + "bower_components/purescript-*/src/**/*.js", |
| 18 | + "test/**/*.js" |
18 | 19 | ]; |
19 | 20 |
|
20 | | -gulp.task('jsvalidate', function() { |
21 | | - return gulp.src(foreigns) |
22 | | - .pipe(plumber()) |
23 | | - .pipe(jsvalidate()); |
| 21 | +gulp.task("lint", function() { |
| 22 | + return gulp.src("src/**/*.js") |
| 23 | + .pipe(jshint()) |
| 24 | + .pipe(jshint.reporter()) |
| 25 | + .pipe(jscs()); |
24 | 26 | }); |
25 | 27 |
|
26 | | -gulp.task('psc', function() { |
27 | | - return purescript.psc({ |
| 28 | +gulp.task("make", ["lint"], function() { |
| 29 | + return purescript.psc({ src: sources, ffi: foreigns }); |
| 30 | +}); |
| 31 | + |
| 32 | +gulp.task("docs", function() { |
| 33 | + return purescript.pscDocs({ |
28 | 34 | src: sources, |
29 | | - ffi: foreigns |
| 35 | + docgen: { |
| 36 | + "Network.HTTP.Affjax": "docs/Network.HTTP.Affjax.md", |
| 37 | + "Network.HTTP.Affjax.Request": "docs/Network.HTTP.Affjax.Request.md", |
| 38 | + "Network.HTTP.Affjax.Response": "docs/Network.HTTP.Affjax.Response.md", |
| 39 | + "Network.HTTP.Method": "docs/Network.HTTP.Method.md", |
| 40 | + "Network.HTTP.MimeType": "docs/Network.HTTP.MimeType.md", |
| 41 | + "Network.HTTP.MimeType.Common": "docs/Network.HTTP.MimeType.Common.md", |
| 42 | + "Network.HTTP.RequestHeader": "docs/Network.HTTP.RequestHeader.md", |
| 43 | + "Network.HTTP.ResponseHeader": "docs/Network.HTTP.ResponseHeader.md", |
| 44 | + "Network.HTTP.StatusCode": "docs/Network.HTTP.StatusCode.md" |
| 45 | + } |
30 | 46 | }); |
31 | 47 | }); |
32 | 48 |
|
33 | | -gulp.task('pscBundle', function() { |
| 49 | +gulp.task("bundle", ["make"], function() { |
34 | 50 | return purescript.pscBundle({ |
35 | | - src: 'output/**/*.js', |
36 | | - output: 'tmp/test.js', |
37 | | - main: 'Test.Main' |
| 51 | + src: "output/**/*.js", |
| 52 | + output: "tmp/test.js", |
| 53 | + main: "Test.Main" |
38 | 54 | }); |
39 | 55 | }); |
40 | 56 |
|
41 | | -gulp.task('pscDocs', function() { |
42 | | - return purescript.pscDocs({ |
43 | | - src: sources, |
44 | | - docgen: { |
45 | | - 'Network.HTTP.Affjax': 'docs/Network.HTTP.Affjax.md', |
46 | | - 'Network.HTTP.Affjax.Request': 'docs/Network.HTTP.Affjax.Request.md', |
47 | | - 'Network.HTTP.Affjax.Response': 'docs/Network.HTTP.Affjax.Response.md', |
48 | | - 'Network.HTTP.Method': 'docs/Network.HTTP.Method.md', |
49 | | - 'Network.HTTP.MimeType': 'docs/Network.HTTP.MimeType.md', |
50 | | - 'Network.HTTP.MimeType.Common': 'docs/Network.HTTP.MimeType.Common.md', |
51 | | - 'Network.HTTP.RequestHeader': 'docs/Network.HTTP.RequestHeader.md', |
52 | | - 'Network.HTTP.ResponseHeader': 'docs/Network.HTTP.ResponseHeader.md', |
53 | | - 'Network.HTTP.StatusCode': 'docs/Network.HTTP.StatusCode.md' |
54 | | - } |
55 | | - }) |
| 57 | +gulp.task("dotpsci", function () { |
| 58 | + return purescript.psci({ src: sources, ffi: foreigns }) |
| 59 | + .pipe(gulp.dest(".")); |
56 | 60 | }); |
57 | 61 |
|
58 | | -gulp.task('make', ['jsvalidate', 'psc', 'pscDocs']); |
59 | | -gulp.task('test', ['jsvalidate', 'psc', 'pscBundle', 'pscDocs']); |
60 | | -gulp.task('default', ['make']); |
| 62 | +gulp.task("default", ["bundle", "docs", "dotpsci"]); |
0 commit comments