I recently set up JSDoc for a large scale codebase at my work, and found the flexibility and ease of use pretty amazing. We opted to install a more user friendly template, and that process was dead simple. The workflow for generating docs is straightforward. Embed a configuration file in your codebase, give it some paths, and you're up and running. Highly recommended for a generated documentation system
supertest is an amazing addition to our test framework, allowing for much easier debugging and better stack traces on our api requests. It's also very well documented and quick and easy to get up and running
I needed to generate QRCodes to simplify a user workflow, and found this package made it very easy to do so. Highly recommend if you need a qrcode generator
Chai is a great plug and play assertion library for tests. It makes your tests very human readable, making it very easy to tell exactly what is being tested. We've used chai for all of our tests, and love the readability and functionality
Sinon makes writing unit tests easier, and makes your tests better. Mocking is critical for keeping your unit tests deterministic, and not reliant on 3rd party services. I've found spies to be among the most useful tools when writing tests, and would highly recommend checking them out as well. 4 stars because Jest supports much of this functionality as well, and I don't see a great reason not to just use Jest these days, unless you're a fan of building your own test framework out of a bunch of smaller packages.
Mocha is a great test framework, and we use it extensively. It's built on the premise of adding on other packages to handle certain functionality you might expect in a test framework eg. chai (assert), sinon (mocks), and istanbul (coverage), so if you like that style of BYOP (bring your own packages) to set up your test framework, Mocha might be for you. We have recently started transitioning towards Jest, since it seems a bit more cohesive, and has a bunch of test framework functionality built in
Well I can't say this package is the easiest to use, but that's by no means it's fault. That's because SOAP is a pain to use. This package makes it so much easier, albeit still clunky. I had to use it to connect to an old, crufty, government api. I did wind up getting it working, and was able to parse the SOAP responses, and had it all up and working quite quickly, whereas if I'd had to attempt a SOAP implementation on my own, it'd probably have been at least a full day, if not longer.
If you need to do geo ip lookups, maxmind is probably the best provider. I've used this package professionally, with their official databases, and found the results to be very quick and accurate. You download the database, so you can do the lookup offline, resulting in very quick results. We did have to write a simple little system to automatically download and update the database regularly.
I use object-path in a personal project and love it's simplicity. If you're sick of null checking each element down your object structure, objet-path can help with that :) Of course nowadays, optional chaining makes it arguably less helpful, however being able to deep set elements in an object where it's unknown if some elements could be null/undefined, is very handy.
A very simple, and performant deep equality checker - I've just added it directly to my utility helper file, and use it everywhere I need to check for deep equality. It's really simple, and I've noticed no major performance issues, even when checking relatively large objects.