grafana/tasks/options/phantomjs.js

42 lines
1.1 KiB
JavaScript
Raw Normal View History

module.exports = function(config,grunt) {
'use strict';
2015-09-26 04:38:37 -05:00
grunt.registerTask('phantomjs', 'Copy phantomjs binary from node', function() {
2015-09-26 04:38:37 -05:00
var dest = './vendor/phantomjs/phantomjs';
var confDir = './node_modules/karma-phantomjs-launcher/node_modules/phantomjs/lib/'
if (!grunt.file.exists(confDir)) {
// npm 3 or npm 2 with dedupe
confDir = './node_modules/phantomjs/lib/';
}
2015-09-26 04:38:37 -05:00
if (!grunt.file.exists(dest)){
var m=grunt.file.read(confDir+"location.js")
var src=/= \"([^\"]*)\"/.exec(m)[1];
2015-09-26 04:38:37 -05:00
if (!grunt.file.isPathAbsolute(src)) {
src = confDir+src;
}
var exec = require('child_process').execFileSync;
try {
grunt.config('copy.phantom_bin', {
src: src,
dest: dest,
options: { mode: true},
});
grunt.task.run('copy:phantom_bin');
2015-09-26 04:38:37 -05:00
} catch (err) {
grunt.verbose.writeln(err);
grunt.fail.warn('No working Phantomjs binary available')
}
2015-09-26 04:38:37 -05:00
} else {
grunt.log.writeln('Phantomjs already imported from node');
}
});
2015-09-26 04:38:37 -05:00
};