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: Create nosecone package for creating secure headers #2237

Merged
merged 15 commits into from
Nov 19, 2024

Conversation

blaine-arcjet
Copy link
Contributor

@blaine-arcjet blaine-arcjet commented Nov 14, 2024

This implements our nosecone package and 2 adapters, Next.js and SvelteKit. These 2 frameworks have some of the best support for nonce-based CSPv3—although Next.js has the caveat of it only working in dynamic mode.

Runtimes like Bun, Deno, and Node.js can use Nosecone directly to set headers on the responses, while adapters are needed for deeper integration. Using middleware works really well for Next.js because we can force the headers to be forwarded and it even detects the nonce from the script-src directive, which it adds to each <script> tag that webpack generates. For SvelteKit, we need to provide csp in the config so it'll add the CSP header, but we also use a hook to add our additional secure headers.

Notably missing:

  • Removing X-Powered-By—the frameworks don't give us access to this, we should instead just recommend it be removed.
  • A Remix adapter—it needs a lot of logic to thread nonces throughout the application.
  • An Express adapter—most people are already using Helmet.

@blaine-arcjet blaine-arcjet requested a review from a team as a code owner November 14, 2024 23:25
Copy link

trunk-io bot commented Nov 14, 2024

😎 Merged successfully - details.

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.

All that being said, I really don't like the generalized concept here and I think this makes more sense as a series of packages crafted for specific frameworks.

What do you think about having a central package that defines all the headers and their default values which is imported by other framework-specific packages? Then they can be natively integrated for each framework and the config can be overridden if necessary.

@blaine-arcjet
Copy link
Contributor Author

What do you think about having a central package that defines all the headers and their default values which is imported by other framework-specific packages?

Yeah, I was thinking about it this morning and it'd be cool to provide functions that produce "good" values for use by any packages. I just need to decide on the API; my initial thought being that we could return an instance of Headers containing all of them.

Copy link

socket-security bot commented Nov 15, 2024

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

Package New capabilities Transitives Size Publisher
npm/@sveltejs/[email protected] Transitive: environment, eval, filesystem, network, shell +76 244 MB conduitry, dominik_g, rich_harris, ...1 more
npm/[email protected] None 0 0 B

View full report↗︎

Copy link

socket-security bot commented Nov 18, 2024

👍 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.

View full report↗︎

@blaine-arcjet blaine-arcjet changed the title feat: Create nosecone package for adding secure headers to applications feat: Create nosecone package for creating secure headers Nov 19, 2024
@blaine-arcjet blaine-arcjet requested review from a team and davidmytton November 19, 2024 00:14
@blaine-arcjet
Copy link
Contributor Author

I've updated & cleaned up all the implementations, reached 100% code coverage on the core nosecone package, and created simple readmes for everything. I've also updated the body of the root PR with the changes/decisions made.

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.

Will you include the @arcjet/nosecone package in this PR?

@blaine-arcjet
Copy link
Contributor Author

Will you include the @arcjet/nosecone package in this PR?

I was going to hold off for this first release. That's mostly because I couldn't think of a good directory name for it and I expect we'll need another release quickly to deal with any issues we encounter with our integration.

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.

Looks good! I'd suggest adding an example of how to configure the headers in the READMEs, but good for us to test internally.

@trunk-io trunk-io bot merged commit 1e8e73b into main Nov 19, 2024
29 checks passed
@trunk-io trunk-io bot deleted the phated/nosecone branch November 19, 2024 16:28
trunk-io bot pushed a commit that referenced this pull request Nov 19, 2024
Automatically generated with [Release Please](https://github.com/googleapis/release-please).
---


<details><summary>@arcjet/analyze: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/analyze-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

* Regenerate Wasm with updated dependencies ([#2168](#2168)) ([90b8350](90b8350))
* Regenerate Wasm with updated dependencies ([#2258](#2258)) ([b82284b](b82284b))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/protocol bumped from 1.0.0-alpha.28 to 1.0.0-alpha.29
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.28 to 1.0.0-alpha.29
    * @arcjet/rollup-config bumped from 1.0.0-alpha.28 to 1.0.0-alpha.29
    * @arcjet/tsconfig bumped from 1.0.0-alpha.28 to 1.0.0-alpha.29
</details>

<details><summary>@arcjet/body: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/body-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

<details><summary>@arcjet/bun: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/bun-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

<details><summary>@arcjet/decorate: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/decorate-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

<details><summary>@arcjet/deno: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/deno-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

<details><summary>@arcjet/duration: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/duration-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

<details><summary>@arcjet/env: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/env-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

<details><summary>@arcjet/eslint-config: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/eslint-config-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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

<details><summary>@arcjet/headers: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/headers-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

<details><summary>@arcjet/ip: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/ip-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

* **ip:** Update documentation for previous breaking changes ([#2278](#2278)) ([cff3cc9](cff3cc9)), closes [#2277](#2277)


### Dependencies

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

<details><summary>@arcjet/logger: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/logger-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

* **logger:** Remove unused `getTimeLabel` function ([#2140](#2140)) ([73d94d5](73d94d5))


### Dependencies

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

<details><summary>@arcjet/nest: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/nest-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

<details><summary>@arcjet/next: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/next-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

<details><summary>@arcjet/node: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/node-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

<details><summary>@arcjet/protocol: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/protocol-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

<details><summary>@arcjet/redact: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/redact-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

<details><summary>@arcjet/redact-wasm: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/redact-wasm-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

* Regenerate Wasm with updated dependencies ([#2168](#2168)) ([90b8350](90b8350))
* Regenerate Wasm with updated dependencies ([#2258](#2258)) ([b82284b](b82284b))


### Dependencies

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

<details><summary>@arcjet/remix: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/remix-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

<details><summary>@arcjet/rollup-config: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/rollup-config-v1.0.0-alpha.29) (2024-11-19)


### 🧹 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-alpha.28 to 1.0.0-alpha.29
    * @arcjet/tsconfig bumped from 1.0.0-alpha.28 to 1.0.0-alpha.29
</details>

<details><summary>@arcjet/runtime: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/runtime-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

<details><summary>@arcjet/sprintf: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/sprintf-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

<details><summary>@arcjet/sveltekit: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/sveltekit-v1.0.0-alpha.29) (2024-11-19)


### 🪲 Bug Fixes

* **sveltekit:** Load env from `node:process` ([#2156](#2156)) ([346a350](346a350)), closes [#2154](#2154)


### Dependencies

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

<details><summary>@arcjet/transport: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/transport-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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


### Dependencies

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

<details><summary>@arcjet/tsconfig: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@arcjet/tsconfig-v1.0.0-alpha.29) (2024-11-19)


### 🧹 Miscellaneous Chores

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

<details><summary>@nosecone/next: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@nosecone/next-v1.0.0-alpha.29) (2024-11-19)


### 🚀 New Features

* Create nosecone package for creating secure headers ([#2237](#2237)) ([1e8e73b](1e8e73b))


### Dependencies

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

<details><summary>@nosecone/sveltekit: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.28...@nosecone/sveltekit-v1.0.0-alpha.29) (2024-11-19)


### 🚀 New Features

* Create nosecone package for creating secure headers ([#2237](#2237)) ([1e8e73b](1e8e73b))


### Dependencies

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

<details><summary>arcjet: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](v1.0.0-alpha.28...arcjet-v1.0.0-alpha.29) (2024-11-19)


### 🪲 Bug Fixes

* **arcjet:** Log error message when fingerprint cannot be built ([#2139](#2139)) ([56e5319](56e5319))
* Guard against incorrectly written local rules ([#2191](#2191)) ([0885ccf](0885ccf))


### 🧹 Miscellaneous Chores

* **arcjet:** Increase test coverage to 100% ([#2157](#2157)) ([17f8a9a](17f8a9a)), closes [#1802](#1802)


### Dependencies

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

<details><summary>1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](v1.0.0-alpha.28...v1.0.0-alpha.29) (2024-11-19)


### 🚀 New Features

* Create nosecone package for creating secure headers ([#2237](#2237)) ([1e8e73b](1e8e73b))


### 🪲 Bug Fixes

* **arcjet:** Log error message when fingerprint cannot be built ([#2139](#2139)) ([56e5319](56e5319))
* Guard against incorrectly written local rules ([#2191](#2191)) ([0885ccf](0885ccf))
* **sveltekit:** Load env from `node:process` ([#2156](#2156)) ([346a350](346a350)), closes [#2154](#2154)


### 🧹 Miscellaneous Chores

* Add initial contributing help ([#2158](#2158)) ([d21b81e](d21b81e)), closes [#1122](#1122)
* **arcjet:** Increase test coverage to 100% ([#2157](#2157)) ([17f8a9a](17f8a9a)), closes [#1802](#1802)
* **example:** Allow swc compilers ([#2280](#2280)) ([cb64f4a](cb64f4a))
* **ip:** Update documentation for previous breaking changes ([#2278](#2278)) ([cff3cc9](cff3cc9)), closes [#2277](#2277)
* **logger:** Remove unused `getTimeLabel` function ([#2140](#2140)) ([73d94d5](73d94d5))
* Regenerate Wasm with updated dependencies ([#2168](#2168)) ([90b8350](90b8350))
* Regenerate Wasm with updated dependencies ([#2258](#2258)) ([b82284b](b82284b))
* Update root readme with all packages and new urls ([#2169](#2169)) ([32f0572](32f0572))
</details>

<details><summary>nosecone: 1.0.0-alpha.29</summary>

## [1.0.0-alpha.29](v1.0.0-alpha.28...nosecone-v1.0.0-alpha.29) (2024-11-19)


### 🚀 New Features

* Create nosecone package for creating secure headers ([#2237](#2237)) ([1e8e73b](1e8e73b))


### Dependencies

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