87 lines
2.0 KiB
JavaScript
87 lines
2.0 KiB
JavaScript
/*
|
|
Leaflet.markercluster building, testing and linting scripts.
|
|
|
|
To use, install Node, then run the following commands in the project root:
|
|
|
|
npm install -g jake
|
|
npm install
|
|
|
|
To check the code for errors and build Leaflet from source, run "jake".
|
|
To run the tests, run "jake test".
|
|
|
|
For a custom build, open build/build.html in the browser and follow the instructions.
|
|
*/
|
|
|
|
var path = require('path');
|
|
|
|
desc('Check Leaflet.markercluster source for errors with JSHint');
|
|
task('lint', function(){
|
|
jake.exec('jshint', {
|
|
printStdout: true
|
|
}, function () {
|
|
console.log('\tCheck passed.\n');
|
|
complete();
|
|
});
|
|
});
|
|
|
|
desc('Combine Leaflet.markercluster source files');
|
|
task('build', ['lint'], function(){
|
|
jake.exec('npm run-script rollup', function() { console.log('Rolled up.'); });
|
|
});
|
|
|
|
desc('Compress bundled files');
|
|
task('uglify', ['build'], function(){
|
|
jake.exec('npm run-script uglify', function() { console.log('Uglyfied.'); });
|
|
});
|
|
|
|
desc('Run PhantomJS tests');
|
|
task('test', ['lint'], function() {
|
|
|
|
var karma = require('karma'),
|
|
testConfig = {configFile : path.join(__dirname, './spec/karma.conf.js')};
|
|
|
|
testConfig.browsers = ['PhantomJS'];
|
|
|
|
function isArgv(optName) {
|
|
return process.argv.indexOf(optName) !== -1;
|
|
}
|
|
|
|
if (isArgv('--chrome')) {
|
|
testConfig.browsers.push('Chrome');
|
|
}
|
|
if (isArgv('--safari')) {
|
|
testConfig.browsers.push('Safari');
|
|
}
|
|
if (isArgv('--ff')) {
|
|
testConfig.browsers.push('Firefox');
|
|
}
|
|
if (isArgv('--ie')) {
|
|
testConfig.browsers.push('IE');
|
|
}
|
|
|
|
if (isArgv('--cov')) {
|
|
testConfig.preprocessors = {
|
|
'src/**/*.js': 'coverage'
|
|
};
|
|
testConfig.coverageReporter = {
|
|
type : 'html',
|
|
dir : 'coverage/'
|
|
};
|
|
testConfig.reporters = ['coverage'];
|
|
}
|
|
|
|
console.log('Running tests...');
|
|
|
|
var server = new karma.Server(testConfig, function(exitCode) {
|
|
if (!exitCode) {
|
|
console.log('\tTests ran successfully.\n');
|
|
complete();
|
|
} else {
|
|
process.exit(exitCode);
|
|
}
|
|
});
|
|
server.start();
|
|
});
|
|
|
|
task('default', ['build', 'uglify']);
|