e86e7a73f8
Minifiying the js code was taking too much time. Minifying is not really needed on developer's machine, so lets disable it by default, otherwise it gets annoying during development having to wait for so many seconds for it to build. A simple 'make' now means no debug-info and non-minified bundle.js. To add debug-info(source-maps), do 'make DEBUG=true'. And to minify, similarly use the MINIFY=true variable with make. 'make dist' forcefully minifies the js code.
70 lines
1.9 KiB
JavaScript
70 lines
1.9 KiB
JavaScript
/*
|
|
Leaflet 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 build = require('./build/build.js'),
|
|
version = require('./src/Leaflet.js').version;
|
|
|
|
function hint(msg, args) {
|
|
return function () {
|
|
console.log(msg);
|
|
jake.exec('node node_modules/eslint/bin/eslint.js ' + args,
|
|
{printStdout: true}, function () {
|
|
console.log('\tCheck passed.\n');
|
|
complete();
|
|
});
|
|
};
|
|
}
|
|
|
|
desc('Check Leaflet source for errors with ESLint');
|
|
task('lint', {async: true}, hint('Checking for JS errors...', 'src dist --config .eslintrc'));
|
|
|
|
desc('Check Leaflet specs source for errors with ESLint');
|
|
task('lintspec', {async: true}, hint('Checking for specs JS errors...', 'spec/suites --config spec/.eslintrc'));
|
|
|
|
desc('Combine and compress Leaflet source files');
|
|
task('build', {async: true}, function (compsBase32, buildName) {
|
|
var v;
|
|
|
|
jake.exec('git log -1 --pretty=format:"%h"', {breakOnError: false}, function () {
|
|
build.build(complete, v, compsBase32, buildName);
|
|
|
|
}).on('stdout', function (data) {
|
|
v = version + ' (' + data.toString() + ')';
|
|
}).on('error', function () {
|
|
v = version;
|
|
});
|
|
});
|
|
|
|
desc('Browserify and bundle all js and css files');
|
|
task('bundle', {async: true}, function (type, debug, minify) {
|
|
debug = debug === 'true';
|
|
minify = minify === 'true';
|
|
|
|
if (type === 'admin') {
|
|
build.bundleAdmin(debug, minify);
|
|
} else {
|
|
build.bundle(debug, minify);
|
|
}
|
|
});
|
|
|
|
desc('Run PhantomJS tests');
|
|
task('test', ['lint', 'lintspec'], {async: true}, function () {
|
|
build.test(complete);
|
|
});
|
|
|
|
task('default', ['test', 'build']);
|
|
|
|
jake.addListener('complete', function () {
|
|
process.exit();
|
|
});
|