I recently moved from Java to JavaScript on Node.js. I was very excited, opened up my IntelliJ IDE for an existing Node.js project only to find I cannot know what the parameters I see functions receiving actually are except for their names (in java I could click the parameter type and see what it is..), I cannot use Ctrl-Alt-H in most cases in order to show call hierarchy, and found myself doing textual search all over the place wasting most of my time on an existing project, while in Java I could navigate easily with the help of the IDE and find almost everything I want to discover about the codebase in seconds, so possibly in Java there was more "ceremony" and writing the code was taking longer time, but now when I want to maintain it I could do that in seconds and find my way there in seconds.
Is it possible at all to maintain a large code base in JavaScript for code you did not write?
I'm really scared now this is what I'm going to do 100% of my time, maintaining Node.js projects, help me get out of the plain text search which wastes most of my time in trying to discover the flows inside the JavaScript project.
It's not code I wrote, I'm trying to maintain others code and it's super extremely difficult to understand the flows. (in Java I could easily find the flows with the help of the IDE)