Supported technologies for Node.js

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 application source code has been transpiled to ES5 and 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.

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 16, 17, 18, 19

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, 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

Databases and object-relational mapping (ORM)

DynamoDB (Assess only) 2019 and later

MongoDB 3.6 and 4.X

MySQL 5.6.51, and 5.7.X and later

Mongoose 4.X and 5.X

postgres 9.6, and 10.X and later

Sequelize 5.X and 6.X

sqlite3 3.26.0 and later

Validation modules

Joi 17 and later

Validator 13 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.