Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
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.
72 lines
1.9 KiB
72 lines
1.9 KiB
/* |
|
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". To build the documentation, run "jake docs". |
|
|
|
For a custom build, open build/build.html in the browser and follow the instructions. |
|
*/ |
|
|
|
var build = require('./build/build.js'), |
|
buildDocs = require('./build/docs'), |
|
git = require('git-rev'); |
|
|
|
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(); |
|
}); |
|
}; |
|
} |
|
|
|
// Returns the version string in package.json, plus a semver build metadata if |
|
// this is not an official release |
|
function calculateVersion(officialRelease, callback) { |
|
|
|
var version = require('./package.json').version; |
|
|
|
if (officialRelease) { |
|
callback(version); |
|
} else { |
|
git.short(function(str) { |
|
callback (version + '+' + str); |
|
}); |
|
} |
|
} |
|
|
|
desc('Check Leaflet source for errors with ESLint'); |
|
task('lint', {async: true}, hint('Checking for JS errors...', 'src')); |
|
|
|
desc('Check Leaflet specs source for errors with ESLint'); |
|
task('lintspec', {async: true}, hint('Checking for specs JS errors...', 'spec/suites')); |
|
|
|
desc('Combine and compress Leaflet source files'); |
|
task('build', {async: true}, function (compsBase32, buildName, officialRelease) { |
|
calculateVersion(officialRelease, function(v){ |
|
build.build(complete, v, compsBase32, buildName); |
|
}); |
|
}); |
|
|
|
desc('Run PhantomJS tests'); |
|
task('test', ['lint', 'lintspec'], {async: true}, function () { |
|
build.test(complete); |
|
}); |
|
|
|
desc('Build documentation'); |
|
task('docs', {}, function() { |
|
buildDocs(); |
|
}); |
|
|
|
task('default', ['test', 'build']); |
|
|
|
jake.addListener('complete', function () { |
|
process.exit(); |
|
});
|
|
|