Skip to main content

Supported technologies for Node.js

This page reflects the supported technologies and capabilities of the latest version available on npmjs.com unless otherwise specified in the notes.

Note

The Contrast Node.js agent may not function with versions of modules tagged as deprecated on npmjs.com. Deprecated modules present a high security risk and may negatively impact the function of the agent.

It also does not support applications that use bundlers like webpack, parcel, or esbuild to package or compress the server-side JavaScript code.

Technology

Supported versions

Notes

Language versions

  • JavaScript ECMAScript 5

  • JavaScript ECMAScript 6

  • ECMAScript modules (ESM)

  • TypeScript

Contrast supports even numbered Node.js versions in "active LTS" or "maintenance" status.

The Node.js LTS versions support these features for JavaScript ECMAScript5 and 6.

TypeScript is only supported if the agent is configured to point to the compiled entry point for your application.

System

  • Node.js LTS version 16, 18, 20

  • Processor support - Apple M1/M2, Intel/AMD (AMD64)

  • Operating System Support - Windows Server, Windows 10/11, MacOS, Linux (Debian, CentOS, etc)

  • PM2

  • System requirements for the Node.js agent

NPM version

  • >= 8.5.5

Application frameworks

Database drivers and object-relational mapping (ORM)

  • MarsDB. No longer maintained but required by the JuiceShop vulnerable app.

  • Mongoose 6.X, 7.X

  • MongoDB 2.2.36, 3.3.0 and later, 4.X, 5.X. Compatible with database versions 4.X, 5.X, 6.X.

  • MySQL2 2.0.0 and later. Compatible with MySQL database versions 5.6.51, 5.7.X and 8.0.X.

  • MSSQL 6.4.0 and later

  • Postgres driver 7.5.0 and later; 8.X

  • Sequelize 5.X (this is deprecated by the maintainer); 6.X

  • SQLite3 driver 4.X. Compatible with database versions 3.26.0 and later. This is mainly for JuiceShop and demo apps, SQLite is not a “production” database.

  • MongoDB 2.2.36 is only supported because it is required by the NodeGoat vulnerable application.

  • SQLite and MarsDB are not for use in production and are only supported to enable running and testing with the JuiceShop vulnerable application.

Validation Packages/Libraries

Templating Engines

Other Packages/Libraries