StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics
https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.1 KiB
89 lines
2.1 KiB
'use strict';
|
|
|
|
var gulp = require('gulp');
|
|
var jshint = require('gulp-jshint');
|
|
var exec = require('gulp-exec');
|
|
var stylish = require('jshint-stylish');
|
|
var browserify = require('gulp-browserify');
|
|
var uglify = require('gulp-uglify');
|
|
var rename = require('gulp-rename');
|
|
var replace = require('gulp-replace');
|
|
var coveralls = require('gulp-coveralls');
|
|
var istanbul = require('gulp-istanbul');
|
|
var mocha = require('gulp-mocha');
|
|
|
|
var paths = {
|
|
index: './index.js',
|
|
tests: './test/**/*.js'
|
|
};
|
|
|
|
function preTest(src) {
|
|
return gulp.src(src)
|
|
.pipe(istanbul())
|
|
.pipe(istanbul.hookRequire());
|
|
}
|
|
|
|
function test(src){
|
|
return gulp.src(src)
|
|
.pipe(mocha())
|
|
.pipe(istanbul.writeReports());
|
|
}
|
|
|
|
function testKarma(done){
|
|
if (+process.version.split('.')[0].slice(1) < 8) {
|
|
console.log('karma does not support Node.js < 8, skipping');
|
|
return done();
|
|
}
|
|
new (require('karma').Server)({
|
|
configFile: __dirname + '/karma.conf.js',
|
|
singleRun: true
|
|
}, done).start();
|
|
}
|
|
|
|
function lint(src){
|
|
return gulp.src(src)
|
|
.pipe(jshint('.jshintrc'))
|
|
.pipe(jshint.reporter(stylish));
|
|
}
|
|
|
|
gulp.task('dist', function(){
|
|
return Promise.all([
|
|
gulp.src([paths.index])
|
|
.pipe(browserify({
|
|
insertGlobals : true,
|
|
debug: true,
|
|
standalone: 'objectHash'
|
|
}))
|
|
// Hack: See https://github.com/puleos/object-hash/issues/71.
|
|
// It's probably better to replace gulp-browserify altogether instead.
|
|
.pipe(replace(/_global.crypto/g, 'false'))
|
|
.pipe(rename('object_hash.js'))
|
|
.pipe(uglify())
|
|
.pipe(gulp.dest('./dist')),
|
|
gulp.src([paths.tests])
|
|
.pipe(browserify())
|
|
.pipe(rename('object_hash_test.js'))
|
|
.pipe(gulp.dest('./dist'))
|
|
]);
|
|
});
|
|
|
|
gulp.task('pre-test', function() {
|
|
return preTest([paths.index]);
|
|
});
|
|
|
|
gulp.task('test', gulp.series('pre-test', function() {
|
|
return test([paths.tests]);
|
|
}));
|
|
|
|
gulp.task('karma', function(done) {
|
|
testKarma(done);
|
|
});
|
|
|
|
gulp.task('coveralls', function() {
|
|
return gulp.src('coverage/**/lcov.info')
|
|
.pipe(coveralls());
|
|
});
|
|
|
|
gulp.task('lint', function () {
|
|
return lint([paths.index]);
|
|
});
|
|
|