mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var build = require('./build/build.js'),
 | 
						|
    lint = require('./build/hint.js');
 | 
						|
 | 
						|
var COPYRIGHT = '/*\n Copyright (c) 2012, Smartrak, David Leaver\n' +
 | 
						|
                ' Leaflet.markercluster is an open-source JavaScript library for Marker Clustering on leaflet powered maps.\n' + 
 | 
						|
                ' https://github.com/danzel/Leaflet.markercluster\n*/\n';
 | 
						|
 | 
						|
desc('Check Leaflet.markercluster source for errors with JSHint');
 | 
						|
task('lint', function () {
 | 
						|
 | 
						|
	var files = build.getFiles();
 | 
						|
 | 
						|
	console.log('Checking for JS errors...');
 | 
						|
 | 
						|
	var errorsFound = lint.jshint(files);
 | 
						|
 | 
						|
	if (errorsFound > 0) {
 | 
						|
		console.log(errorsFound + ' error(s) found.\n');
 | 
						|
		fail();
 | 
						|
	} else {
 | 
						|
		console.log('\tCheck passed');
 | 
						|
	}
 | 
						|
});
 | 
						|
 | 
						|
desc('Combine and compress Leaflet.markercluster source files');
 | 
						|
task('build', ['lint'], function (compsBase32, buildName) {
 | 
						|
 | 
						|
	var files = build.getFiles(compsBase32);
 | 
						|
 | 
						|
	console.log('Concatenating ' + files.length + ' files...');
 | 
						|
 | 
						|
	var content = build.combineFiles(files),
 | 
						|
	    newSrc = COPYRIGHT + content,
 | 
						|
 | 
						|
	    pathPart = 'dist/leaflet.markercluster' + (buildName ? '-' + buildName : ''),
 | 
						|
	    srcPath = pathPart + '-src.js',
 | 
						|
 | 
						|
	    oldSrc = build.load(srcPath),
 | 
						|
	    srcDelta = build.getSizeDelta(newSrc, oldSrc);
 | 
						|
 | 
						|
	console.log('\tUncompressed size: ' + newSrc.length + ' bytes (' + srcDelta + ')');
 | 
						|
 | 
						|
	if (newSrc === oldSrc) {
 | 
						|
		console.log('\tNo changes');
 | 
						|
	} else {
 | 
						|
		build.save(srcPath, newSrc);
 | 
						|
		console.log('\tSaved to ' + srcPath);
 | 
						|
	}
 | 
						|
 | 
						|
	console.log('Compressing...');
 | 
						|
 | 
						|
	var path = pathPart + '.js',
 | 
						|
	    oldCompressed = build.load(path),
 | 
						|
	    newCompressed = COPYRIGHT + build.uglify(content),
 | 
						|
	    delta = build.getSizeDelta(newCompressed, oldCompressed);
 | 
						|
 | 
						|
	console.log('\tCompressed size: ' + newCompressed.length + ' bytes (' + delta + ')');
 | 
						|
 | 
						|
	if (newCompressed === oldCompressed) {
 | 
						|
		console.log('\tNo changes');
 | 
						|
	} else {
 | 
						|
		build.save(path, newCompressed);
 | 
						|
		console.log('\tSaved to ' + path);
 | 
						|
	}
 | 
						|
});
 | 
						|
 | 
						|
task('default', ['build']);
 |