Problems with statics
Hi Elena
I had a topic the other day about my frustrations with debugging and i mentioned problems with private statics - you asked for an example. I have duly uploaded the file jetbrains_statics.zip to illustrate a couple of issues (i think). Comments in the app.js state the issue but basically just run under a debugger and break at the console log to see what I'm talking about. For others' benefit the issues are:
- syntax reported for private statics which are initialized at point of declaration
- statics missing in debugger when they are initialized in the constructor (not place of declaration)
I'm starting to understand the issues with debugging and now, and in particular why it has frustrated me. One issue seems to be the need to restart the debugger so very often. To illustrate simply run the example in the file I output. (that is to say, run the debugger, then run the programme). All will be well and it will break in Webstorm. However - let's say you now make a change to the code (or simply want to hit start again. The code reruns - but the debugger is effectively dead at this point - you need to go to the chrome window and close the tab and rerun the debugger. As soon as you rerun the debugger, it's good again.
Finally - I'm still trying to get eslint and flow working properly. These are not really Webstorm issues (though i did find a tiny webstorm issue with .flowconfig files - it doesn't take allowance of the options that can be specified > 1 time), I state them here in the hope that somebody has overcome them. Flow in particular is basically a complete pain. There seems to be no way for it to ignore/accept private methods - even thought it fully recognises them as such. It also seems to have a lot of trouble with async/await functions.
Anyway, again, thanks for your help.
Please sign in to leave a comment.
Thanks for the sample:)
>syntax reported for private statics which are initialized at point of declaration
Must be a problem of either babel or V8 engine, as the same issue can be recreated in all debuggers I've tried
VSCode:
Chrome Dev Tools:
>statics missing in debugger when they are initialized in the constructor
Do you mean that they don't appear under Local node? Not sure they should be there, anyway submitted it as https://youtrack.jetbrains.com/issue/WEB-40859, please follow it for updates.
Note that you can find these fields under Block/Functions/App node:
> However - let's say you now make a change to the code (or simply want to hit start again. The code reruns - but the debugger is effectively dead at this point - you need to go to the chrome window and close the tab and rerun the debugger.
works fine for me... By hitting start, do you mean restarting the server (npm start script)? Exact steps (or, even better, a video recording) would be appreciated