UNPKG

jsperf-img-svc

Version:

A simple micro service for loading jsperf result charts as a static image

44 lines (40 loc) 1.15 kB
'use strict'; var _ = require('lodash'), Promise = require('bluebird'), webpage = require('webpage'), system = require('system'), config = JSON.parse(system.args[1]), svg = JSON.parse(system.args[2]), page = _.assign(webpage.create(), { onConsoleMessage: function(msg){ console.log(msg); }, viewportSize: {width: 1420, height: 660}, content: '<html><body></body><html>' }); Promise .all([ new Promise(function(resolve){ page.includeJs(config.localBase + '/public/rgbcolor/index.js', resolve); }), new Promise(function(resolve){ page.includeJs(config.localBase + '/public/stackblur/index.js', resolve); }), new Promise(function(resolve){ page.includeJs(config.localBase + '/public/canvg/index.js', resolve); }) ]) .then(function(){ var dataURL = page.evaluate(function(svg, config){ var canvas = document.createElement('canvas'); canvas.width = svg.width; canvas.height = svg.height; canvg(canvas, svg.data); return canvas.toDataURL(config.mime); }, svg, config); console.log(dataURL.replace('data:' + config.mime + ';base64,', '')); }) .finally(function(){ phantom.exit(); });