Skip to main content

node-bt
DEPRECATED

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

PackageRequire 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 ReactorsNode Package
buffernode:buffer
cryptonode:crypto
httpsnode:https
querystringnode:querystring
streamnode: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.