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, Fastify 3, Koa 2 (beta) hapi 17+
Databases MariaDB, MongoDB, MySQL, PostgreSQL, SQLite, MS SQL Server, Oracle
Templating engines Jade -
User monitoring passport-local, passport-http, SDK for user monitoring -

Koa

Since version 1.62.0, the Sqreen Node.js microagent supports Koa framework version 2 as a beta feature. To enable it, use the environment variable SQREEN_MANIFEST_UPDATES='transport.incoming.koa=1,transport.incoming.koa-compose=1,transport.incoming.koa-body=1,transport.incoming.koa-route=1' on the Node.js process.

GraphQL support

As of version 1.57.0, the Sqreen Microagent for Node.js introduces support for GraphQL.

The microagent supports the graphql module used by:

  • express-graphql
  • apollo-server-core

Using async/await syntax on Node.js 8.2.0 and earlier

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.

As of version 1.55.0, the native add-on is not downloaded anymore. An install script selects the right installations for the host operating system and un-archive the native add-on.

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