node-bt DEPRECATED
node-bt runtime is deprecated. Use a Node.js runtime image for new Reactors and Proxy code transforms. Migrate away from the node-bt runtime as soon as possible to avoid disruption.The node-bt runtime runs on Node.js 16 with a curated set of whitelisted dependencies. This page documents the legacy contract for maintaining and migrating existing resources.
Managing Existing Resources
For API details on managing existing Reactors and Proxy code transforms, see the Reactors API and Pre-Configured Proxies API.
Dependencies
The node-bt runtime can only use packages from the whitelisted dependencies listed below.
To use packages that are not listed here, migrate to a Node.js runtime image, which allows any npm package.
List of available dependencies
This is a list of the dependencies that are available to use within a node-bt runtime. You'll need to require the module name in "Require in Reactors" below to import the corresponding package. For example, using require('@basis-theory/node-sdk-2') to import @basis-theory/node-sdk module.
| Package | Require in Reactors (if different from package name) | Version |
|---|---|---|
| @adyen/api-library | ^10.3.0 | |
| @basis-theory/apple-pay-js | ^2.0.2 | |
| @basis-theory/basis-theory-js | ^1.80.0 | |
| @basis-theory/google-pay-js | ^1.0.0 | |
| @basis-theory/node-sdk | @basis-theory/node-sdk-2 | ~2 |
| @basis-theory/shopify-js | ^1.0.0 | |
| archiver | ^5.0.0 | |
| aws-sdk | ^2.1478.0 | |
| axios | ^0.30.2 | |
| braintree | ^3.18.0 | |
| crypto-js | ^4.2.0 | |
| csv-parse | ^5.5.2 | |
| dropbox | ^10.34.0 | |
| dwolla-v2 | ^3.4.0 | |
| exceljs | ^4.4.0 | |
| fast-xml-parser | ^4.4.1 | |
| https-proxy-agent | ^7.0.2 | |
| json-stable-stringify | ^1.1.1 | |
| jsonpath | ^1.1.1 | |
| jszip | ^3.10.1 | |
| mastercard-client-encryption | ^1.9.0 | |
| mastercard-oauth1-signer | ^1.1.6 | |
| node-adyen-encrypt | ^2.3.1 | |
| node-fetch | ^2.7.0 | |
| node-forge | ^1.3.1 | |
| node-jose | ^2.2.0 | |
| openpgp | ^5.11.3 | |
| p-limit | ^3.1.0 | |
| pdf-lib | ^1.17.1 | |
| pdfkit | ^0.13.0 | |
| snakecase-keys | ^5.5.0 | |
| soap | ^1.0.0 | |
| split2 | ^4.2.0 | |
| ssh2 | ^1.14.0 | |
| stripe | ^8.222.0 | |
| tesseract.js | ^4.1.4 | |
| twilio | ^4.19.2 | |
| uuid | ^8.3.2 | |
| xmlbuilder2 | ^3.0.2 | |
| yup | ^1.3.2 |
List of available built-in node dependencies
This is a list of the built-in node dependencies that are available to use within a node-bt runtime. You'll need to require the module name in "Require in Reactors" below to import the corresponding package. For example, using require('buffer') to import node:buffer module.
| Require in Reactors | Node Package |
|---|---|
| buffer | node:buffer |
| crypto | node:crypto |
| https | node:https |
| querystring | node:querystring |
| stream | node:stream |
Asynchronous Reactors Enterprise
Invoke a node-bt Reactor through /react-async, sending the Reactor input within args. The Reactor receives this input as req.args.
The endpoint validates the request, then returns 202 Accepted with a request ID without waiting for execution to finish. The reactor.completed event is raised when execution succeeds, and reactor.failed is raised when it fails or times out. See Rate Limits for the execution timeout.
Use the Reactor ID and request ID from the invocation response or webhook event to retrieve the result. The webhook does not include the full response.
See Invoke Async Reactors for request bodies, SDK examples, polling, and result contracts.
Migrating to a Supported Runtime
Follow Migrate from node-bt to move an existing Reactor or Proxy code transform to a Node.js runtime image.