-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathgulpfile.js
More file actions
119 lines (98 loc) · 3.73 KB
/
gulpfile.js
File metadata and controls
119 lines (98 loc) · 3.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
/*eslint-env node */
var gulp = require("gulp");
var rename = require("gulp-rename");
var request = require("request");
var source = require("vinyl-source-stream");
var gunzip = require("gulp-gunzip");
var untar = require("gulp-untar");
var gulpFilter = require("gulp-filter");
var merge2 = require("merge2");
var run = require("gulp-run");
var install = require("gulp-install");
var browserify = require("browserify");
gulp.task("default",
["jshint", "jsonlint", "htmlhint", "jscs", "coffeelint", "csslint", "requirejs", "requirejs-text", "spromise",
"eslint", "belty", "jsx", "jslint"],
function () {
console.log("Installed plugins");
return;
});
gulp.task("jshint", function () {
return gulp.src("./node_modules/jshint/dist/jshint.js")
.pipe(gulp.dest("./plugins/default/jshint/libs"));
});
gulp.task("jsonlint", function () {
return gulp.src("./node_modules/jsonlint/lib/jsonlint.js")
.pipe(gulp.dest("./plugins/default/jsonlint/libs"));
});
gulp.task("htmlhint", function () {
return gulp.src("./node_modules/htmlhint/lib/htmlhint.js")
.pipe(gulp.dest("./plugins/default/htmlhint/libs"));
});
gulp.task("jscs", function () {
return gulp.src("./node_modules/jscs/jscs-browser.js")
.pipe(gulp.dest("./plugins/default/jscs/libs"));
});
gulp.task("coffeelint", function () {
var coffeeScript = gulp.src("./node_modules/coffee-script")
.pipe(gulpFilter(["**/extras/coffee-script.js"]))
.pipe(rename("coffee-script-1.9.1.js"));
var coffeelint = gulp.src("./node_modules/coffeelint/lib/coffeelint.js");
return merge2(coffeeScript, coffeelint)
.pipe(gulp.dest("./plugins/default/coffeelint/libs"));
});
gulp.task("requirejs", function () {
return gulp.src("./node_modules/requirejs/require.js")
.pipe(gulp.dest("./libs/js/"));
});
gulp.task("requirejs-text", function () {
return gulp.src("./node_modules/requirejs-text/text.js")
.pipe(gulp.dest("./libs/js/"));
});
gulp.task("spromise", function () {
return gulp.src("./node_modules/spromise/dist/spromise.min.js")
.pipe(rename("spromise.js"))
.pipe(gulp.dest("./libs/js/"));
});
gulp.task("csslint", function() {
var csslint = gulp.src("https://github.com/CSSLint/csslint/tarball/v0.10.0")
.pipe(source("*.tar.gz"))
.pipe(gunzip())
.pipe(untar())
.pipe(gulpFilter(["**/release/csslint.js"]))
.pipe(rename("csslint.js"));
var htmlhint = gulp.src(["./node_modules/htmlhint/lib/htmlhint.js"]);
return merge2(csslint, htmlhint)
.pipe(gulp.dest("./plugins/default/csslint/libs"));
});
gulp.task("eslint", ["eslint:install-dev-dependencies"], function (cb) {
return gulp.src("./node_modules/eslint/build/eslint.js")
.pipe(gulp.dest("./plugins/default/eslint/libs"));
});
gulp.task("eslint:build", ["eslint:install-dev-dependencies"], function (cb) {
run("cd ./node_modules/eslint && npm run browserify").exec();
});
gulp.task("eslint:install-dev-dependencies", function () {
return gulp.src("./node_modules/eslint/package.json")
.pipe(install());
});
gulp.task("belty", function () {
return gulp.src("./node_modules/belty/dist/index.js")
.pipe(rename("belty.js"))
.pipe(gulp.dest("./libs/js/"));
});
gulp.task("jsx", function () {
var b = browserify({
entries: "./node_modules/react-tools/main.js",
standalone: "reacttools"
});
return b.bundle()
.pipe(source("reacttools.js"))
.pipe(gulp.dest("./plugins/default/jsx/libs/"));
});
gulp.task("jslint", function () {
return request("https://jslinterrors.com/linters/jslint/2013-02-18.js")
.pipe(source("*.js"))
.pipe(rename("jslint.js"))
.pipe(gulp.dest("./plugins/default/jslint/libs"));
});