mirror of
https://gitlab.com/JKANetwork/CheckServer.git
synced 2026-03-06 02:22:01 +01:00
Start again
This commit is contained in:
87
vendors/autosize/build.js
vendored
Normal file
87
vendors/autosize/build.js
vendored
Normal file
@@ -0,0 +1,87 @@
|
||||
var pkg = require('./package.json');
|
||||
var fs = require('fs');
|
||||
var ugly = require('uglify-js');
|
||||
var jshint = require('jshint').JSHINT;
|
||||
var babel = require('babel');
|
||||
var gaze = require('gaze');
|
||||
|
||||
function writeBower() {
|
||||
var bower = {
|
||||
name: pkg.config.bower.name,
|
||||
description: pkg.description,
|
||||
dependencies: pkg.dependencies,
|
||||
keywords: pkg.keywords,
|
||||
authors: [pkg.author],
|
||||
license: pkg.license,
|
||||
homepage: pkg.homepage,
|
||||
ignore: pkg.config.bower.ignore,
|
||||
repository: pkg.repository,
|
||||
main: pkg.main,
|
||||
moduleType: pkg.config.bower.moduleType,
|
||||
};
|
||||
fs.writeFile('bower.json', JSON.stringify(bower, null, '\t'));
|
||||
return true;
|
||||
}
|
||||
|
||||
function lint(full) {
|
||||
jshint(full.toString(), {
|
||||
browser: true,
|
||||
undef: true,
|
||||
unused: true,
|
||||
immed: true,
|
||||
eqeqeq: true,
|
||||
eqnull: true,
|
||||
noarg: true,
|
||||
predef: ['define', 'module', 'exports', 'Set']
|
||||
});
|
||||
|
||||
if (jshint.errors.length) {
|
||||
jshint.errors.forEach(function (err) {
|
||||
console.log(err.line+':'+err.character+' '+err.reason);
|
||||
});
|
||||
} else {
|
||||
console.log('linted')
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function build(code) {
|
||||
var minified = ugly.minify(code, {fromString: true}).code;
|
||||
var header = [
|
||||
'/*!',
|
||||
' '+pkg.config.title+' '+pkg.version,
|
||||
' license: MIT',
|
||||
' '+pkg.homepage,
|
||||
'*/',
|
||||
''
|
||||
].join('\n');
|
||||
|
||||
fs.writeFile('dist/'+pkg.config.filename+'.js', header+code);
|
||||
fs.writeFile('dist/'+pkg.config.filename+'.min.js', header+minified);
|
||||
writeBower();
|
||||
|
||||
console.log('dist built');
|
||||
}
|
||||
|
||||
function transform(filepath) {
|
||||
babel.transformFile(filepath, {modules: 'umd'}, function (err,res) {
|
||||
if (err) {
|
||||
return console.log(err);
|
||||
} else {
|
||||
lint(res.code);
|
||||
build(res.code);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
gaze('src/'+pkg.config.filename+'.js', function(err, watcher){
|
||||
// On file changed
|
||||
this.on('changed', function(filepath) {
|
||||
transform(filepath);
|
||||
});
|
||||
|
||||
console.log('watching');
|
||||
});
|
||||
|
||||
transform('src/'+pkg.config.filename+'.js');
|
||||
Reference in New Issue
Block a user