|
|
|
|
|
by badshar
3143 days ago
|
|
What do you do when you have an old school application where JavaScript is written in non-modern style? For example, you have a.js and b.js. You define a function "hello" in a.js and use it in b.js. In the project, the developer assumes that the two files will be included in correct order within HTML. Linters fail here because they think b.js uses an undefined function, when it's actually defined. Unfortunately, since most JS linters only validate one file at a time, they are pretty much useless here. |
|
I would not want my linter to load multiple files, since that pattern of polluting the global namespace is really not maintainable.
The fix can be fairly simple if you wrap your entire b.js file in a function that takes an argument of 'hello' which you invoke from a.js.
If that doesn't work because you have too many global declarations you should probably just dump all the code into one giant file.
That might seem terrible and unmaintainable, but it is exactly what you already have.
Once the mess is all in one spot you can use a linter to start improving the quality, and begin breaking of the code into actual modules.