an opinionated list of essential Node.js global packages

an opinionated list of essential Node.js global packages


5 min read

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 init command addon for @vue/cli. This is an alias to the old vue-cli@2.x.
  • browser-sync – Keep multiple browsers & devices in sync when building websites.
  • caniuse-cmd – a command line tool
  • concurrently – 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 line
  • grunt-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 found
  • local-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 bundler
  • pm2 – 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 formatter
  • sass – CSS with superpowers
  • serve – Static file serving and directory listing
  • typescript – 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 πŸ’»

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 to gifski, a Rust-based GIF encoder based on libimagequant
  • svg-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 πŸ–»

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 πŸ™‚.

Did you find this article valuable?

Support Victor Miti by becoming a sponsor. Any amount is appreciated!