an opinionated list of essential Node.js global packages

Building, breaking and fixing things. Learning something new everyday.
When Javascript came on the scene in 1995, it was meant to be used as a scripting language for Web pages. However, we all know that it's use has gone way past that, and even if you are not a web developer, there are very high chances that you use tools built on top of Javascript, particularly Node.js based tools in your dev workflow.
In this post, I present a list of Node.js tools that I generally depend on, and always ensure that they are installed globally on my development machine. So, without further ado, here we go ...
Web development π
@vue/cliβ Standard Tooling for Vue.js Development@vue/cli-initβvue initcommand addon for@vue/cli. This is an alias to the oldvue-cli@2.x.browser-syncβ Keep multiple browsers & devices in sync when building websites.caniuse-cmdβ a caniuse.com command line toolconcurrentlyβ Run multiple commands concurrently. I typically use this to simultaneously run the Django dev server, gulp and maildev.clean-css-cliβ a command-line interface to clean-css - fast and efficient CSS optimizer for Node.js.express-generatorβ Express application generator tool,firebase-toolsβ Firebase CLI Tools for testing, managing, and deploying your Firebase project from the command linegrunt-cliβ JavaScript Task Runner. I have a couple of old projects that use Grunt, but I have since transitioned to Gulp, which seems to be more actively maintained and has wider plugin support.gulp-cliβ A toolkit to automate & enhance your workflow.html-minifierβ a highly configurable, well-tested, JavaScript-based HTML minifier.lernaβ A tool for managing JavaScript projects with multiple packages.lite-serverβ Lightweight development only node server that serves a web app, opens it in the browser, refreshes when html or Javascript change, injects CSS changes using sockets, and has a fallback page when a route is not foundlocal-cors-proxyβ Simple proxy to bypass CORS issues. This was built as a local dev only solution to enable prototyping against existing APIs without having to worry about CORS.maildevβ SMTP Server + Web Interface for viewing and testing emails during development.nodemonβ a tool that helps develop Node.js based applications by automatically restarting the node application when file changes in the directory are detected.parcel-bundlerβ Blazing fast, zero configuration web application bundlerpm2β a production process manager for Node.js applications with a built-in load balancer. It allows you to keep applications alive forever, to reload them without downtime and to facilitate common system admin tasks.prettierβ an opinionated code formattersassβ CSS with superpowersserveβ Static file serving and directory listingtypescriptβ JavaScript with syntax for types.uglify-jsβ a JavaScript parser, minifier, compressor and beautifier toolkit.
Mobile app development π±
@ionic/cliβ command-line interface for developing Ionic apps.@quasar/cliβ I've placed Quasar under the mobile app development category because that's what I've used it for. However, it is a multi-purpose tool. In fact, Quasarβs motto is: βwrite code once and simultaneously deploy it as a website, a Mobile App and/or an Electron Appβ.@quasar/icongenieβ outputs a set of SQUARE favicons, webicons, pwa-icons and electron-icons as well as iOS, Windows Store and MacOS icons from an original 1240x1240 square icon that retains transparency and also minifies the assets. It will also create splash screens for Cordova/Capacitor and even a minified svg.cordovaβ an open-source mobile development framework which allows you to use standard web technologies (HTML5, CSS3, and JavaScript) for cross-platform development.nativescriptβ access native APIs from JavaScript directly. The framework provides iOS and Android runtimes for rich mobile development.
Git repository management π»
commitizenβ Simple commit conventions for internet citizensconventional-changelog-cliβ Generate a changelog from git metadatadependabot-config-generatorβ CLI tool for Dependabot config generatestandard-versionβ A utility for versioning using semver and CHANGELOG generation powered by Conventional Commits.
Screen recording / terminal capture πΉ
asciicast2gifβ a tool for generating GIF animations from asciicast files recorded by asciinema.gififyβ Convert any video file to an optimized animated GIF. This tool is no longer maintained, so I've switched togifski, a Rust-based GIF encoder based onlibimagequantsvg-term-cliβ Share terminal sessions as razor-sharp animated SVG everywhere.terminalizerβ Record your terminal and generate animated gif images or share a web player.
Document processing / conversion π
doctocβ Generates table of contents for markdown files inside local git repository.mdpdfβ A command line markdown to pdf converter with support for page headers, footers, and custom stylesheets. Mdpdf is incredibly configurable and has a JavaScript API for more extravogant usage.puppeteer-pdfβ HTML to PDF from the command line with Puppeteer
CV / Resume generation π
fluentcvβ a dev-friendly, local-only Swiss Army knife for resumes and CVs. It is the corporate-friendly fork of HackMyResume.hackmyresumeβ Create polished rΓ©sumΓ©s and CVs in multiple formats from your command line or shell. Author in clean Markdown and JSON, export to Word, HTML, PDF, LaTeX, plain text, and other arbitrary formats
Image compression π»
imagemin-cliβ Minify images seamlesslyimagemin-advpngβ AdvPNG plugin for imageminimagemin-jpegtranβ jpegtran plugin for imageminimagemin-mozjpegβ Imagemin plugin for mozjpegimagemin-optipngβ optipng plugin for imageminimagemin-pngcrushβ pngcrush plugin for imageminimagemin-pngquantβ Imagemin plugin forpngquantmozjpegβ a production-quality JPEG encoder that improves compression while maintaining compatibility with the vast majority of deployed decoderssvgoβ Node.js tool for optimizing SVG files. I often also use a similar Python tool called Scour. I'd run both tools on one file and get the smaller resulting file!
Well, there you have it! What Node.js tools do you regularly use that aren't on this list? Do you have alternatives to some of the tools I've listed? Well, let me know in the comments below π.




