<div dir="ltr"><div><div>As part of the efforts to run eslint in our tree, the #includes and #ifdefs directives have been removed from most of the JS files in browser.  This should also have other benefits for the build system as well.<br><br></div><div>If you need to add any platform-conditional code, please use AppConstants.jsm from now on!<br><br>This work was done in bug 1228627 and bug 1228655. Thanks Gijs for all the reviews!<br><br>Bug 1229603 is the follow-up work to remove some non-standard syntax code that we have that trips the eslint parser (and for the most part is going away in favor of ES6 constructs).<br><br></div><div>Dave Townsend is also removing most of the pre-processing and invalid syntax from toolkit in bug <span class=""><span class="">1229519.<br><br><br></span></span></div><div><span class=""><span class="">If you want to help, there are a lot of low-hanging fruits (for pre-processing and invalid syntax) to be removed from browser/modules, browser/components, and friends.  Feel free to pick anything and work on it, I haven't filed follow-up bugs for any of these yet.<br><br></span></span></div><div><span class=""><span class="">You can find what they are (when the patches above make it to your tree) by removing some of the exclusions in `<hgroot>/.eslintignore` and running `mach eslint browser`. Or ping me and I can tell!<br><br></span></span></div><div><span class=""><span class="">Cheers,<br></span></span></div><div><span class=""><span class="">Felipe<br></span></span></div></div></div>