Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Implement Astro integration #2992

Merged
merged 15 commits into from
Jan 31, 2025
Merged

feat: Implement Astro integration #2992

merged 15 commits into from
Jan 31, 2025

Conversation

blaine-arcjet
Copy link
Contributor

@blaine-arcjet blaine-arcjet commented Jan 27, 2025

This implements an Arcjet adapter for Astro. We do this via an integration that generates a virtual module, such that arcjet() gets added to the integrations array in astro.config.mjs with the normal SDK configuration. The integration then generates a client and types as the arcjet:client virtual module. This ensures there is a singleton client in the Astro module graph.

Closes #1075

Copy link

trunk-io bot commented Jan 27, 2025

😎 Merged successfully - details.

arcjet-astro/index.ts Outdated Show resolved Hide resolved
Copy link

socket-security bot commented Jan 27, 2025

New and updated dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/@astrojs/node@9.0.2 Transitive: filesystem, network +2 78.6 kB matthewp
npm/astro-integration@0.0.1 None 0 0 B
npm/astro@5.1.10 Transitive: environment, eval, filesystem, network, shell +304 585 MB fredkschott

View full report↗︎

Copy link

socket-security bot commented Jan 27, 2025

👍 Dependency issues cleared. Learn more about Socket for GitHub ↗︎

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

Ignoring: npm/emoji-regex-xs@1.0.0, npm/ofetch@1.4.1, npm/tinyexec@0.3.2

View full report↗︎

Next steps

Take a deeper look at the dependency

Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev.

Remove the package

If you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency.

Mark a package as acceptable risk

To ignore an alert, reply with a comment starting with @SocketSecurity ignore followed by a space separated list of ecosystem/package-name@version specifiers. e.g. @SocketSecurity ignore npm/foo@1.0.0 or ignore all packages with @SocketSecurity ignore-all

@blaine-arcjet
Copy link
Contributor Author

blaine-arcjet commented Jan 29, 2025

@SocketSecurity ignore npm/emoji-regex-xs@1.0.0
@SocketSecurity ignore npm/ofetch@1.4.1
@SocketSecurity ignore npm/tinyexec@0.3.2

Copy link
Contributor

@e-moran e-moran left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Just have one question

arcjet-astro/index.ts Show resolved Hide resolved
trunk-io bot pushed a commit that referenced this pull request Jan 30, 2025
…ction (#3012)

I've cherry-picked this out of #2992 so it can have a separate changelog entry.

This adds `MODE` as another variable we use to detect the development environment. This value is set by Vite on `import.meta.env` so I think it is valuable to support.
trunk-io bot pushed a commit that referenced this pull request Jan 30, 2025
…up options (#3013)

Cherry-picked from #2992 

This fixes a problem I found where the definition of `Characteristics` was different on `protectSignup`. By aligning the type as `readonly`, the same type can be used everywhere.
@blaine-arcjet blaine-arcjet force-pushed the phated/astro-integration branch from 731e2b3 to 1b63500 Compare January 30, 2025 15:37
@blaine-arcjet blaine-arcjet force-pushed the phated/astro-integration branch from 1b63500 to 95c8691 Compare January 30, 2025 15:40
@blaine-arcjet blaine-arcjet requested a review from e-moran January 30, 2025 22:11
Copy link
Contributor

@davidmytton davidmytton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works really nicely. The docs will be good for this because there's several use cases we can show off.

I added some minor copy change suggestions. Also, when I started the server without a key I got quite a generic/scary error. If you look closely it explains the problem, but I was wondering if there's a more user friendly error we can throw instead? Or is this all Astro provides?

image

examples/astro-integration/README.md Outdated Show resolved Hide resolved
arcjet-astro/README.md Outdated Show resolved Hide resolved
arcjet-astro/README.md Show resolved Hide resolved
arcjet-astro/README.md Outdated Show resolved Hide resolved
arcjet-astro/README.md Show resolved Hide resolved
arcjet-astro/README.md Show resolved Hide resolved
arcjet-astro/README.md Show resolved Hide resolved
arcjet-astro/README.md Show resolved Hide resolved
Co-authored-by: David Mytton <david@arcjet.com>
@blaine-arcjet
Copy link
Contributor Author

blaine-arcjet commented Jan 31, 2025

Also, when I started the server without a key I got quite a generic/scary error. If you look closely it explains the problem, but I was wondering if there's a more user friendly error we can throw instead? Or is this all Astro provides?

I think we could enable env.validateSecrets via our adapter, but that might be too heavy-handed for all users? Perhaps we just document that it should be set.

@blaine-arcjet
Copy link
Contributor Author

Setting this configuration produces this error at build time:

15:51:41 [ERROR] [config] [EnvInvalidVariables] The following environment variables defined in `env.schema` are invalid:

- ARCJET_KEY is missing

  Error reference:
    https://docs.astro.build/en/reference/errors/env-invalid-variables/

@davidmytton
Copy link
Contributor

Overriding the default is probably not a good idea, so let's document it as a recommendation and also add the error description into our Troubleshooting docs. That way if someone searches, it's easy to find the answer.

@trunk-io trunk-io bot merged commit a48eea8 into main Jan 31, 2025
31 checks passed
@trunk-io trunk-io bot deleted the phated/astro-integration branch January 31, 2025 20:01
trunk-io bot pushed a commit that referenced this pull request Feb 4, 2025
Automatically generated with [Release Please](https://github.com/googleapis/release-please).
---


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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/analyze-v1.0.0-beta.2) (2025-02-04)


### 🧹 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.1 to 1.0.0-beta.2
    * @arcjet/protocol bumped from 1.0.0-beta.1 to 1.0.0-beta.2
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/rollup-config bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/tsconfig bumped from 1.0.0-beta.1 to 1.0.0-beta.2
</details>

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/analyze-wasm-v1.0.0-beta.2) (2025-02-04)


### 🪲 Bug Fixes

* **analyze:** Always lowercase headers and iterate in insertion order ([#2865](#2865)) ([a9af1e4](a9af1e4))


### 🧹 Miscellaneous Chores

* **rollup-config:** Consolidate wasmToModule plugin ([#3039](#3039)) ([c3b8e36](c3b8e36))


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/astro-v1.0.0-beta.2) (2025-02-04)


### 🚀 New Features

* Implement Astro integration ([#2992](#2992)) ([a48eea8](a48eea8)), closes [#1075](#1075)


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/body-v1.0.0-beta.2) (2025-02-04)


### 🧹 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.1 to 1.0.0-beta.2
    * @arcjet/rollup-config bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/tsconfig bumped from 1.0.0-beta.1 to 1.0.0-beta.2
</details>

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/bun-v1.0.0-beta.2) (2025-02-04)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/decorate-v1.0.0-beta.2) (2025-02-04)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/deno-v1.0.0-beta.2) (2025-02-04)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/duration-v1.0.0-beta.2) (2025-02-04)


### 🧹 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.1 to 1.0.0-beta.2
    * @arcjet/rollup-config bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/tsconfig bumped from 1.0.0-beta.1 to 1.0.0-beta.2
</details>

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/env-v1.0.0-beta.2) (2025-02-04)


### 🚀 New Features

* **env:** Support MODE environment variable for `isDevelopment` detection ([#3012](#3012)) ([f3a45a7](f3a45a7))


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/eslint-config-v1.0.0-beta.2) (2025-02-04)


### 🧹 Miscellaneous Chores

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/headers-v1.0.0-beta.2) (2025-02-04)


### 🧹 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.1 to 1.0.0-beta.2
    * @arcjet/rollup-config bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/tsconfig bumped from 1.0.0-beta.1 to 1.0.0-beta.2
</details>

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/ip-v1.0.0-beta.2) (2025-02-04)


### 🧹 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.1 to 1.0.0-beta.2
    * @arcjet/rollup-config bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/tsconfig bumped from 1.0.0-beta.1 to 1.0.0-beta.2
</details>

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/logger-v1.0.0-beta.2) (2025-02-04)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/nest-v1.0.0-beta.2) (2025-02-04)


### 🚀 New Features

* **nestjs:** Allow NestJS v11 as peerDependency ([#3042](#3042)) ([4a75963](4a75963)), closes [#2921](#2921)


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/next-v1.0.0-beta.2) (2025-02-04)


### 🧹 Miscellaneous Chores

* Refresh root & Next.js READMEs ([#3066](#3066)) ([57a38d7](57a38d7))


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/node-v1.0.0-beta.2) (2025-02-04)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/protocol-v1.0.0-beta.2) (2025-02-04)


### 🚀 New Features

* Implement Astro integration ([#2992](#2992)) ([a48eea8](a48eea8)), closes [#1075](#1075)


### 🪲 Bug Fixes

* **protocol:** Double timeout when email rule configured ([#2934](#2934)) ([23f9a9e](23f9a9e)), closes [#1697](#1697)


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/redact-v1.0.0-beta.2) (2025-02-04)


### 🧹 Miscellaneous Chores

* **docs:** Add a link to the Redact reference page ([#3038](#3038)) ([6095b6a](6095b6a))


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/redact-wasm-v1.0.0-beta.2) (2025-02-04)


### 🚀 New Features

* **redact:** Pre-compile WebAssembly on module load ([#3037](#3037)) ([c12bec5](c12bec5))


### 🪲 Bug Fixes

* **analyze:** Always lowercase headers and iterate in insertion order ([#2865](#2865)) ([a9af1e4](a9af1e4))


### 🧹 Miscellaneous Chores

* **rollup-config:** Consolidate wasmToModule plugin ([#3039](#3039)) ([c3b8e36](c3b8e36))


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/remix-v1.0.0-beta.2) (2025-02-04)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/rollup-config-v1.0.0-beta.2) (2025-02-04)


### 🧹 Miscellaneous Chores

* **rollup-config:** Consolidate wasmToModule plugin ([#3039](#3039)) ([c3b8e36](c3b8e36))


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/runtime-v1.0.0-beta.2) (2025-02-04)


### 🧹 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.1 to 1.0.0-beta.2
    * @arcjet/rollup-config bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/tsconfig bumped from 1.0.0-beta.1 to 1.0.0-beta.2
</details>

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/sprintf-v1.0.0-beta.2) (2025-02-04)


### 🧹 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.1 to 1.0.0-beta.2
    * @arcjet/rollup-config bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/tsconfig bumped from 1.0.0-beta.1 to 1.0.0-beta.2
</details>

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/sveltekit-v1.0.0-beta.2) (2025-02-04)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/transport-v1.0.0-beta.2) (2025-02-04)


### 🧹 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.1 to 1.0.0-beta.2
    * @arcjet/rollup-config bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/tsconfig bumped from 1.0.0-beta.1 to 1.0.0-beta.2
</details>

<details><summary>@arcjet/tsconfig: 1.0.0-beta.2</summary>

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@arcjet/tsconfig-v1.0.0-beta.2) (2025-02-04)


### 🧹 Miscellaneous Chores

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@nosecone/next-v1.0.0-beta.2) (2025-02-04)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

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

## [1.0.0-beta.2](https://github.com/arcjet/arcjet-js/compare/v1.0.0-beta.1...@nosecone/sveltekit-v1.0.0-beta.2) (2025-02-04)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

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

## [1.0.0-beta.2](v1.0.0-beta.1...arcjet-v1.0.0-beta.2) (2025-02-04)


### 🪲 Bug Fixes

* **arcjet:** Ensure Characteristics are readonly type on protect signup options ([#3013](#3013)) ([1f16a99](1f16a99))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/analyze bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/duration bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/headers bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/protocol bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/runtime bumped from 1.0.0-beta.1 to 1.0.0-beta.2
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/rollup-config bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/tsconfig bumped from 1.0.0-beta.1 to 1.0.0-beta.2
</details>

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

## [1.0.0-beta.2](v1.0.0-beta.1...v1.0.0-beta.2) (2025-02-04)


### 🚀 New Features

* **env:** Support MODE environment variable for `isDevelopment` detection ([#3012](#3012)) ([f3a45a7](f3a45a7))
* Implement Astro integration ([#2992](#2992)) ([a48eea8](a48eea8)), closes [#1075](#1075)
* **nestjs:** Allow NestJS v11 as peerDependency ([#3042](#3042)) ([4a75963](4a75963)), closes [#2921](#2921)
* **redact:** Pre-compile WebAssembly on module load ([#3037](#3037)) ([c12bec5](c12bec5))


### 🪲 Bug Fixes

* **analyze:** Always lowercase headers and iterate in insertion order ([#2865](#2865)) ([a9af1e4](a9af1e4))
* **arcjet:** Ensure Characteristics are readonly type on protect signup options ([#3013](#3013)) ([1f16a99](1f16a99))
* **protocol:** Double timeout when email rule configured ([#2934](#2934)) ([23f9a9e](23f9a9e)), closes [#1697](#1697)


### 🧹 Miscellaneous Chores

* **ci:** Add dependabot for Astro example ([#3068](#3068)) ([d4d8f82](d4d8f82))
* **ci:** Avoid upgrading Tailwind where it breaks things ([#3081](#3081)) ([5c25abe](5c25abe))
* **ci:** Restrict tailwind-merge where tailwind restricted ([#3089](#3089)) ([a3437a5](a3437a5))
* **docs:** Add a link to the Redact reference page ([#3038](#3038)) ([6095b6a](6095b6a))
* Refresh root & Next.js READMEs ([#3066](#3066)) ([57a38d7](57a38d7))
* **rollup-config:** Consolidate wasmToModule plugin ([#3039](#3039)) ([c3b8e36](c3b8e36))
</details>

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

## [1.0.0-beta.2](v1.0.0-beta.1...nosecone-v1.0.0-beta.2) (2025-02-04)


### 🧹 Miscellaneous Chores

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


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/rollup-config bumped from 1.0.0-beta.1 to 1.0.0-beta.2
    * @arcjet/tsconfig bumped from 1.0.0-beta.1 to 1.0.0-beta.2
</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.

Support for Astro
3 participants