Node.js microagent compatibility

Compatibility Supported Not supported
Operating systems Linux, macOS, Windows -
Runtime versions 4.0 and greater -
Web frameworks Express 4.0 and greater, hapi 13 - 16 Koa, hapi 17+, Fastify
Databases MariaDB, MongoDB, MySQL, PostgreSQL, SQLite, MS SQL Server, Oracle
Templating engines Jade -
User monitoring passport-local, passport-http, SDK for user monitoring -

Using async/await syntax

If your application uses async/await syntax, you must use the SQREEN_BETA_ASYNC_HOOKS=1 environment variable. This variable enables the microagent to instrument your app's code using Async Hooks. Apply the following from within the Node.js process:

process.env.SQREEN_BETA_ASYNC_HOOKS = "1";

Using sq-native module

As of version 1.33.0, the Sqreen Microagent for Node.js introduces an optional dependency on the sq-native module.

The microagent uses this module to provide In-APP WAF capabilities in your app. It relies on a native add-on downloaded from Amazon S3 at install time. Therefore, if you have disabled the post-install script or if a firewall prevents your app from accessing Amazon S3, the installation of this optional module will fail. This means that the In-APP WAF feature in Sqreen will be unavailable, though all other Sqreen features will work properly.

The Sqreen Microagent 1.33.0 and later works with the following versions of Node.js:

  • MacOS: Node.js 4 and greater
  • Linux (glibc): Node.js 4 and greater
  • Linux (muslc): Node.js 8 and greater
  • Windows (64 bits): Node.js 6 and greater

Incompatible

The Sqreen microagent for Node.js does not support Function as a Service (FaaS) platforms including:

  • AWS Lambda
  • Google Cloud Functions
  • Microsoft Azure Functions