1. version-guard
Used to ensure modern CLI scripts fail silently on old js versions. Useful for static analysis tools and similar
version-guard
Package: version-guard
Created by: voxpelli
Last modified: Thu, 04 Apr 2024 21:01:12 GMT
Version: 1.1.2
License: 0BSD
Downloads: 931,974
Repository: https://github.com/voxpelli/version-guard

Install

npm install version-guard
yarn add version-guard

Version Guard

Used to ensure modern CLI scripts fail silently on old node.js versions

js-semistandard-style
ES Module Ready Badge
Types in JS

Usage

Add a top-level file to your project, eg. cli.js, containing something like:

 require('version-guard')('./path/to/file/to/run', 14, 18);

Syntax

versionGuard(filePath, minMajor, [minMinor])

  • filePath - a path to the modern file that should be run
  • minMajor - the lowest major Node.js version that should be allowed to run the file
  • [minMinor] - the lowest minor version of minMajor that should be allowed to run the file

On supported versions imports and runs filePath using the dynamic import() (supporting both ESM and CJS modules).

On non-supported versions, fails silently with an error message.

Apart from checking current node version this command also looks up the main project's package.json and checks that the engines.node in it mentions the same version number as is sent to this command. To ensure that maintainers doesn't forget to update one of the two and thus the two diverging.

Notes

This project itself is a CJS project as the entire point is to work on incredibly old node.js versions.

Used by

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code