node-highcharts
node-highcharts copied to clipboard
Doesn't work with latest jsdom
TypeError: jsdom.jsdom(...).createWindow is not a function at createHighchartsWindow
I'm amazed it gets that far. It hasn't run against JSDom versions for years.
I was hoping they'd recommend a better solution by now but it looks like they're still linking to me.
Would the PhantomJS approach work for you?
Try changing:
var window = jsdom.jsdom().createWindow(),
to
var window = jsdom.jsdom().defaultView,
in
./lib/node-highcharts.js
with var window = jsdom.jsdom().defaultView, it is generating 1kb chart.png, no error, but not working.
Any advise?
it's been several years since I've actively used these techniques. Any errors from jsdom visible?
Thanks for the response.
With var window = jsdom.jsdom().createWindow(), below error reported.
TypeError: jsdom.jsdom(...).createWindow is not a function at createHighchartsWindow (D:\Source-Code\nodeJs-chart-serverside\node_modules\node-highcharts\lib\node-highcharts.js:5:30) at Object.render (D:\Source-Code\nodeJs-chart-serverside\node_modules\node-highcharts\lib\node-highcharts.js:46:2) at D:\Source-Code\nodeJs-chart-serverside\app.js:55:12 at Layer.handle [as handle_request] (D:\Source-Code\nodeJs-chart-serverside\node_modules\express\lib\router\layer.js:95:5) at next (D:\Source-Code\nodeJs-chart-serverside\node_modules\express\lib\router\route.js:131:13) at Route.dispatch (D:\Source-Code\nodeJs-chart-serverside\node_modules\express\lib\router\route.js:112:3) at Layer.handle [as handle_request] (D:\Source-Code\nodeJs-chart-serverside\node_modules\express\lib\router\layer.js:95:5) at D:\Source-Code\nodeJs-chart-serverside\node_modules\express\lib\router\index.js:277:22 at Function.process_params (D:\Source-Code\nodeJs-chart-serverside\node_modules\express\lib\router\index.js:330:12) at next (D:\Source-Code\nodeJs-chart-serverside\node_modules\express\lib\router\index.js:271:10) at jsonParser (D:\Source-Code\nodeJs-chart-serverside\node_modules\body-parser\lib\types\json.js:103:7) at Layer.handle [as handle_request] (D:\Source-Code\nodeJs-chart-serverside\node_modules\express\lib\router\layer.js:95:5) at trim_prefix (D:\Source-Code\nodeJs-chart-serverside\node_modules\express\lib\router\index.js:312:13) at D:\Source-Code\nodeJs-chart-serverside\node_modules\express\lib\router\index.js:280:7 at Function.process_params (D:\Source-Code\nodeJs-chart-serverside\node_modules\express\lib\router\index.js:330:12) at next (D:\Source-Code\nodeJs-chart-serverside\node_modules\express\lib\router\index.js:271:10)
var window = jsdom.jsdom().defaultView, it generating 1kb chart.jpg, which is invalid format. And, the service is keep executing. Please let me know, if you need any more detail.