iham-parsers
Version:
orthoxml, phyloxml and newick parsers for the iHam widget
97 lines (80 loc) • 2.24 kB
JavaScript
const gulp = require('gulp');
const jshint = require('gulp-jshint');
const mocha = require('gulp-mocha');
const uglify = require('gulp-uglify');
const browserify = require('browserify');
const sass = require('gulp-sass');
const babel = require('gulp-babel');
const concat = require('gulp-concat');
// gulp helper
const gzip = require('gulp-gzip');
const del = require('del');
const rename = require('gulp-rename');
const debug = require('gulp-debug');
// path tools
var path = require('path');
var join = path.join;
var mkdirp = require('mkdirp');
// browserify build config
var buildDir = "build";
var browserFile = "browser.js";
//var packageConfig = require('./package.json');
var outputFile = "orthoxml-hogvis";
// auto config for browserify
var outputFileSt = outputFile + ".js";
var outputFilePath = join(buildDir,outputFileSt);
var outputFileMinSt = outputFile + ".min.js";
var outputFileMinPath = join(buildDir,outputFileMinSt);
var paths = {
scripts: {
src: 'src/**/*.js',
dest: buildDir
},
tests: {
src: 'test/**/*.js',
dest: ''
}
};
function clean() {
return del(['assets']);
}
/*
* Define our tasks using plain functions
*/
function scripts() {
return gulp.src(paths.scripts.src, { sourcemaps: true })
.pipe(babel())
.pipe(uglify())
.pipe(concat(outputFileMinSt))
.pipe(gulp.dest(paths.scripts.dest));
}
function lint() {
return gulp.src(paths.scripts.src, {sourcemaps:true} )
.pipe(jshint({esversion:6}))
.pipe(jshint.reporter('default'));
}
function test() {
return gulp.src(paths.tests.src, {read: false})
.pipe(mocha( {reporter: 'spec',
useColors: true} ));
}
function watch() {
gulp.watch(paths.scripts.src, scripts);
}
/*
* Specify if tasks run in series or parallel using `gulp.series` and `gulp.parallel`
*/
var build = gulp.series(clean, scripts);
/*
* You can use CommonJS `exports` module notation to declare tasks
*/
exports.clean = clean;
exports.scripts = scripts;
exports.watch = watch;
exports.build = build;
exports.lint = lint;
exports.test = test;
/*
* Define default task that can be called by just running `gulp` from cli
*/
exports.default = gulp.series(lint, test, build);