From dffd4a5759c0eaddf1fbfbe0ade1e0b75d6adc14 Mon Sep 17 00:00:00 2001 From: David Mytton Date: Wed, 12 Jun 2024 13:49:03 +0100 Subject: [PATCH 01/30] fix(examples): Update Sveltekite deps & fix a typo (#939) * fix(examples): Fix typo * fix(deps): Bump deps --- examples/sveltekit/README.md | 2 +- examples/sveltekit/package-lock.json | 34 +++++++++++++------------- examples/sveltekit/src/hooks.server.ts | 4 +-- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/examples/sveltekit/README.md b/examples/sveltekit/README.md index 8b95d79e4..33389cc5d 100644 --- a/examples/sveltekit/README.md +++ b/examples/sveltekit/README.md @@ -20,7 +20,7 @@ This example shows how to use Arcjet to protect [SvelteKit](https://kit.svelte.d 2. Enter this directory and install the example's dependencies. ```bash - cd examples/svelte + cd examples/sveltekit npm ci ``` diff --git a/examples/sveltekit/package-lock.json b/examples/sveltekit/package-lock.json index 686c5a2a1..cb826dfcc 100644 --- a/examples/sveltekit/package-lock.json +++ b/examples/sveltekit/package-lock.json @@ -33,22 +33,22 @@ }, "../../arcjet-sveltekit": { "name": "@arcjet/sveltekit", - "version": "1.0.0-alpha.13", + "version": "1.0.0-alpha.14", "license": "Apache-2.0", "dependencies": { - "@arcjet/env": "1.0.0-alpha.13", - "@arcjet/headers": "1.0.0-alpha.13", - "@arcjet/ip": "1.0.0-alpha.13", - "@arcjet/logger": "1.0.0-alpha.13", - "@arcjet/runtime": "1.0.0-alpha.13", + "@arcjet/env": "1.0.0-alpha.14", + "@arcjet/headers": "1.0.0-alpha.14", + "@arcjet/ip": "1.0.0-alpha.14", + "@arcjet/logger": "1.0.0-alpha.14", + "@arcjet/runtime": "1.0.0-alpha.14", "@connectrpc/connect-node": "1.4.0", "@connectrpc/connect-web": "1.4.0", - "arcjet": "1.0.0-alpha.13" + "arcjet": "1.0.0-alpha.14" }, "devDependencies": { - "@arcjet/eslint-config": "1.0.0-alpha.13", - "@arcjet/rollup-config": "1.0.0-alpha.13", - "@arcjet/tsconfig": "1.0.0-alpha.13", + "@arcjet/eslint-config": "1.0.0-alpha.14", + "@arcjet/rollup-config": "1.0.0-alpha.14", + "@arcjet/tsconfig": "1.0.0-alpha.14", "@jest/globals": "29.7.0", "@rollup/wasm-node": "4.18.0", "@types/node": "18.18.0", @@ -1491,12 +1491,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -2119,9 +2119,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" diff --git a/examples/sveltekit/src/hooks.server.ts b/examples/sveltekit/src/hooks.server.ts index 02261ad2e..a64616e99 100644 --- a/examples/sveltekit/src/hooks.server.ts +++ b/examples/sveltekit/src/hooks.server.ts @@ -12,7 +12,7 @@ export async function handle({ // Ignore routes that extend the Arcjet rules - they will call `.protect` themselves const filteredRoutes = ["/api/rate-limited", "/rate-limited"]; if (filteredRoutes.includes(event.url.pathname)) { - // return - route will handle protecttion + // return - route will handle protection return resolve(event); } @@ -24,4 +24,4 @@ export async function handle({ // Continue with the route return resolve(event); -} +} \ No newline at end of file From 2a3a9190119b99d4aae99c73e23ed84e6e3578e5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:02:08 +0000 Subject: [PATCH 02/30] deps(example): Bump braces from 3.0.2 to 3.0.3 in /examples/nextjs-14-clerk-rl (#949) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=braces&package-manager=npm_and_yarn&previous-version=3.0.2&new-version=3.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/arcjet/arcjet-js/network/alerts).
--- examples/nextjs-14-clerk-rl/package-lock.json | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/examples/nextjs-14-clerk-rl/package-lock.json b/examples/nextjs-14-clerk-rl/package-lock.json index c313d42c5..2ecd6ded2 100644 --- a/examples/nextjs-14-clerk-rl/package-lock.json +++ b/examples/nextjs-14-clerk-rl/package-lock.json @@ -28,18 +28,20 @@ }, "../../arcjet-next": { "name": "@arcjet/next", - "version": "1.0.0-alpha.13", + "version": "1.0.0-alpha.14", "license": "Apache-2.0", "dependencies": { - "@arcjet/headers": "1.0.0-alpha.13", - "@arcjet/ip": "1.0.0-alpha.13", + "@arcjet/env": "1.0.0-alpha.14", + "@arcjet/headers": "1.0.0-alpha.14", + "@arcjet/ip": "1.0.0-alpha.14", + "@arcjet/logger": "1.0.0-alpha.14", "@connectrpc/connect-web": "1.4.0", - "arcjet": "1.0.0-alpha.13" + "arcjet": "1.0.0-alpha.14" }, "devDependencies": { - "@arcjet/eslint-config": "1.0.0-alpha.13", - "@arcjet/rollup-config": "1.0.0-alpha.13", - "@arcjet/tsconfig": "1.0.0-alpha.13", + "@arcjet/eslint-config": "1.0.0-alpha.14", + "@arcjet/rollup-config": "1.0.0-alpha.14", + "@arcjet/tsconfig": "1.0.0-alpha.14", "@jest/globals": "29.7.0", "@rollup/wasm-node": "4.18.0", "@types/node": "18.18.0", @@ -1116,12 +1118,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -2218,9 +2220,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" From c6270ddd266c354c1d08725493d1b997f89ba763 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:03:05 +0000 Subject: [PATCH 03/30] deps(example): Bump braces from 3.0.2 to 3.0.3 in /examples/nextjs-14-nextauth-4 (#951) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=braces&package-manager=npm_and_yarn&previous-version=3.0.2&new-version=3.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/arcjet/arcjet-js/network/alerts).
--- .../nextjs-14-nextauth-4/package-lock.json | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/examples/nextjs-14-nextauth-4/package-lock.json b/examples/nextjs-14-nextauth-4/package-lock.json index 3456b0c34..49cb7963a 100644 --- a/examples/nextjs-14-nextauth-4/package-lock.json +++ b/examples/nextjs-14-nextauth-4/package-lock.json @@ -27,18 +27,20 @@ }, "../../arcjet-next": { "name": "@arcjet/next", - "version": "1.0.0-alpha.13", + "version": "1.0.0-alpha.14", "license": "Apache-2.0", "dependencies": { - "@arcjet/headers": "1.0.0-alpha.13", - "@arcjet/ip": "1.0.0-alpha.13", + "@arcjet/env": "1.0.0-alpha.14", + "@arcjet/headers": "1.0.0-alpha.14", + "@arcjet/ip": "1.0.0-alpha.14", + "@arcjet/logger": "1.0.0-alpha.14", "@connectrpc/connect-web": "1.4.0", - "arcjet": "1.0.0-alpha.13" + "arcjet": "1.0.0-alpha.14" }, "devDependencies": { - "@arcjet/eslint-config": "1.0.0-alpha.13", - "@arcjet/rollup-config": "1.0.0-alpha.13", - "@arcjet/tsconfig": "1.0.0-alpha.13", + "@arcjet/eslint-config": "1.0.0-alpha.14", + "@arcjet/rollup-config": "1.0.0-alpha.14", + "@arcjet/tsconfig": "1.0.0-alpha.14", "@jest/globals": "29.7.0", "@rollup/wasm-node": "4.18.0", "@types/node": "18.18.0", @@ -1029,12 +1031,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -2055,9 +2057,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" From 3077d96d794d1ead9039c6429d97d86fcc924948 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:04:43 +0000 Subject: [PATCH 04/30] deps(example): Bump braces from 3.0.2 to 3.0.3 in /examples/nextjs-14-decorate (#952) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=braces&package-manager=npm_and_yarn&previous-version=3.0.2&new-version=3.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/arcjet/arcjet-js/network/alerts).
--- examples/nextjs-14-decorate/package-lock.json | 42 ++++++++++--------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/examples/nextjs-14-decorate/package-lock.json b/examples/nextjs-14-decorate/package-lock.json index 1eeb69fa5..ace07fbd7 100644 --- a/examples/nextjs-14-decorate/package-lock.json +++ b/examples/nextjs-14-decorate/package-lock.json @@ -28,18 +28,20 @@ }, "../../arcjet-next": { "name": "@arcjet/next", - "version": "1.0.0-alpha.13", + "version": "1.0.0-alpha.14", "license": "Apache-2.0", "dependencies": { - "@arcjet/headers": "1.0.0-alpha.13", - "@arcjet/ip": "1.0.0-alpha.13", + "@arcjet/env": "1.0.0-alpha.14", + "@arcjet/headers": "1.0.0-alpha.14", + "@arcjet/ip": "1.0.0-alpha.14", + "@arcjet/logger": "1.0.0-alpha.14", "@connectrpc/connect-web": "1.4.0", - "arcjet": "1.0.0-alpha.13" + "arcjet": "1.0.0-alpha.14" }, "devDependencies": { - "@arcjet/eslint-config": "1.0.0-alpha.13", - "@arcjet/rollup-config": "1.0.0-alpha.13", - "@arcjet/tsconfig": "1.0.0-alpha.13", + "@arcjet/eslint-config": "1.0.0-alpha.14", + "@arcjet/rollup-config": "1.0.0-alpha.14", + "@arcjet/tsconfig": "1.0.0-alpha.14", "@jest/globals": "29.7.0", "@rollup/wasm-node": "4.18.0", "@types/node": "18.18.0", @@ -55,16 +57,16 @@ }, "../../decorate": { "name": "@arcjet/decorate", - "version": "1.0.0-alpha.13", + "version": "1.0.0-alpha.14", "license": "Apache-2.0", "dependencies": { - "@arcjet/protocol": "1.0.0-alpha.13", - "@arcjet/sprintf": "1.0.0-alpha.13" + "@arcjet/protocol": "1.0.0-alpha.14", + "@arcjet/sprintf": "1.0.0-alpha.14" }, "devDependencies": { - "@arcjet/eslint-config": "1.0.0-alpha.13", - "@arcjet/rollup-config": "1.0.0-alpha.13", - "@arcjet/tsconfig": "1.0.0-alpha.13", + "@arcjet/eslint-config": "1.0.0-alpha.14", + "@arcjet/rollup-config": "1.0.0-alpha.14", + "@arcjet/tsconfig": "1.0.0-alpha.14", "@jest/globals": "29.7.0", "@rollup/wasm-node": "4.18.0", "@types/node": "18.18.0", @@ -1043,12 +1045,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -2023,9 +2025,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" From 6449d0de43706929f8739762e7cc8a24b60382e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:05:06 +0000 Subject: [PATCH 05/30] deps(example): Bump braces from 3.0.2 to 3.0.3 in /examples/nextjs-14-pages-wrap (#953) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=braces&package-manager=npm_and_yarn&previous-version=3.0.2&new-version=3.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/arcjet/arcjet-js/network/alerts).
--- .../nextjs-14-pages-wrap/package-lock.json | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/examples/nextjs-14-pages-wrap/package-lock.json b/examples/nextjs-14-pages-wrap/package-lock.json index 187a29b4e..c44ca9ff2 100644 --- a/examples/nextjs-14-pages-wrap/package-lock.json +++ b/examples/nextjs-14-pages-wrap/package-lock.json @@ -27,18 +27,20 @@ }, "../../arcjet-next": { "name": "@arcjet/next", - "version": "1.0.0-alpha.13", + "version": "1.0.0-alpha.14", "license": "Apache-2.0", "dependencies": { - "@arcjet/headers": "1.0.0-alpha.13", - "@arcjet/ip": "1.0.0-alpha.13", + "@arcjet/env": "1.0.0-alpha.14", + "@arcjet/headers": "1.0.0-alpha.14", + "@arcjet/ip": "1.0.0-alpha.14", + "@arcjet/logger": "1.0.0-alpha.14", "@connectrpc/connect-web": "1.4.0", - "arcjet": "1.0.0-alpha.13" + "arcjet": "1.0.0-alpha.14" }, "devDependencies": { - "@arcjet/eslint-config": "1.0.0-alpha.13", - "@arcjet/rollup-config": "1.0.0-alpha.13", - "@arcjet/tsconfig": "1.0.0-alpha.13", + "@arcjet/eslint-config": "1.0.0-alpha.14", + "@arcjet/rollup-config": "1.0.0-alpha.14", + "@arcjet/tsconfig": "1.0.0-alpha.14", "@jest/globals": "29.7.0", "@rollup/wasm-node": "4.18.0", "@types/node": "18.18.0", @@ -1016,12 +1018,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -1996,9 +1998,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" From cc46877c730debb10622a9f674150d9229678cf4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:05:39 +0000 Subject: [PATCH 06/30] deps(example): Bump braces from 3.0.2 to 3.0.3 in /examples/nextjs-14-openai (#955) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=braces&package-manager=npm_and_yarn&previous-version=3.0.2&new-version=3.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/arcjet/arcjet-js/network/alerts).
--- examples/nextjs-14-openai/package-lock.json | 32 ++++++++++----------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/examples/nextjs-14-openai/package-lock.json b/examples/nextjs-14-openai/package-lock.json index 913dfdbc9..800e008f7 100644 --- a/examples/nextjs-14-openai/package-lock.json +++ b/examples/nextjs-14-openai/package-lock.json @@ -30,20 +30,20 @@ }, "../../arcjet-next": { "name": "@arcjet/next", - "version": "1.0.0-alpha.13", + "version": "1.0.0-alpha.14", "license": "Apache-2.0", "dependencies": { - "@arcjet/env": "1.0.0-alpha.13", - "@arcjet/headers": "1.0.0-alpha.13", - "@arcjet/ip": "1.0.0-alpha.13", - "@arcjet/logger": "1.0.0-alpha.13", + "@arcjet/env": "1.0.0-alpha.14", + "@arcjet/headers": "1.0.0-alpha.14", + "@arcjet/ip": "1.0.0-alpha.14", + "@arcjet/logger": "1.0.0-alpha.14", "@connectrpc/connect-web": "1.4.0", - "arcjet": "1.0.0-alpha.13" + "arcjet": "1.0.0-alpha.14" }, "devDependencies": { - "@arcjet/eslint-config": "1.0.0-alpha.13", - "@arcjet/rollup-config": "1.0.0-alpha.13", - "@arcjet/tsconfig": "1.0.0-alpha.13", + "@arcjet/eslint-config": "1.0.0-alpha.14", + "@arcjet/rollup-config": "1.0.0-alpha.14", + "@arcjet/tsconfig": "1.0.0-alpha.14", "@jest/globals": "29.7.0", "@rollup/wasm-node": "4.18.0", "@types/node": "18.18.0", @@ -1387,12 +1387,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -2452,9 +2452,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" From 466c6d63351af181789ed4f35986d0aaf36a7b09 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:06:47 +0000 Subject: [PATCH 07/30] deps(example): Bump braces from 3.0.2 to 3.0.3 in /examples/nextjs-14-ip-details (#956) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=braces&package-manager=npm_and_yarn&previous-version=3.0.2&new-version=3.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/arcjet/arcjet-js/network/alerts).
--- .../nextjs-14-ip-details/package-lock.json | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/examples/nextjs-14-ip-details/package-lock.json b/examples/nextjs-14-ip-details/package-lock.json index 9b681db38..43ba0bd65 100644 --- a/examples/nextjs-14-ip-details/package-lock.json +++ b/examples/nextjs-14-ip-details/package-lock.json @@ -27,18 +27,20 @@ }, "../../arcjet-next": { "name": "@arcjet/next", - "version": "1.0.0-alpha.13", + "version": "1.0.0-alpha.14", "license": "Apache-2.0", "dependencies": { - "@arcjet/headers": "1.0.0-alpha.13", - "@arcjet/ip": "1.0.0-alpha.13", + "@arcjet/env": "1.0.0-alpha.14", + "@arcjet/headers": "1.0.0-alpha.14", + "@arcjet/ip": "1.0.0-alpha.14", + "@arcjet/logger": "1.0.0-alpha.14", "@connectrpc/connect-web": "1.4.0", - "arcjet": "1.0.0-alpha.13" + "arcjet": "1.0.0-alpha.14" }, "devDependencies": { - "@arcjet/eslint-config": "1.0.0-alpha.13", - "@arcjet/rollup-config": "1.0.0-alpha.13", - "@arcjet/tsconfig": "1.0.0-alpha.13", + "@arcjet/eslint-config": "1.0.0-alpha.14", + "@arcjet/rollup-config": "1.0.0-alpha.14", + "@arcjet/tsconfig": "1.0.0-alpha.14", "@jest/globals": "29.7.0", "@rollup/wasm-node": "4.18.0", "@types/node": "18.18.0", @@ -1016,12 +1018,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -1996,9 +1998,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" From 18c506801a62f21a4521d5fd57157169a562321d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:07:18 +0000 Subject: [PATCH 08/30] deps(example): Bump braces from 3.0.2 to 3.0.3 in /examples/nextjs-14-clerk-shield (#957) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=braces&package-manager=npm_and_yarn&previous-version=3.0.2&new-version=3.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/arcjet/arcjet-js/network/alerts).
--- .../nextjs-14-clerk-shield/package-lock.json | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/examples/nextjs-14-clerk-shield/package-lock.json b/examples/nextjs-14-clerk-shield/package-lock.json index 65c6a1710..7f0724f39 100644 --- a/examples/nextjs-14-clerk-shield/package-lock.json +++ b/examples/nextjs-14-clerk-shield/package-lock.json @@ -28,18 +28,20 @@ }, "../../arcjet-next": { "name": "@arcjet/next", - "version": "1.0.0-alpha.13", + "version": "1.0.0-alpha.14", "license": "Apache-2.0", "dependencies": { - "@arcjet/headers": "1.0.0-alpha.13", - "@arcjet/ip": "1.0.0-alpha.13", + "@arcjet/env": "1.0.0-alpha.14", + "@arcjet/headers": "1.0.0-alpha.14", + "@arcjet/ip": "1.0.0-alpha.14", + "@arcjet/logger": "1.0.0-alpha.14", "@connectrpc/connect-web": "1.4.0", - "arcjet": "1.0.0-alpha.13" + "arcjet": "1.0.0-alpha.14" }, "devDependencies": { - "@arcjet/eslint-config": "1.0.0-alpha.13", - "@arcjet/rollup-config": "1.0.0-alpha.13", - "@arcjet/tsconfig": "1.0.0-alpha.13", + "@arcjet/eslint-config": "1.0.0-alpha.14", + "@arcjet/rollup-config": "1.0.0-alpha.14", + "@arcjet/tsconfig": "1.0.0-alpha.14", "@jest/globals": "29.7.0", "@rollup/wasm-node": "4.18.0", "@types/node": "18.18.0", @@ -1116,12 +1118,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -2218,9 +2220,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" From 3cc0ae71b57de1452e00611b6d5ce286fd184f27 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:07:43 +0000 Subject: [PATCH 09/30] deps(example): Bump braces from 3.0.2 to 3.0.3 in /examples/nextjs-14-react-hook-form (#958) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=braces&package-manager=npm_and_yarn&previous-version=3.0.2&new-version=3.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/arcjet/arcjet-js/network/alerts).
--- .../nextjs-14-react-hook-form/package-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/examples/nextjs-14-react-hook-form/package-lock.json b/examples/nextjs-14-react-hook-form/package-lock.json index dc76c52ce..31ebe5b92 100644 --- a/examples/nextjs-14-react-hook-form/package-lock.json +++ b/examples/nextjs-14-react-hook-form/package-lock.json @@ -1183,11 +1183,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -2430,9 +2430,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, From 2d6f4a0c4bbab46eb79f96270abdc5a48dbc616b Mon Sep 17 00:00:00 2001 From: blaine-arcjet <146491715+blaine-arcjet@users.noreply.github.com> Date: Wed, 12 Jun 2024 06:10:00 -0700 Subject: [PATCH 10/30] chore(rollup-config): Allow more builtins to avoid warnings (#933) I was noticing warnings for some imports, so I've updated our externalize functions to include bun and sveltekit ambient modules. --- rollup-config/index.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/rollup-config/index.js b/rollup-config/index.js index 0ce990b22..207205b73 100644 --- a/rollup-config/index.js +++ b/rollup-config/index.js @@ -34,6 +34,14 @@ export function createConfig(root, { plugins = [] } = {}) { return peerDependencies.some((dep) => id.startsWith(dep)); } + function isBunBuiltin(id) { + return id === "bun"; + } + + function isSvelteKitBuiltin(id) { + return id === "$env/dynamic/private"; + } + const rootDir = fileURLToPath(new URL(".", root)); const testDir = fileURLToPath(new URL("test/", root)); @@ -76,7 +84,9 @@ export function createConfig(root, { plugins = [] } = {}) { isBuiltin(id) || isDependency(id) || isDevDependency(id) || - isPeerDependency(id) + isPeerDependency(id) || + isBunBuiltin(id) || + isSvelteKitBuiltin(id) ); }, plugins: [ From 3ef130fe55c3da54927dd25b048b974ff6edf7f4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:14:35 +0000 Subject: [PATCH 11/30] deps(example): Bump braces from 3.0.2 to 3.0.3 in /examples/nextjs-14-app-dir-rl (#962) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=braces&package-manager=npm_and_yarn&previous-version=3.0.2&new-version=3.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/arcjet/arcjet-js/network/alerts).
--- .../nextjs-14-app-dir-rl/package-lock.json | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/examples/nextjs-14-app-dir-rl/package-lock.json b/examples/nextjs-14-app-dir-rl/package-lock.json index 26833562d..bfb174bcf 100644 --- a/examples/nextjs-14-app-dir-rl/package-lock.json +++ b/examples/nextjs-14-app-dir-rl/package-lock.json @@ -28,20 +28,20 @@ }, "../../arcjet-next": { "name": "@arcjet/next", - "version": "1.0.0-alpha.13", + "version": "1.0.0-alpha.14", "license": "Apache-2.0", "dependencies": { - "@arcjet/env": "1.0.0-alpha.13", - "@arcjet/headers": "1.0.0-alpha.13", - "@arcjet/ip": "1.0.0-alpha.13", - "@arcjet/logger": "1.0.0-alpha.13", + "@arcjet/env": "1.0.0-alpha.14", + "@arcjet/headers": "1.0.0-alpha.14", + "@arcjet/ip": "1.0.0-alpha.14", + "@arcjet/logger": "1.0.0-alpha.14", "@connectrpc/connect-web": "1.4.0", - "arcjet": "1.0.0-alpha.13" + "arcjet": "1.0.0-alpha.14" }, "devDependencies": { - "@arcjet/eslint-config": "1.0.0-alpha.13", - "@arcjet/rollup-config": "1.0.0-alpha.13", - "@arcjet/tsconfig": "1.0.0-alpha.13", + "@arcjet/eslint-config": "1.0.0-alpha.14", + "@arcjet/rollup-config": "1.0.0-alpha.14", + "@arcjet/tsconfig": "1.0.0-alpha.14", "@jest/globals": "29.7.0", "@rollup/wasm-node": "4.18.0", "@types/node": "18.18.0", @@ -57,12 +57,12 @@ }, "../../env": { "name": "@arcjet/env", - "version": "1.0.0-alpha.13", + "version": "1.0.0-alpha.14", "license": "Apache-2.0", "devDependencies": { - "@arcjet/eslint-config": "1.0.0-alpha.13", - "@arcjet/rollup-config": "1.0.0-alpha.13", - "@arcjet/tsconfig": "1.0.0-alpha.13", + "@arcjet/eslint-config": "1.0.0-alpha.14", + "@arcjet/rollup-config": "1.0.0-alpha.14", + "@arcjet/tsconfig": "1.0.0-alpha.14", "@jest/globals": "29.7.0", "@rollup/wasm-node": "4.18.0", "jest": "29.7.0", @@ -1040,12 +1040,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -2020,9 +2020,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" From eb4efc1af48a95da9bd44dd67da298d44ebdd11e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:17:51 +0000 Subject: [PATCH 12/30] chore(deps-dev): Bump braces from 3.0.2 to 3.0.3 in /examples/nodejs-nestjs (#950) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=braces&package-manager=npm_and_yarn&previous-version=3.0.2&new-version=3.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/arcjet/arcjet-js/network/alerts).
--- examples/nodejs-nestjs/package-lock.json | 185 +++++------------------ 1 file changed, 35 insertions(+), 150 deletions(-) diff --git a/examples/nodejs-nestjs/package-lock.json b/examples/nodejs-nestjs/package-lock.json index 265241d25..bae3d710b 100644 --- a/examples/nodejs-nestjs/package-lock.json +++ b/examples/nodejs-nestjs/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.1", "license": "UNLICENSED", "dependencies": { - "@arcjet/node": "^1.0.0-alpha.12", + "@arcjet/node": "file:../../arcjet-node", "@nestjs/common": "^10.0.0", "@nestjs/config": "^3.2.2", "@nestjs/core": "^10.0.0", @@ -41,6 +41,31 @@ "typescript": "^5.1.3" } }, + "../../arcjet-node": { + "version": "1.0.0-alpha.14", + "license": "Apache-2.0", + "dependencies": { + "@arcjet/env": "1.0.0-alpha.14", + "@arcjet/headers": "1.0.0-alpha.14", + "@arcjet/ip": "1.0.0-alpha.14", + "@arcjet/logger": "1.0.0-alpha.14", + "@connectrpc/connect-node": "1.4.0", + "arcjet": "1.0.0-alpha.14" + }, + "devDependencies": { + "@arcjet/eslint-config": "1.0.0-alpha.14", + "@arcjet/rollup-config": "1.0.0-alpha.14", + "@arcjet/tsconfig": "1.0.0-alpha.14", + "@jest/globals": "29.7.0", + "@rollup/wasm-node": "4.18.0", + "@types/node": "18.18.0", + "jest": "29.7.0", + "typescript": "5.4.5" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@aashutoshrathi/word-wrap": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", @@ -235,71 +260,9 @@ "node": ">=0.12.0" } }, - "node_modules/@arcjet/analyze": { - "version": "1.0.0-alpha.12", - "resolved": "https://registry.npmjs.org/@arcjet/analyze/-/analyze-1.0.0-alpha.12.tgz", - "integrity": "sha512-mZ4km3XrUzbcpVGp35OCUiHjXYaa4cKGL9yHI253vozetIzJezZW/lCVU/iQU3JJt704oXKLpF5uzaXb1mj1Zg==", - "dependencies": { - "@arcjet/logger": "1.0.0-alpha.12" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@arcjet/duration": { - "version": "1.0.0-alpha.12", - "resolved": "https://registry.npmjs.org/@arcjet/duration/-/duration-1.0.0-alpha.12.tgz", - "integrity": "sha512-2DxNGNaf4eh3nkkEAueqwDXLT3IXupn6WZ2KOQIfLpxAyKNUXVhGKyAoO801TIgItz29CceOt7aomlUjyjFStQ==", - "engines": { - "node": ">=18" - } - }, - "node_modules/@arcjet/ip": { - "version": "1.0.0-alpha.12", - "resolved": "https://registry.npmjs.org/@arcjet/ip/-/ip-1.0.0-alpha.12.tgz", - "integrity": "sha512-P2vZDzitIWvFEc2woEV2dRT9DEaubcPBPVJMbyRLbtu5iBkiv5CPgdt9vXI1VyqmWT1O9xgFK3FO2JSWDsqyUw==", - "engines": { - "node": ">=18" - } - }, - "node_modules/@arcjet/logger": { - "version": "1.0.0-alpha.12", - "resolved": "https://registry.npmjs.org/@arcjet/logger/-/logger-1.0.0-alpha.12.tgz", - "integrity": "sha512-ceRcpVKPdLkw9EeShpcXgIEG7MjUMHqHL1k++SAwM9DoAgKfgF9t/znUK7t0XvUOHBL+W2AbpjQS6VKUT+IeFg==", - "engines": { - "node": ">=18" - } - }, "node_modules/@arcjet/node": { - "version": "1.0.0-alpha.12", - "resolved": "https://registry.npmjs.org/@arcjet/node/-/node-1.0.0-alpha.12.tgz", - "integrity": "sha512-fhie43t/lvsTeRfL9usJzhnpFKxE9wzbn5fN+bGFuWZAF7+bISHcq5Sj1r2OjigD4JoSFuQHFMFldrvxQwJESw==", - "dependencies": { - "@arcjet/ip": "1.0.0-alpha.12", - "@connectrpc/connect-node": "1.4.0", - "arcjet": "1.0.0-alpha.12" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@arcjet/protocol": { - "version": "1.0.0-alpha.12", - "resolved": "https://registry.npmjs.org/@arcjet/protocol/-/protocol-1.0.0-alpha.12.tgz", - "integrity": "sha512-bmQv6aaKyAx+tf9rX8A4oKeS03bU0CHNyVxcMevWHvHbf9rj7TmfP2SX5ZYIu+pbY+VXn6oI0vSksMybcWwxrg==", - "dependencies": { - "@bufbuild/protobuf": "1.8.0", - "@connectrpc/connect": "1.4.0", - "typeid-js": "0.7.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@arcjet/protocol/node_modules/@bufbuild/protobuf": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-1.8.0.tgz", - "integrity": "sha512-qR9FwI8QKIveDnUYutvfzbC21UZJJryYrLuZGjeZ/VGz+vXelUkK+xgkOHsvPEdYEdxtgUUq4313N8QtOehJ1Q==" + "resolved": "../../arcjet-node", + "link": true }, "node_modules/@babel/code-frame": { "version": "7.24.2", @@ -880,12 +843,6 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/@bufbuild/protobuf": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-1.9.0.tgz", - "integrity": "sha512-W7gp8Q/v1NlCZLsv8pQ3Y0uCu/SHgXOVFK+eUluUKWXmsb6VHkpNx0apdOWWcDbB9sJoKeP8uPrjmehJz6xETQ==", - "peer": true - }, "node_modules/@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -896,29 +853,6 @@ "node": ">=0.1.90" } }, - "node_modules/@connectrpc/connect": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@connectrpc/connect/-/connect-1.4.0.tgz", - "integrity": "sha512-vZeOkKaAjyV4+RH3+rJZIfDFJAfr+7fyYr6sLDKbYX3uuTVszhFe9/YKf5DNqrDb5cKdKVlYkGn6DTDqMitAnA==", - "peerDependencies": { - "@bufbuild/protobuf": "^1.4.2" - } - }, - "node_modules/@connectrpc/connect-node": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@connectrpc/connect-node/-/connect-node-1.4.0.tgz", - "integrity": "sha512-0ANnrr6SvsjevsWEgdzHy7BaHkluZyS6s4xNoVt7RBHFR5V/kT9lPokoIbYUOU9JHzdRgTaS3x5595mwUsu15g==", - "dependencies": { - "undici": "^5.28.3" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "@bufbuild/protobuf": "^1.4.2", - "@connectrpc/connect": "1.4.0" - } - }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", @@ -1041,14 +975,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", - "engines": { - "node": ">=14" - } - }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", @@ -2907,20 +2833,6 @@ "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==" }, - "node_modules/arcjet": { - "version": "1.0.0-alpha.12", - "resolved": "https://registry.npmjs.org/arcjet/-/arcjet-1.0.0-alpha.12.tgz", - "integrity": "sha512-zrbGsYAlmh7epdBafQtoOr3uu2zyXEQesJrh5fzqyO2SUVOYu3v2f5uoOrLjLl4ap4gwCd0bSgwC+k/91j54FA==", - "dependencies": { - "@arcjet/analyze": "1.0.0-alpha.12", - "@arcjet/duration": "1.0.0-alpha.12", - "@arcjet/logger": "1.0.0-alpha.12", - "@arcjet/protocol": "1.0.0-alpha.12" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -3190,12 +3102,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -4554,9 +4466,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -8490,14 +8402,6 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, - "node_modules/typeid-js": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/typeid-js/-/typeid-js-0.7.0.tgz", - "integrity": "sha512-eNkOAh7Z7SIGwgdg2BM5n79QhJqHMNMm6kWYJAsIf3OqBLDEO5UeNLknBXh9+U6zel1zC5z2l0cwCswIy+GWyw==", - "dependencies": { - "uuidv7": "^0.6.2" - } - }, "node_modules/typescript": { "version": "5.4.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", @@ -8522,17 +8426,6 @@ "node": ">=8" } }, - "node_modules/undici": { - "version": "5.28.4", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", - "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", - "dependencies": { - "@fastify/busboy": "^2.0.0" - }, - "engines": { - "node": ">=14.0" - } - }, "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", @@ -8620,14 +8513,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/uuidv7": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/uuidv7/-/uuidv7-0.6.3.tgz", - "integrity": "sha512-zV3eW2NlXTsun/aJ7AixxZjH/byQcH/r3J99MI0dDEkU2cJIBJxhEWUHDTpOaLPRNhebPZoeHuykYREkI9HafA==", - "bin": { - "uuidv7": "cli.js" - } - }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", From f3d2af53e6939f25597f75b1dfe212238afee626 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:18:14 +0000 Subject: [PATCH 13/30] deps: Bump braces from 3.0.2 to 3.0.3 (#954) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=braces&package-manager=npm_and_yarn&previous-version=3.0.2&new-version=3.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/arcjet/arcjet-js/network/alerts).
--- package-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index f293e257d..d9aba786b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2692,11 +2692,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -3497,9 +3497,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, From 8458fe84a16df97de2b92fbec82a4a75350d5a9d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:25:59 +0000 Subject: [PATCH 14/30] deps(example): Bump hono from 4.4.4 to 4.4.5 in /examples/nodejs-hono-rl in the dependencies group (#923) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the dependencies group in /examples/nodejs-hono-rl with 1 update: [hono](https://github.com/honojs/hono). Updates `hono` from 4.4.4 to 4.4.5
Release notes

Sourced from hono's releases.

v4.4.5

What's Changed

Full Changelog: https://github.com/honojs/hono/compare/v4.4.4...v4.4.5

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hono&package-manager=npm_and_yarn&previous-version=4.4.4&new-version=4.4.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
--- examples/nodejs-hono-rl/package-lock.json | 24 ++++++++++++----------- examples/nodejs-hono-rl/package.json | 2 +- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/examples/nodejs-hono-rl/package-lock.json b/examples/nodejs-hono-rl/package-lock.json index 296613d64..3b0986545 100644 --- a/examples/nodejs-hono-rl/package-lock.json +++ b/examples/nodejs-hono-rl/package-lock.json @@ -8,7 +8,7 @@ "dependencies": { "@arcjet/node": "file:../../arcjet-node", "@hono/node-server": "^1.11.2", - "hono": "^4.4.4" + "hono": "^4.4.5" }, "devDependencies": { "@types/node": "^20", @@ -17,18 +17,20 @@ }, "../../arcjet-node": { "name": "@arcjet/node", - "version": "1.0.0-alpha.13", + "version": "1.0.0-alpha.14", "license": "Apache-2.0", "dependencies": { - "@arcjet/headers": "1.0.0-alpha.13", - "@arcjet/ip": "1.0.0-alpha.13", + "@arcjet/env": "1.0.0-alpha.14", + "@arcjet/headers": "1.0.0-alpha.14", + "@arcjet/ip": "1.0.0-alpha.14", + "@arcjet/logger": "1.0.0-alpha.14", "@connectrpc/connect-node": "1.4.0", - "arcjet": "1.0.0-alpha.13" + "arcjet": "1.0.0-alpha.14" }, "devDependencies": { - "@arcjet/eslint-config": "1.0.0-alpha.13", - "@arcjet/rollup-config": "1.0.0-alpha.13", - "@arcjet/tsconfig": "1.0.0-alpha.13", + "@arcjet/eslint-config": "1.0.0-alpha.14", + "@arcjet/rollup-config": "1.0.0-alpha.14", + "@arcjet/tsconfig": "1.0.0-alpha.14", "@jest/globals": "29.7.0", "@rollup/wasm-node": "4.18.0", "@types/node": "18.18.0", @@ -61,9 +63,9 @@ } }, "node_modules/hono": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.4.4.tgz", - "integrity": "sha512-zO5+4K8yf1iuKhBZhwmpZ/0LzPMr8Zt1RugEGM1xvOqgh9DyLb7tslOtoBks4bmm5bIcLtzLCXUpYpXOkwpABA==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.4.5.tgz", + "integrity": "sha512-hyf+1c+gTEo0+xjdYT2e8y4M3HcEy0ARuRZHPRgeRhq/mupkI4j9/qEWVKsyj0se4KhfRnYrld4Tk6z/9veq/Q==", "engines": { "node": ">=16.0.0" } diff --git a/examples/nodejs-hono-rl/package.json b/examples/nodejs-hono-rl/package.json index 4a0ac6761..3b36762d5 100644 --- a/examples/nodejs-hono-rl/package.json +++ b/examples/nodejs-hono-rl/package.json @@ -9,7 +9,7 @@ "dependencies": { "@arcjet/node": "file:../../arcjet-node", "@hono/node-server": "^1.11.2", - "hono": "^4.4.4" + "hono": "^4.4.5" }, "devDependencies": { "@types/node": "^20", From 30e03ad1d65d9e44668e73b7db68db82a626621e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:30:02 +0000 Subject: [PATCH 15/30] deps(example): Bump prettier from 3.3.1 to 3.3.2 in /examples/sveltekit in the dependencies group (#926) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the dependencies group in /examples/sveltekit with 1 update: [prettier](https://github.com/prettier/prettier). Updates `prettier` from 3.3.1 to 3.3.2
Release notes

Sourced from prettier's releases.

3.3.2

🔗 Changelog

Changelog

Sourced from prettier's changelog.

3.3.2

diff

Fix handlebars path expressions starts with @ (#16358 by @​Princeyadav05)

{{! Input }}
<div>{{@x.y.z}}</div>

{{! Prettier 3.3.1 }} <div>{{@​x}}</div>

{{! Prettier 3.3.2 }} <div>{{@​x.y.z}}</div>

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prettier&package-manager=npm_and_yarn&previous-version=3.3.1&new-version=3.3.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
--- examples/sveltekit/package-lock.json | 8 ++++---- examples/sveltekit/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/sveltekit/package-lock.json b/examples/sveltekit/package-lock.json index cb826dfcc..989f4dc95 100644 --- a/examples/sveltekit/package-lock.json +++ b/examples/sveltekit/package-lock.json @@ -22,7 +22,7 @@ "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-svelte": "^2.39.3", - "prettier": "^3.3.1", + "prettier": "^3.3.2", "prettier-plugin-svelte": "^3.2.4", "svelte": "^4.2.18", "svelte-check": "^3.8.0", @@ -2991,9 +2991,9 @@ } }, "node_modules/prettier": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.1.tgz", - "integrity": "sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", + "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" diff --git a/examples/sveltekit/package.json b/examples/sveltekit/package.json index 89518a0b1..86c98502a 100644 --- a/examples/sveltekit/package.json +++ b/examples/sveltekit/package.json @@ -27,7 +27,7 @@ "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-svelte": "^2.39.3", - "prettier": "^3.3.1", + "prettier": "^3.3.2", "prettier-plugin-svelte": "^3.2.4", "svelte": "^4.2.18", "svelte-check": "^3.8.0", From 78f1a31cf8cbaca914aec3c72c11e96a5d96cdf6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:31:16 +0000 Subject: [PATCH 16/30] deps(example): Bump the dependencies group in /examples/nextjs-14-pages-wrap with 2 updates (#935) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the dependencies group in /examples/nextjs-14-pages-wrap with 2 updates: [next](https://github.com/vercel/next.js) and [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next). Updates `next` from 14.2.3 to 14.2.4
Release notes

Sourced from next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Updates `eslint-config-next` from 14.2.3 to 14.2.4
Release notes

Sourced from eslint-config-next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
--- .../nextjs-14-pages-wrap/package-lock.json | 124 +++++++++--------- examples/nextjs-14-pages-wrap/package.json | 4 +- 2 files changed, 64 insertions(+), 64 deletions(-) diff --git a/examples/nextjs-14-pages-wrap/package-lock.json b/examples/nextjs-14-pages-wrap/package-lock.json index c44ca9ff2..bb19d9442 100644 --- a/examples/nextjs-14-pages-wrap/package-lock.json +++ b/examples/nextjs-14-pages-wrap/package-lock.json @@ -9,7 +9,7 @@ "version": "0.1.0", "dependencies": { "@arcjet/next": "file:../../arcjet-next", - "next": "^14.2.3", + "next": "^14.2.4", "react": "^18", "react-dom": "^18" }, @@ -19,7 +19,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "postcss": "^8", "tailwindcss": "^3.4.4", "typescript": "^5" @@ -273,14 +273,14 @@ } }, "node_modules/@next/env": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz", - "integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==" + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.4.tgz", + "integrity": "sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==" }, "node_modules/@next/eslint-plugin-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.3.tgz", - "integrity": "sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.4.tgz", + "integrity": "sha512-svSFxW9f3xDaZA3idQmlFw7SusOuWTpDTAeBlO3AEPDltrraV+lqs7mAc6A27YdnpQVVIA3sODqUAAHdWhVWsA==", "dev": true, "dependencies": { "glob": "10.3.10" @@ -333,9 +333,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz", - "integrity": "sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.4.tgz", + "integrity": "sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==", "cpu": [ "arm64" ], @@ -348,9 +348,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz", - "integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.4.tgz", + "integrity": "sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==", "cpu": [ "x64" ], @@ -363,9 +363,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz", - "integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.4.tgz", + "integrity": "sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==", "cpu": [ "arm64" ], @@ -378,9 +378,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz", - "integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.4.tgz", + "integrity": "sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==", "cpu": [ "arm64" ], @@ -393,9 +393,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz", - "integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.4.tgz", + "integrity": "sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==", "cpu": [ "x64" ], @@ -408,9 +408,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz", - "integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.4.tgz", + "integrity": "sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==", "cpu": [ "x64" ], @@ -423,9 +423,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz", - "integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.4.tgz", + "integrity": "sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==", "cpu": [ "arm64" ], @@ -438,9 +438,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz", - "integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.4.tgz", + "integrity": "sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==", "cpu": [ "ia32" ], @@ -453,9 +453,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz", - "integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.4.tgz", + "integrity": "sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==", "cpu": [ "x64" ], @@ -1576,12 +1576,12 @@ } }, "node_modules/eslint-config-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.3.tgz", - "integrity": "sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.4.tgz", + "integrity": "sha512-Qr0wMgG9m6m4uYy2jrYJmyuNlYZzPRQq5Kvb9IDlYwn+7yq6W6sfMNFgb+9guM1KYwuIo6TIaiFhZJ6SnQ/Efw==", "dev": true, "dependencies": { - "@next/eslint-plugin-next": "14.2.3", + "@next/eslint-plugin-next": "14.2.4", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0", "eslint-import-resolver-node": "^0.3.6", @@ -2055,9 +2055,9 @@ } }, "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.0.tgz", + "integrity": "sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", @@ -3024,9 +3024,9 @@ } }, "node_modules/minipass": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz", - "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -3073,11 +3073,11 @@ "dev": true }, "node_modules/next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz", - "integrity": "sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.4.tgz", + "integrity": "sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==", "dependencies": { - "@next/env": "14.2.3", + "@next/env": "14.2.4", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -3092,15 +3092,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.3", - "@next/swc-darwin-x64": "14.2.3", - "@next/swc-linux-arm64-gnu": "14.2.3", - "@next/swc-linux-arm64-musl": "14.2.3", - "@next/swc-linux-x64-gnu": "14.2.3", - "@next/swc-linux-x64-musl": "14.2.3", - "@next/swc-win32-arm64-msvc": "14.2.3", - "@next/swc-win32-ia32-msvc": "14.2.3", - "@next/swc-win32-x64-msvc": "14.2.3" + "@next/swc-darwin-arm64": "14.2.4", + "@next/swc-darwin-x64": "14.2.4", + "@next/swc-linux-arm64-gnu": "14.2.4", + "@next/swc-linux-arm64-musl": "14.2.4", + "@next/swc-linux-x64-gnu": "14.2.4", + "@next/swc-linux-x64-musl": "14.2.4", + "@next/swc-win32-arm64-msvc": "14.2.4", + "@next/swc-win32-ia32-msvc": "14.2.4", + "@next/swc-win32-x64-msvc": "14.2.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -3401,16 +3401,16 @@ "dev": true }, "node_modules/path-scurry": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.0.tgz", - "integrity": "sha512-LNHTaVkzaYaLGlO+0u3rQTz7QrHTFOuKyba9JMTQutkmtNew8dw8wOD7mTU/5fCPZzCWpfW0XnQKzY61P0aTaw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" diff --git a/examples/nextjs-14-pages-wrap/package.json b/examples/nextjs-14-pages-wrap/package.json index b5a3c6cb9..d5c1d46e8 100644 --- a/examples/nextjs-14-pages-wrap/package.json +++ b/examples/nextjs-14-pages-wrap/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@arcjet/next": "file:../../arcjet-next", - "next": "^14.2.3", + "next": "^14.2.4", "react": "^18", "react-dom": "^18" }, @@ -20,7 +20,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "postcss": "^8", "tailwindcss": "^3.4.4", "typescript": "^5" From 9384f4ebf1bd78dd4a5ef84aa83fac2e24287b3b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:33:50 +0000 Subject: [PATCH 17/30] deps(example): Bump the dependencies group in /examples/nextjs-14-app-dir-rl with 2 updates (#937) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the dependencies group in /examples/nextjs-14-app-dir-rl with 2 updates: [next](https://github.com/vercel/next.js) and [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next). Updates `next` from 14.2.3 to 14.2.4
Release notes

Sourced from next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Updates `eslint-config-next` from 14.2.3 to 14.2.4
Release notes

Sourced from eslint-config-next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
--- .../nextjs-14-app-dir-rl/package-lock.json | 124 +++++++++--------- examples/nextjs-14-app-dir-rl/package.json | 4 +- 2 files changed, 64 insertions(+), 64 deletions(-) diff --git a/examples/nextjs-14-app-dir-rl/package-lock.json b/examples/nextjs-14-app-dir-rl/package-lock.json index bfb174bcf..56ce04f6c 100644 --- a/examples/nextjs-14-app-dir-rl/package-lock.json +++ b/examples/nextjs-14-app-dir-rl/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@arcjet/env": "file:../../env", "@arcjet/next": "file:../../arcjet-next", - "next": "^14.2.3", + "next": "^14.2.4", "react": "^18", "react-dom": "^18" }, @@ -20,7 +20,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "postcss": "^8", "tailwindcss": "^3.4.4", "typescript": "^5" @@ -295,14 +295,14 @@ } }, "node_modules/@next/env": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz", - "integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==" + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.4.tgz", + "integrity": "sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==" }, "node_modules/@next/eslint-plugin-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.3.tgz", - "integrity": "sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.4.tgz", + "integrity": "sha512-svSFxW9f3xDaZA3idQmlFw7SusOuWTpDTAeBlO3AEPDltrraV+lqs7mAc6A27YdnpQVVIA3sODqUAAHdWhVWsA==", "dev": true, "dependencies": { "glob": "10.3.10" @@ -355,9 +355,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz", - "integrity": "sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.4.tgz", + "integrity": "sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==", "cpu": [ "arm64" ], @@ -370,9 +370,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz", - "integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.4.tgz", + "integrity": "sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==", "cpu": [ "x64" ], @@ -385,9 +385,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz", - "integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.4.tgz", + "integrity": "sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==", "cpu": [ "arm64" ], @@ -400,9 +400,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz", - "integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.4.tgz", + "integrity": "sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==", "cpu": [ "arm64" ], @@ -415,9 +415,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz", - "integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.4.tgz", + "integrity": "sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==", "cpu": [ "x64" ], @@ -430,9 +430,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz", - "integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.4.tgz", + "integrity": "sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==", "cpu": [ "x64" ], @@ -445,9 +445,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz", - "integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.4.tgz", + "integrity": "sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==", "cpu": [ "arm64" ], @@ -460,9 +460,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz", - "integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.4.tgz", + "integrity": "sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==", "cpu": [ "ia32" ], @@ -475,9 +475,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz", - "integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.4.tgz", + "integrity": "sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==", "cpu": [ "x64" ], @@ -1598,12 +1598,12 @@ } }, "node_modules/eslint-config-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.3.tgz", - "integrity": "sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.4.tgz", + "integrity": "sha512-Qr0wMgG9m6m4uYy2jrYJmyuNlYZzPRQq5Kvb9IDlYwn+7yq6W6sfMNFgb+9guM1KYwuIo6TIaiFhZJ6SnQ/Efw==", "dev": true, "dependencies": { - "@next/eslint-plugin-next": "14.2.3", + "@next/eslint-plugin-next": "14.2.4", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0", "eslint-import-resolver-node": "^0.3.6", @@ -2077,9 +2077,9 @@ } }, "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.0.tgz", + "integrity": "sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", @@ -3046,9 +3046,9 @@ } }, "node_modules/minipass": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz", - "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -3095,11 +3095,11 @@ "dev": true }, "node_modules/next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz", - "integrity": "sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.4.tgz", + "integrity": "sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==", "dependencies": { - "@next/env": "14.2.3", + "@next/env": "14.2.4", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -3114,15 +3114,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.3", - "@next/swc-darwin-x64": "14.2.3", - "@next/swc-linux-arm64-gnu": "14.2.3", - "@next/swc-linux-arm64-musl": "14.2.3", - "@next/swc-linux-x64-gnu": "14.2.3", - "@next/swc-linux-x64-musl": "14.2.3", - "@next/swc-win32-arm64-msvc": "14.2.3", - "@next/swc-win32-ia32-msvc": "14.2.3", - "@next/swc-win32-x64-msvc": "14.2.3" + "@next/swc-darwin-arm64": "14.2.4", + "@next/swc-darwin-x64": "14.2.4", + "@next/swc-linux-arm64-gnu": "14.2.4", + "@next/swc-linux-arm64-musl": "14.2.4", + "@next/swc-linux-x64-gnu": "14.2.4", + "@next/swc-linux-x64-musl": "14.2.4", + "@next/swc-win32-arm64-msvc": "14.2.4", + "@next/swc-win32-ia32-msvc": "14.2.4", + "@next/swc-win32-x64-msvc": "14.2.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -3423,16 +3423,16 @@ "dev": true }, "node_modules/path-scurry": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.0.tgz", - "integrity": "sha512-LNHTaVkzaYaLGlO+0u3rQTz7QrHTFOuKyba9JMTQutkmtNew8dw8wOD7mTU/5fCPZzCWpfW0XnQKzY61P0aTaw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" diff --git a/examples/nextjs-14-app-dir-rl/package.json b/examples/nextjs-14-app-dir-rl/package.json index 0f1e3b777..2e3afda14 100644 --- a/examples/nextjs-14-app-dir-rl/package.json +++ b/examples/nextjs-14-app-dir-rl/package.json @@ -11,7 +11,7 @@ "dependencies": { "@arcjet/env": "file:../../env", "@arcjet/next": "file:../../arcjet-next", - "next": "^14.2.3", + "next": "^14.2.4", "react": "^18", "react-dom": "^18" }, @@ -21,7 +21,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "postcss": "^8", "tailwindcss": "^3.4.4", "typescript": "^5" From 8c31888cf348d6c8c4aeb50c95f4e1451d1a732d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:35:40 +0000 Subject: [PATCH 18/30] deps(example): Bump the dependencies group in /examples/nextjs-14-decorate with 2 updates (#938) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the dependencies group in /examples/nextjs-14-decorate with 2 updates: [next](https://github.com/vercel/next.js) and [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next). Updates `next` from 14.2.3 to 14.2.4
Release notes

Sourced from next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Updates `eslint-config-next` from 14.2.3 to 14.2.4
Release notes

Sourced from eslint-config-next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
--- examples/nextjs-14-decorate/package-lock.json | 124 +++++++++--------- examples/nextjs-14-decorate/package.json | 4 +- 2 files changed, 64 insertions(+), 64 deletions(-) diff --git a/examples/nextjs-14-decorate/package-lock.json b/examples/nextjs-14-decorate/package-lock.json index ace07fbd7..2e5bb4b0e 100644 --- a/examples/nextjs-14-decorate/package-lock.json +++ b/examples/nextjs-14-decorate/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@arcjet/decorate": "file:../../decorate", "@arcjet/next": "file:../../arcjet-next", - "next": "^14.2.3", + "next": "^14.2.4", "react": "^18", "react-dom": "^18" }, @@ -20,7 +20,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "postcss": "^8", "tailwindcss": "^3.4.4", "typescript": "^5" @@ -300,14 +300,14 @@ } }, "node_modules/@next/env": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz", - "integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==" + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.4.tgz", + "integrity": "sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==" }, "node_modules/@next/eslint-plugin-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.3.tgz", - "integrity": "sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.4.tgz", + "integrity": "sha512-svSFxW9f3xDaZA3idQmlFw7SusOuWTpDTAeBlO3AEPDltrraV+lqs7mAc6A27YdnpQVVIA3sODqUAAHdWhVWsA==", "dev": true, "dependencies": { "glob": "10.3.10" @@ -360,9 +360,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz", - "integrity": "sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.4.tgz", + "integrity": "sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==", "cpu": [ "arm64" ], @@ -375,9 +375,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz", - "integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.4.tgz", + "integrity": "sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==", "cpu": [ "x64" ], @@ -390,9 +390,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz", - "integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.4.tgz", + "integrity": "sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==", "cpu": [ "arm64" ], @@ -405,9 +405,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz", - "integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.4.tgz", + "integrity": "sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==", "cpu": [ "arm64" ], @@ -420,9 +420,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz", - "integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.4.tgz", + "integrity": "sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==", "cpu": [ "x64" ], @@ -435,9 +435,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz", - "integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.4.tgz", + "integrity": "sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==", "cpu": [ "x64" ], @@ -450,9 +450,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz", - "integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.4.tgz", + "integrity": "sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==", "cpu": [ "arm64" ], @@ -465,9 +465,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz", - "integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.4.tgz", + "integrity": "sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==", "cpu": [ "ia32" ], @@ -480,9 +480,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz", - "integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.4.tgz", + "integrity": "sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==", "cpu": [ "x64" ], @@ -1603,12 +1603,12 @@ } }, "node_modules/eslint-config-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.3.tgz", - "integrity": "sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.4.tgz", + "integrity": "sha512-Qr0wMgG9m6m4uYy2jrYJmyuNlYZzPRQq5Kvb9IDlYwn+7yq6W6sfMNFgb+9guM1KYwuIo6TIaiFhZJ6SnQ/Efw==", "dev": true, "dependencies": { - "@next/eslint-plugin-next": "14.2.3", + "@next/eslint-plugin-next": "14.2.4", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0", "eslint-import-resolver-node": "^0.3.6", @@ -2082,9 +2082,9 @@ } }, "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.0.tgz", + "integrity": "sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", @@ -3051,9 +3051,9 @@ } }, "node_modules/minipass": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz", - "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -3100,11 +3100,11 @@ "dev": true }, "node_modules/next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz", - "integrity": "sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.4.tgz", + "integrity": "sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==", "dependencies": { - "@next/env": "14.2.3", + "@next/env": "14.2.4", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -3119,15 +3119,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.3", - "@next/swc-darwin-x64": "14.2.3", - "@next/swc-linux-arm64-gnu": "14.2.3", - "@next/swc-linux-arm64-musl": "14.2.3", - "@next/swc-linux-x64-gnu": "14.2.3", - "@next/swc-linux-x64-musl": "14.2.3", - "@next/swc-win32-arm64-msvc": "14.2.3", - "@next/swc-win32-ia32-msvc": "14.2.3", - "@next/swc-win32-x64-msvc": "14.2.3" + "@next/swc-darwin-arm64": "14.2.4", + "@next/swc-darwin-x64": "14.2.4", + "@next/swc-linux-arm64-gnu": "14.2.4", + "@next/swc-linux-arm64-musl": "14.2.4", + "@next/swc-linux-x64-gnu": "14.2.4", + "@next/swc-linux-x64-musl": "14.2.4", + "@next/swc-win32-arm64-msvc": "14.2.4", + "@next/swc-win32-ia32-msvc": "14.2.4", + "@next/swc-win32-x64-msvc": "14.2.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -3428,16 +3428,16 @@ "dev": true }, "node_modules/path-scurry": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.0.tgz", - "integrity": "sha512-LNHTaVkzaYaLGlO+0u3rQTz7QrHTFOuKyba9JMTQutkmtNew8dw8wOD7mTU/5fCPZzCWpfW0XnQKzY61P0aTaw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" diff --git a/examples/nextjs-14-decorate/package.json b/examples/nextjs-14-decorate/package.json index 10edea724..0d56a5f5d 100644 --- a/examples/nextjs-14-decorate/package.json +++ b/examples/nextjs-14-decorate/package.json @@ -11,7 +11,7 @@ "dependencies": { "@arcjet/decorate": "file:../../decorate", "@arcjet/next": "file:../../arcjet-next", - "next": "^14.2.3", + "next": "^14.2.4", "react": "^18", "react-dom": "^18" }, @@ -21,7 +21,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "postcss": "^8", "tailwindcss": "^3.4.4", "typescript": "^5" From 4a1e3c13365a0f6a8317f457ad18e745755abc60 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:45:12 +0000 Subject: [PATCH 19/30] deps(example): Bump next from 14.2.3 to 14.2.4 in /examples/nextjs-14-authjs-5 in the dependencies group (#940) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the dependencies group in /examples/nextjs-14-authjs-5 with 1 update: [next](https://github.com/vercel/next.js). Updates `next` from 14.2.3 to 14.2.4
Release notes

Sourced from next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=next&package-manager=npm_and_yarn&previous-version=14.2.3&new-version=14.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
--- examples/nextjs-14-authjs-5/package-lock.json | 106 +++++++++--------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/examples/nextjs-14-authjs-5/package-lock.json b/examples/nextjs-14-authjs-5/package-lock.json index 4b14892e6..d900b53f2 100644 --- a/examples/nextjs-14-authjs-5/package-lock.json +++ b/examples/nextjs-14-authjs-5/package-lock.json @@ -14,7 +14,7 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", "lucide-react": "^0.394.0", - "next": "*", + "next": "latest", "next-auth": "beta", "react": "^18.3.1", "react-dom": "^18.3.1", @@ -33,20 +33,20 @@ }, "../../arcjet-next": { "name": "@arcjet/next", - "version": "1.0.0-alpha.13", + "version": "1.0.0-alpha.14", "license": "Apache-2.0", "dependencies": { - "@arcjet/env": "1.0.0-alpha.13", - "@arcjet/headers": "1.0.0-alpha.13", - "@arcjet/ip": "1.0.0-alpha.13", - "@arcjet/logger": "1.0.0-alpha.13", + "@arcjet/env": "1.0.0-alpha.14", + "@arcjet/headers": "1.0.0-alpha.14", + "@arcjet/ip": "1.0.0-alpha.14", + "@arcjet/logger": "1.0.0-alpha.14", "@connectrpc/connect-web": "1.4.0", - "arcjet": "1.0.0-alpha.13" + "arcjet": "1.0.0-alpha.14" }, "devDependencies": { - "@arcjet/eslint-config": "1.0.0-alpha.13", - "@arcjet/rollup-config": "1.0.0-alpha.13", - "@arcjet/tsconfig": "1.0.0-alpha.13", + "@arcjet/eslint-config": "1.0.0-alpha.14", + "@arcjet/rollup-config": "1.0.0-alpha.14", + "@arcjet/tsconfig": "1.0.0-alpha.14", "@jest/globals": "29.7.0", "@rollup/wasm-node": "4.18.0", "@types/node": "18.18.0", @@ -210,14 +210,14 @@ } }, "node_modules/@next/env": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz", - "integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==" + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.4.tgz", + "integrity": "sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==" }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz", - "integrity": "sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.4.tgz", + "integrity": "sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==", "cpu": [ "arm64" ], @@ -230,9 +230,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz", - "integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.4.tgz", + "integrity": "sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==", "cpu": [ "x64" ], @@ -245,9 +245,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz", - "integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.4.tgz", + "integrity": "sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==", "cpu": [ "arm64" ], @@ -260,9 +260,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz", - "integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.4.tgz", + "integrity": "sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==", "cpu": [ "arm64" ], @@ -275,9 +275,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz", - "integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.4.tgz", + "integrity": "sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==", "cpu": [ "x64" ], @@ -290,9 +290,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz", - "integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.4.tgz", + "integrity": "sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==", "cpu": [ "x64" ], @@ -305,9 +305,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz", - "integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.4.tgz", + "integrity": "sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==", "cpu": [ "arm64" ], @@ -320,9 +320,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz", - "integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.4.tgz", + "integrity": "sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==", "cpu": [ "ia32" ], @@ -335,9 +335,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz", - "integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.4.tgz", + "integrity": "sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==", "cpu": [ "x64" ], @@ -1845,11 +1845,11 @@ } }, "node_modules/next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz", - "integrity": "sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.4.tgz", + "integrity": "sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==", "dependencies": { - "@next/env": "14.2.3", + "@next/env": "14.2.4", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -1864,15 +1864,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.3", - "@next/swc-darwin-x64": "14.2.3", - "@next/swc-linux-arm64-gnu": "14.2.3", - "@next/swc-linux-arm64-musl": "14.2.3", - "@next/swc-linux-x64-gnu": "14.2.3", - "@next/swc-linux-x64-musl": "14.2.3", - "@next/swc-win32-arm64-msvc": "14.2.3", - "@next/swc-win32-ia32-msvc": "14.2.3", - "@next/swc-win32-x64-msvc": "14.2.3" + "@next/swc-darwin-arm64": "14.2.4", + "@next/swc-darwin-x64": "14.2.4", + "@next/swc-linux-arm64-gnu": "14.2.4", + "@next/swc-linux-arm64-musl": "14.2.4", + "@next/swc-linux-x64-gnu": "14.2.4", + "@next/swc-linux-x64-musl": "14.2.4", + "@next/swc-win32-arm64-msvc": "14.2.4", + "@next/swc-win32-ia32-msvc": "14.2.4", + "@next/swc-win32-x64-msvc": "14.2.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", From 00d32d1c84dab67d57354de35cd60920771dba20 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:46:57 +0000 Subject: [PATCH 20/30] deps(example): Bump the dependencies group in /examples/nextjs-14-nextauth-4 with 2 updates (#942) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the dependencies group in /examples/nextjs-14-nextauth-4 with 2 updates: [next](https://github.com/vercel/next.js) and [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next). Updates `next` from 14.2.3 to 14.2.4
Release notes

Sourced from next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Updates `eslint-config-next` from 14.2.3 to 14.2.4
Release notes

Sourced from eslint-config-next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
--- .../nextjs-14-nextauth-4/package-lock.json | 104 +++++++++--------- examples/nextjs-14-nextauth-4/package.json | 4 +- 2 files changed, 54 insertions(+), 54 deletions(-) diff --git a/examples/nextjs-14-nextauth-4/package-lock.json b/examples/nextjs-14-nextauth-4/package-lock.json index 49cb7963a..a78ce781e 100644 --- a/examples/nextjs-14-nextauth-4/package-lock.json +++ b/examples/nextjs-14-nextauth-4/package-lock.json @@ -8,7 +8,7 @@ "version": "0.1.0", "dependencies": { "@arcjet/next": "file:../../arcjet-next", - "next": "^14.2.3", + "next": "^14.2.4", "next-auth": "^4.24.7", "react": "^18", "react-dom": "^18" @@ -19,7 +19,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "postcss": "^8", "tailwindcss": "^3.4.4", "typescript": "^5" @@ -272,23 +272,23 @@ } }, "node_modules/@next/env": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz", - "integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==" + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.4.tgz", + "integrity": "sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==" }, "node_modules/@next/eslint-plugin-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.3.tgz", - "integrity": "sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.4.tgz", + "integrity": "sha512-svSFxW9f3xDaZA3idQmlFw7SusOuWTpDTAeBlO3AEPDltrraV+lqs7mAc6A27YdnpQVVIA3sODqUAAHdWhVWsA==", "dev": true, "dependencies": { "glob": "10.3.10" } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz", - "integrity": "sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.4.tgz", + "integrity": "sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==", "cpu": [ "arm64" ], @@ -301,9 +301,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz", - "integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.4.tgz", + "integrity": "sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==", "cpu": [ "x64" ], @@ -316,9 +316,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz", - "integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.4.tgz", + "integrity": "sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==", "cpu": [ "arm64" ], @@ -331,9 +331,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz", - "integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.4.tgz", + "integrity": "sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==", "cpu": [ "arm64" ], @@ -346,9 +346,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz", - "integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.4.tgz", + "integrity": "sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==", "cpu": [ "x64" ], @@ -361,9 +361,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz", - "integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.4.tgz", + "integrity": "sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==", "cpu": [ "x64" ], @@ -376,9 +376,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz", - "integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.4.tgz", + "integrity": "sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==", "cpu": [ "arm64" ], @@ -391,9 +391,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz", - "integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.4.tgz", + "integrity": "sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==", "cpu": [ "ia32" ], @@ -406,9 +406,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz", - "integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.4.tgz", + "integrity": "sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==", "cpu": [ "x64" ], @@ -1635,12 +1635,12 @@ } }, "node_modules/eslint-config-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.3.tgz", - "integrity": "sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.4.tgz", + "integrity": "sha512-Qr0wMgG9m6m4uYy2jrYJmyuNlYZzPRQq5Kvb9IDlYwn+7yq6W6sfMNFgb+9guM1KYwuIo6TIaiFhZJ6SnQ/Efw==", "dev": true, "dependencies": { - "@next/eslint-plugin-next": "14.2.3", + "@next/eslint-plugin-next": "14.2.4", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0", "eslint-import-resolver-node": "^0.3.6", @@ -3170,11 +3170,11 @@ "dev": true }, "node_modules/next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz", - "integrity": "sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.4.tgz", + "integrity": "sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==", "dependencies": { - "@next/env": "14.2.3", + "@next/env": "14.2.4", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -3189,15 +3189,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.3", - "@next/swc-darwin-x64": "14.2.3", - "@next/swc-linux-arm64-gnu": "14.2.3", - "@next/swc-linux-arm64-musl": "14.2.3", - "@next/swc-linux-x64-gnu": "14.2.3", - "@next/swc-linux-x64-musl": "14.2.3", - "@next/swc-win32-arm64-msvc": "14.2.3", - "@next/swc-win32-ia32-msvc": "14.2.3", - "@next/swc-win32-x64-msvc": "14.2.3" + "@next/swc-darwin-arm64": "14.2.4", + "@next/swc-darwin-x64": "14.2.4", + "@next/swc-linux-arm64-gnu": "14.2.4", + "@next/swc-linux-arm64-musl": "14.2.4", + "@next/swc-linux-x64-gnu": "14.2.4", + "@next/swc-linux-x64-musl": "14.2.4", + "@next/swc-win32-arm64-msvc": "14.2.4", + "@next/swc-win32-ia32-msvc": "14.2.4", + "@next/swc-win32-x64-msvc": "14.2.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", diff --git a/examples/nextjs-14-nextauth-4/package.json b/examples/nextjs-14-nextauth-4/package.json index 9faedb1f7..a4afdf764 100644 --- a/examples/nextjs-14-nextauth-4/package.json +++ b/examples/nextjs-14-nextauth-4/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@arcjet/next": "file:../../arcjet-next", - "next": "^14.2.3", + "next": "^14.2.4", "next-auth": "^4.24.7", "react": "^18", "react-dom": "^18" @@ -20,7 +20,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "postcss": "^8", "tailwindcss": "^3.4.4", "typescript": "^5" From 0cb5ed700dc946a89ba89b71427963a794dee271 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 14:07:13 +0000 Subject: [PATCH 21/30] deps(example): Bump the dependencies group in /examples/nextjs-14-ip-details with 2 updates (#936) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the dependencies group in /examples/nextjs-14-ip-details with 2 updates: [next](https://github.com/vercel/next.js) and [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next). Updates `next` from 14.2.3 to 14.2.4
Release notes

Sourced from next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Updates `eslint-config-next` from 14.2.3 to 14.2.4
Release notes

Sourced from eslint-config-next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
--- .../nextjs-14-ip-details/package-lock.json | 124 +++++++++--------- examples/nextjs-14-ip-details/package.json | 4 +- 2 files changed, 64 insertions(+), 64 deletions(-) diff --git a/examples/nextjs-14-ip-details/package-lock.json b/examples/nextjs-14-ip-details/package-lock.json index 43ba0bd65..f9672b007 100644 --- a/examples/nextjs-14-ip-details/package-lock.json +++ b/examples/nextjs-14-ip-details/package-lock.json @@ -9,7 +9,7 @@ "version": "0.1.0", "dependencies": { "@arcjet/next": "file:../../arcjet-next", - "next": "^14.2.3", + "next": "^14.2.4", "react": "^18", "react-dom": "^18" }, @@ -19,7 +19,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "postcss": "^8", "tailwindcss": "^3.4.4", "typescript": "^5" @@ -273,14 +273,14 @@ } }, "node_modules/@next/env": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz", - "integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==" + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.4.tgz", + "integrity": "sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==" }, "node_modules/@next/eslint-plugin-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.3.tgz", - "integrity": "sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.4.tgz", + "integrity": "sha512-svSFxW9f3xDaZA3idQmlFw7SusOuWTpDTAeBlO3AEPDltrraV+lqs7mAc6A27YdnpQVVIA3sODqUAAHdWhVWsA==", "dev": true, "dependencies": { "glob": "10.3.10" @@ -333,9 +333,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz", - "integrity": "sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.4.tgz", + "integrity": "sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==", "cpu": [ "arm64" ], @@ -348,9 +348,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz", - "integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.4.tgz", + "integrity": "sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==", "cpu": [ "x64" ], @@ -363,9 +363,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz", - "integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.4.tgz", + "integrity": "sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==", "cpu": [ "arm64" ], @@ -378,9 +378,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz", - "integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.4.tgz", + "integrity": "sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==", "cpu": [ "arm64" ], @@ -393,9 +393,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz", - "integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.4.tgz", + "integrity": "sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==", "cpu": [ "x64" ], @@ -408,9 +408,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz", - "integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.4.tgz", + "integrity": "sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==", "cpu": [ "x64" ], @@ -423,9 +423,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz", - "integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.4.tgz", + "integrity": "sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==", "cpu": [ "arm64" ], @@ -438,9 +438,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz", - "integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.4.tgz", + "integrity": "sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==", "cpu": [ "ia32" ], @@ -453,9 +453,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz", - "integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.4.tgz", + "integrity": "sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==", "cpu": [ "x64" ], @@ -1576,12 +1576,12 @@ } }, "node_modules/eslint-config-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.3.tgz", - "integrity": "sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.4.tgz", + "integrity": "sha512-Qr0wMgG9m6m4uYy2jrYJmyuNlYZzPRQq5Kvb9IDlYwn+7yq6W6sfMNFgb+9guM1KYwuIo6TIaiFhZJ6SnQ/Efw==", "dev": true, "dependencies": { - "@next/eslint-plugin-next": "14.2.3", + "@next/eslint-plugin-next": "14.2.4", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0", "eslint-import-resolver-node": "^0.3.6", @@ -2055,9 +2055,9 @@ } }, "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.0.tgz", + "integrity": "sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", @@ -3024,9 +3024,9 @@ } }, "node_modules/minipass": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz", - "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -3073,11 +3073,11 @@ "dev": true }, "node_modules/next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz", - "integrity": "sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.4.tgz", + "integrity": "sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==", "dependencies": { - "@next/env": "14.2.3", + "@next/env": "14.2.4", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -3092,15 +3092,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.3", - "@next/swc-darwin-x64": "14.2.3", - "@next/swc-linux-arm64-gnu": "14.2.3", - "@next/swc-linux-arm64-musl": "14.2.3", - "@next/swc-linux-x64-gnu": "14.2.3", - "@next/swc-linux-x64-musl": "14.2.3", - "@next/swc-win32-arm64-msvc": "14.2.3", - "@next/swc-win32-ia32-msvc": "14.2.3", - "@next/swc-win32-x64-msvc": "14.2.3" + "@next/swc-darwin-arm64": "14.2.4", + "@next/swc-darwin-x64": "14.2.4", + "@next/swc-linux-arm64-gnu": "14.2.4", + "@next/swc-linux-arm64-musl": "14.2.4", + "@next/swc-linux-x64-gnu": "14.2.4", + "@next/swc-linux-x64-musl": "14.2.4", + "@next/swc-win32-arm64-msvc": "14.2.4", + "@next/swc-win32-ia32-msvc": "14.2.4", + "@next/swc-win32-x64-msvc": "14.2.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -3401,16 +3401,16 @@ "dev": true }, "node_modules/path-scurry": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.0.tgz", - "integrity": "sha512-LNHTaVkzaYaLGlO+0u3rQTz7QrHTFOuKyba9JMTQutkmtNew8dw8wOD7mTU/5fCPZzCWpfW0XnQKzY61P0aTaw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" diff --git a/examples/nextjs-14-ip-details/package.json b/examples/nextjs-14-ip-details/package.json index 81247e3fa..ab06f939a 100644 --- a/examples/nextjs-14-ip-details/package.json +++ b/examples/nextjs-14-ip-details/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@arcjet/next": "file:../../arcjet-next", - "next": "^14.2.3", + "next": "^14.2.4", "react": "^18", "react-dom": "^18" }, @@ -20,7 +20,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "postcss": "^8", "tailwindcss": "^3.4.4", "typescript": "^5" From 12c541ccccc33efead5058af00a9d0d74ceacd88 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 14:08:44 +0000 Subject: [PATCH 22/30] deps(example): Bump the dependencies group across 1 directory with 3 updates (#960) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the dependencies group with 3 updates in the /examples/nextjs-14-clerk-rl directory: [@clerk/nextjs](https://github.com/clerk/javascript/tree/HEAD/packages/nextjs), [next](https://github.com/vercel/next.js) and [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next). Updates `@clerk/nextjs` from 5.1.4 to 5.1.5
Release notes

Sourced from @​clerk/nextjs's releases.

@​clerk/nextjs@​5.1.5

Patch Changes

Changelog

Sourced from @​clerk/nextjs's changelog.

5.1.5

Patch Changes

Commits

Updates `next` from 14.2.3 to 14.2.4
Release notes

Sourced from next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Updates `eslint-config-next` from 14.2.3 to 14.2.4
Release notes

Sourced from eslint-config-next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
--- examples/nextjs-14-clerk-rl/package-lock.json | 140 +++++++++--------- examples/nextjs-14-clerk-rl/package.json | 6 +- 2 files changed, 73 insertions(+), 73 deletions(-) diff --git a/examples/nextjs-14-clerk-rl/package-lock.json b/examples/nextjs-14-clerk-rl/package-lock.json index 2ecd6ded2..ead81a365 100644 --- a/examples/nextjs-14-clerk-rl/package-lock.json +++ b/examples/nextjs-14-clerk-rl/package-lock.json @@ -9,8 +9,8 @@ "version": "0.1.0", "dependencies": { "@arcjet/next": "file:../../arcjet-next", - "@clerk/nextjs": "^5.1.4", - "next": "^14.2.2", + "@clerk/nextjs": "^5.1.5", + "next": "^14.2.4", "react": "^18", "react-dom": "^18" }, @@ -20,7 +20,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "postcss": "^8", "tailwindcss": "^3.4.4", "typescript": "^5" @@ -84,11 +84,11 @@ } }, "node_modules/@clerk/backend": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@clerk/backend/-/backend-1.2.2.tgz", - "integrity": "sha512-P007QPL9Ls3bwiBtK3Pat85HcSiL8rhwh/X1wifIEBK6OGF8kez1gOpcvt5/SmoCEecGg8AhH11A2fOIZcwPgA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@clerk/backend/-/backend-1.2.3.tgz", + "integrity": "sha512-tj812eTTn2ewXMgr4jwFjpqoXZRF2LMw9UBT+Nat0lmXw55sDA5ou2McLZ67e62WNZwbrCUa51MGKSBhrWnZcA==", "dependencies": { - "@clerk/shared": "2.2.2", + "@clerk/shared": "2.3.0", "@clerk/types": "4.6.0", "cookie": "0.5.0", "snakecase-keys": "5.4.4", @@ -99,11 +99,11 @@ } }, "node_modules/@clerk/clerk-react": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@clerk/clerk-react/-/clerk-react-5.2.3.tgz", - "integrity": "sha512-1vd6mLHBJwaBx96ne/4HeI3W/ajt22gDrXuugEwVOe2lMauPQBaJq3jDttrNhErcKjMhamIMELeu8hhifpxNgA==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@clerk/clerk-react/-/clerk-react-5.2.4.tgz", + "integrity": "sha512-TaSjf3pdxUKQIDmwi6JkJDVGwHbs7pTeiwEr2/JksMrQnW6zMIutsEhJfW10dY1hOwJeDoSxGCkHw+7Br2rktw==", "dependencies": { - "@clerk/shared": "2.2.2", + "@clerk/shared": "2.3.0", "@clerk/types": "4.6.0", "tslib": "2.4.1" }, @@ -116,13 +116,13 @@ } }, "node_modules/@clerk/nextjs": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@clerk/nextjs/-/nextjs-5.1.4.tgz", - "integrity": "sha512-hi8MGA3nQERinHw9qG95fGzpesuxv11prmKQhxiRMicE+wCB5SoKLtBc2JMXAMNrnZC5rM8V9JV7HDSRFVxTTg==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@clerk/nextjs/-/nextjs-5.1.5.tgz", + "integrity": "sha512-q/4PvWrIt4cO9dwgUyJ/gN/fWbS2GnfKK7j32cn6LBObVqUIiQ+J5Q+lp75q+tzIHyxFJx+MNNTnFif2OrvV6A==", "dependencies": { - "@clerk/backend": "1.2.2", - "@clerk/clerk-react": "5.2.3", - "@clerk/shared": "2.2.2", + "@clerk/backend": "1.2.3", + "@clerk/clerk-react": "5.2.4", + "@clerk/shared": "2.3.0", "@clerk/types": "4.6.0", "crypto-js": "4.2.0", "path-to-regexp": "6.2.2", @@ -138,9 +138,9 @@ } }, "node_modules/@clerk/shared": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@clerk/shared/-/shared-2.2.2.tgz", - "integrity": "sha512-ThbAXiK5drCabR2TtXSQVHXW0fNtO/RPfiQUiSrjHFdbJAiEkTbPwGSLvPaY1svw5hZHFHLCF735szIDvNHe1A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@clerk/shared/-/shared-2.3.0.tgz", + "integrity": "sha512-V/49MoOrALzpu0BbhYDCcKQYIjrHnhRa7QFho9+4wm94oCJgc9j3N5wxndJwj3Ur/fmIyBnjwMzDAT2nZZj47g==", "hasInstallScript": true, "dependencies": { "@clerk/types": "4.6.0", @@ -358,23 +358,23 @@ } }, "node_modules/@next/env": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz", - "integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==" + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.4.tgz", + "integrity": "sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==" }, "node_modules/@next/eslint-plugin-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.3.tgz", - "integrity": "sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.4.tgz", + "integrity": "sha512-svSFxW9f3xDaZA3idQmlFw7SusOuWTpDTAeBlO3AEPDltrraV+lqs7mAc6A27YdnpQVVIA3sODqUAAHdWhVWsA==", "dev": true, "dependencies": { "glob": "10.3.10" } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz", - "integrity": "sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.4.tgz", + "integrity": "sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==", "cpu": [ "arm64" ], @@ -387,9 +387,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz", - "integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.4.tgz", + "integrity": "sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==", "cpu": [ "x64" ], @@ -402,9 +402,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz", - "integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.4.tgz", + "integrity": "sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==", "cpu": [ "arm64" ], @@ -417,9 +417,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz", - "integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.4.tgz", + "integrity": "sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==", "cpu": [ "arm64" ], @@ -432,9 +432,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz", - "integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.4.tgz", + "integrity": "sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==", "cpu": [ "x64" ], @@ -447,9 +447,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz", - "integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.4.tgz", + "integrity": "sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==", "cpu": [ "x64" ], @@ -462,9 +462,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz", - "integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.4.tgz", + "integrity": "sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==", "cpu": [ "arm64" ], @@ -477,9 +477,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz", - "integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.4.tgz", + "integrity": "sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==", "cpu": [ "ia32" ], @@ -492,9 +492,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz", - "integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.4.tgz", + "integrity": "sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==", "cpu": [ "x64" ], @@ -1796,12 +1796,12 @@ } }, "node_modules/eslint-config-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.3.tgz", - "integrity": "sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.4.tgz", + "integrity": "sha512-Qr0wMgG9m6m4uYy2jrYJmyuNlYZzPRQq5Kvb9IDlYwn+7yq6W6sfMNFgb+9guM1KYwuIo6TIaiFhZJ6SnQ/Efw==", "dev": true, "dependencies": { - "@next/eslint-plugin-next": "14.2.3", + "@next/eslint-plugin-next": "14.2.4", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0", "eslint-import-resolver-node": "^0.3.6", @@ -3387,11 +3387,11 @@ "dev": true }, "node_modules/next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz", - "integrity": "sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.4.tgz", + "integrity": "sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==", "dependencies": { - "@next/env": "14.2.3", + "@next/env": "14.2.4", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -3406,15 +3406,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.3", - "@next/swc-darwin-x64": "14.2.3", - "@next/swc-linux-arm64-gnu": "14.2.3", - "@next/swc-linux-arm64-musl": "14.2.3", - "@next/swc-linux-x64-gnu": "14.2.3", - "@next/swc-linux-x64-musl": "14.2.3", - "@next/swc-win32-arm64-msvc": "14.2.3", - "@next/swc-win32-ia32-msvc": "14.2.3", - "@next/swc-win32-x64-msvc": "14.2.3" + "@next/swc-darwin-arm64": "14.2.4", + "@next/swc-darwin-x64": "14.2.4", + "@next/swc-linux-arm64-gnu": "14.2.4", + "@next/swc-linux-arm64-musl": "14.2.4", + "@next/swc-linux-x64-gnu": "14.2.4", + "@next/swc-linux-x64-musl": "14.2.4", + "@next/swc-win32-arm64-msvc": "14.2.4", + "@next/swc-win32-ia32-msvc": "14.2.4", + "@next/swc-win32-x64-msvc": "14.2.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", diff --git a/examples/nextjs-14-clerk-rl/package.json b/examples/nextjs-14-clerk-rl/package.json index 943efc2a2..5bb207fad 100644 --- a/examples/nextjs-14-clerk-rl/package.json +++ b/examples/nextjs-14-clerk-rl/package.json @@ -10,8 +10,8 @@ }, "dependencies": { "@arcjet/next": "file:../../arcjet-next", - "@clerk/nextjs": "^5.1.4", - "next": "^14.2.2", + "@clerk/nextjs": "^5.1.5", + "next": "^14.2.4", "react": "^18", "react-dom": "^18" }, @@ -21,7 +21,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "postcss": "^8", "tailwindcss": "^3.4.4", "typescript": "^5" From 6b6fe281c7b91c533facf86db2363c8c0d72ae21 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 14:11:15 +0000 Subject: [PATCH 23/30] deps(example): Bump the dependencies group in /examples/nextjs-14-app-dir-validate-email with 2 updates (#944) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the dependencies group in /examples/nextjs-14-app-dir-validate-email with 2 updates: [next](https://github.com/vercel/next.js) and [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next). Updates `next` from 14.2.3 to 14.2.4
Release notes

Sourced from next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Updates `eslint-config-next` from 14.2.3 to 14.2.4
Release notes

Sourced from eslint-config-next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
--- .../package-lock.json | 140 +++++++++--------- .../package.json | 4 +- 2 files changed, 73 insertions(+), 71 deletions(-) diff --git a/examples/nextjs-14-app-dir-validate-email/package-lock.json b/examples/nextjs-14-app-dir-validate-email/package-lock.json index 1600e586b..dfcabc473 100644 --- a/examples/nextjs-14-app-dir-validate-email/package-lock.json +++ b/examples/nextjs-14-app-dir-validate-email/package-lock.json @@ -9,7 +9,7 @@ "version": "0.1.0", "dependencies": { "@arcjet/next": "file:../../arcjet-next", - "next": "^14.2.3", + "next": "^14.2.4", "react": "^18", "react-dom": "^18" }, @@ -19,7 +19,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "postcss": "^8", "tailwindcss": "^3.4.4", "typescript": "^5" @@ -27,18 +27,20 @@ }, "../../arcjet-next": { "name": "@arcjet/next", - "version": "1.0.0-alpha.13", + "version": "1.0.0-alpha.14", "license": "Apache-2.0", "dependencies": { - "@arcjet/headers": "1.0.0-alpha.13", - "@arcjet/ip": "1.0.0-alpha.13", + "@arcjet/env": "1.0.0-alpha.14", + "@arcjet/headers": "1.0.0-alpha.14", + "@arcjet/ip": "1.0.0-alpha.14", + "@arcjet/logger": "1.0.0-alpha.14", "@connectrpc/connect-web": "1.4.0", - "arcjet": "1.0.0-alpha.13" + "arcjet": "1.0.0-alpha.14" }, "devDependencies": { - "@arcjet/eslint-config": "1.0.0-alpha.13", - "@arcjet/rollup-config": "1.0.0-alpha.13", - "@arcjet/tsconfig": "1.0.0-alpha.13", + "@arcjet/eslint-config": "1.0.0-alpha.14", + "@arcjet/rollup-config": "1.0.0-alpha.14", + "@arcjet/tsconfig": "1.0.0-alpha.14", "@jest/globals": "29.7.0", "@rollup/wasm-node": "4.18.0", "@types/node": "18.18.0", @@ -271,14 +273,14 @@ } }, "node_modules/@next/env": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz", - "integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==" + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.4.tgz", + "integrity": "sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==" }, "node_modules/@next/eslint-plugin-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.3.tgz", - "integrity": "sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.4.tgz", + "integrity": "sha512-svSFxW9f3xDaZA3idQmlFw7SusOuWTpDTAeBlO3AEPDltrraV+lqs7mAc6A27YdnpQVVIA3sODqUAAHdWhVWsA==", "dev": true, "dependencies": { "glob": "10.3.10" @@ -331,9 +333,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz", - "integrity": "sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.4.tgz", + "integrity": "sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==", "cpu": [ "arm64" ], @@ -346,9 +348,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz", - "integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.4.tgz", + "integrity": "sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==", "cpu": [ "x64" ], @@ -361,9 +363,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz", - "integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.4.tgz", + "integrity": "sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==", "cpu": [ "arm64" ], @@ -376,9 +378,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz", - "integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.4.tgz", + "integrity": "sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==", "cpu": [ "arm64" ], @@ -391,9 +393,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz", - "integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.4.tgz", + "integrity": "sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==", "cpu": [ "x64" ], @@ -406,9 +408,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz", - "integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.4.tgz", + "integrity": "sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==", "cpu": [ "x64" ], @@ -421,9 +423,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz", - "integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.4.tgz", + "integrity": "sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==", "cpu": [ "arm64" ], @@ -436,9 +438,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz", - "integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.4.tgz", + "integrity": "sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==", "cpu": [ "ia32" ], @@ -451,9 +453,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz", - "integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.4.tgz", + "integrity": "sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==", "cpu": [ "x64" ], @@ -1574,12 +1576,12 @@ } }, "node_modules/eslint-config-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.3.tgz", - "integrity": "sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.4.tgz", + "integrity": "sha512-Qr0wMgG9m6m4uYy2jrYJmyuNlYZzPRQq5Kvb9IDlYwn+7yq6W6sfMNFgb+9guM1KYwuIo6TIaiFhZJ6SnQ/Efw==", "dev": true, "dependencies": { - "@next/eslint-plugin-next": "14.2.3", + "@next/eslint-plugin-next": "14.2.4", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0", "eslint-import-resolver-node": "^0.3.6", @@ -2053,9 +2055,9 @@ } }, "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.0.tgz", + "integrity": "sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", @@ -3022,9 +3024,9 @@ } }, "node_modules/minipass": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz", - "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -3071,11 +3073,11 @@ "dev": true }, "node_modules/next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz", - "integrity": "sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.4.tgz", + "integrity": "sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==", "dependencies": { - "@next/env": "14.2.3", + "@next/env": "14.2.4", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -3090,15 +3092,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.3", - "@next/swc-darwin-x64": "14.2.3", - "@next/swc-linux-arm64-gnu": "14.2.3", - "@next/swc-linux-arm64-musl": "14.2.3", - "@next/swc-linux-x64-gnu": "14.2.3", - "@next/swc-linux-x64-musl": "14.2.3", - "@next/swc-win32-arm64-msvc": "14.2.3", - "@next/swc-win32-ia32-msvc": "14.2.3", - "@next/swc-win32-x64-msvc": "14.2.3" + "@next/swc-darwin-arm64": "14.2.4", + "@next/swc-darwin-x64": "14.2.4", + "@next/swc-linux-arm64-gnu": "14.2.4", + "@next/swc-linux-arm64-musl": "14.2.4", + "@next/swc-linux-x64-gnu": "14.2.4", + "@next/swc-linux-x64-musl": "14.2.4", + "@next/swc-win32-arm64-msvc": "14.2.4", + "@next/swc-win32-ia32-msvc": "14.2.4", + "@next/swc-win32-x64-msvc": "14.2.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -3399,16 +3401,16 @@ "dev": true }, "node_modules/path-scurry": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.0.tgz", - "integrity": "sha512-LNHTaVkzaYaLGlO+0u3rQTz7QrHTFOuKyba9JMTQutkmtNew8dw8wOD7mTU/5fCPZzCWpfW0XnQKzY61P0aTaw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" diff --git a/examples/nextjs-14-app-dir-validate-email/package.json b/examples/nextjs-14-app-dir-validate-email/package.json index b488f2ef0..2ef18f2c6 100644 --- a/examples/nextjs-14-app-dir-validate-email/package.json +++ b/examples/nextjs-14-app-dir-validate-email/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@arcjet/next": "file:../../arcjet-next", - "next": "^14.2.3", + "next": "^14.2.4", "react": "^18", "react-dom": "^18" }, @@ -20,7 +20,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "postcss": "^8", "tailwindcss": "^3.4.4", "typescript": "^5" From 05c8aed7a2e56514d672485a5a117137e6026815 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 14:11:50 +0000 Subject: [PATCH 24/30] deps(example): Bump braces from 3.0.2 to 3.0.3 in /examples/nextjs-14-app-dir-validate-email (#961) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [//]: # (dependabot-start) ⚠️ **Dependabot is rebasing this PR** ⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=braces&package-manager=npm_and_yarn&previous-version=3.0.2&new-version=3.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/arcjet/arcjet-js/network/alerts).
--- .../package-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/examples/nextjs-14-app-dir-validate-email/package-lock.json b/examples/nextjs-14-app-dir-validate-email/package-lock.json index dfcabc473..20be63826 100644 --- a/examples/nextjs-14-app-dir-validate-email/package-lock.json +++ b/examples/nextjs-14-app-dir-validate-email/package-lock.json @@ -1018,12 +1018,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -1998,9 +1998,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" From 9af5c166620b969e759bf01503321c74063fed44 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 14:40:28 +0000 Subject: [PATCH 25/30] deps(example): Bump braces from 3.0.2 to 3.0.3 in /examples/nextjs-14-authjs-5 (#959) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=braces&package-manager=npm_and_yarn&previous-version=3.0.2&new-version=3.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/arcjet/arcjet-js/network/alerts).
--- examples/nextjs-14-authjs-5/package-lock.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/nextjs-14-authjs-5/package-lock.json b/examples/nextjs-14-authjs-5/package-lock.json index d900b53f2..1b7aa7266 100644 --- a/examples/nextjs-14-authjs-5/package-lock.json +++ b/examples/nextjs-14-authjs-5/package-lock.json @@ -14,7 +14,7 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", "lucide-react": "^0.394.0", - "next": "latest", + "next": "*", "next-auth": "beta", "react": "^18.3.1", "react-dom": "^18.3.1", @@ -1229,11 +1229,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -1512,9 +1512,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, From 8e84ab616adf62975ebf3d565cb44345dff5773d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 14:41:05 +0000 Subject: [PATCH 26/30] deps(example): Bump the dependencies group across 1 directory with 3 updates (#943) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the dependencies group with 3 updates in the /examples/nextjs-14-react-hook-form directory: [@arcjet/next](https://github.com/arcjet/arcjet-js/tree/HEAD/arcjet-next), [next](https://github.com/vercel/next.js) and [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next). Updates `@arcjet/next` from 1.0.0-alpha.13 to 1.0.0-alpha.14
Release notes

Sourced from @​arcjet/next's releases.

v1.0.0-alpha.14

1.0.0-alpha.14 (2024-06-10)

⚠ BREAKING CHANGES

  • Move all environment lookup into separate package (#897)
  • ip: Allow platform to be specified when looking up IP (#896)
  • Add fallback IP in each adapter (#895)
  • analyze: Leverage conditional exports to load Wasm appropriately (#887)
  • logger: Align logger with Pino API (#858)
  • Create runtime package and remove from SDK (#871)
  • decorate: Use console to log instead of Arcjet logger (#865)
  • logger: Replace nodejs util import with our sprintf library (#857)
  • Allow ArcjetContext extension via new argument to core protect() (#841)
  • Separate @arcjet/headers package from core (#824)
  • ip: Rework priority of IP detection (#799)

🚀 New Features

  • Add fallback IP in each adapter (#895) (0f23cff), closes #51 #885
  • Allow ArcjetContext extension via new argument to core protect() (#841) (96bbe94)
  • Create runtime package and remove from SDK (#871) (4e9e216)
  • Create sprintf package to replace util.format (#856) (160a16e)
  • ip: Allow platform to be specified when looking up IP (#896) (c9f54bb)
  • logger: Align logger with Pino API (#858) (1806b94), closes #822 #855
  • Move all environment lookup into separate package (#897) (a5bb8ca)
  • Separate @arcjet/headers package from core (#824) (c8364f4)

🪲 Bug Fixes

  • analyze: Disable cache during base64 decode (#838) (72fb961)
  • ip: Rework priority of IP detection (#799) (1df6291)

📦 Dependencies

  • Bump @​bufbuild/protobuf from 1.9.0 to 1.10.0 (#847) (de8266f)
  • Bump @​rollup/plugin-replace from 5.0.5 to 5.0.7 (#920) (176170b)
  • Bump @​typescript-eslint/eslint-plugin from 7.12.0 to 7.13.0 (#918) (bbd72a5)
  • Bump @​typescript-eslint/eslint-plugin from 7.9.0 to 7.12.0 (#862) (51330b7)
  • Bump @​typescript-eslint/parser from 7.12.0 to 7.13.0 (#917) (cfe0c14)
  • Bump @​typescript-eslint/parser from 7.9.0 to 7.12.0 (#861) (eaf8c26)
  • Bump eslint-config-turbo from 1.13.3 to 2.0.3 (#893) (97525af)
  • dev: Bump @​rollup/wasm-node from 4.17.2 to 4.18.0 (#803) (e6321af)
  • dev: Bump bun-types from 1.1.8 to 1.1.12 (#853) (a42fbd3)
  • example: Bump @​types/bun from 1.1.2 to 1.1.3 in /examples/bun-hono-rl in the dependencies group (#804) (ecada7f)
  • example: Bump @​types/bun from 1.1.2 to 1.1.3 in /examples/bun-rl in the dependencies group (#800) (de15757)
  • example: Bump ai from 3.1.30 to 3.1.31 in /examples/nextjs-14-openai in the dependencies group (#915) (84510a8)

... (truncated)

Changelog

Sourced from @​arcjet/next's changelog.

1.0.0-alpha.14 (2024-06-10)

⚠ BREAKING CHANGES

  • Move all environment lookup into separate package (#897)
  • ip: Allow platform to be specified when looking up IP (#896)
  • Add fallback IP in each adapter (#895)
  • Create runtime package and remove from SDK (#871)
  • Allow ArcjetContext extension via new argument to core protect() (#841)
  • Separate @arcjet/headers package from core (#824)

🚀 New Features

  • Add fallback IP in each adapter (#895) (0f23cff), closes #51 #885
  • Allow ArcjetContext extension via new argument to core protect() (#841) (96bbe94)
  • Create runtime package and remove from SDK (#871) (4e9e216)
  • ip: Allow platform to be specified when looking up IP (#896) (c9f54bb)
  • Move all environment lookup into separate package (#897) (a5bb8ca)
  • Separate @arcjet/headers package from core (#824) (c8364f4)

📦 Dependencies

  • dev: Bump @​rollup/wasm-node from 4.17.2 to 4.18.0 (#803) (e6321af)

📝 Documentation

  • Add quick start links & update Bun example (#870) (ee3079f)
  • Remove wording that implies is Shield is added by default (#796) (a85d18c)

🧹 Miscellaneous Chores

  • docs: Add live example app to READMEs (#823) (8b1c811)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @​arcjet/env bumped from 1.0.0-alpha.13 to 1.0.0-alpha.14
      • @​arcjet/headers bumped from 1.0.0-alpha.13 to 1.0.0-alpha.14
      • @​arcjet/ip bumped from 1.0.0-alpha.13 to 1.0.0-alpha.14
      • @​arcjet/logger bumped from 1.0.0-alpha.13 to 1.0.0-alpha.14
      • arcjet bumped from 1.0.0-alpha.13 to 1.0.0-alpha.14
    • devDependencies
      • @​arcjet/eslint-config bumped from 1.0.0-alpha.13 to 1.0.0-alpha.14
      • @​arcjet/rollup-config bumped from 1.0.0-alpha.13 to 1.0.0-alpha.14

... (truncated)

Commits

Updates `next` from 14.2.3 to 14.2.4
Release notes

Sourced from next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Updates `eslint-config-next` from 14.2.3 to 14.2.4
Release notes

Sourced from eslint-config-next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
--- .../package-lock.json | 210 +++++++++++------- .../nextjs-14-react-hook-form/package.json | 4 +- 2 files changed, 127 insertions(+), 87 deletions(-) diff --git a/examples/nextjs-14-react-hook-form/package-lock.json b/examples/nextjs-14-react-hook-form/package-lock.json index 31ebe5b92..8d26372bf 100644 --- a/examples/nextjs-14-react-hook-form/package-lock.json +++ b/examples/nextjs-14-react-hook-form/package-lock.json @@ -15,7 +15,7 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", "lucide-react": "0.394.0", - "next": "^14.2.3", + "next": "^14.2.4", "next-themes": "^0.3.0", "react": "^18", "react-dom": "^18", @@ -31,7 +31,7 @@ "@typescript-eslint/parser": "^7.13.0", "autoprefixer": "^10.4.14", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "eslint-config-prettier": "^9.1.0", "eslint-plugin-react": "^7.34.2", "eslint-plugin-tailwindcss": "^3.17.3", @@ -61,48 +61,70 @@ } }, "node_modules/@arcjet/analyze": { - "version": "1.0.0-alpha.13", - "resolved": "https://registry.npmjs.org/@arcjet/analyze/-/analyze-1.0.0-alpha.13.tgz", - "integrity": "sha512-k1YhBlJfib8rvU5iQhvNqQgkf7Ty7HqMVt8SwpYhXWG5ziBYs8WdOuTZvZp04ZhY7iPx3PVZOloeZY6/Yx/kpQ==", + "version": "1.0.0-alpha.14", + "resolved": "https://registry.npmjs.org/@arcjet/analyze/-/analyze-1.0.0-alpha.14.tgz", + "integrity": "sha512-F8ANTxrfmfCglAL9bN54bJVOf0mMYqBfoIT3uz7ocSuf6d1nVXAj4qPMajVInams8ngnulSCNv/xe83kdsBAuQ==", "dependencies": { - "@arcjet/logger": "1.0.0-alpha.13" + "@arcjet/protocol": "1.0.0-alpha.14" }, "engines": { "node": ">=18" } }, "node_modules/@arcjet/duration": { - "version": "1.0.0-alpha.13", - "resolved": "https://registry.npmjs.org/@arcjet/duration/-/duration-1.0.0-alpha.13.tgz", - "integrity": "sha512-347HXBupvpwYvSyBZ5B9MMuRw1Ch59MpXbvMrefNSpqYIwy+ETvOQaK2fh9KoVmLVR9AKj+dGH7Miw02Tu3f0Q==", + "version": "1.0.0-alpha.14", + "resolved": "https://registry.npmjs.org/@arcjet/duration/-/duration-1.0.0-alpha.14.tgz", + "integrity": "sha512-OIUv1s7+Z9Yn94v/fmypvXseSHZm8xRqbPMDUZHZeKXbE13euH78hfqe34Zz8w7kv+/If/XnO0kUUNQPo+NKlQ==", + "engines": { + "node": ">=18" + } + }, + "node_modules/@arcjet/env": { + "version": "1.0.0-alpha.14", + "resolved": "https://registry.npmjs.org/@arcjet/env/-/env-1.0.0-alpha.14.tgz", + "integrity": "sha512-Y12FjoU2iee6wtv/KPL4vS9PItKpCjVbvR5IrU7GhmCgF52+GR2oFFqxJhhPaoRNhJViWOGly+rZxikc5N7Jrw==", + "engines": { + "node": ">=18" + } + }, + "node_modules/@arcjet/headers": { + "version": "1.0.0-alpha.14", + "resolved": "https://registry.npmjs.org/@arcjet/headers/-/headers-1.0.0-alpha.14.tgz", + "integrity": "sha512-xNVk7lQp1vW9QsL9evEreLS3grs6J0k5YmnFlOOj4H7mmlcKeIdceS7F1l23hfy2+dPzdC6Cew1gzAcQFKYu0A==", "engines": { "node": ">=18" } }, "node_modules/@arcjet/ip": { - "version": "1.0.0-alpha.13", - "resolved": "https://registry.npmjs.org/@arcjet/ip/-/ip-1.0.0-alpha.13.tgz", - "integrity": "sha512-h+ZANLBCpwcQ/ugcxu6cOtgZBRu0rtILWcB1VnRzOPO4eGU61Km2cGVwHccmmi0O+foyt4q6TF5/KNNeQqBebQ==", + "version": "1.0.0-alpha.14", + "resolved": "https://registry.npmjs.org/@arcjet/ip/-/ip-1.0.0-alpha.14.tgz", + "integrity": "sha512-vK0CjfHeu+OYqGRRhCnR4Sy+A8YWYHrIEmALs7XWZmaOmsBFr1ETmPhwfJ0ib9reIBE45N499lVjlczXDHJxfw==", "engines": { "node": ">=18" } }, "node_modules/@arcjet/logger": { - "version": "1.0.0-alpha.13", - "resolved": "https://registry.npmjs.org/@arcjet/logger/-/logger-1.0.0-alpha.13.tgz", - "integrity": "sha512-QyRcbdbQ4DUAvUFhpq/juRqKJZR3u52ptnr9Rmn8R0L5CLpfua3zCHHF6HiB8Pq3Pe/V+WjFwtu44nUXSv+Yeg==", + "version": "1.0.0-alpha.14", + "resolved": "https://registry.npmjs.org/@arcjet/logger/-/logger-1.0.0-alpha.14.tgz", + "integrity": "sha512-z3vNfhzkOVoCZq+t6nQ0YipB5AFqfS9pdMzDiW43pduBHIQv8DDJBNpAo1gq5rU0FvPyQujA2+lMM0M+PfZyoQ==", + "dependencies": { + "@arcjet/sprintf": "1.0.0-alpha.14" + }, "engines": { "node": ">=18" } }, "node_modules/@arcjet/next": { - "version": "1.0.0-alpha.13", - "resolved": "https://registry.npmjs.org/@arcjet/next/-/next-1.0.0-alpha.13.tgz", - "integrity": "sha512-94yVhsF0rfaWa4OM6wcJxdXucGxCOpjlxTuXFYhGjjtUfDoI2O+aeVEmqyZC8fMh6TbR7NqVHPSY1NYmAs8gZw==", - "dependencies": { - "@arcjet/ip": "1.0.0-alpha.13", + "version": "1.0.0-alpha.14", + "resolved": "https://registry.npmjs.org/@arcjet/next/-/next-1.0.0-alpha.14.tgz", + "integrity": "sha512-0/f3mADcH6A06kY1NJqRNEPjGzxZw/0DRyJsXrzRsGSLen8+ArywaQwTUoGvwGRxsXaZkFBDEkh72+UcH4OR6w==", + "dependencies": { + "@arcjet/env": "1.0.0-alpha.14", + "@arcjet/headers": "1.0.0-alpha.14", + "@arcjet/ip": "1.0.0-alpha.14", + "@arcjet/logger": "1.0.0-alpha.14", "@connectrpc/connect-web": "1.4.0", - "arcjet": "1.0.0-alpha.13" + "arcjet": "1.0.0-alpha.14" }, "engines": { "node": ">=18" @@ -112,11 +134,11 @@ } }, "node_modules/@arcjet/protocol": { - "version": "1.0.0-alpha.13", - "resolved": "https://registry.npmjs.org/@arcjet/protocol/-/protocol-1.0.0-alpha.13.tgz", - "integrity": "sha512-nAb+xrgZDHbyS0Pl1j6UtAlV1Pi1eZ1sR1JDOYWR98Oshx+Iyn0I9Er7Co2hMdBigUjf4NZ5Id90LfVD0brW6Q==", + "version": "1.0.0-alpha.14", + "resolved": "https://registry.npmjs.org/@arcjet/protocol/-/protocol-1.0.0-alpha.14.tgz", + "integrity": "sha512-YKZOquJ5W+chro3ps/eBx9oFkr/ocdtk+PWRYUIYfEI+IYlqsr7EVQaWr9it8WPslp+S9boWevJh7uo3YiqJTQ==", "dependencies": { - "@bufbuild/protobuf": "1.9.0", + "@bufbuild/protobuf": "1.10.0", "@connectrpc/connect": "1.4.0", "typeid-js": "0.7.0" }, @@ -124,6 +146,22 @@ "node": ">=18" } }, + "node_modules/@arcjet/runtime": { + "version": "1.0.0-alpha.14", + "resolved": "https://registry.npmjs.org/@arcjet/runtime/-/runtime-1.0.0-alpha.14.tgz", + "integrity": "sha512-4azbCH0HJP4cu/Es762J2pywQcTnXfJ9RLjKEACR4WaEQMeYvsGkU+C7N1CfafPXIcATb+mPcypU6vqoxhooTA==", + "engines": { + "node": ">=18" + } + }, + "node_modules/@arcjet/sprintf": { + "version": "1.0.0-alpha.14", + "resolved": "https://registry.npmjs.org/@arcjet/sprintf/-/sprintf-1.0.0-alpha.14.tgz", + "integrity": "sha512-jFa1ycu53ZXu+tsNLmkPO1w7nwPvGdR3HFD8pscaujbNet94jQhgeZJI4jlBl82/foDd4vhCKByhKes9WK8BlQ==", + "engines": { + "node": ">=18" + } + }, "node_modules/@babel/runtime": { "version": "7.24.4", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", @@ -136,9 +174,9 @@ } }, "node_modules/@bufbuild/protobuf": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-1.9.0.tgz", - "integrity": "sha512-W7gp8Q/v1NlCZLsv8pQ3Y0uCu/SHgXOVFK+eUluUKWXmsb6VHkpNx0apdOWWcDbB9sJoKeP8uPrjmehJz6xETQ==" + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-1.10.0.tgz", + "integrity": "sha512-QDdVFLoN93Zjg36NoQPZfsVH9tZew7wKDKyV5qRdj8ntT4wQCOradQjRaTdwMhWUYsgKsvCINKKm87FdEk96Ag==" }, "node_modules/@connectrpc/connect": { "version": "1.4.0", @@ -339,23 +377,23 @@ } }, "node_modules/@next/env": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz", - "integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==" + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.4.tgz", + "integrity": "sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==" }, "node_modules/@next/eslint-plugin-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.3.tgz", - "integrity": "sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.4.tgz", + "integrity": "sha512-svSFxW9f3xDaZA3idQmlFw7SusOuWTpDTAeBlO3AEPDltrraV+lqs7mAc6A27YdnpQVVIA3sODqUAAHdWhVWsA==", "dev": true, "dependencies": { "glob": "10.3.10" } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz", - "integrity": "sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.4.tgz", + "integrity": "sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==", "cpu": [ "arm64" ], @@ -368,9 +406,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz", - "integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.4.tgz", + "integrity": "sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==", "cpu": [ "x64" ], @@ -383,9 +421,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz", - "integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.4.tgz", + "integrity": "sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==", "cpu": [ "arm64" ], @@ -398,9 +436,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz", - "integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.4.tgz", + "integrity": "sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==", "cpu": [ "arm64" ], @@ -413,9 +451,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz", - "integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.4.tgz", + "integrity": "sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==", "cpu": [ "x64" ], @@ -428,9 +466,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz", - "integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.4.tgz", + "integrity": "sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==", "cpu": [ "x64" ], @@ -443,9 +481,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz", - "integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.4.tgz", + "integrity": "sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==", "cpu": [ "arm64" ], @@ -458,9 +496,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz", - "integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.4.tgz", + "integrity": "sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==", "cpu": [ "ia32" ], @@ -473,9 +511,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz", - "integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.4.tgz", + "integrity": "sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==", "cpu": [ "x64" ], @@ -879,14 +917,16 @@ } }, "node_modules/arcjet": { - "version": "1.0.0-alpha.13", - "resolved": "https://registry.npmjs.org/arcjet/-/arcjet-1.0.0-alpha.13.tgz", - "integrity": "sha512-GRsUziHAs7YrrmPUCOYB5EY9ZDRMLH81bDC/zQX3canIlfRs069E8PmQa39hVIbrHEMck6jhXWdzqTp561ppDw==", + "version": "1.0.0-alpha.14", + "resolved": "https://registry.npmjs.org/arcjet/-/arcjet-1.0.0-alpha.14.tgz", + "integrity": "sha512-/fmhP0TiqMXnZmnRFDXm8DyiBVr120ekFmr/m87jAgFwHRs+d7jNyuLsI2HEJ+F086OPZ8y2c9BoAyRJ0ktZLw==", "dependencies": { - "@arcjet/analyze": "1.0.0-alpha.13", - "@arcjet/duration": "1.0.0-alpha.13", - "@arcjet/logger": "1.0.0-alpha.13", - "@arcjet/protocol": "1.0.0-alpha.13" + "@arcjet/analyze": "1.0.0-alpha.14", + "@arcjet/duration": "1.0.0-alpha.14", + "@arcjet/headers": "1.0.0-alpha.14", + "@arcjet/logger": "1.0.0-alpha.14", + "@arcjet/protocol": "1.0.0-alpha.14", + "@arcjet/runtime": "1.0.0-alpha.14" }, "engines": { "node": ">=18" @@ -1854,12 +1894,12 @@ } }, "node_modules/eslint-config-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.3.tgz", - "integrity": "sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.4.tgz", + "integrity": "sha512-Qr0wMgG9m6m4uYy2jrYJmyuNlYZzPRQq5Kvb9IDlYwn+7yq6W6sfMNFgb+9guM1KYwuIo6TIaiFhZJ6SnQ/Efw==", "dev": true, "dependencies": { - "@next/eslint-plugin-next": "14.2.3", + "@next/eslint-plugin-next": "14.2.4", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0", "eslint-import-resolver-node": "^0.3.6", @@ -3548,11 +3588,11 @@ "dev": true }, "node_modules/next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz", - "integrity": "sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.4.tgz", + "integrity": "sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==", "dependencies": { - "@next/env": "14.2.3", + "@next/env": "14.2.4", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -3567,15 +3607,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.3", - "@next/swc-darwin-x64": "14.2.3", - "@next/swc-linux-arm64-gnu": "14.2.3", - "@next/swc-linux-arm64-musl": "14.2.3", - "@next/swc-linux-x64-gnu": "14.2.3", - "@next/swc-linux-x64-musl": "14.2.3", - "@next/swc-win32-arm64-msvc": "14.2.3", - "@next/swc-win32-ia32-msvc": "14.2.3", - "@next/swc-win32-x64-msvc": "14.2.3" + "@next/swc-darwin-arm64": "14.2.4", + "@next/swc-darwin-x64": "14.2.4", + "@next/swc-linux-arm64-gnu": "14.2.4", + "@next/swc-linux-arm64-musl": "14.2.4", + "@next/swc-linux-x64-gnu": "14.2.4", + "@next/swc-linux-x64-musl": "14.2.4", + "@next/swc-win32-arm64-msvc": "14.2.4", + "@next/swc-win32-ia32-msvc": "14.2.4", + "@next/swc-win32-x64-msvc": "14.2.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", diff --git a/examples/nextjs-14-react-hook-form/package.json b/examples/nextjs-14-react-hook-form/package.json index 712f6793b..210cbbc20 100644 --- a/examples/nextjs-14-react-hook-form/package.json +++ b/examples/nextjs-14-react-hook-form/package.json @@ -16,7 +16,7 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", "lucide-react": "0.394.0", - "next": "^14.2.3", + "next": "^14.2.4", "next-themes": "^0.3.0", "react": "^18", "react-dom": "^18", @@ -32,7 +32,7 @@ "@typescript-eslint/parser": "^7.13.0", "autoprefixer": "^10.4.14", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "eslint-config-prettier": "^9.1.0", "eslint-plugin-react": "^7.34.2", "eslint-plugin-tailwindcss": "^3.17.3", From bbf996d6d2134fecee25eb218e9534b0550691fd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 14:41:26 +0000 Subject: [PATCH 27/30] deps(dev): Bump bun-types from 1.1.12 to 1.1.13 (#947) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [bun-types](https://github.com/oven-sh/bun/tree/HEAD/packages/bun-types) from 1.1.12 to 1.1.13.
Release notes

Sourced from bun-types's releases.

Bun v1.1.13

To install Bun v1.1.13:

curl -fsSL https://bun.sh/install | bash
# or you can use npm
# npm install -g bun

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

To upgrade to Bun v1.1.13:

bun upgrade

Read Bun v1.1.13's release notes on Bun's blog

Thanks to 11 contributors!

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bun-types&package-manager=npm_and_yarn&previous-version=1.1.12&new-version=1.1.13)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
--- arcjet-bun/package.json | 2 +- package-lock.json | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/arcjet-bun/package.json b/arcjet-bun/package.json index 2364cb09d..3c993ae15 100644 --- a/arcjet-bun/package.json +++ b/arcjet-bun/package.json @@ -52,7 +52,7 @@ "@jest/globals": "29.7.0", "@types/node": "20.12.12", "@rollup/wasm-node": "4.18.0", - "bun-types": "1.1.12", + "bun-types": "1.1.13", "jest": "29.7.0", "typescript": "5.4.5" }, diff --git a/package-lock.json b/package-lock.json index d9aba786b..479cc0b0b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -81,7 +81,7 @@ "@jest/globals": "29.7.0", "@rollup/wasm-node": "4.18.0", "@types/node": "20.12.12", - "bun-types": "1.1.12", + "bun-types": "1.1.13", "jest": "29.7.0", "typescript": "5.4.5" } @@ -2750,9 +2750,9 @@ "dev": true }, "node_modules/bun-types": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.1.12.tgz", - "integrity": "sha512-DIM2C9qCECwhck9nLsCDeTv943VmGMCkwX3KljjprSRDXaK2CSiUDVGbUit80Er38ukgxuESJgYPAys4FsNCdg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.1.13.tgz", + "integrity": "sha512-G/TqF0SsMQGLr4g7K3B2BK8BrPEA1EqCNwxZbyRdj5M4t54zvwyaqvRJOW34kuPqc2IvNNalRU3swc8B4oc4FA==", "dev": true, "dependencies": { "@types/node": "~20.12.8", From 71fcc860431d80f85b856f7b397c5c429e5a49b9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 14:43:47 +0000 Subject: [PATCH 28/30] deps(example): Bump the dependencies group across 1 directory with 4 updates (#946) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the dependencies group with 4 updates in the /examples/nextjs-14-openai directory: [ai](https://github.com/vercel/ai), [next](https://github.com/vercel/next.js), [openai](https://github.com/openai/openai-node) and [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next). Updates `ai` from 3.1.31 to 3.1.32
Release notes

Sourced from ai's releases.

ai@3.1.32

Patch Changes

  • 3cabf078: fix(ai/rsc): Refactor streamable UI internal implementation
Commits

Updates `next` from 14.2.3 to 14.2.4
Release notes

Sourced from next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Updates `openai` from 4.49.1 to 4.50.0
Release notes

Sourced from openai's releases.

v4.50.0

4.50.0 (2024-06-10)

Full Changelog: v4.49.1...v4.50.0

Features

  • support application/octet-stream request bodies (#892) (51661c8)
Changelog

Sourced from openai's changelog.

4.50.0 (2024-06-10)

Full Changelog: v4.49.1...v4.50.0

Features

  • support application/octet-stream request bodies (#892) (51661c8)
Commits

Updates `eslint-config-next` from 14.2.3 to 14.2.4
Release notes

Sourced from eslint-config-next's releases.

v14.2.4

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • fix: ensure route handlers properly track dynamic access (#66446)
  • fix NextRequest proxy in edge runtime (#66551)
  • Fix next/dynamic with babel and src dir (#65177)
  • Use vercel deployment url for metadataBase fallbacks (#65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#65235)
  • Fix loading navigation with metadata and prefetch (#66447)
  • prevent duplicate RSC fetch when action redirects (#66620)
  • ensure router cache updates reference the latest cache values (#66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#66674)
  • Use addDependency to track metadata route file changes (#66714)
  • Add timeout/retry handling for fetch cache (#66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)

Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
--- examples/nextjs-14-openai/package-lock.json | 120 ++++++++++---------- examples/nextjs-14-openai/package.json | 8 +- 2 files changed, 64 insertions(+), 64 deletions(-) diff --git a/examples/nextjs-14-openai/package-lock.json b/examples/nextjs-14-openai/package-lock.json index 800e008f7..cc971f9ea 100644 --- a/examples/nextjs-14-openai/package-lock.json +++ b/examples/nextjs-14-openai/package-lock.json @@ -9,9 +9,9 @@ "version": "0.1.0", "dependencies": { "@arcjet/next": "file:../../arcjet-next", - "ai": "^3.1.31", - "next": "^14.2.3", - "openai": "^4.49.1", + "ai": "^3.1.32", + "next": "^14.2.4", + "openai": "^4.50.0", "openai-chat-tokens": "^0.2.8", "react": "^18", "react-dom": "^18" @@ -22,7 +22,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "postcss": "^8", "tailwindcss": "^3.4.4", "typescript": "^5" @@ -423,14 +423,14 @@ } }, "node_modules/@next/env": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz", - "integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==" + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.4.tgz", + "integrity": "sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==" }, "node_modules/@next/eslint-plugin-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.3.tgz", - "integrity": "sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.4.tgz", + "integrity": "sha512-svSFxW9f3xDaZA3idQmlFw7SusOuWTpDTAeBlO3AEPDltrraV+lqs7mAc6A27YdnpQVVIA3sODqUAAHdWhVWsA==", "dev": true, "dependencies": { "glob": "10.3.10" @@ -483,9 +483,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz", - "integrity": "sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.4.tgz", + "integrity": "sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==", "cpu": [ "arm64" ], @@ -498,9 +498,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz", - "integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.4.tgz", + "integrity": "sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==", "cpu": [ "x64" ], @@ -513,9 +513,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz", - "integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.4.tgz", + "integrity": "sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==", "cpu": [ "arm64" ], @@ -528,9 +528,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz", - "integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.4.tgz", + "integrity": "sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==", "cpu": [ "arm64" ], @@ -543,9 +543,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz", - "integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.4.tgz", + "integrity": "sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==", "cpu": [ "x64" ], @@ -558,9 +558,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz", - "integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.4.tgz", + "integrity": "sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==", "cpu": [ "x64" ], @@ -573,9 +573,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz", - "integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.4.tgz", + "integrity": "sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==", "cpu": [ "arm64" ], @@ -588,9 +588,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz", - "integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.4.tgz", + "integrity": "sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==", "cpu": [ "ia32" ], @@ -603,9 +603,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz", - "integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.4.tgz", + "integrity": "sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==", "cpu": [ "x64" ], @@ -1003,9 +1003,9 @@ } }, "node_modules/ai": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/ai/-/ai-3.1.31.tgz", - "integrity": "sha512-fnQz8qlBuJuImUZCydbn0bTFCZFRwHeVQI+wBbBkR5S/FrF09snt0YrgiWzDc0il4u1rerzVPEUiasOdoGaoWA==", + "version": "3.1.32", + "resolved": "https://registry.npmjs.org/ai/-/ai-3.1.32.tgz", + "integrity": "sha512-+2dycoLQE3xN2BnfpWwTQYjMiwB3y1M9yLZxoODhzGCT/R/0JJjOFvqUHOvpx1K6hkWgIlHWTFfsK2VK/fRG7A==", "dependencies": { "@ai-sdk/provider": "0.0.10", "@ai-sdk/provider-utils": "0.0.13", @@ -2005,12 +2005,12 @@ } }, "node_modules/eslint-config-next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.3.tgz", - "integrity": "sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.4.tgz", + "integrity": "sha512-Qr0wMgG9m6m4uYy2jrYJmyuNlYZzPRQq5Kvb9IDlYwn+7yq6W6sfMNFgb+9guM1KYwuIo6TIaiFhZJ6SnQ/Efw==", "dev": true, "dependencies": { - "@next/eslint-plugin-next": "14.2.3", + "@next/eslint-plugin-next": "14.2.4", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0", "eslint-import-resolver-node": "^0.3.6", @@ -3661,11 +3661,11 @@ "dev": true }, "node_modules/next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz", - "integrity": "sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.4.tgz", + "integrity": "sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==", "dependencies": { - "@next/env": "14.2.3", + "@next/env": "14.2.4", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -3680,15 +3680,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.3", - "@next/swc-darwin-x64": "14.2.3", - "@next/swc-linux-arm64-gnu": "14.2.3", - "@next/swc-linux-arm64-musl": "14.2.3", - "@next/swc-linux-x64-gnu": "14.2.3", - "@next/swc-linux-x64-musl": "14.2.3", - "@next/swc-win32-arm64-msvc": "14.2.3", - "@next/swc-win32-ia32-msvc": "14.2.3", - "@next/swc-win32-x64-msvc": "14.2.3" + "@next/swc-darwin-arm64": "14.2.4", + "@next/swc-darwin-x64": "14.2.4", + "@next/swc-linux-arm64-gnu": "14.2.4", + "@next/swc-linux-arm64-musl": "14.2.4", + "@next/swc-linux-x64-gnu": "14.2.4", + "@next/swc-linux-x64-musl": "14.2.4", + "@next/swc-win32-arm64-msvc": "14.2.4", + "@next/swc-win32-ia32-msvc": "14.2.4", + "@next/swc-win32-x64-msvc": "14.2.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -3934,9 +3934,9 @@ } }, "node_modules/openai": { - "version": "4.49.1", - "resolved": "https://registry.npmjs.org/openai/-/openai-4.49.1.tgz", - "integrity": "sha512-bsFSNhhTNon+g6r4UYPKGLi+PlfP1G9TJGSkZS5nZx+PTwW2YUTlfxXxpOKrPab5auIXJdlYpC/g/wkHGR1xug==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/openai/-/openai-4.50.0.tgz", + "integrity": "sha512-2ADkNIU6Q589oYHr5pn9k7SbUcrBTK9X0rIXrYqwMVSoqOj1yK9/1OO0ExaWsqOOpD7o58UmRjeKlx9gKAcuKQ==", "dependencies": { "@types/node": "^18.11.18", "@types/node-fetch": "^2.6.4", diff --git a/examples/nextjs-14-openai/package.json b/examples/nextjs-14-openai/package.json index 67915e6e2..ea6329cc2 100644 --- a/examples/nextjs-14-openai/package.json +++ b/examples/nextjs-14-openai/package.json @@ -10,9 +10,9 @@ }, "dependencies": { "@arcjet/next": "file:../../arcjet-next", - "ai": "^3.1.31", - "next": "^14.2.3", - "openai": "^4.49.1", + "ai": "^3.1.32", + "next": "^14.2.4", + "openai": "^4.50.0", "openai-chat-tokens": "^0.2.8", "react": "^18", "react-dom": "^18" @@ -23,7 +23,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "eslint": "^8", - "eslint-config-next": "14.2.3", + "eslint-config-next": "14.2.4", "postcss": "^8", "tailwindcss": "^3.4.4", "typescript": "^5" From 672050415e4c73027be44238abbd9c7312519978 Mon Sep 17 00:00:00 2001 From: blaine-arcjet <146491715+blaine-arcjet@users.noreply.github.com> Date: Wed, 12 Jun 2024 07:45:47 -0700 Subject: [PATCH 29/30] chore!: Freeze the ArcjetContext before using it (#934) Closes #930 This freezes the context once it is fully constructed but before it is used. --- arcjet/index.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arcjet/index.ts b/arcjet/index.ts index ba2451599..2b5bca2f6 100644 --- a/arcjet/index.ts +++ b/arcjet/index.ts @@ -1077,7 +1077,11 @@ export default function arcjet< log.debug("fingerprint (%s): %s", rt, fingerprint); log.timeEnd?.("fingerprint"); - const context: ArcjetContext = { ...baseContext, fingerprint, runtime: rt }; + const context: ArcjetContext = Object.freeze({ + ...baseContext, + fingerprint, + runtime: rt, + }); if (rules.length < 1) { // TODO(#607): Error if no rules configured after deprecation period From ea1c2b25d146be10056cbc616180abeac75f9a01 Mon Sep 17 00:00:00 2001 From: blaine-arcjet <146491715+blaine-arcjet@users.noreply.github.com> Date: Wed, 12 Jun 2024 07:46:03 -0700 Subject: [PATCH 30/30] chore!: Move client into protocol and rename builders in adapters (#932) Closes #46 This moves the `createClient` logic from the `arcjet` core package into the `@arcjet/protocol` package. It is then consumed by adapters, which all export a `createRemoteClient` function that fills in some of the required data. This ensures we don't try to double export these functions (via re-exports) while still allowing users to dive deep into `@arcjet/protocol/client.js` if they need it. --- arcjet-bun/index.ts | 28 +- arcjet-bun/package.json | 1 + arcjet-next/index.ts | 54 +- arcjet-next/package.json | 1 + arcjet-node/index.ts | 28 +- arcjet-node/package.json | 1 + arcjet-sveltekit/index.ts | 19 +- arcjet-sveltekit/package.json | 1 + arcjet/index.ts | 162 +-- arcjet/test/index.node.test.ts | 1110 ---------------- .../app/api/custom_timeout/route.ts | 7 +- protocol/.gitignore | 2 + protocol/client.ts | 182 +++ protocol/proto.ts | 10 - protocol/test/client.test.ts | 1148 +++++++++++++++++ 15 files changed, 1403 insertions(+), 1351 deletions(-) create mode 100644 protocol/client.ts delete mode 100644 protocol/proto.ts create mode 100644 protocol/test/client.test.ts diff --git a/arcjet-bun/index.ts b/arcjet-bun/index.ts index df6e2a17e..1bfad933f 100644 --- a/arcjet-bun/index.ts +++ b/arcjet-bun/index.ts @@ -7,9 +7,6 @@ import core, { Product, ArcjetRequest, ExtraProps, - RemoteClient, - RemoteClientOptions, - createRemoteClient, Arcjet, } from "arcjet"; import findIP from "@arcjet/ip"; @@ -24,6 +21,7 @@ import { platform, } from "@arcjet/env"; import { Logger } from "@arcjet/logger"; +import { createClient } from "@arcjet/protocol/client.js"; // Re-export all named exports from the generic SDK export * from "arcjet"; @@ -65,9 +63,12 @@ type PlainObject = { [key: string]: unknown; }; -export function createBunRemoteClient( - options?: Partial, -): RemoteClient { +export type RemoteClientOptions = { + baseUrl?: string; + timeout?: number; +}; + +export function createRemoteClient(options?: RemoteClientOptions) { // The base URL for the Arcjet API. Will default to the standard production // API unless environment variable `ARCJET_BASE_URL` is set. const url = options?.baseUrl ?? baseUrl(env); @@ -77,18 +78,15 @@ export function createBunRemoteClient( const timeout = options?.timeout ?? (isProduction(env) ? 500 : 1000); // Transport is the HTTP client that the client uses to make requests. - const transport = - options?.transport ?? - createConnectTransport({ - baseUrl: url, - httpVersion: "1.1", - }); + const transport = createConnectTransport({ + baseUrl: url, + httpVersion: "1.1", + }); - // TODO(#223): Create separate options type to exclude these const sdkStack = "BUN"; const sdkVersion = "__ARCJET_SDK_VERSION__"; - return createRemoteClient({ + return createClient({ transport, baseUrl: url, timeout, @@ -255,7 +253,7 @@ function withClient( export default function arcjet( options: ArcjetOptions, ): ArcjetBun>> { - const client = options.client ?? createBunRemoteClient(); + const client = options.client ?? createRemoteClient(); const log = options.log ? options.log diff --git a/arcjet-bun/package.json b/arcjet-bun/package.json index 3c993ae15..b650195eb 100644 --- a/arcjet-bun/package.json +++ b/arcjet-bun/package.json @@ -42,6 +42,7 @@ "@arcjet/headers": "1.0.0-alpha.14", "@arcjet/ip": "1.0.0-alpha.14", "@arcjet/logger": "1.0.0-alpha.14", + "@arcjet/protocol": "1.0.0-alpha.14", "@connectrpc/connect-node": "1.4.0", "arcjet": "1.0.0-alpha.14" }, diff --git a/arcjet-next/index.ts b/arcjet-next/index.ts index 49155da96..31344bcc5 100644 --- a/arcjet-next/index.ts +++ b/arcjet-next/index.ts @@ -14,9 +14,6 @@ import arcjet, { Product, ArcjetRequest, ExtraProps, - RemoteClient, - RemoteClientOptions, - createRemoteClient, Arcjet, } from "arcjet"; import findIP from "@arcjet/ip"; @@ -29,6 +26,7 @@ import { platform, } from "@arcjet/env"; import { Logger } from "@arcjet/logger"; +import { createClient } from "@arcjet/protocol/client.js"; // Re-export all named exports from the generic SDK export * from "arcjet"; @@ -70,9 +68,12 @@ type PlainObject = { [key: string]: unknown; }; -export function createNextRemoteClient( - options?: Partial, -): RemoteClient { +export type RemoteClientOptions = { + baseUrl?: string; + timeout?: number; +}; + +export function createRemoteClient(options?: RemoteClientOptions) { // The base URL for the Arcjet API. Will default to the standard production // API unless environment variable `ARCJET_BASE_URL` is set. const url = options?.baseUrl ?? baseUrl(process.env); @@ -84,30 +85,27 @@ export function createNextRemoteClient( // Transport is the HTTP client that the client uses to make requests. // The Connect Node client doesn't work on edge runtimes: https://github.com/bufbuild/connect-es/pull/589 // so set the transport using connect-web. The interceptor is required for it work in the edge runtime. - const transport = - options?.transport ?? - createConnectTransport({ - baseUrl: url, - interceptors: [ - /** - * Ensures redirects are followed to properly support the Next.js/Vercel Edge - * Runtime. - * @see - * https://github.com/connectrpc/connect-es/issues/749#issuecomment-1693507516 - */ - (next) => (req) => { - req.init.redirect = "follow"; - return next(req); - }, - ], - fetch, - }); - - // TODO(#223): Create separate options type to exclude these + const transport = createConnectTransport({ + baseUrl: url, + interceptors: [ + /** + * Ensures redirects are followed to properly support the Next.js/Vercel Edge + * Runtime. + * @see + * https://github.com/connectrpc/connect-es/issues/749#issuecomment-1693507516 + */ + (next) => (req) => { + req.init.redirect = "follow"; + return next(req); + }, + ], + fetch, + }); + const sdkStack = "NEXTJS"; const sdkVersion = "__ARCJET_SDK_VERSION__"; - return createRemoteClient({ + return createClient({ transport, baseUrl: url, timeout, @@ -337,7 +335,7 @@ function withClient( export default function arcjetNext( options: ArcjetOptions, ): ArcjetNext>> { - const client = options.client ?? createNextRemoteClient(); + const client = options.client ?? createRemoteClient(); const log = options.log ? options.log diff --git a/arcjet-next/package.json b/arcjet-next/package.json index 366bc1219..caaf6b08e 100644 --- a/arcjet-next/package.json +++ b/arcjet-next/package.json @@ -44,6 +44,7 @@ "@arcjet/headers": "1.0.0-alpha.14", "@arcjet/ip": "1.0.0-alpha.14", "@arcjet/logger": "1.0.0-alpha.14", + "@arcjet/protocol": "1.0.0-alpha.14", "@connectrpc/connect-web": "1.4.0", "arcjet": "1.0.0-alpha.14" }, diff --git a/arcjet-node/index.ts b/arcjet-node/index.ts index 3efaf7037..fe002f249 100644 --- a/arcjet-node/index.ts +++ b/arcjet-node/index.ts @@ -6,9 +6,6 @@ import core, { Product, ArcjetRequest, ExtraProps, - RemoteClient, - RemoteClientOptions, - createRemoteClient, Arcjet, } from "arcjet"; import findIP from "@arcjet/ip"; @@ -21,6 +18,7 @@ import { platform, } from "@arcjet/env"; import { Logger } from "@arcjet/logger"; +import { createClient } from "@arcjet/protocol/client.js"; // Re-export all named exports from the generic SDK export * from "arcjet"; @@ -62,9 +60,12 @@ type PlainObject = { [key: string]: unknown; }; -export function createNodeRemoteClient( - options?: Partial, -): RemoteClient { +export type RemoteClientOptions = { + baseUrl?: string; + timeout?: number; +}; + +export function createRemoteClient(options?: RemoteClientOptions) { // The base URL for the Arcjet API. Will default to the standard production // API unless environment variable `ARCJET_BASE_URL` is set. const url = options?.baseUrl ?? baseUrl(process.env); @@ -74,18 +75,15 @@ export function createNodeRemoteClient( const timeout = options?.timeout ?? (isProduction(process.env) ? 500 : 1000); // Transport is the HTTP client that the client uses to make requests. - const transport = - options?.transport ?? - createConnectTransport({ - baseUrl: url, - httpVersion: "2", - }); + const transport = createConnectTransport({ + baseUrl: url, + httpVersion: "2", + }); - // TODO(#223): Create separate options type to exclude these const sdkStack = "NODEJS"; const sdkVersion = "__ARCJET_SDK_VERSION__"; - return createRemoteClient({ + return createClient({ transport, baseUrl: url, timeout, @@ -249,7 +247,7 @@ function withClient( export default function arcjet( options: ArcjetOptions, ): ArcjetNode>> { - const client = options.client ?? createNodeRemoteClient(); + const client = options.client ?? createRemoteClient(); const log = options.log ? options.log diff --git a/arcjet-node/package.json b/arcjet-node/package.json index 7fbc896c8..4d1428047 100644 --- a/arcjet-node/package.json +++ b/arcjet-node/package.json @@ -44,6 +44,7 @@ "@arcjet/headers": "1.0.0-alpha.14", "@arcjet/ip": "1.0.0-alpha.14", "@arcjet/logger": "1.0.0-alpha.14", + "@arcjet/protocol": "1.0.0-alpha.14", "@connectrpc/connect-node": "1.4.0", "arcjet": "1.0.0-alpha.14" }, diff --git a/arcjet-sveltekit/index.ts b/arcjet-sveltekit/index.ts index f58549d53..371ee79b2 100644 --- a/arcjet-sveltekit/index.ts +++ b/arcjet-sveltekit/index.ts @@ -7,9 +7,6 @@ import core, { Product, ArcjetRequest, ExtraProps, - RemoteClient, - RemoteClientOptions, - createRemoteClient, Arcjet, } from "arcjet"; import findIP from "@arcjet/ip"; @@ -24,6 +21,7 @@ import { platform, } from "@arcjet/env"; import { Logger } from "@arcjet/logger"; +import { createClient } from "@arcjet/protocol/client.js"; // Re-export all named exports from the generic SDK export * from "arcjet"; @@ -93,9 +91,12 @@ function defaultTransport(baseUrl: string) { } } -export function createSvelteKitRemoteClient( - options?: Partial, -): RemoteClient { +export type RemoteClientOptions = { + baseUrl?: string; + timeout?: number; +}; + +export function createRemoteClient(options?: RemoteClientOptions) { // The base URL for the Arcjet API. Will default to the standard production // API unless environment variable `ARCJET_BASE_URL` is set. const url = options?.baseUrl ?? baseUrl(env); @@ -105,13 +106,13 @@ export function createSvelteKitRemoteClient( const timeout = options?.timeout ?? (isProduction(env) ? 500 : 1000); // Transport is the HTTP client that the client uses to make requests. - const transport = options?.transport ?? defaultTransport(url); + const transport = defaultTransport(url); // TODO(#223): Create separate options type to exclude these const sdkStack = "SVELTEKIT"; const sdkVersion = "__ARCJET_SDK_VERSION__"; - return createRemoteClient({ + return createClient({ transport, baseUrl: url, timeout, @@ -255,7 +256,7 @@ function withClient( export default function arcjet( options: ArcjetOptions, ): ArcjetSvelteKit>> { - const client = options.client ?? createSvelteKitRemoteClient(); + const client = options.client ?? createRemoteClient(); const log = options.log ? options.log diff --git a/arcjet-sveltekit/package.json b/arcjet-sveltekit/package.json index 81e3ad274..1374db5fb 100644 --- a/arcjet-sveltekit/package.json +++ b/arcjet-sveltekit/package.json @@ -44,6 +44,7 @@ "@arcjet/headers": "1.0.0-alpha.14", "@arcjet/ip": "1.0.0-alpha.14", "@arcjet/logger": "1.0.0-alpha.14", + "@arcjet/protocol": "1.0.0-alpha.14", "@arcjet/runtime": "1.0.0-alpha.14", "@connectrpc/connect-node": "1.4.0", "@connectrpc/connect-web": "1.4.0", diff --git a/arcjet/index.ts b/arcjet/index.ts index 2b5bca2f6..3e73ffbf5 100644 --- a/arcjet/index.ts +++ b/arcjet/index.ts @@ -9,7 +9,6 @@ import { ArcjetMode, ArcjetReason, ArcjetRuleResult, - ArcjetStack, ArcjetDecision, ArcjetDenyDecision, ArcjetErrorDecision, @@ -23,21 +22,8 @@ import { ArcjetShieldRule, ArcjetLogger, } from "@arcjet/protocol"; -import { - ArcjetBotTypeToProtocol, - ArcjetStackToProtocol, - ArcjetDecisionFromProtocol, - ArcjetDecisionToProtocol, - ArcjetRuleToProtocol, -} from "@arcjet/protocol/convert.js"; -import { - createPromiseClient, - Transport, - DecideRequest, - DecideService, - ReportRequest, - Timestamp, -} from "@arcjet/protocol/proto.js"; +import { ArcjetBotTypeToProtocol } from "@arcjet/protocol/convert.js"; +import { Client } from "@arcjet/protocol/client.js"; import * as analyze from "@arcjet/analyze"; import * as duration from "@arcjet/duration"; import ArcjetHeaders from "@arcjet/headers"; @@ -175,30 +161,6 @@ type LiteralCheck< : false; type IsStringLiteral = LiteralCheck; -export interface RemoteClient { - decide( - context: ArcjetContext, - details: Partial, - rules: ArcjetRule[], - ): Promise; - // Call the Arcjet Log Decision API with details of the request and decision - // made so we can log it. - report( - context: ArcjetContext, - request: Partial, - decision: ArcjetDecision, - rules: ArcjetRule[], - ): void; -} - -export type RemoteClientOptions = { - transport: Transport; - baseUrl: string; - timeout: number; - sdkStack: ArcjetStack; - sdkVersion: string; -}; - const knownFields = [ "ip", "method", @@ -244,124 +206,6 @@ function extraProps( return Object.fromEntries(extra.entries()); } -export function createRemoteClient(options: RemoteClientOptions): RemoteClient { - const { transport, sdkVersion, baseUrl, timeout } = options; - - const sdkStack = ArcjetStackToProtocol(options.sdkStack); - - const client = createPromiseClient(DecideService, transport); - - return Object.freeze({ - async decide( - context: ArcjetContext, - details: ArcjetRequestDetails, - rules: ArcjetRule[], - ): Promise { - const { log } = context; - - // Build the request object from the Protobuf generated class. - const decideRequest = new DecideRequest({ - sdkStack, - sdkVersion, - details: { - ip: details.ip, - method: details.method, - protocol: details.protocol, - host: details.host, - path: details.path, - headers: Object.fromEntries(details.headers.entries()), - cookies: details.cookies, - query: details.query, - // TODO(#208): Re-add body - // body: details.body, - extra: details.extra, - email: typeof details.email === "string" ? details.email : undefined, - }, - rules: rules.map(ArcjetRuleToProtocol), - }); - - log.debug("Decide request to %s", baseUrl); - - const response = await client.decide(decideRequest, { - headers: { Authorization: `Bearer ${context.key}` }, - timeoutMs: timeout, - }); - - const decision = ArcjetDecisionFromProtocol(response.decision); - - log.debug( - { - id: decision.id, - fingerprint: context.fingerprint, - path: details.path, - runtime: context.runtime, - ttl: decision.ttl, - conclusion: decision.conclusion, - reason: decision.reason, - ruleResults: decision.results, - }, - "Decide response", - ); - - return decision; - }, - - report( - context: ArcjetContext, - details: ArcjetRequestDetails, - decision: ArcjetDecision, - rules: ArcjetRule[], - ): void { - const { log } = context; - - // Build the request object from the Protobuf generated class. - const reportRequest = new ReportRequest({ - sdkStack, - sdkVersion, - details: { - ip: details.ip, - method: details.method, - protocol: details.protocol, - host: details.host, - path: details.path, - headers: Object.fromEntries(details.headers.entries()), - // TODO(#208): Re-add body - // body: details.body, - extra: details.extra, - email: typeof details.email === "string" ? details.email : undefined, - }, - decision: ArcjetDecisionToProtocol(decision), - rules: rules.map(ArcjetRuleToProtocol), - receivedAt: Timestamp.now(), - }); - - log.debug("Report request to %s", baseUrl); - - // We use the promise API directly to avoid returning a promise from this function so execution can't be paused with `await` - client - .report(reportRequest, { - headers: { Authorization: `Bearer ${context.key}` }, - timeoutMs: 2_000, // 2 seconds - }) - .then((response) => { - log.debug( - { - id: response.decision?.id, - fingerprint: context.fingerprint, - path: details.path, - runtime: context.runtime, - ttl: decision.ttl, - }, - "Report response", - ); - }) - .catch((err: unknown) => { - log.info("Encountered problem sending report: %s", errorMessage(err)); - }); - }, - }); -} - type TokenBucketRateLimitOptions = { mode?: ArcjetMode; match?: string; @@ -957,7 +801,7 @@ export interface ArcjetOptions { * The client used to make requests to the Arcjet API. This must be set * when creating the SDK, such as inside @arcjet/next or mocked in tests. */ - client?: RemoteClient; + client?: Client; /** * The logger used to emit useful information from the SDK. */ diff --git a/arcjet/test/index.node.test.ts b/arcjet/test/index.node.test.ts index 6f2fe4c52..649e1328b 100644 --- a/arcjet/test/index.node.test.ts +++ b/arcjet/test/index.node.test.ts @@ -9,32 +9,15 @@ import { jest, test, } from "@jest/globals"; -import { - createRouterTransport, - DecideRequest, - DecideResponse, - DecideService, - Conclusion, - ReportRequest, - ReportResponse, - Reason, - Rule, - SDKStack, - Timestamp, - RuleResult, - RuleState, -} from "@arcjet/protocol/proto"; import { Logger } from "@arcjet/logger"; import arcjet, { - ArcjetDecision, ArcjetMode, detectBot, rateLimit, ArcjetRule, validateEmail, protectSignup, - createRemoteClient, ArcjetBotType, ArcjetEmailType, ArcjetAllowDecision, @@ -43,7 +26,6 @@ import arcjet, { ArcjetChallengeDecision, ArcjetReason, ArcjetErrorReason, - ArcjetConclusion, ArcjetRuleResult, ArcjetEmailReason, ArcjetBotReason, @@ -138,1102 +120,10 @@ function assertIsLocalRule(rule: ArcjetRule): asserts rule is ArcjetLocalRule { expect("protect" in rule && typeof rule.protect === "function").toEqual(true); } -function deferred(): [Promise, () => void, (reason?: unknown) => void] { - let resolve: () => void; - let reject: (reason?: unknown) => void; - const promise = new Promise((res, rej) => { - resolve = res; - reject = rej; - }); - - // @ts-expect-error - return [promise, resolve, reject]; -} - class ArcjetTestReason extends ArcjetReason {} -class ArcjetInvalidDecision extends ArcjetDecision { - reason: ArcjetReason; - conclusion: ArcjetConclusion; - - constructor() { - super({ ttl: 0, results: [] }); - // @ts-expect-error - this.conclusion = "INVALID"; - this.reason = new ArcjetTestReason(); - } -} - const log = new Logger({ level: "info" }); -describe("createRemoteClient", () => { - const defaultRemoteClientOptions = { - baseUrl: "", - timeout: 0, - sdkStack: "NODEJS" as const, - sdkVersion: "__ARCJET_SDK_VERSION__", - }; - - test("can be called with only a transport", () => { - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(() => {}), - }); - expect(typeof client.decide).toEqual("function"); - expect(typeof client.report).toEqual("function"); - }); - - test("allows overriding the default timeout", async () => { - // TODO(#32): createRouterTransport doesn't seem to handle timeouts/promises correctly - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, {}); - }), - timeout: 300, - }); - expect(typeof client.decide).toEqual("function"); - expect(typeof client.report).toEqual("function"); - }); - - test("allows overriding the sdkStack", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - }; - - const router = { - decide: jest.fn((args) => { - return new DecideResponse({ - decision: { - conclusion: Conclusion.ALLOW, - }, - }); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - sdkStack: "NEXTJS", - }); - const _ = await client.decide(context, details, []); - - expect(router.decide).toHaveBeenCalledTimes(1); - expect(router.decide).toHaveBeenCalledWith( - new DecideRequest({ - details: { - ...details, - headers: { "user-agent": "curl/8.1.2" }, - }, - rules: [], - sdkStack: SDKStack.SDK_STACK_NEXTJS, - sdkVersion: "__ARCJET_SDK_VERSION__", - }), - expect.anything(), - ); - }); - - test("sets the sdkStack as UNSPECIFIED if invalid", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - }; - - const router = { - decide: jest.fn((args) => { - return new DecideResponse({ - decision: { - conclusion: Conclusion.ALLOW, - }, - }); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - // @ts-expect-error - sdkStack: "SOMETHING_INVALID", - }); - const _ = await client.decide(context, details, []); - - expect(router.decide).toHaveBeenCalledTimes(1); - expect(router.decide).toHaveBeenCalledWith( - new DecideRequest({ - details: { - ...details, - headers: { "user-agent": "curl/8.1.2" }, - }, - rules: [], - sdkStack: SDKStack.SDK_STACK_UNSPECIFIED, - sdkVersion: "__ARCJET_SDK_VERSION__", - }), - expect.anything(), - ); - }); - - test("calling `decide` will make RPC call with correct message", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - }; - - const router = { - decide: jest.fn((args) => { - return new DecideResponse({ - decision: { - conclusion: Conclusion.ALLOW, - }, - }); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - }); - const _ = await client.decide(context, details, []); - - expect(router.decide).toHaveBeenCalledTimes(1); - expect(router.decide).toHaveBeenCalledWith( - new DecideRequest({ - details: { - ...details, - headers: { "user-agent": "curl/8.1.2" }, - }, - rules: [], - sdkStack: SDKStack.SDK_STACK_NODEJS, - sdkVersion: "__ARCJET_SDK_VERSION__", - }), - expect.anything(), - ); - }); - - test("calling `decide` will make RPC with email included", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - email: "abc@example.com", - }; - - const router = { - decide: jest.fn((args) => { - return new DecideResponse({ - decision: { - conclusion: Conclusion.ALLOW, - }, - }); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - }); - const _ = await client.decide(context, details, []); - - expect(router.decide).toHaveBeenCalledTimes(1); - expect(router.decide).toHaveBeenCalledWith( - new DecideRequest({ - details: { - ...details, - headers: { "user-agent": "curl/8.1.2" }, - }, - rules: [], - sdkStack: SDKStack.SDK_STACK_NODEJS, - sdkVersion: "__ARCJET_SDK_VERSION__", - }), - expect.anything(), - ); - }); - - test("calling `decide` will make RPC with rules included", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - email: "abc@example.com", - }; - - const router = { - decide: jest.fn((args) => { - return new DecideResponse({ - decision: { - conclusion: Conclusion.ALLOW, - }, - }); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - }); - const rule: ArcjetRule = { - type: "TEST_RULE", - mode: "DRY_RUN", - priority: 1, - }; - const _ = await client.decide(context, details, [rule]); - - expect(router.decide).toHaveBeenCalledTimes(1); - expect(router.decide).toHaveBeenCalledWith( - new DecideRequest({ - details: { - ...details, - headers: { "user-agent": "curl/8.1.2" }, - }, - rules: [new Rule()], - sdkStack: SDKStack.SDK_STACK_NODEJS, - sdkVersion: "__ARCJET_SDK_VERSION__", - }), - expect.anything(), - ); - }); - - test("calling `decide` creates an ALLOW ArcjetDecision if DecideResponse is allowed", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - }; - - const router = { - decide: jest.fn((args) => { - return new DecideResponse({ - decision: { - conclusion: Conclusion.ALLOW, - }, - }); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - }); - const decision = await client.decide(context, details, []); - - expect(decision.isErrored()).toBe(false); - expect(decision.isAllowed()).toBe(true); - }); - - test("calling `decide` creates a DENY ArcjetDecision if DecideResponse is denied", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - }; - - const router = { - decide: jest.fn((args) => { - return new DecideResponse({ - decision: { - conclusion: Conclusion.DENY, - }, - }); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - }); - const decision = await client.decide(context, details, []); - - expect(decision.isDenied()).toBe(true); - }); - - test("calling `decide` creates a CHALLENGE ArcjetDecision if DecideResponse is challenged", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - }; - - const router = { - decide: jest.fn((args) => { - return new DecideResponse({ - decision: { - conclusion: Conclusion.CHALLENGE, - }, - }); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - }); - const decision = await client.decide(context, details, []); - - expect(decision.isChallenged()).toBe(true); - }); - - test("calling `decide` creates an ERROR ArcjetDecision with default message if DecideResponse is error and no reason", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - }; - - const router = { - decide: jest.fn((args) => { - return new DecideResponse({ - decision: { - conclusion: Conclusion.ERROR, - }, - }); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - }); - const decision = await client.decide(context, details, []); - - expect(decision.isErrored()).toBe(true); - expect(decision.reason).toMatchObject({ - message: "Unknown error occurred", - }); - }); - - test("calling `decide` creates an ERROR ArcjetDecision with message if DecideResponse if error and reason available", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - }; - - const router = { - decide: jest.fn((args) => { - return new DecideResponse({ - decision: { - conclusion: Conclusion.ERROR, - reason: { - reason: { - case: "error", - value: { message: "Boom!" }, - }, - }, - }, - }); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - }); - const decision = await client.decide(context, details, []); - - expect(decision.isErrored()).toBe(true); - expect(decision.reason).toMatchObject({ - message: "Boom!", - }); - }); - - test("calling `decide` creates an ERROR ArcjetDecision if DecideResponse is unspecified", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - }; - - const router = { - decide: jest.fn((args) => { - return new DecideResponse({ - decision: { - conclusion: Conclusion.UNSPECIFIED, - }, - }); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - }); - const decision = await client.decide(context, details, []); - - expect(decision.isErrored()).toBe(true); - expect(decision.isAllowed()).toBe(true); - }); - - test("calling `report` will make RPC call with ALLOW decision", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const receivedAt = Timestamp.now(); - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - email: "test@example.com", - }; - - const [promise, resolve] = deferred(); - - const router = { - report: jest.fn((args) => { - resolve(); - return new ReportResponse({}); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - }); - const decision = new ArcjetAllowDecision({ - ttl: 0, - reason: new ArcjetTestReason(), - results: [], - }); - client.report(context, details, decision, []); - - await promise; - - expect(router.report).toHaveBeenCalledTimes(1); - expect(router.report).toHaveBeenCalledWith( - new ReportRequest({ - sdkStack: SDKStack.SDK_STACK_NODEJS, - sdkVersion: "__ARCJET_SDK_VERSION__", - details: { - ...details, - headers: { "user-agent": "curl/8.1.2" }, - }, - decision: { - id: decision.id, - conclusion: Conclusion.ALLOW, - reason: new Reason(), - ruleResults: [], - }, - receivedAt, - }), - expect.anything(), - ); - }); - - test("calling `report` will make RPC call with DENY decision", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const receivedAt = Timestamp.now(); - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - }; - - const [promise, resolve] = deferred(); - - const router = { - report: jest.fn((args) => { - resolve(); - return new ReportResponse({}); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - }); - const decision = new ArcjetDenyDecision({ - ttl: 0, - reason: new ArcjetTestReason(), - results: [], - }); - client.report(context, details, decision, []); - - await promise; - - expect(router.report).toHaveBeenCalledTimes(1); - expect(router.report).toHaveBeenCalledWith( - new ReportRequest({ - sdkStack: SDKStack.SDK_STACK_NODEJS, - sdkVersion: "__ARCJET_SDK_VERSION__", - details: { - ...details, - headers: { "user-agent": "curl/8.1.2" }, - }, - decision: { - id: decision.id, - conclusion: Conclusion.DENY, - reason: new Reason(), - ruleResults: [], - }, - receivedAt, - }), - expect.anything(), - ); - }); - - test("calling `report` will make RPC call with ERROR decision", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const receivedAt = Timestamp.now(); - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - }; - - const [promise, resolve] = deferred(); - - const router = { - report: jest.fn((args) => { - resolve(); - return new ReportResponse({}); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - }); - const decision = new ArcjetErrorDecision({ - ttl: 0, - reason: new ArcjetErrorReason("Failure"), - results: [], - }); - client.report(context, details, decision, []); - - await promise; - - expect(router.report).toHaveBeenCalledTimes(1); - expect(router.report).toHaveBeenCalledWith( - new ReportRequest({ - sdkStack: SDKStack.SDK_STACK_NODEJS, - sdkVersion: "__ARCJET_SDK_VERSION__", - details: { - ...details, - headers: { "user-agent": "curl/8.1.2" }, - }, - decision: { - id: decision.id, - conclusion: Conclusion.ERROR, - reason: new Reason({ - reason: { - case: "error", - value: { - message: "Failure", - }, - }, - }), - ruleResults: [], - }, - receivedAt, - }), - expect.anything(), - ); - }); - - test("calling `report` will make RPC call with CHALLENGE decision", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const receivedAt = Timestamp.now(); - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - }; - - const [promise, resolve] = deferred(); - - const router = { - report: jest.fn((args) => { - resolve(); - return new ReportResponse({}); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - }); - const decision = new ArcjetChallengeDecision({ - ttl: 0, - reason: new ArcjetTestReason(), - results: [], - }); - client.report(context, details, decision, []); - - await promise; - - expect(router.report).toHaveBeenCalledTimes(1); - expect(router.report).toHaveBeenCalledWith( - new ReportRequest({ - sdkStack: SDKStack.SDK_STACK_NODEJS, - sdkVersion: "__ARCJET_SDK_VERSION__", - details: { - ...details, - headers: { "user-agent": "curl/8.1.2" }, - }, - decision: { - id: decision.id, - conclusion: Conclusion.CHALLENGE, - reason: new Reason(), - ruleResults: [], - }, - receivedAt, - }), - expect.anything(), - ); - }); - - test("calling `report` will make RPC call with UNSPECIFIED decision if invalid", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const receivedAt = Timestamp.now(); - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - }; - - const [promise, resolve] = deferred(); - - const router = { - report: jest.fn((args) => { - resolve(); - return new ReportResponse({}); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - }); - const decision = new ArcjetInvalidDecision(); - client.report(context, details, decision, []); - - await promise; - - expect(router.report).toHaveBeenCalledTimes(1); - expect(router.report).toHaveBeenCalledWith( - new ReportRequest({ - sdkStack: SDKStack.SDK_STACK_NODEJS, - sdkVersion: "__ARCJET_SDK_VERSION__", - details: { - ...details, - headers: { "user-agent": "curl/8.1.2" }, - }, - decision: { - id: decision.id, - conclusion: Conclusion.UNSPECIFIED, - reason: new Reason(), - ruleResults: [], - }, - receivedAt, - }), - expect.anything(), - ); - }); - - test("calling `report` will make RPC with rules included", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const receivedAt = Timestamp.now(); - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - email: "abc@example.com", - }; - - const [promise, resolve] = deferred(); - - const router = { - report: jest.fn((args) => { - resolve(); - return new ReportResponse({}); - }), - }; - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, router); - }), - }); - - const decision = new ArcjetDenyDecision({ - ttl: 0, - reason: new ArcjetTestReason(), - results: [ - new ArcjetRuleResult({ - ttl: 0, - state: "RUN", - conclusion: "DENY", - reason: new ArcjetReason(), - }), - ], - }); - const rule: ArcjetRule = { - type: "TEST_RULE", - mode: "LIVE", - priority: 1, - }; - client.report(context, details, decision, [rule]); - - await promise; - - expect(router.report).toHaveBeenCalledTimes(1); - expect(router.report).toHaveBeenCalledWith( - new ReportRequest({ - sdkStack: SDKStack.SDK_STACK_NODEJS, - sdkVersion: "__ARCJET_SDK_VERSION__", - details: { - ...details, - headers: { "user-agent": "curl/8.1.2" }, - }, - decision: { - id: decision.id, - conclusion: Conclusion.DENY, - reason: new Reason(), - ruleResults: [ - new RuleResult({ - ruleId: "", - state: RuleState.RUN, - conclusion: Conclusion.DENY, - reason: new Reason(), - }), - ], - }, - rules: [new Rule()], - receivedAt, - }), - expect.anything(), - ); - }); - - test("calling `report` only logs if it fails", async () => { - const key = "test-key"; - const fingerprint = - "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; - const context = { - key, - fingerprint, - runtime: "test", - log, - }; - const details = { - ip: "172.100.1.1", - method: "GET", - protocol: "http", - host: "example.com", - path: "/", - headers: new Headers([["User-Agent", "curl/8.1.2"]]), - extra: { - "extra-test": "extra-test-value", - }, - }; - - const [promise, resolve] = deferred(); - - const logSpy = jest.spyOn(log, "info").mockImplementation(() => { - resolve(); - }); - - const client = createRemoteClient({ - ...defaultRemoteClientOptions, - transport: createRouterTransport(({ service }) => { - service(DecideService, {}); - }), - }); - const decision = new ArcjetAllowDecision({ - ttl: 0, - reason: new ArcjetTestReason(), - results: [], - }); - client.report(context, details, decision, []); - - await promise; - - expect(logSpy).toHaveBeenCalledTimes(1); - }); -}); - describe("ArcjetDecision", () => { test("will default the `id` property if not specified", () => { const decision = new ArcjetAllowDecision({ diff --git a/examples/nextjs-14-app-dir-rl/app/api/custom_timeout/route.ts b/examples/nextjs-14-app-dir-rl/app/api/custom_timeout/route.ts index d73e6ee66..7f295b682 100644 --- a/examples/nextjs-14-app-dir-rl/app/api/custom_timeout/route.ts +++ b/examples/nextjs-14-app-dir-rl/app/api/custom_timeout/route.ts @@ -1,11 +1,8 @@ -import arcjet, { - validateEmail, - createNextRemoteClient, -} from "@arcjet/next"; +import arcjet, { validateEmail, createRemoteClient } from "@arcjet/next"; import { baseUrl } from "@arcjet/env"; import { NextResponse } from "next/server"; -const client = createNextRemoteClient({ +const client = createRemoteClient({ baseUrl: baseUrl(process.env), timeout: 10, }); diff --git a/protocol/.gitignore b/protocol/.gitignore index 5de693ee9..e58045176 100644 --- a/protocol/.gitignore +++ b/protocol/.gitignore @@ -132,6 +132,8 @@ dist # Generated files index.js index.d.ts +client.js +client.d.ts convert.js convert.d.ts proto.js diff --git a/protocol/client.ts b/protocol/client.ts new file mode 100644 index 000000000..924d9cef9 --- /dev/null +++ b/protocol/client.ts @@ -0,0 +1,182 @@ +import { Transport, createPromiseClient } from "@connectrpc/connect"; +import { Timestamp } from "@bufbuild/protobuf"; +import { + ArcjetDecisionFromProtocol, + ArcjetDecisionToProtocol, + ArcjetRuleToProtocol, + ArcjetStackToProtocol, +} from "./convert.js"; +import { + ArcjetContext, + ArcjetDecision, + ArcjetRequestDetails, + ArcjetRule, + ArcjetStack, +} from "./index.js"; +import { DecideService } from "./gen/es/decide/v1alpha1/decide_connect.js"; +import { + DecideRequest, + ReportRequest, +} from "./gen/es/decide/v1alpha1/decide_pb.js"; + +// TODO: Dedupe with `errorMessage` in core +function errorMessage(err: unknown): string { + if (err) { + if (typeof err === "string") { + return err; + } + + if ( + typeof err === "object" && + "message" in err && + typeof err.message === "string" + ) { + return err.message; + } + } + + return "Unknown problem"; +} + +export interface Client { + decide( + context: ArcjetContext, + details: Partial, + rules: ArcjetRule[], + ): Promise; + // Call the Arcjet Log Decision API with details of the request and decision + // made so we can log it. + report( + context: ArcjetContext, + request: Partial, + decision: ArcjetDecision, + rules: ArcjetRule[], + ): void; +} + +export type ClientOptions = { + transport: Transport; + baseUrl: string; + timeout: number; + sdkStack: ArcjetStack; + sdkVersion: string; +}; + +export function createClient(options: ClientOptions): Client { + const { transport, sdkVersion, baseUrl, timeout } = options; + + const sdkStack = ArcjetStackToProtocol(options.sdkStack); + + const client = createPromiseClient(DecideService, transport); + + return Object.freeze({ + async decide( + context: ArcjetContext, + details: ArcjetRequestDetails, + rules: ArcjetRule[], + ): Promise { + const { log } = context; + + // Build the request object from the Protobuf generated class. + const decideRequest = new DecideRequest({ + sdkStack, + sdkVersion, + details: { + ip: details.ip, + method: details.method, + protocol: details.protocol, + host: details.host, + path: details.path, + headers: Object.fromEntries(details.headers.entries()), + cookies: details.cookies, + query: details.query, + // TODO(#208): Re-add body + // body: details.body, + extra: details.extra, + email: typeof details.email === "string" ? details.email : undefined, + }, + rules: rules.map(ArcjetRuleToProtocol), + }); + + log.debug("Decide request to %s", baseUrl); + + const response = await client.decide(decideRequest, { + headers: { Authorization: `Bearer ${context.key}` }, + timeoutMs: timeout, + }); + + const decision = ArcjetDecisionFromProtocol(response.decision); + + log.debug( + { + id: decision.id, + fingerprint: context.fingerprint, + path: details.path, + runtime: context.runtime, + ttl: decision.ttl, + conclusion: decision.conclusion, + reason: decision.reason, + ruleResults: decision.results, + }, + "Decide response", + ); + + return decision; + }, + + report( + context: ArcjetContext, + details: ArcjetRequestDetails, + decision: ArcjetDecision, + rules: ArcjetRule[], + ): void { + const { log } = context; + + // Build the request object from the Protobuf generated class. + const reportRequest = new ReportRequest({ + sdkStack, + sdkVersion, + details: { + ip: details.ip, + method: details.method, + protocol: details.protocol, + host: details.host, + path: details.path, + headers: Object.fromEntries(details.headers.entries()), + // TODO(#208): Re-add body + // body: details.body, + extra: details.extra, + email: typeof details.email === "string" ? details.email : undefined, + }, + decision: ArcjetDecisionToProtocol(decision), + rules: rules.map(ArcjetRuleToProtocol), + receivedAt: Timestamp.now(), + }); + + log.debug("Report request to %s", baseUrl); + + // We use the promise API directly to avoid returning a promise from this function so execution can't be paused with `await` + // TODO(#884): Leverage `waitUntil` if the function is attached to the context + client + .report(reportRequest, { + headers: { Authorization: `Bearer ${context.key}` }, + timeoutMs: 2_000, // 2 seconds + }) + .then((response) => { + log.debug( + { + id: response.decision?.id, + fingerprint: context.fingerprint, + path: details.path, + runtime: context.runtime, + ttl: decision.ttl, + }, + "Report response", + ); + }) + .catch((err: unknown) => { + log.info("Encountered problem sending report: %s", errorMessage(err)); + }); + }, + }); +} diff --git a/protocol/proto.ts b/protocol/proto.ts deleted file mode 100644 index b281f3156..000000000 --- a/protocol/proto.ts +++ /dev/null @@ -1,10 +0,0 @@ -// TODO: Finish abstracting over protobuf and don't re-export -export * from "./gen/es/decide/v1alpha1/decide_pb.js"; -export * from "./gen/es/decide/v1alpha1/decide_connect.js"; - -export { Timestamp, proto3 } from "@bufbuild/protobuf"; -export { - createPromiseClient, - createRouterTransport, - type Transport, -} from "@connectrpc/connect"; diff --git a/protocol/test/client.test.ts b/protocol/test/client.test.ts new file mode 100644 index 000000000..5c81137d2 --- /dev/null +++ b/protocol/test/client.test.ts @@ -0,0 +1,1148 @@ +import { + afterEach, + beforeEach, + describe, + expect, + jest, + test, +} from "@jest/globals"; +import { createClient } from "../client.js"; +import { createRouterTransport } from "@connectrpc/connect"; +import { DecideService } from "../gen/es/decide/v1alpha1/decide_connect.js"; +import { + Conclusion, + DecideRequest, + DecideResponse, + Reason, + ReportRequest, + ReportResponse, + Rule, + RuleResult, + RuleState, + SDKStack, +} from "../gen/es/decide/v1alpha1/decide_pb.js"; +import { + ArcjetAllowDecision, + ArcjetChallengeDecision, + ArcjetConclusion, + ArcjetDecision, + ArcjetDenyDecision, + ArcjetErrorDecision, + ArcjetErrorReason, + ArcjetReason, + ArcjetRule, + ArcjetRuleResult, +} from "../index.js"; +import { Timestamp } from "@bufbuild/protobuf"; + +function deferred(): [Promise, () => void, (reason?: unknown) => void] { + let resolve: () => void; + let reject: (reason?: unknown) => void; + const promise = new Promise((res, rej) => { + resolve = res; + reject = rej; + }); + + // @ts-expect-error + return [promise, resolve, reject]; +} + +class ArcjetTestReason extends ArcjetReason {} + +class ArcjetInvalidDecision extends ArcjetDecision { + reason: ArcjetReason; + conclusion: ArcjetConclusion; + + constructor() { + super({ ttl: 0, results: [] }); + // @ts-expect-error + this.conclusion = "INVALID"; + this.reason = new ArcjetTestReason(); + } +} + +beforeEach(() => { + jest.useFakeTimers(); +}); + +afterEach(() => { + jest.useRealTimers(); + jest.clearAllTimers(); + jest.clearAllMocks(); + jest.restoreAllMocks(); +}); + +describe("createClient", () => { + const log = { + debug() {}, + info() {}, + warn() {}, + error() {}, + }; + + const defaultRemoteClientOptions = { + baseUrl: "", + timeout: 0, + sdkStack: "NODEJS" as const, + sdkVersion: "__ARCJET_SDK_VERSION__", + }; + + test("can be called with only a transport", () => { + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(() => {}), + }); + expect(typeof client.decide).toEqual("function"); + expect(typeof client.report).toEqual("function"); + }); + + test("allows overriding the default timeout", async () => { + // TODO(#32): createRouterTransport doesn't seem to handle timeouts/promises correctly + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, {}); + }), + timeout: 300, + }); + expect(typeof client.decide).toEqual("function"); + expect(typeof client.report).toEqual("function"); + }); + + test("allows overriding the sdkStack", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + }; + + const router = { + decide: jest.fn((args) => { + return new DecideResponse({ + decision: { + conclusion: Conclusion.ALLOW, + }, + }); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + sdkStack: "NEXTJS", + }); + const _ = await client.decide(context, details, []); + + expect(router.decide).toHaveBeenCalledTimes(1); + expect(router.decide).toHaveBeenCalledWith( + new DecideRequest({ + details: { + ...details, + headers: { "user-agent": "curl/8.1.2" }, + }, + rules: [], + sdkStack: SDKStack.SDK_STACK_NEXTJS, + sdkVersion: "__ARCJET_SDK_VERSION__", + }), + expect.anything(), + ); + }); + + test("sets the sdkStack as UNSPECIFIED if invalid", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + }; + + const router = { + decide: jest.fn((args) => { + return new DecideResponse({ + decision: { + conclusion: Conclusion.ALLOW, + }, + }); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + // @ts-expect-error + sdkStack: "SOMETHING_INVALID", + }); + const _ = await client.decide(context, details, []); + + expect(router.decide).toHaveBeenCalledTimes(1); + expect(router.decide).toHaveBeenCalledWith( + new DecideRequest({ + details: { + ...details, + headers: { "user-agent": "curl/8.1.2" }, + }, + rules: [], + sdkStack: SDKStack.SDK_STACK_UNSPECIFIED, + sdkVersion: "__ARCJET_SDK_VERSION__", + }), + expect.anything(), + ); + }); + + test("calling `decide` will make RPC call with correct message", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + }; + + const router = { + decide: jest.fn((args) => { + return new DecideResponse({ + decision: { + conclusion: Conclusion.ALLOW, + }, + }); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + }); + const _ = await client.decide(context, details, []); + + expect(router.decide).toHaveBeenCalledTimes(1); + expect(router.decide).toHaveBeenCalledWith( + new DecideRequest({ + details: { + ...details, + headers: { "user-agent": "curl/8.1.2" }, + }, + rules: [], + sdkStack: SDKStack.SDK_STACK_NODEJS, + sdkVersion: "__ARCJET_SDK_VERSION__", + }), + expect.anything(), + ); + }); + + test("calling `decide` will make RPC with email included", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + email: "abc@example.com", + }; + + const router = { + decide: jest.fn((args) => { + return new DecideResponse({ + decision: { + conclusion: Conclusion.ALLOW, + }, + }); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + }); + const _ = await client.decide(context, details, []); + + expect(router.decide).toHaveBeenCalledTimes(1); + expect(router.decide).toHaveBeenCalledWith( + new DecideRequest({ + details: { + ...details, + headers: { "user-agent": "curl/8.1.2" }, + }, + rules: [], + sdkStack: SDKStack.SDK_STACK_NODEJS, + sdkVersion: "__ARCJET_SDK_VERSION__", + }), + expect.anything(), + ); + }); + + test("calling `decide` will make RPC with rules included", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + email: "abc@example.com", + }; + + const router = { + decide: jest.fn((args) => { + return new DecideResponse({ + decision: { + conclusion: Conclusion.ALLOW, + }, + }); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + }); + const rule: ArcjetRule = { + type: "TEST_RULE", + mode: "DRY_RUN", + priority: 1, + }; + const _ = await client.decide(context, details, [rule]); + + expect(router.decide).toHaveBeenCalledTimes(1); + expect(router.decide).toHaveBeenCalledWith( + new DecideRequest({ + details: { + ...details, + headers: { "user-agent": "curl/8.1.2" }, + }, + rules: [new Rule()], + sdkStack: SDKStack.SDK_STACK_NODEJS, + sdkVersion: "__ARCJET_SDK_VERSION__", + }), + expect.anything(), + ); + }); + + test("calling `decide` creates an ALLOW ArcjetDecision if DecideResponse is allowed", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + }; + + const router = { + decide: jest.fn((args) => { + return new DecideResponse({ + decision: { + conclusion: Conclusion.ALLOW, + }, + }); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + }); + const decision = await client.decide(context, details, []); + + expect(decision.isErrored()).toBe(false); + expect(decision.isAllowed()).toBe(true); + }); + + test("calling `decide` creates a DENY ArcjetDecision if DecideResponse is denied", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + }; + + const router = { + decide: jest.fn((args) => { + return new DecideResponse({ + decision: { + conclusion: Conclusion.DENY, + }, + }); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + }); + const decision = await client.decide(context, details, []); + + expect(decision.isDenied()).toBe(true); + }); + + test("calling `decide` creates a CHALLENGE ArcjetDecision if DecideResponse is challenged", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + }; + + const router = { + decide: jest.fn((args) => { + return new DecideResponse({ + decision: { + conclusion: Conclusion.CHALLENGE, + }, + }); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + }); + const decision = await client.decide(context, details, []); + + expect(decision.isChallenged()).toBe(true); + }); + + test("calling `decide` creates an ERROR ArcjetDecision with default message if DecideResponse is error and no reason", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + }; + + const router = { + decide: jest.fn((args) => { + return new DecideResponse({ + decision: { + conclusion: Conclusion.ERROR, + }, + }); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + }); + const decision = await client.decide(context, details, []); + + expect(decision.isErrored()).toBe(true); + expect(decision.reason).toMatchObject({ + message: "Unknown error occurred", + }); + }); + + test("calling `decide` creates an ERROR ArcjetDecision with message if DecideResponse if error and reason available", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + }; + + const router = { + decide: jest.fn((args) => { + return new DecideResponse({ + decision: { + conclusion: Conclusion.ERROR, + reason: { + reason: { + case: "error", + value: { message: "Boom!" }, + }, + }, + }, + }); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + }); + const decision = await client.decide(context, details, []); + + expect(decision.isErrored()).toBe(true); + expect(decision.reason).toMatchObject({ + message: "Boom!", + }); + }); + + test("calling `decide` creates an ERROR ArcjetDecision if DecideResponse is unspecified", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + }; + + const router = { + decide: jest.fn((args) => { + return new DecideResponse({ + decision: { + conclusion: Conclusion.UNSPECIFIED, + }, + }); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + }); + const decision = await client.decide(context, details, []); + + expect(decision.isErrored()).toBe(true); + expect(decision.isAllowed()).toBe(true); + }); + + test("calling `report` will make RPC call with ALLOW decision", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const receivedAt = Timestamp.now(); + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + email: "test@example.com", + }; + + const [promise, resolve] = deferred(); + + const router = { + report: jest.fn((args) => { + resolve(); + return new ReportResponse({}); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + }); + const decision = new ArcjetAllowDecision({ + ttl: 0, + reason: new ArcjetTestReason(), + results: [], + }); + client.report(context, details, decision, []); + + await promise; + + expect(router.report).toHaveBeenCalledTimes(1); + expect(router.report).toHaveBeenCalledWith( + new ReportRequest({ + sdkStack: SDKStack.SDK_STACK_NODEJS, + sdkVersion: "__ARCJET_SDK_VERSION__", + details: { + ...details, + headers: { "user-agent": "curl/8.1.2" }, + }, + decision: { + id: decision.id, + conclusion: Conclusion.ALLOW, + reason: new Reason(), + ruleResults: [], + }, + receivedAt, + }), + expect.anything(), + ); + }); + + test("calling `report` will make RPC call with DENY decision", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const receivedAt = Timestamp.now(); + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + }; + + const [promise, resolve] = deferred(); + + const router = { + report: jest.fn((args) => { + resolve(); + return new ReportResponse({}); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + }); + const decision = new ArcjetDenyDecision({ + ttl: 0, + reason: new ArcjetTestReason(), + results: [], + }); + client.report(context, details, decision, []); + + await promise; + + expect(router.report).toHaveBeenCalledTimes(1); + expect(router.report).toHaveBeenCalledWith( + new ReportRequest({ + sdkStack: SDKStack.SDK_STACK_NODEJS, + sdkVersion: "__ARCJET_SDK_VERSION__", + details: { + ...details, + headers: { "user-agent": "curl/8.1.2" }, + }, + decision: { + id: decision.id, + conclusion: Conclusion.DENY, + reason: new Reason(), + ruleResults: [], + }, + receivedAt, + }), + expect.anything(), + ); + }); + + test("calling `report` will make RPC call with ERROR decision", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const receivedAt = Timestamp.now(); + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + }; + + const [promise, resolve] = deferred(); + + const router = { + report: jest.fn((args) => { + resolve(); + return new ReportResponse({}); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + }); + const decision = new ArcjetErrorDecision({ + ttl: 0, + reason: new ArcjetErrorReason("Failure"), + results: [], + }); + client.report(context, details, decision, []); + + await promise; + + expect(router.report).toHaveBeenCalledTimes(1); + expect(router.report).toHaveBeenCalledWith( + new ReportRequest({ + sdkStack: SDKStack.SDK_STACK_NODEJS, + sdkVersion: "__ARCJET_SDK_VERSION__", + details: { + ...details, + headers: { "user-agent": "curl/8.1.2" }, + }, + decision: { + id: decision.id, + conclusion: Conclusion.ERROR, + reason: new Reason({ + reason: { + case: "error", + value: { + message: "Failure", + }, + }, + }), + ruleResults: [], + }, + receivedAt, + }), + expect.anything(), + ); + }); + + test("calling `report` will make RPC call with CHALLENGE decision", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const receivedAt = Timestamp.now(); + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + }; + + const [promise, resolve] = deferred(); + + const router = { + report: jest.fn((args) => { + resolve(); + return new ReportResponse({}); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + }); + const decision = new ArcjetChallengeDecision({ + ttl: 0, + reason: new ArcjetTestReason(), + results: [], + }); + client.report(context, details, decision, []); + + await promise; + + expect(router.report).toHaveBeenCalledTimes(1); + expect(router.report).toHaveBeenCalledWith( + new ReportRequest({ + sdkStack: SDKStack.SDK_STACK_NODEJS, + sdkVersion: "__ARCJET_SDK_VERSION__", + details: { + ...details, + headers: { "user-agent": "curl/8.1.2" }, + }, + decision: { + id: decision.id, + conclusion: Conclusion.CHALLENGE, + reason: new Reason(), + ruleResults: [], + }, + receivedAt, + }), + expect.anything(), + ); + }); + + test("calling `report` will make RPC call with UNSPECIFIED decision if invalid", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const receivedAt = Timestamp.now(); + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + }; + + const [promise, resolve] = deferred(); + + const router = { + report: jest.fn((args) => { + resolve(); + return new ReportResponse({}); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + }); + const decision = new ArcjetInvalidDecision(); + client.report(context, details, decision, []); + + await promise; + + expect(router.report).toHaveBeenCalledTimes(1); + expect(router.report).toHaveBeenCalledWith( + new ReportRequest({ + sdkStack: SDKStack.SDK_STACK_NODEJS, + sdkVersion: "__ARCJET_SDK_VERSION__", + details: { + ...details, + headers: { "user-agent": "curl/8.1.2" }, + }, + decision: { + id: decision.id, + conclusion: Conclusion.UNSPECIFIED, + reason: new Reason(), + ruleResults: [], + }, + receivedAt, + }), + expect.anything(), + ); + }); + + test("calling `report` will make RPC with rules included", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const receivedAt = Timestamp.now(); + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + email: "abc@example.com", + }; + + const [promise, resolve] = deferred(); + + const router = { + report: jest.fn((args) => { + resolve(); + return new ReportResponse({}); + }), + }; + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, router); + }), + }); + + const decision = new ArcjetDenyDecision({ + ttl: 0, + reason: new ArcjetTestReason(), + results: [ + new ArcjetRuleResult({ + ttl: 0, + state: "RUN", + conclusion: "DENY", + reason: new ArcjetReason(), + }), + ], + }); + const rule: ArcjetRule = { + type: "TEST_RULE", + mode: "LIVE", + priority: 1, + }; + client.report(context, details, decision, [rule]); + + await promise; + + expect(router.report).toHaveBeenCalledTimes(1); + expect(router.report).toHaveBeenCalledWith( + new ReportRequest({ + sdkStack: SDKStack.SDK_STACK_NODEJS, + sdkVersion: "__ARCJET_SDK_VERSION__", + details: { + ...details, + headers: { "user-agent": "curl/8.1.2" }, + }, + decision: { + id: decision.id, + conclusion: Conclusion.DENY, + reason: new Reason(), + ruleResults: [ + new RuleResult({ + ruleId: "", + state: RuleState.RUN, + conclusion: Conclusion.DENY, + reason: new Reason(), + }), + ], + }, + rules: [new Rule()], + receivedAt, + }), + expect.anything(), + ); + }); + + test("calling `report` only logs if it fails", async () => { + const key = "test-key"; + const fingerprint = + "fp_1_ac8547705f1f45c5050f1424700dfa3f6f2f681b550ca4f3c19571585aea7a2c"; + const context = { + key, + fingerprint, + runtime: "test", + log, + }; + const details = { + ip: "172.100.1.1", + method: "GET", + protocol: "http", + host: "example.com", + path: "/", + headers: new Headers([["User-Agent", "curl/8.1.2"]]), + extra: { + "extra-test": "extra-test-value", + }, + }; + + const [promise, resolve] = deferred(); + + const logSpy = jest.spyOn(log, "info").mockImplementation(() => { + resolve(); + }); + + const client = createClient({ + ...defaultRemoteClientOptions, + transport: createRouterTransport(({ service }) => { + service(DecideService, {}); + }), + }); + const decision = new ArcjetAllowDecision({ + ttl: 0, + reason: new ArcjetTestReason(), + results: [], + }); + client.report(context, details, decision, []); + + await promise; + + expect(logSpy).toHaveBeenCalledTimes(1); + }); +});