JavaScript SDK

Contact us about the availability of the JavaScript SDK.

JavaScript instrumentation

The Antithesis platform can automatically instrument JavaScript code by performing a source transformation after you’ve sent it to us. No changes to your source code or build system are required. Our instrumentor assumes by default that you are using NodeJS as your runtime – contact us if you would like to use a different runtime. We do not support instrumenting JavaScript code that runs in a browser.

NodeJS

Provide us with a directory containing all of the code you want instrumented. You must have a node_modules folder inside this directory at the top level. Our instrumentor will recursively instrument all of the code inside of the directory you send; however, it will by default exclude everything in node_modules and some standard configuration files that happen to be implemented as JavaScript (for instance eslint.config.js). It follows that vendored dependencies will be instrumented by default.

The JavaScript instrumentation can support either import or require for dependency management. Inform us which you are using. If you do not want Antithesis to instrument certain files that would be instrumented by default, then provide us with a human-readable list of paths to all the files you want excluded. Similarly, if you want Antithesis to instrument files that would normally not be instrumented, provide us with a list of these files.

JS-target languages

Antithesis can instrument projects in JavaScript-target languages such as TypeScript if you provide us with the transpiled JavaScript code. Transpilation must happen before you send us the code (as part of your build process), rather than at service startup.

Symbolization

Antithesis will automatically gather the symbol information from your code. You do not need to separately provide us with symbol files.

Help

Contact us if you need help with this.

  • Introduction
  • How Antithesis Works
  • Getting started
  • Package your software
  • Make it go
  • Deploy to Antithesis
  • Launch a test run
  • User manual
  • Properties and Assertions
  • Properties in Antithesis
  • Assertions in Antithesis
  • Properties to Test For
  • Sometimes Assertions
  • Test Composer
  • Test Composer Basics
  • Test Composer Reference
  • Principles of Test Composition
  • Checking Test Templates Locally
  • Webhooks
  • Launching a test
  • Retrieving logs
  • Launching a debugging session
  • Webhook API
  • Reports
  • Triage report
  • Bug report
  • Multiverse debugging
  • Overview
  • Exploring the multiverse
  • Querying with event sets
  • The Environment and its utilities
  • Using the Antithesis Notebook
  • Cookbook
  • The Environment and Multiverse
  • The Antithesis Environment
  • Fault Injection
  • CPUID
  • Reference
  • Handling External Dependencies
  • SDK reference
  • Go
  • Tutorial
  • Instrumentor
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • Java
  • Tutorial
  • Instrumentation
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • C
  • C++
  • Tutorial
  • C/C++ Instrumentation
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • JavaScript
  • Python
  • Tutorial
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • Rust
  • Tutorial
  • Instrumentation
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • .NET
  • Languages not listed above
  • Assert (reference)
  • Lifecycle (reference)
  • Tooling integrations
  • CI integration
  • Discord and Slack integrations
  • Configuring Antithesis
  • Instrumentation
  • User management
  • Sizing your deployment
  • Best practices
  • Is Antithesis working?
  • Optimizing for Antithesis
  • Finding more bugs
  • FAQ
  • About Antithesis POCs
  • Release notes
  • Release notes