chartjs/chartjs-chart-financial

Running on NodeJS

SeanSobey opened this issue · 3 comments

While running this plugin on NodeJS we are getting this error (running ChartJS via my lib):

(node:8700) UnhandledPromiseRejectionWarning: ReferenceError: window is not defined
at afterBuildTicks (/home/../node_modules/chartjs-chart-financial/dist/chartjs-chart-financial.min.js:11:2437)
    at callback (/home/../node_modules/chart.js/dist/chart.js:800:15)
    at TimeSeriesScale._callHooks (/home/../node_modules/chart.js/dist/chart.js:5099:5)
    at TimeSeriesScale.afterBuildTicks (/home/../node_modules/chart.js/dist/chart.js:5115:10)
    at TimeSeriesScale.update (/home/../node_modules/chart.js/dist/chart.js:5037:10)
    ...

Obviously, the error is from the window reference. It looks to just be the one reference, when checking for Luxon, and it can be resolved via something like this:

afterBuildTicks: scale => {
        if (!('window' in this)) {
	        return;
        }
        const DateTime = window && window.luxon && window.luxon.DateTime;
        if (!DateTime) {
	        return;
        }
        ...

I am happy to test and submit this via pull request but am just inquiring about interest and appetite to support NodeJS with this fix and going forward?

That sounds fine to me

Really glad I found this, was ready to give up.
idk what I'm doing but I added to Sean's fix and pasted into chartjs-chart-financial.min.js and now I have pretty candlesticks saved from node :))

...afterBuildTicks:e=>{if(typeof(this)=='undefined'){return;}else{if(!('window' in this)){return;};};const t=window&&window.luxon&&window.luxon.DateTime;...

Created a pull request for this