One of the biggest advantages of Node.js is the fact that it's an open source project where anyone can contribute. Combining it with a very active and vibrant community that is willing to share their code with others makes Node.js a great environment with a huge potential in app development. However, with the abundance of different projects out there, it might be a hard nut to crack to find the reliable ones that meet the coding standards. That’s why we asked 5 Node.js experts with extensive experience to exclusively share their favourite Node.js open source projects that they find the most helpful in everyday work. You can trust them. :)
Express is a minimal, flexible and the most popular Node.js modular framework that provides a wide set of features for web and mobile applications. It simplifies development and helps to build secure, modular and fast apps.
Express is a foundational framework for web servers and inspiration for numerous other Node frameworks. It makes building quick web servers a breeze, but also can act as the basis for larger projects. - Jordan Kasper, Front End Engineering Instructor and Mentor Lead at The Iron Yard.
Hapi is a framework that enables building web applications and services with reusable application logic. It will save you the time you spend on building infrastructure. The framework is continuously developed and updated by an active community, giving developers a reliable and stable tool for their projects.
Hapi is a great framework for building web services. It’s supported by great developers, and it has been used in real-world situations at scale. - Charlie Key, Co-founder at Losant.
There is a bunch of benefits of using Electron. The biggest one is that it is cross-platform, so you build the application once and because it’s using mostly web technology, it automatically runs on Windows, MacOS and Linux if you want it to. The other one is that the developer tools are amazing. - Felix Rieseberg, Senior Software Engineer at Slack.
standard is the only acceptable linter and code style - Mikeal Rogers, Community Manager, Node.js Foundation at The Linux Foundation.
ESLint is absolutely essential. It will save you so much time, and your code will become much more consistent and readable as a result. Here’s a popular ESLint configuration by Airbnb to help get you started. - Emily Rose, Lead Developer Evangelist at Salesforce.
TypeScript and the @types packages allow me to verify the correctness of my code in my editor, which is really powerful. - Felix Rieseberg, Senior Software Engineer at Slack.
sodium-encryption and sodium-signatures are the best crypto libraries for Node.js and the browser - Mikeal Rogers, Community Manager, Node.js Foundation at The Linux Foundation.
Chai and Sinon are the most widely adopted testing tools for the Node.js ecosystem. Chai provides you with the behaviour-driven development paradigm, and Sinon provides a framework for writing stubs & mocks. The two together provide a great foundation for writing well-tested code. - Emily Rose, Lead Developer Evangelist at Salesforce
Mocha is not the only unit testing tool out there, it is essential to many projects as the final check of code before it gets deployed - Jordan Kasper, Front End Engineering Instructor and Mentor Lead at The Iron Yard.
Request is a third party module to simplify http calls. It supports HTTPS and follows redirects by default, but you can always configure that. It provides shorthand methods, custom configurations, as well as the basics of the streaming API.
Request module has been the basis of dozens, if not hundreds, of scripts I’ve created. It simplifies making HTTP requests to a single line of code that is brilliant in it’s compactness. - Charlie Key, Co-founder at Losant.
Restify is a node.js module that enables creating correct REST web services. It helps build "strict" API services that are maintainable and observable. The framework gives an absolute control over interactions with HTTP and full observability into the latency and characteristics of the applications you make.
Restify: a framework to make it super simple to build a REST API with Node. It is very similar to the most popular Node web framework Express.js, but with a specific focus on building an API. This often overlooked tool can prove extremely valuable, particularly in the early stages of development. - Emily Rose, Lead Developer Evangelist at Salesforce.
fs-extra and fs-promise are Node.js packages available in npm registry. fs-extra adds file system methods that aren't included in the native fs module, whereas fs-promise adds support for async functions from fs-extra.
I end up using fs-extra and fs-promise to do file operations in nearly every app I build. - Felix Rieseberg, Senior Software Engineer at Slack.
simple-peer provides simple one-to-one WebRTC video, voice and data channels. It works both in Node and the browser. It also supports advanced options like enabling/disabling trickle ICE candidates, manual set config and constraints options.
simple-peer simplifies WebRTC peers into a usable library. - Mikeal Rogers, Community Manager, Node.js Foundation at The Linux Foundation.
Moment means time and date manipulation made easy. This takes one of the more annoying and complex tasks in programming and makes it joyful. - Charlie Key, Co-founder at Losant.
Node inspector is an effective Node.js debugger interface that uses the Blink Developer Tools. It provides a wide set of powerful features that help debug Node.js code with ease.
Node inspector is vital for anyone who wants to debug their Node.js code. It provides the same amazing tools developers have come to expect in the browser (Chrome) but for Node: breakpoints, watch statements, REPL, profiling, etc. - Jordan Kasper, Front End Engineering Instructor and Mentor Lead at The Iron Yard.
Hope the list above will help you with your future Node.js projects. All the recommendations come from experts that have tested them in action at top tech companies. If you’re also interested in other companies that used Node.js in their production, check out my previous entry.
Last but not least, I want to thank you all the lovely people who found time to contribute to this article! Cheers!