Supported technologies for Node.js

This page shows supported technologies for the Contrast Node.js agent. Contrast Node.js agent versions are supported for one year after release.

Note

The Contrast Node.js agent does not support any 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.

Technology

Supported versions

Notes

Language version

  • JavaScript ECMAScript 5 

  • JavaScript ECMAScript 6

  • 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.

Node.js Long-Term Support (LTS)

All versions in Active and Maintenance LTS status, currently 10*, 12 and 14

The Node.js agent doesn't guarantee support for Node.js features classified as Experimental (Stability: 1). It also doesn't instrument the native net or https2 modules, and only provides functionality for HTTP(S) application servers built using the supported application frameworks in this table.

Version status is shown in Node.js Long-Term Support Release Schedule.

*Only supported for Node.js agent versions 3.X.X.

Operating systems

  • Linux

  • Windows

  • macOS

  • Other Unix-like systems

The agent runs in the Node.js application layer so it works on the same operating systems as Node.js.

Application frameworks

Express 4

hapi 19, 20

Fastify 2*, 3 (see note)

Koa 2.3 and later

Kraken 2.2.0 and 2.3.0

LoopBack 3*, 4

Restify 8

Note

If you are using Fastify 3 with Node.js agent version 3.X.X, you must enable the optional babel rewriter.

# env var
CONTRAST__AGENT__NODE__ENABLE_BABEL=true

# yaml
agent:
  node:
    enable_babel: true
    
# cli
--agent.node.enable_babel true

*Only supported for Node.js agent versions 3.X.X.

Databases and object-relational mapping (ORM)

DynamoDB (Assess only) 2019 and later

https://www.npmjs.com/package/mongodb 3.5.0 and later, 4.X; (compatible with database versions 3.6, 4.X)

https://www.npmjs.com/package/mysql2 2.0.0 and later (compatible with database versions 5.6.51, 5.7.X)

Mongoose 4.X and 5.X

Postgres driver 7.5.0 and later, 8.X (compatible with database versions 9.6 and later)

Sequelize 5.X and 6.X

https://www.npmjs.com/package/sqlite 4.X (compatible with database versions 3.26.0 and later)

SQLite3 driver 4.X (compatible with database versions 3.26.0 and later)

Validation modules

Joi 17 and later

Validator 13 and later

Templating engines

Handlebars 4

Pug 3

EJS 3*

*Only supported for Node.js agent versions 4.X.X.

Other technologies

Express-session 1.16 and later

Test suite

Node Test Benches

When changes are made to the Node.js agent, Contrast runs this battery of automated tests to ensure that it detects findings in supported technologies across all supported versions of Node. The Node Test Benches include tests that exercise the agent with all of our supported frameworks. Each framework within the monorepo is updated as Contrast adds more third-party library support to the agent.