Skip to content

test: add tests for custom rules with no, optional, required extra fields#5669

Merged
trunk-io[bot] merged 1 commit intomainfrom
wooorm/extra-field-tests
Jan 21, 2026
Merged

test: add tests for custom rules with no, optional, required extra fields#5669
trunk-io[bot] merged 1 commit intomainfrom
wooorm/extra-field-tests

Conversation

@wooorm-arcjet
Copy link
Copy Markdown
Contributor

This is needed because it surfaces a bug where optional fields (such as a rule accepting body?: string | undefined) do not work with the types: they still require a .protect(request, {}). It would be good to support .protect(request) on those. Otherwise adding an optional field means a “breaking” change where every user has to add that {} object.

Related-to: GH-5662.

…a fields

This is needed because it surfaces a bug where *optional* fields (such as a rule accepting `body?: string | undefined`)
do not work with the types: they still require a `.protect(request, {})`.
It would be good to support `.protect(request)` on those.
Otherwise adding an optional field means a “breaking” change where every user has to add that `{}` object.

Related-to: GH-5662.
@wooorm-arcjet wooorm-arcjet requested a review from a team as a code owner January 21, 2026 10:55
@trunk-io
Copy link
Copy Markdown

trunk-io Bot commented Jan 21, 2026

😎 Merged successfully - details.

@wooorm-arcjet wooorm-arcjet requested a review from qw-in January 21, 2026 10:55
wooorm-arcjet added a commit that referenced this pull request Jan 21, 2026
This fixes being able to assign `http.IncommingMessage` from Node
to `arcjet.protect`.

Builds on GH-5669.
wooorm-arcjet added a commit that referenced this pull request Jan 21, 2026
Previously, a rule of `Rule<{}>` would mean a protect call (in SDKs) of `.protect(request)`,
and a rule of `Rule<{field: string}>` would mean `.protect(request, {field: string})`.
The same was true for a `Rule<{field?: string}>` (note the `?`) would mean `.protect(request, {})`.

This adds support for `Rule<{field?: string}>` being called with `.protect(request)`.
This makes it possible to add optional properties to existing rules without being a breaking change for end users,
as their `.protect(request)` calls are still valid.

Related-to: GH-5054.
Related-to: GH-5662.
Related-to: GH-5669.
Comment thread arcjet-fastify/test/index.test.ts
@trunk-io trunk-io Bot merged commit 3444528 into main Jan 21, 2026
37 checks passed
@trunk-io trunk-io Bot deleted the wooorm/extra-field-tests branch January 21, 2026 15:29
wooorm-arcjet added a commit that referenced this pull request Jan 21, 2026
This fixes being able to assign `http.IncommingMessage` from Node
to `arcjet.protect`.

Builds on GH-5669.
trunk-io Bot pushed a commit that referenced this pull request Jan 21, 2026
This fixes being able to assign `http.IncommingMessage` from Node
to `arcjet.protect`.

Builds on GH-5669.
wooorm-arcjet added a commit that referenced this pull request Jan 21, 2026
Previously, a rule of `Rule<{}>` would mean a protect call (in SDKs) of `.protect(request)`,
and a rule of `Rule<{field: string}>` would mean `.protect(request, {field: string})`.
The same was true for a `Rule<{field?: string}>` (note the `?`) would mean `.protect(request, {})`.

This adds support for `Rule<{field?: string}>` being called with `.protect(request)`.
This makes it possible to add optional properties to existing rules without being a breaking change for end users,
as their `.protect(request)` calls are still valid.

Related-to: GH-5054.
Related-to: GH-5662.
Related-to: GH-5669.
trunk-io Bot pushed a commit that referenced this pull request Jan 21, 2026
Previously, a rule of `Rule<{}>` would mean a protect call (in SDKs) of `.protect(request)`,
and a rule of `Rule<{field: string}>` would mean `.protect(request, {field: string})`.
The same was true for a `Rule<{field?: string}>` (note the `?`), meaning `.protect(request, {})`.

This adds support for `Rule<{field?: string}>` being called with `.protect(request)`.
This makes it possible to add optional properties to existing rules without being a breaking change for end users,
as their `.protect(request)` calls are still valid.

Related-to: GH-5054.
Related-to: GH-5662.
Related-to: GH-5669.
trunk-io Bot pushed a commit that referenced this pull request Jan 22, 2026
Automatically generated with [Release Please](https://github.com/googleapis/release-please).
---


<details><summary>@arcjet/nuxt: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/nuxt-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* deprecate automatic body reading ([#5679](#5679)) ([5f45291](5f45291))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/body bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/env bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/headers bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/ip bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/logger bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/protocol bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/transport bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * arcjet bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/react-router: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/react-router-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* deprecate automatic body reading ([#5679](#5679)) ([5f45291](5f45291))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/body bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/env bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/headers bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/ip bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/logger bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/protocol bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/transport bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * arcjet bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/cache bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/analyze: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/analyze-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/analyze:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/analyze-wasm bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/protocol bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/analyze-wasm: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/analyze-wasm-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/analyze-wasm:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/astro: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/astro-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* deprecate automatic body reading ([#5679](#5679)) ([5f45291](5f45291))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/body bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/env bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/headers bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/ip bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/logger bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/protocol bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/transport bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * arcjet bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/body: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/body-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/body:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/bun: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/bun-v1.0.0-beta.18) (2026-01-22)


### 🚀 New Features

* **sensitiveInfo:** add `sensitiveInfoValue` field ([#5678](#5678)) ([2263df7](2263df7))


### 🧹 Miscellaneous Chores

* deprecate automatic body reading ([#5679](#5679)) ([5f45291](5f45291))
* **tests:** make simple server responses more granular ([#5594](#5594)) ([5325949](5325949))


### 📚 Tests

* add tests for custom rules with no, optional, required extra fields ([#5669](#5669)) ([3444528](3444528))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/body bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/env bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/headers bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/ip bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/logger bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/protocol bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/transport bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * arcjet bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/cache: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/cache-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/cache:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/decorate: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/decorate-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/decorate:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/protocol bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/sprintf bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/deno: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/deno-v1.0.0-beta.18) (2026-01-22)


### 🚀 New Features

* **sensitiveInfo:** add `sensitiveInfoValue` field ([#5678](#5678)) ([2263df7](2263df7))


### 🧹 Miscellaneous Chores

* deprecate automatic body reading ([#5679](#5679)) ([5f45291](5f45291))
* **tests:** make simple server responses more granular ([#5594](#5594)) ([5325949](5325949))


### 📚 Tests

* add tests for custom rules with no, optional, required extra fields ([#5669](#5669)) ([3444528](3444528))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/body bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/env bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/headers bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/ip bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/logger bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/protocol bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/transport bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * arcjet bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/duration: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/duration-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/duration:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/env: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/env-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/env:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/eslint-config: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/eslint-config-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/eslint-config:** Synchronize arcjet-js versions
</details>

<details><summary>@arcjet/fastify: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/fastify-v1.0.0-beta.18) (2026-01-22)


### 🚀 New Features

* **sensitiveInfo:** add `sensitiveInfoValue` field ([#5678](#5678)) ([2263df7](2263df7))


### 🧹 Miscellaneous Chores

* **tests:** make simple server responses more granular ([#5594](#5594)) ([5325949](5325949))


### 📚 Tests

* add tests for custom rules with no, optional, required extra fields ([#5669](#5669)) ([3444528](3444528))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/env bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/headers bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/ip bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/logger bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/protocol bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/transport bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * arcjet bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/headers: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/headers-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/headers:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/inspect: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/inspect-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/inspect:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/protocol bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/ip: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/ip-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/ip:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/logger: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/logger-v1.0.0-beta.18) (2026-01-22)


### 📚 Tests

* **logger:** add tests ([#5644](#5644)) ([6664747](6664747))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/sprintf bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/nest: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/nest-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* deprecate automatic body reading ([#5679](#5679)) ([5f45291](5f45291))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/env bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/headers bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/ip bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/logger bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/protocol bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/transport bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/body bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * arcjet bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/next: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/next-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* deprecate automatic body reading ([#5679](#5679)) ([5f45291](5f45291))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/body bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/env bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/headers bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/ip bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/logger bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/protocol bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/transport bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * arcjet bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/node: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/node-v1.0.0-beta.18) (2026-01-22)


### 🚀 New Features

* **sensitiveInfo:** add `sensitiveInfoValue` field ([#5678](#5678)) ([2263df7](2263df7))


### 🧹 Miscellaneous Chores

* deprecate automatic body reading ([#5679](#5679)) ([5f45291](5f45291))
* **tests:** make simple server responses more granular ([#5594](#5594)) ([5325949](5325949))


### 📚 Tests

* add tests for custom rules with no, optional, required extra fields ([#5669](#5669)) ([3444528](3444528))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/env bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/headers bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/ip bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/logger bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/protocol bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/transport bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/body bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * arcjet bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/protocol: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/protocol-v1.0.0-beta.18) (2026-01-22)


### ⚠ BREAKING CHANGES

* **arcjet:** validate request details ([#5655](#5655))

### 🪲 Bug Fixes

* **arcjet:** validate request details ([#5655](#5655)) ([d43a4dc](d43a4dc))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/cache bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/redact: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/redact-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/redact:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/redact-wasm bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/redact-wasm: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/redact-wasm-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/redact-wasm:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/remix: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/remix-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* deprecate automatic body reading ([#5679](#5679)) ([5f45291](5f45291))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/body bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/env bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/headers bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/ip bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/logger bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/protocol bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/transport bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * arcjet bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/rollup-config: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/rollup-config-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/rollup-config:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/runtime: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/runtime-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/runtime:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/sprintf: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/sprintf-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/sprintf:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/stable-hash: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/stable-hash-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/stable-hash:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/sveltekit: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/sveltekit-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* deprecate automatic body reading ([#5679](#5679)) ([5f45291](5f45291))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/body bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/env bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/headers bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/ip bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/logger bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/protocol bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/transport bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * arcjet bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@arcjet/transport: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@arcjet/transport-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@arcjet/transport:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@nosecone/next: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@nosecone/next-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@nosecone/next:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * nosecone bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>@nosecone/sveltekit: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.17...@nosecone/sveltekit-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **@nosecone/sveltekit:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * nosecone bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>arcjet: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](v1.0.0-beta.17...arcjet-v1.0.0-beta.18) (2026-01-22)


### ⚠ BREAKING CHANGES

* **arcjet:** validate request details ([#5655](#5655))

### 🚀 New Features

* **sensitiveInfo:** add `sensitiveInfoValue` field ([#5678](#5678)) ([2263df7](2263df7))


### 🪲 Bug Fixes

* **arcjet:** validate request details ([#5655](#5655)) ([d43a4dc](d43a4dc))


### 🧹 Miscellaneous Chores

* deprecate automatic body reading ([#5679](#5679)) ([5f45291](5f45291))


### 📚 Tests

* add tests for custom rules with no, optional, required extra fields ([#5669](#5669)) ([3444528](3444528))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/analyze bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/cache bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/duration bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/headers bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/protocol bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/runtime bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/stable-hash bumped from 1.0.0-beta.17 to 1.0.0-beta.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

<details><summary>1.0.0-beta.18</summary>

## [1.0.0-beta.18](v1.0.0-beta.17...v1.0.0-beta.18) (2026-01-22)


### ⚠ BREAKING CHANGES

* **arcjet:** validate request details ([#5655](#5655))

### 🚀 New Features

* **sensitiveInfo:** add `sensitiveInfoValue` field ([#5678](#5678)) ([2263df7](2263df7))


### 🪲 Bug Fixes

* **arcjet:** validate request details ([#5655](#5655)) ([d43a4dc](d43a4dc))


### 📝 Documentation

* **contributing:** describe publish flow ([#5622](#5622)) ([6921e4c](6921e4c))


### 🧹 Miscellaneous Chores

* deprecate automatic body reading ([#5679](#5679)) ([5f45291](5f45291))
* **examples:** remove 3rd party examples ([#5633](#5633)) ([1423f4f](1423f4f))
* **tests:** make simple server responses more granular ([#5594](#5594)) ([5325949](5325949))


### 📚 Tests

* add tests for custom rules with no, optional, required extra fields ([#5669](#5669)) ([3444528](3444528))
* **logger:** add tests ([#5644](#5644)) ([6664747](6664747))


### 🔨 Build System

* **deps-dev:** bump tar from 7.4.3 to 7.5.3 in /examples/nextjs-bot-categories ([#5652](#5652)) ([a83b417](a83b417))
* **deps-dev:** bump tar from 7.4.3 to 7.5.3 in /examples/nextjs-pages-wrap ([#5645](#5645)) ([dab263e](dab263e))
* **deps-dev:** bump tar from 7.4.3 to 7.5.4 in /examples/nextjs-decorate ([#5663](#5663)) ([b84e811](b84e811))
* **deps-dev:** bump tar from 7.4.3 to 7.5.6 in /examples/nextjs-sensitive-info ([#5668](#5668)) ([56e6356](56e6356))
* **deps-dev:** bump tar from 7.5.3 to 7.5.6 in /examples/nextjs-pages-wrap ([#5667](#5667)) ([6cf1bd6](6cf1bd6))
* **deps:** bump devalue from 5.3.2 to 5.6.2 in /examples/nuxt ([#5641](#5641)) ([3a3ffba](3a3ffba))
* **deps:** bump devalue from 5.5.0 to 5.6.2 in /examples/astro-integration ([#5637](#5637)) ([7da77c2](7da77c2))
* **deps:** bump diff and astro in /examples/astro ([#5664](#5664)) ([f17bb62](f17bb62))
* **deps:** bump h3 from 1.15.4 to 1.15.5 in /examples/astro-integration ([#5653](#5653)) ([c2d1048](c2d1048))
* **deps:** bump h3 from 1.15.4 to 1.15.5 in /examples/nuxt ([#5640](#5640)) ([740fdf1](740fdf1))
* **deps:** bump tar from 7.5.2 to 7.5.3 in /examples/nuxt ([#5646](#5646)) ([b980e07](b980e07))
* **publish:** remove tag event ([#5623](#5623)) ([83df410](83df410))
</details>

<details><summary>nosecone: 1.0.0-beta.18</summary>

## [1.0.0-beta.18](v1.0.0-beta.17...nosecone-v1.0.0-beta.18) (2026-01-22)


### 🧹 Miscellaneous Chores

* **nosecone:** Synchronize arcjet-js versions


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
    * @arcjet/rollup-config bumped from 1.0.0-beta.17 to 1.0.0-beta.18
</details>

---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants