@arcjet/analyze-wasm
v1.1.0
Published
WebAssembly bindings to Arcjet's local analysis engine
Readme
@arcjet/analyze-wasm
Arcjet helps developers protect their apps in just a few lines of code. Implement rate limiting, bot protection, email verification, and defense against common attacks.
This package provides WebAssembly bindings to Arcjet's local analysis engine.
What is this?
This package provides logic in WebAssembly to locally analyze requests.
To load these binary files everywhere until something like
Import Bytes is available,
we settled on a technique that seems to work well everywhere.
This technique gives us compatibility with for example Next.js which right now
requires a special experimental asyncWebAssembly webpack configuration,
The file _virtual/arcjet_analyze_js_req.component.core.js contains the
WebAssembly inlined as a data: URL.
This is about 3 times smaller than using a Uint8Array (see
Better Binary Batter: Mixing Base64 and Uint8Array for more
info).
That URL is then turned into an ArrayBuffer and passed to
WebAssembly.compile.
The files here are generated.
They are wrapped up into @arcjet/analyze for use in
JavaScript,
in turn exposed in our core package
([arcjet][github-arcjet-arcjet])
and our SDKs (such as @arcjet/next).
When should I use this?
This is an internal Arcjet package not designed for public use. See our Get started guide for how to use Arcjet in your application.
Install
This package is ESM only. Install with npm in Node.js:
npm install @arcjet/analyze-wasmUse
Use @arcjet/analyze instead.
