arcjet-js
arcjet-js copied to clipboard
Arcjet JS SDKs. Rate limiting, bot protection, email verification & attack defense for Node.js, Next.js, Bun & SvelteKit.
Our JS version of fingerprinting imports `crypto` which is a nodejs-specific import. We should instead rely upon the `Crypto` or `SubtleCrypto` global (which is also available in node).
These are internal details that help us or end-users with debugging, so I don't think these should be able to be changed via options. If that's our decision, we'll probably...
Currently, the `detectBot` rule passes `patterns.add` and `patterns.remove` directly to the rule constructor. We likely want more validation.
I think we can leverage nodejs [conditional exports](https://nodejs.org/docs/latest-v18.x/api/packages.html#conditional-exports) to adjust our Wasm imports for the platform we are targeting. Depending on how tools handle packages, this should reduce some false...
The `createRouterTransport` utility provided by `@connectrpc/connect` doesn't seem to timeout correctly, so we can't test timeout logic ourselves. We should report it and spend some time to figure out why...
TypeScript seems to get confused in the `protect()` function of `@arcjet/next` because we are manipulating generics. We currently just cast to an `ArcjetRequest` but we should investigate if we can...
According to the node typescript type maintainers in https://github.com/DefinitelyTyped/DefinitelyTyped/pull/66824, people should never combine `@types/node` and the `DOM` types from the TS standard lib. However, the node types don't contain types...
We want to add Windows to our CI and required env vars like NODE_OPTIONS for testing make it difficult. Need to investigate node's built-in test harness.
Closes #224 This separates the `ArcjetHeaders` package into its own package. This means it is no longer exported from `arcjet` and anyone consuming it will need to depend on `@arcjet/headers`...
:robot: I have created a release *beep* *boop* --- @arcjet/bun: 1.0.0-alpha.14 ## [1.0.0-alpha.14](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.13...@arcjet/bun-v1.0.0-alpha.14) (2024-05-24) ### 📝 Documentation * Remove wording that implies is Shield is added by default ([#796](https://github.com/arcjet/arcjet-js/issues/796)) ([a85d18c](https://github.com/arcjet/arcjet-js/commit/a85d18ca6f6da589cfad58d3167b1c8a4b1edc55))...