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.
 
 
 
 
StackGenVis/frontend/node_modules/vue-clickaway/build.js

92 lines
2.0 KiB

var fs = require('fs');
var path = require('path');
var mkdirp = require('mkdirp');
var uglify = require('uglify-js');
var rollup = require('rollup');
var replace = require('rollup-plugin-replace');
Promise
.all([
generateCommonModule(),
generateBundledDev(),
generateBundledProd(),
]);
function generateCommonModule() {
return rollup
.rollup({
entry: 'index.js',
external: [ 'vue' ],
})
.then(function(bundle) {
return bundle.generate({
format: 'cjs',
}).code;
})
.then(function(code) {
write('dist/vue-clickaway.common.js', code);
});
}
function generateBundledDev() {
return rollup
.rollup({
entry: 'index.js',
external: [ 'vue' ],
plugins: [
replace({
'process.env.NODE_ENV': '\'development\'',
}),
],
})
.then(function(bundle) {
return bundle.generate({
format: 'iife',
moduleName: 'VueClickaway',
globals: { vue: 'Vue' },
}).code;
})
.then(function(code) {
write('dist/vue-clickaway.js', code);
});
}
function generateBundledProd() {
return rollup
.rollup({
entry: 'index.js',
external: [ 'vue' ],
plugins: [
replace({
'process.env.NODE_ENV': '\'production\'',
}),
],
})
.then(function(bundle) {
return bundle.generate({
format: 'iife',
moduleName: 'VueClickaway',
globals: { vue: 'Vue' },
}).code;
})
.then(function(code) {
return uglify.minify(code, {
fromString: true,
}).code;
})
.then(function(code) {
return write('dist/vue-clickaway.min.js', code);
});
}
function write(dest, code) {
return new Promise(function(resolve, reject) {
mkdirp(path.dirname(dest), function(err) {
if (err) return reject(err);
fs.writeFile(dest, code, function(err) {
if (err) return reject(err);
resolve();
});
});
});
}