pomy
Version:
Based on the concept of a project object model (POM), POMY can manage a project's build, reporting and documentation from a central piece of information.
225 lines (204 loc) • 6.07 kB
JavaScript
var
fs = require('fs'),
gulp = require('gulp'),
gulpif = require('gulp-if'),
prettify = require('gulp-jsbeautifier'),
livereload = require('gulp-livereload'),
//browserSync = require('browser-sync'),
src = global.settings._src,
testunit = global.settings._testunit;
gulp.task('jsbeautifyrc', function() {
var root = global.getRootPath();
var pomy = global.getPomyPath();
return gulp.src(pomy + ".jsbeautifyrc")
.pipe(gulp.dest(fs.existsSync(root + '.jsbeautifyrc') ? pomy : root));
});
gulp.task('format:html', ['jsbeautifyrc'], function() {
var root = global.getRootPath();
return gulp.src([
root + src.template + "/**/*.html",
root + src.template + "/**/*.ejs"
], {
base: root
})
.pipe(prettify({
config: root + '.jsbeautifyrc'
}))
.pipe(gulp.dest(root))
.pipe(livereload());
//.pipe(browserSync.reload({
// stream: true
//}));
});
gulp.task('format:css', ['jsbeautifyrc'], function() {
var root = global.getRootPath();
return gulp.src([
root + src.css + "/**/*.css",
root + src.css + "/**/*.less",
root + src.css + "/**/*.sass",
root + src.css + "/**/*.scss",
root + src.less + "/**/*.less",
root + src.sass + "/**/*.sass",
root + src.scss + "/**/*.scss"
], {
base: root
})
.pipe(prettify({
config: root + '.jsbeautifyrc'
}))
.pipe(gulp.dest(root))
.pipe(livereload());
//.pipe(browserSync.reload({
// stream: true
//}));
});
gulp.task('format:skin', ['jsbeautifyrc'], function() {
var root = global.getRootPath();
return gulp.src([
root + src.skin + "/**/*.css",
root + src.skin + "/**/*.less",
root + src.skin + "/**/*.sass",
root + src.skin + "/**/*.scss",
root + src.skins + "/**/*.css",
root + src.skins + "/**/*.less",
root + src.skins + "/**/*.sass",
root + src.skins + "/**/*.scss"
], {
base: root
})
.pipe(prettify({
config: root + '.jsbeautifyrc'
}))
.pipe(gulp.dest(root))
.pipe(livereload());
//.pipe(browserSync.reload({
// stream: true
//}));
});
gulp.task('format:skins', ["format:skin"], function(cb) {
cb();
});
gulp.task('format:jsrt', ['jsbeautifyrc'], function() {
var root = global.getRootPath();
return gulp.src(root + src.jsrt + "/**/*.js", {
base: root
})
.pipe(gulpif(global.settings.jre, prettify({
config: root + '.jsbeautifyrc',
mode: 'VERIFY_AND_WRITE'
})))
.pipe(gulp.dest(root))
.pipe(livereload());
//.pipe(browserSync.reload({
// stream: true
//}));
});
gulp.task('format:js', ['jsbeautifyrc'], function() {
var root = global.getRootPath();
return gulp.src([
root + src.js + "/**/*.js",
root + src.js + "/**/*.local",
root + src.js + "/**/*.test",
root + src.js + "/**/*.fat",
root + src.js + "/**/*.uat",
root + src.js + "/**/*.prod"
], {
base: root
})
.pipe(prettify({
config: root + '.jsbeautifyrc',
mode: 'VERIFY_AND_WRITE'
}))
.pipe(gulp.dest(root))
.pipe(livereload());
//.pipe(browserSync.reload({
// stream: true
//}));
});
gulp.task('format', ['format:js', 'format:css', 'format:skins', 'format:html', 'format:jsrt'], function(cb) {
cb();
});
gulp.task('format:test-jsrt', ['jsbeautifyrc'], function() {
var root = global.getRootPath();
return gulp.src(root + testunit.jsrt + "/**/*.js", {
base: root
})
.pipe(prettify({
config: root + '.jsbeautifyrc',
mode: 'VERIFY_AND_WRITE'
}))
.pipe(gulp.dest(root));
});
gulp.task('format:test', ['format:test-jsrt'], function() {
var root = global.getRootPath();
return gulp.src([
root + testunit.js + "/**/*.js",
root + testunit.js + "/**/*.local",
root + testunit.js + "/**/*.test",
root + testunit.js + "/**/*.fat",
root + testunit.js + "/**/*.uat",
root + testunit.js + "/**/*.prod"
], {
base: root
})
.pipe(prettify({
config: root + '.jsbeautifyrc',
mode: 'VERIFY_AND_WRITE'
}))
.pipe(gulp.dest(root))
.pipe(livereload())
//.pipe(browserSync.reload({
// stream: true
//}));
});
gulp.task('format:self-html', function() {
var pomy = global.getPomyPath();
return gulp.src([
pomy + "**/*.ejs",
pomy + "**/*.html",
"!" + pomy + "**/jsdoc/**/*",
"!" + pomy + "**/node_modules/**/*",
"!" + pomy + "**/bower_components/**/*"
])
.pipe(prettify({
config: pomy + '.jsbeautifyrc'
}))
.pipe(gulp.dest(pomy));
});
gulp.task('format:self-css', function() {
var pomy = global.getPomyPath();
return gulp.src([
pomy + "**/*.css",
pomy + "**/*.less",
pomy + "**/*.scss",
pomy + "**/*.sass",
"!" + pomy + "site/plugins/markdown/public/markdown/scss/vendor/bootstrap-sass-3.2.0/assets/stylesheets/bootstrap/_input-groups.scss",
"!" + pomy + "site/plugins/markdown/public/markdown/scss/vendor/bootstrap-sass-3.2.0/assets/stylesheets/bootstrap/mixins/_reset-filter.scss",
"!" + pomy + "**/classes.all.css",
"!" + pomy + "**/node_modules/**/*",
"!" + pomy + "**/bower_components/**/*"
])
.pipe(prettify({
config: pomy + '.jsbeautifyrc'
}))
.pipe(gulp.dest(pomy));
});
gulp.task('format:self-js', function() {
var pomy = global.getPomyPath();
return gulp.src([
pomy + "**/*.js",
pomy + "**/*.json",
"!" + pomy + "**/classes.all.js",
"!" + pomy + "**/node_modules/**/*",
"!" + pomy + "**/bower_components/**/*"
])
.pipe(prettify({
config: pomy + '.jsbeautifyrc',
mode: 'VERIFY_AND_WRITE'
}))
.pipe(gulp.dest(pomy));
});
gulp.task('format:self', ['format:self-js', 'format:self-css', 'format:self-html'], function(cb) {
cb();
});
;