diff --git a/packages/adapter-d1/README.md b/packages/adapter-d1/README.md
new file mode 100644
index 00000000..1d4b76a8
--- /dev/null
+++ b/packages/adapter-d1/README.md
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
Cloudflare D1 Adapter - NextAuth.js / Auth.js
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+---
+
+Check out the documentation at [authjs.dev](https://authjs.dev/reference/adapter/d1).
diff --git a/packages/adapter-d1/package.json b/packages/adapter-d1/package.json
index dd0b1513..b2cb9171 100644
--- a/packages/adapter-d1/package.json
+++ b/packages/adapter-d1/package.json
@@ -37,18 +37,18 @@
"test": "jest"
},
"peerDependencies": {
- "next-auth": "^4"
+ "@auth/core": "workspace:*"
},
"devDependencies": {
"@cloudflare/workers-types": "^4.20230321.0",
"@miniflare/d1": "^2.12.2",
- "@next-auth/adapter-test": "workspace:*",
- "@next-auth/tsconfig": "workspace:*",
+ "@auth/adapter-test": "workspace:*",
+ "@auth/tsconfig": "workspace:*",
"better-sqlite3": "^7.0.0",
"jest": "^27.0.3",
"next-auth": "workspace:*"
},
"jest": {
- "preset": "@next-auth/adapter-test/jest"
+ "preset": "@auth/adapter-test/jest"
}
-}
\ No newline at end of file
+}
diff --git a/packages/adapter-d1/src/index.ts b/packages/adapter-d1/src/index.ts
index b530484b..90ecbb3c 100644
--- a/packages/adapter-d1/src/index.ts
+++ b/packages/adapter-d1/src/index.ts
@@ -5,89 +5,81 @@
*
*
*
- *
+ *
* ## Warning
* This adapter is not developed or maintained by Clouflare and they haven't declared the D1 api stable. The author will make an effort to keep this adapter up to date.
* The adapter is compatible with the D1 api as of March 22, 2023.
- *
+ *
* ## Installation
*
* ```bash npm2yarn2pnpm
- * npm install next-auth @next-auth/d1-adapter
+ * npm install next-auth @auth/d1-adapter
* ```
*
- * @module @next-auth/d1-adapter
+ * @module @auth/d1-adapter
*/
-import { D1Database } from "@cloudflare/workers-types";
-import { D1Database as MiniflareD1Database } from "@miniflare/d1";
-import * as crypto from 'crypto';
-import {
+import type { D1Database as WorkerDatabase } from "@cloudflare/workers-types"
+import type { D1Database as MiniflareD1Database } from "@miniflare/d1"
+import type {
Adapter,
AdapterSession,
AdapterUser,
AdapterAccount,
-} from "next-auth/adapters";
+ VerificationToken as AdapterVerificationToken,
+} from "@auth/core/adapters"
-
-export { up } from "./migrations";
-
-// some handy internal type aliases
+export { up } from "./migrations"
/**
* @type @cloudflare/workers-types.D1Database | @miniflare/d1.D1Database
*/
-export type BothDB = D1Database | MiniflareD1Database;
-
-interface AdapterVerificationToken {
- expires: Date;
- identifier: string;
- token: string;
-}
+export type D1Database = WorkerDatabase | MiniflareD1Database
// all the sqls
// USER
-export const CREATE_USER_SQL = `INSERT INTO authjs_users (id, name, email, emailVerified, image) VALUES (?, ?, ?, ?, ?)`;
-export const GET_USER_BY_ID_SQL = `SELECT * FROM authjs_users WHERE id = ?`;
-export const GET_USER_BY_EMAIL_SQL = `SELECT * FROM authjs_users WHERE email = ?`;
+export const CREATE_USER_SQL = `INSERT INTO users (id, name, email, emailVerified, image) VALUES (?, ?, ?, ?, ?)`
+export const GET_USER_BY_ID_SQL = `SELECT * FROM users WHERE id = ?`
+export const GET_USER_BY_EMAIL_SQL = `SELECT * FROM users WHERE email = ?`
export const GET_USER_BY_ACCOUNTL_SQL = `
SELECT u.*
- FROM authjs_users u JOIN authjs_accounts a ON a.userId = u.id
- WHERE a.providerAccountId = ? AND a.provider = ?`;
+ FROM users u JOIN accounts a ON a.userId = u.id
+ WHERE a.providerAccountId = ? AND a.provider = ?`
export const UPDATE_USER_BY_ID_SQL = `
- UPDATE authjs_users
+ UPDATE users
SET name = ?, email = ?, emailVerified = ?, image = ?
- WHERE id = ? `;
-export const DELETE_USER_SQL = `DELETE FROM authjs_users WHERE id = ?`;
+ WHERE id = ? `
+export const DELETE_USER_SQL = `DELETE FROM users WHERE id = ?`
- // SESSION
-export const CREATE_SESSION_SQL = 'INSERT INTO authjs_sessions (id, sessionToken, userId, expires) VALUES (?,?,?,?)';
+// SESSION
+export const CREATE_SESSION_SQL =
+ "INSERT INTO sessions (id, sessionToken, userId, expires) VALUES (?,?,?,?)"
export const GET_SESSION_BY_TOKEN_SQL = `
SELECT id, sessionToken, userId, expires
- FROM authjs_sessions
- WHERE sessionToken = ?`;
-export const UPDATE_SESSION_BY_SESSION_TOKEN_SQL = `UPDATE authjs_sessions SET expires = ? WHERE sessionToken = ?`;
-export const DELETE_SESSION_SQL = `DELETE FROM authjs_sessions WHERE sessionToken = ?`;
-export const DELETE_SESSION_BY_USER_ID_SQL = `DELETE FROM authjs_sessions WHERE userId = ?`;
+ FROM sessions
+ WHERE sessionToken = ?`
+export const UPDATE_SESSION_BY_SESSION_TOKEN_SQL = `UPDATE sessions SET expires = ? WHERE sessionToken = ?`
+export const DELETE_SESSION_SQL = `DELETE FROM sessions WHERE sessionToken = ?`
+export const DELETE_SESSION_BY_USER_ID_SQL = `DELETE FROM sessions WHERE userId = ?`
// ACCOUNT
export const CREATE_ACCOUNT_SQL = `
- INSERT INTO authjs_accounts (
+ INSERT INTO accounts (
id, userId, type, provider,
providerAccountId, refresh_token, access_token,
expires_at, token_type, scope, id_token, session_state,
oauth_token, oauth_token_secret
)
- VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)`;
-export const GET_ACCOUNT_BY_ID_SQL = `SELECT * FROM authjs_accounts WHERE id = ? `
-export const GET_ACCOUNT_BY_PROVIDER_AND_PROVIDER_ACCOUNT_ID_SQL = `SELECT * FROM authjs_accounts WHERE provider = ? AND providerAccountId = ?`;
-export const DELETE_ACCOUNT_BY_PROVIDER_AND_PROVIDER_ACCOUNT_ID_SQL = `DELETE FROM authjs_accounts WHERE provider = ? AND providerAccountId = ?`;
-export const DELETE_ACCOUNT_BY_USER_ID_SQL = `DELETE FROM authjs_accounts WHERE userId = ?`;
+ VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)`
+export const GET_ACCOUNT_BY_ID_SQL = `SELECT * FROM accounts WHERE id = ? `
+export const GET_ACCOUNT_BY_PROVIDER_AND_PROVIDER_ACCOUNT_ID_SQL = `SELECT * FROM accounts WHERE provider = ? AND providerAccountId = ?`
+export const DELETE_ACCOUNT_BY_PROVIDER_AND_PROVIDER_ACCOUNT_ID_SQL = `DELETE FROM accounts WHERE provider = ? AND providerAccountId = ?`
+export const DELETE_ACCOUNT_BY_USER_ID_SQL = `DELETE FROM accounts WHERE userId = ?`
// VERIFICATION_TOKEN
-export const GET_VERIFICATION_TOKEN_BY_IDENTIFIER_AND_TOKEN_SQL= `SELECT * FROM authjs_verification_tokens WHERE identifier = ? AND token = ?`;
-export const CREATE_VERIFICATION_TOKEN_SQL = `INSERT INTO authjs_verification_tokens (identifier, expires, token) VALUES (?,?,?)`;
-export const DELETE_VERIFICATION_TOKEN_SQL = `DELETE FROM authjs_verification_tokens WHERE identifier = ? and token = ?`;
+export const GET_VERIFICATION_TOKEN_BY_IDENTIFIER_AND_TOKEN_SQL = `SELECT * FROM verification_tokens WHERE identifier = ? AND token = ?`
+export const CREATE_VERIFICATION_TOKEN_SQL = `INSERT INTO verification_tokens (identifier, expires, token) VALUES (?,?,?)`
+export const DELETE_VERIFICATION_TOKEN_SQL = `DELETE FROM verification_tokens WHERE identifier = ? and token = ?`
// helper functions
@@ -104,11 +96,11 @@ function format(obj: Record): T {
for (const [key, value] of Object.entries(obj)) {
if (value === null) {
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
- delete obj[key];
+ delete obj[key]
}
if (isDate(value)) {
- obj[key] = new Date(value);
+ obj[key] = new Date(value)
}
}
@@ -117,56 +109,82 @@ function format(obj: Record): T {
// D1 doesnt like undefined, it wants null when calling bind
function cleanBindings(bindings: any[]) {
- return bindings.map(e=> e === undefined ? null : e)
+ return bindings.map((e) => (e === undefined ? null : e))
}
-export async function createRecord(db:BothDB, CREATE_SQL:string, bindings: any[], GET_SQL:string, getBindings: any[]):Promise {
+export async function createRecord(
+ db: D1Database,
+ CREATE_SQL: string,
+ bindings: any[],
+ GET_SQL: string,
+ getBindings: any[]
+) {
try {
bindings = cleanBindings(bindings)
- await db.prepare(CREATE_SQL).bind(...bindings).run()
+ await db
+ .prepare(CREATE_SQL)
+ .bind(...bindings)
+ .run()
return await getRecord(db, GET_SQL, getBindings)
- } catch(e:any) {
- console.log(`Error creating record with ${CREATE_SQL} and bindings ${bindings}`)
- console.log(`D1 ERROR MESSAGE`, e.message, e.cause?.message)
+ } catch (e: any) {
+ console.error(e.message, e.cause?.message)
throw e
}
}
-export async function getRecord(db:BothDB, SQL:string, bindings:any[]):Promise {
+export async function getRecord(
+ db: D1Database,
+ SQL: string,
+ bindings: any[]
+): Promise {
try {
bindings = cleanBindings(bindings)
- const res:any = await db.prepare(SQL).bind(...bindings).first()
- if(res) {
+ const res: any = await db
+ .prepare(SQL)
+ .bind(...bindings)
+ .first()
+ if (res) {
return format(res)
} else {
return null
}
- } catch(e:any) {
- console.log(`Error getting record with ${SQL} and bindings ${bindings}`)
- console.log(`D1 ERROR MESSAGE`, e.message, e.cause?.message)
+ } catch (e: any) {
+ console.error(e.message, e.cause?.message)
throw e
}
}
-export async function updateRecord(db:BothDB, SQL:string, bindings:any[]) {
+export async function updateRecord(
+ db: D1Database,
+ SQL: string,
+ bindings: any[]
+) {
try {
bindings = cleanBindings(bindings)
- return await db.prepare(SQL).bind(...bindings).run()
- } catch(e:any) {
- console.log(`Error updating record with ${SQL} and bindings ${bindings}`)
- console.log(`D1 ERROR MESSAGE`, e.message, e.cause?.message)
+ return await db
+ .prepare(SQL)
+ .bind(...bindings)
+ .run()
+ } catch (e: any) {
+ console.error(e.message, e.cause?.message)
throw e
}
}
-export async function deleteRecord(db:BothDB, SQL:string, bindings:any[]) {
+export async function deleteRecord(
+ db: D1Database,
+ SQL: string,
+ bindings: any[]
+) {
// eslint-disable-next-line no-useless-catch
try {
bindings = cleanBindings(bindings)
- await db.prepare(SQL).bind(...bindings).run()
- } catch(e:any) {
- console.log(`Error deleting record with ${SQL} and bindings ${bindings}`)
- console.log(`D1 ERROR MESSAGE`, e.message, e.cause?.message)
+ await db
+ .prepare(SQL)
+ .bind(...bindings)
+ .run()
+ } catch (e: any) {
+ console.error(e.message, e.cause?.message)
throw e
}
}
@@ -181,7 +199,7 @@ export async function deleteRecord(db:BothDB, SQL:string, bindings:any[]) {
*
* ```javascript title="pages/api/auth/[...nextauth].js"
* import NextAuth from "next-auth"
- * import { D1Adapter, up } from "@next-auth/d1-adapter"
+ * import { D1Adapter, up } from "@auth/d1-adapter"
*
*
* // For more information on each option (and a full list of options) go to
@@ -198,14 +216,14 @@ export async function deleteRecord(db:BothDB, SQL:string, bindings:any[]) {
*
* Somewhere in the initialization of your application you need to run the `up(env.db)` function to create the tables in D1.
* It will create 4 tables if they don't already exist:
- * `authjs_accounts`, `authjs_sessions`, `authjs_users`, `authjs_verification_tokens`.
- *
- * The table prefix "authjs_" is not configurable at this time.
- *
+ * `accounts`, `sessions`, `users`, `verification_tokens`.
+ *
+ * The table prefix "" is not configurable at this time.
+ *
* You can use something like the following to attempt the migration once each time your worker starts up. Running migrations more than once will not erase your existing tables.
* ```javascript
- * import { up } from "@next-auth/d1-adapter"
- *
+ * import { up } from "@auth/d1-adapter"
+ *
* let migrated = false;
* async function migrationHandle({event, resolve}) {
* if(!migrated) {
@@ -219,118 +237,173 @@ export async function deleteRecord(db:BothDB, SQL:string, bindings:any[]) {
* return resolve(event)
* }
* ```
- *
+ *
*
* You can also initialize your tables manually. Look in [init.ts](https://github.com/nextauthjs/next-auth/packages/adapter-d1/src/migrations/init.ts) for the relevant sql.
* Paste and run the SQL into your D1 dashboard query tool.
- *
+ *
**/
-export function D1Adapter(db:BothDB): Adapter {
-
+export function D1Adapter(db: D1Database): Adapter {
// we need to run migrations if we dont have the right tables
return {
async createUser(user) {
- console.log('Creating User:', user)
- const id: string = crypto.randomUUID();
- const createBindings = [id, user.name , user.email, user.emailVerified?.toISOString(), user.image];
- const getBindings = [id];
+ const id: string = crypto.randomUUID()
+ const createBindings = [
+ id,
+ user.name,
+ user.email,
+ user.emailVerified?.toISOString(),
+ user.image,
+ ]
+ const getBindings = [id]
+
const newUser = await createRecord(
- db,
- CREATE_USER_SQL, createBindings,
- GET_USER_BY_ID_SQL, getBindings
- );
- // this method cant return null, gotta throw
- if(newUser) return newUser;
- throw new Error(`Couldn't create a new user`);
+ db,
+ CREATE_USER_SQL,
+ createBindings,
+ GET_USER_BY_ID_SQL,
+ getBindings
+ )
+ if (newUser) return newUser
+ throw new Error("Error creating user: Cannot get user after creation.")
},
async getUser(id) {
- return await getRecord(db,GET_USER_BY_ID_SQL,[id]);
+ return await getRecord(db, GET_USER_BY_ID_SQL, [id])
},
async getUserByEmail(email) {
- return await getRecord(db,GET_USER_BY_EMAIL_SQL,[email]);
+ return await getRecord(db, GET_USER_BY_EMAIL_SQL, [email])
},
async getUserByAccount({ providerAccountId, provider }) {
- return await getRecord(db,GET_USER_BY_ACCOUNTL_SQL,[providerAccountId,provider]);
-
+ return await getRecord(db, GET_USER_BY_ACCOUNTL_SQL, [
+ providerAccountId,
+ provider,
+ ])
},
async updateUser(user) {
- const params = await getRecord(db,GET_USER_BY_ID_SQL,[user.id]);
- if(params) {
+ const params = await getRecord(db, GET_USER_BY_ID_SQL, [
+ user.id,
+ ])
+ if (params) {
// copy any properties not in the update into the existing one and use that for bind params
// covers the scenario where the user arg doesnt have all of the current users properties
- Object.assign(params,user);
- const res = await updateRecord(db,UPDATE_USER_BY_ID_SQL,[params.name, params.email, params.emailVerified?.toISOString(), params.image, params.id]);
- if(res.success) {
- // we could probably just return
- const user = await getRecord(db,GET_USER_BY_ID_SQL,[params.id]);
- if(user) return user;
- throw new Error(`couldnt find user after update with id ${params.id}`);
- }
- throw new Error(`couldnt update user with data ${JSON.stringify(user)}`);
+ Object.assign(params, user)
+ const res = await updateRecord(db, UPDATE_USER_BY_ID_SQL, [
+ params.name,
+ params.email,
+ params.emailVerified?.toISOString(),
+ params.image,
+ params.id,
+ ])
+ if (res.success) {
+ // we could probably just return
+ const user = await getRecord(db, GET_USER_BY_ID_SQL, [
+ params.id,
+ ])
+ if (user) return user
+ throw new Error(
+ "Error updating user: Cannot get user after updating."
+ )
+ }
}
- throw new Error(`couldnt find user to update from id ${user.id}`);
+ throw new Error("Error updating user: Failed to run the update SQL.")
},
async deleteUser(userId) {
// this should probably be in a db.batch but batch has problems right now in miniflare
// no multi line sql statements
- await deleteRecord(db, DELETE_ACCOUNT_BY_USER_ID_SQL, [userId]);
- await deleteRecord(db, DELETE_SESSION_BY_USER_ID_SQL, [userId]);
- await deleteRecord(db, DELETE_USER_SQL, [userId]);
- return null;
+ await deleteRecord(db, DELETE_ACCOUNT_BY_USER_ID_SQL, [userId])
+ await deleteRecord(db, DELETE_SESSION_BY_USER_ID_SQL, [userId])
+ await deleteRecord(db, DELETE_USER_SQL, [userId])
+ return null
},
async linkAccount(a) {
// convert user_id to userId and provider_account_id to providerAccountId
- const id = crypto.randomUUID();
- const createBindings = [id, a.userId, a.type, a.provider,
- a.providerAccountId, a.refresh_token , a.access_token,
- a.expires_at, a.token_type, a.scope, a.id_token, a.session_state,
- a.oauth_token?? null, a.oauth_token_secret?? null];
- const getBindings = [id];
+ const id = crypto.randomUUID()
+ const createBindings = [
+ id,
+ a.userId,
+ a.type,
+ a.provider,
+ a.providerAccountId,
+ a.refresh_token,
+ a.access_token,
+ a.expires_at,
+ a.token_type,
+ a.scope,
+ a.id_token,
+ a.session_state,
+ a.oauth_token ?? null,
+ a.oauth_token_secret ?? null,
+ ]
+ const getBindings = [id]
return await createRecord(
db,
- CREATE_ACCOUNT_SQL, createBindings,
- GET_ACCOUNT_BY_ID_SQL, getBindings
- );
+ CREATE_ACCOUNT_SQL,
+ createBindings,
+ GET_ACCOUNT_BY_ID_SQL,
+ getBindings
+ )
},
async unlinkAccount({ providerAccountId, provider }) {
- await deleteRecord(db, DELETE_ACCOUNT_BY_PROVIDER_AND_PROVIDER_ACCOUNT_ID_SQL, [provider, providerAccountId]);
+ await deleteRecord(
+ db,
+ DELETE_ACCOUNT_BY_PROVIDER_AND_PROVIDER_ACCOUNT_ID_SQL,
+ [provider, providerAccountId]
+ )
},
async createSession({ sessionToken, userId, expires }) {
- const id = crypto.randomUUID();
- const createBindings = [id, sessionToken, userId, expires.toISOString()];
- const getBindings = [sessionToken];
- const session = await createRecord(
+ const id = crypto.randomUUID()
+ const createBindings = [id, sessionToken, userId, expires.toISOString()]
+ const getBindings = [sessionToken]
+ const session = await createRecord(
db,
- CREATE_SESSION_SQL, createBindings,
- GET_SESSION_BY_TOKEN_SQL, getBindings
- );
- if(session) return session;
- throw new Error(`Couldn't create session`);
+ CREATE_SESSION_SQL,
+ createBindings,
+ GET_SESSION_BY_TOKEN_SQL,
+ getBindings
+ )
+ if (session) return session
+ throw new Error(`Couldn't create session`)
},
async getSessionAndUser(sessionToken) {
- const session:any = await getRecord(db,GET_SESSION_BY_TOKEN_SQL,[sessionToken]);
+ const session: any = await getRecord(
+ db,
+ GET_SESSION_BY_TOKEN_SQL,
+ [sessionToken]
+ )
// no session? no user!
- if(session === null) return null;
+ if (session === null) return null
// this shouldnt happen, but just in case
- const user = await getRecord(db,GET_USER_BY_ID_SQL,[session.userId]);
- if(user === null) return null;
+ const user = await getRecord(db, GET_USER_BY_ID_SQL, [
+ session.userId,
+ ])
+ if (user === null) return null
- return {session, user};
+ return { session, user }
},
async updateSession({ sessionToken, expires }) {
// kinda strange that we have to deal with an undefined expires,
// we dont have any policy to enforce, lets just expire it now.
- if(expires === undefined) {
+ if (expires === undefined) {
await deleteRecord(db, DELETE_SESSION_SQL, [sessionToken])
return null
}
- const session = await getRecord(db, GET_SESSION_BY_TOKEN_SQL,[sessionToken])
- if(!session) return null
- session.expires = expires;
- await updateRecord(db, UPDATE_SESSION_BY_SESSION_TOKEN_SQL, [expires?.toISOString(), sessionToken])
- return await db.prepare(UPDATE_SESSION_BY_SESSION_TOKEN_SQL).bind(expires?.toISOString(), sessionToken).first()
+ const session = await getRecord(
+ db,
+ GET_SESSION_BY_TOKEN_SQL,
+ [sessionToken]
+ )
+ if (!session) return null
+ session.expires = expires
+ await updateRecord(db, UPDATE_SESSION_BY_SESSION_TOKEN_SQL, [
+ expires?.toISOString(),
+ sessionToken,
+ ])
+ return await db
+ .prepare(UPDATE_SESSION_BY_SESSION_TOKEN_SQL)
+ .bind(expires?.toISOString(), sessionToken)
+ .first()
},
async deleteSession(sessionToken) {
await deleteRecord(db, DELETE_SESSION_SQL, [sessionToken])
@@ -338,14 +411,20 @@ export function D1Adapter(db:BothDB): Adapter {
},
async createVerificationToken({ identifier, expires, token }) {
return await createRecord(
- db,
- CREATE_VERIFICATION_TOKEN_SQL,[identifier, expires.toISOString(), token],
- GET_VERIFICATION_TOKEN_BY_IDENTIFIER_AND_TOKEN_SQL,[identifier, token]
+ db,
+ CREATE_VERIFICATION_TOKEN_SQL,
+ [identifier, expires.toISOString(), token],
+ GET_VERIFICATION_TOKEN_BY_IDENTIFIER_AND_TOKEN_SQL,
+ [identifier, token]
)
},
async useVerificationToken({ identifier, token }) {
- const verificationToken = await getRecord(db, GET_VERIFICATION_TOKEN_BY_IDENTIFIER_AND_TOKEN_SQL, [identifier, token])
- if(!verificationToken) return null
+ const verificationToken = await getRecord(
+ db,
+ GET_VERIFICATION_TOKEN_BY_IDENTIFIER_AND_TOKEN_SQL,
+ [identifier, token]
+ )
+ if (!verificationToken) return null
await deleteRecord(db, DELETE_VERIFICATION_TOKEN_SQL, [identifier, token])
return verificationToken
},
diff --git a/packages/adapter-d1/src/migrations/init.ts b/packages/adapter-d1/src/migrations.ts
similarity index 58%
rename from packages/adapter-d1/src/migrations/init.ts
rename to packages/adapter-d1/src/migrations.ts
index 283e574b..483c0cba 100644
--- a/packages/adapter-d1/src/migrations/init.ts
+++ b/packages/adapter-d1/src/migrations.ts
@@ -1,5 +1,7 @@
-export const up = [
-`CREATE TABLE IF NOT EXISTS "authjs_accounts" (
+import type { D1Database } from "."
+
+export const upSQLStatements = [
+ `CREATE TABLE IF NOT EXISTS "accounts" (
"id" text NOT NULL,
"userId" text NOT NULL DEFAULT NULL,
"type" text NOT NULL DEFAULT NULL,
@@ -16,14 +18,14 @@ export const up = [
"oauth_token" text DEFAULT NULL,
PRIMARY KEY (id)
);`,
-`CREATE TABLE IF NOT EXISTS "authjs_sessions" (
+ `CREATE TABLE IF NOT EXISTS "sessions" (
"id" text NOT NULL,
"sessionToken" text NOT NULL,
"userId" text NOT NULL DEFAULT NULL,
"expires" datetime NOT NULL DEFAULT NULL,
PRIMARY KEY (sessionToken)
);`,
-`CREATE TABLE IF NOT EXISTS "authjs_users" (
+ `CREATE TABLE IF NOT EXISTS "users" (
"id" text NOT NULL DEFAULT '',
"name" text DEFAULT NULL,
"email" text DEFAULT NULL,
@@ -31,23 +33,36 @@ export const up = [
"image" text DEFAULT NULL,
PRIMARY KEY (id)
);`,
-`CREATE TABLE IF NOT EXISTS "authjs_verification_tokens" (
+ `CREATE TABLE IF NOT EXISTS "verification_tokens" (
"identifier" text NOT NULL,
"token" text NOT NULL DEFAULT NULL,
"expires" datetime NOT NULL DEFAULT NULL,
PRIMARY KEY (token)
-);`
-];
+);`,
+]
export const down = [
-`DROP TABLE IF EXISTS "authjs_accounts";`,
-`DROP TABLE IF EXISTS "authjs_sessions";`,
-`DROP TABLE IF EXISTS "authjs_users";`,
-`DROP TABLE IF EXISTS "authjs_verification_token";`
-];
-
-
-
-
+ `DROP TABLE IF EXISTS "accounts";`,
+ `DROP TABLE IF EXISTS "sessions";`,
+ `DROP TABLE IF EXISTS "users";`,
+ `DROP TABLE IF EXISTS "verification_token";`,
+]
+/**
+ *
+ * @param db
+ */
+async function up(db: D1Database) {
+ // run the migration
+ upSQLStatements.forEach(async (sql) => {
+ try {
+ console.log("applying db migration sql", sql)
+ const res = await db.prepare(sql).run()
+ console.log("migration result", res)
+ } catch (e: any) {
+ console.log(e.cause?.message, e.message)
+ }
+ })
+}
+export { up }
diff --git a/packages/adapter-d1/src/migrations/index.ts b/packages/adapter-d1/src/migrations/index.ts
deleted file mode 100644
index 7aa2f1b9..00000000
--- a/packages/adapter-d1/src/migrations/index.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import {up as upSQLStatements} from "./init";
-// @ts-ignore
-import { D1Database, D1PreparedStatement } from "@cloudflare/workers-types";
-import type { BothDB } from "..";
-
-/**
- *
- * @param db
- */
-async function up(db: BothDB) {
- // run the migration
- upSQLStatements.forEach(async (sql)=>{
- try {
- console.log('applying db migration sql', sql)
- const res = await db.prepare(sql).run();
- console.log('migration result', res)
- } catch(e:any) {
- console.log(e.cause?.message, e.message)
- }
-
- })
-}
-
-export { up }
\ No newline at end of file
diff --git a/packages/adapter-d1/tests/index.test.ts b/packages/adapter-d1/tests/index.test.ts
index b0f09c39..25e82a29 100644
--- a/packages/adapter-d1/tests/index.test.ts
+++ b/packages/adapter-d1/tests/index.test.ts
@@ -1,33 +1,46 @@
-import {
+import {
D1Adapter,
up,
getRecord,
GET_USER_BY_ID_SQL,
GET_SESSION_BY_TOKEN_SQL,
GET_ACCOUNT_BY_PROVIDER_AND_PROVIDER_ACCOUNT_ID_SQL,
- GET_VERIFICATION_TOKEN_BY_IDENTIFIER_AND_TOKEN_SQL
-} from "../src";
+ GET_VERIFICATION_TOKEN_BY_IDENTIFIER_AND_TOKEN_SQL,
+} from "../src"
import {
AdapterSession,
AdapterUser,
- AdapterAccount
-} from "next-auth/adapters";
-import { D1Database, D1DatabaseAPI } from "@miniflare/d1";
-import { runBasicTests } from "@next-auth/adapter-test";
-import Database from "better-sqlite3";
+ AdapterAccount,
+} from "@auth/core/adapters"
+import { D1Database, D1DatabaseAPI } from "@miniflare/d1"
+import { runBasicTests } from "@auth/adapter-test"
+import Database from "better-sqlite3"
-const sqliteDB = new Database(":memory:");
-let db = new D1Database(new D1DatabaseAPI(sqliteDB));
-let adapter = D1Adapter(db);
+const sqliteDB = new Database(":memory:")
+let db = new D1Database(new D1DatabaseAPI(sqliteDB as any))
+let adapter = D1Adapter(db)
// put stuff here if we need some async init
-beforeAll(async ()=> await up(db))
+beforeAll(async () => await up(db))
runBasicTests({
- adapter: adapter,
+ adapter,
db: {
- user: async id => await getRecord(db,GET_USER_BY_ID_SQL,[id]),
- session: async sessionToken => await getRecord(db,GET_SESSION_BY_TOKEN_SQL,[sessionToken]),
- account: async ({ provider, providerAccountId }) => await getRecord(db,GET_ACCOUNT_BY_PROVIDER_AND_PROVIDER_ACCOUNT_ID_SQL,[provider, providerAccountId]),
- verificationToken: async ({ identifier, token }) => await getRecord(db,GET_VERIFICATION_TOKEN_BY_IDENTIFIER_AND_TOKEN_SQL,[identifier, token])
+ user: async (id) =>
+ await getRecord(db, GET_USER_BY_ID_SQL, [id]),
+ session: async (sessionToken) =>
+ await getRecord(db, GET_SESSION_BY_TOKEN_SQL, [
+ sessionToken,
+ ]),
+ account: async ({ provider, providerAccountId }) =>
+ await getRecord(
+ db,
+ GET_ACCOUNT_BY_PROVIDER_AND_PROVIDER_ACCOUNT_ID_SQL,
+ [provider, providerAccountId]
+ ),
+ verificationToken: async ({ identifier, token }) =>
+ await getRecord(db, GET_VERIFICATION_TOKEN_BY_IDENTIFIER_AND_TOKEN_SQL, [
+ identifier,
+ token,
+ ]),
},
-});
+})
diff --git a/packages/adapter-d1/tsconfig.json b/packages/adapter-d1/tsconfig.json
index b7d20a1f..d6b067c5 100644
--- a/packages/adapter-d1/tsconfig.json
+++ b/packages/adapter-d1/tsconfig.json
@@ -1,9 +1,20 @@
{
- "extends": "@next-auth/tsconfig/tsconfig.adapters.json",
+ "extends": "@auth/tsconfig/tsconfig.base.json",
"compilerOptions": {
+ "allowJs": true,
+ "baseUrl": ".",
+ "isolatedModules": true,
+ "target": "ES2020",
+ "module": "ESNext",
+ "moduleResolution": "node",
+ "outDir": ".",
"rootDir": "src",
- "outDir": "dist",
- "types": ["@cloudflare/workers-types"]
+ "skipDefaultLibCheck": true,
+ "strictNullChecks": true,
+ "stripInternal": true,
+ "declarationMap": true,
+ "declaration": true
},
- "exclude": ["tests", "dist", "jest.config.js"]
+ "include": ["src/**/*", "tests/migrations"],
+ "exclude": ["*.js", "*.d.ts"]
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index bace0ec4..69fce654 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -312,6 +312,34 @@ importers:
specifier: 4.0.0-next.6
version: 4.0.0-next.6(prettier@2.8.1)(typedoc@0.24.8)
+ packages/adapter-d1:
+ dependencies:
+ '@auth/core':
+ specifier: workspace:*
+ version: link:../core
+ devDependencies:
+ '@auth/adapter-test':
+ specifier: workspace:*
+ version: link:../adapter-test
+ '@auth/tsconfig':
+ specifier: workspace:*
+ version: link:../tsconfig
+ '@cloudflare/workers-types':
+ specifier: ^4.20230321.0
+ version: 4.20230914.0
+ '@miniflare/d1':
+ specifier: ^2.12.2
+ version: 2.14.1
+ better-sqlite3:
+ specifier: ^7.0.0
+ version: 7.6.2
+ jest:
+ specifier: ^27.0.3
+ version: 27.5.1
+ next-auth:
+ specifier: workspace:*
+ version: link:../next-auth
+
packages/adapter-dgraph:
dependencies:
'@auth/core':
@@ -2717,6 +2745,7 @@ packages:
semver: 6.3.0
transitivePeerDependencies:
- supports-color
+ dev: true
/@babel/core@7.22.1:
resolution: {integrity: sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==}
@@ -2830,6 +2859,7 @@ packages:
browserslist: 4.21.4
lru-cache: 5.1.1
semver: 6.3.0
+ dev: true
/@babel/helper-compilation-targets@7.20.7(@babel/core@7.22.1):
resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==}
@@ -2845,6 +2875,20 @@ packages:
semver: 6.3.0
dev: true
+ /@babel/helper-compilation-targets@7.22.1(@babel/core@7.20.12):
+ resolution: {integrity: sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/compat-data': 7.22.3
+ '@babel/core': 7.20.12
+ '@babel/helper-validator-option': 7.21.0
+ browserslist: 4.21.4
+ lru-cache: 5.1.1
+ semver: 6.3.0
+ dev: true
+
/@babel/helper-compilation-targets@7.22.1(@babel/core@7.22.1):
resolution: {integrity: sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==}
engines: {node: '>=6.9.0'}
@@ -3005,7 +3049,7 @@ packages:
resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.22.4
dev: true
/@babel/helper-function-name@7.19.0:
@@ -3032,7 +3076,7 @@ packages:
resolution: {integrity: sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.22.4
dev: true
/@babel/helper-module-imports@7.16.0:
@@ -3090,6 +3134,7 @@ packages:
'@babel/types': 7.20.7
transitivePeerDependencies:
- supports-color
+ dev: true
/@babel/helper-module-transforms@7.22.1:
resolution: {integrity: sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==}
@@ -3182,9 +3227,9 @@ packages:
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-member-expression-to-functions': 7.20.7
'@babel/helper-optimise-call-expression': 7.18.6
- '@babel/template': 7.20.7
- '@babel/traverse': 7.20.13
- '@babel/types': 7.20.7
+ '@babel/template': 7.21.9
+ '@babel/traverse': 7.22.4
+ '@babel/types': 7.22.4
transitivePeerDependencies:
- supports-color
dev: true
@@ -3245,8 +3290,8 @@ packages:
dependencies:
'@babel/helper-function-name': 7.19.0
'@babel/template': 7.20.7
- '@babel/traverse': 7.20.13
- '@babel/types': 7.20.7
+ '@babel/traverse': 7.22.4
+ '@babel/types': 7.22.4
transitivePeerDependencies:
- supports-color
dev: true
@@ -3265,11 +3310,12 @@ packages:
resolution: {integrity: sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/template': 7.20.7
- '@babel/traverse': 7.20.13
- '@babel/types': 7.20.7
+ '@babel/template': 7.21.9
+ '@babel/traverse': 7.22.4
+ '@babel/types': 7.22.4
transitivePeerDependencies:
- supports-color
+ dev: true
/@babel/helpers@7.22.3:
resolution: {integrity: sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==}
@@ -3875,7 +3921,7 @@ packages:
dependencies:
'@babel/compat-data': 7.20.10
'@babel/core': 7.20.12
- '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12)
+ '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.20.12)
'@babel/helper-plugin-utils': 7.20.2
'@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.12)
'@babel/plugin-transform-parameters': 7.20.3(@babel/core@7.20.12)
@@ -3889,7 +3935,7 @@ packages:
dependencies:
'@babel/compat-data': 7.20.10
'@babel/core': 7.22.1
- '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.22.1)
+ '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1)
'@babel/helper-plugin-utils': 7.20.2
'@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.1)
'@babel/plugin-transform-parameters': 7.20.3(@babel/core@7.22.1)
@@ -4198,7 +4244,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-plugin-utils': 7.21.5
dev: true
/@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.1):
@@ -4207,7 +4253,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.22.1
- '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-plugin-utils': 7.21.5
/@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.18.5):
resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
@@ -4365,7 +4411,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-plugin-utils': 7.21.5
dev: true
/@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.1):
@@ -4374,7 +4420,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.22.1
- '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-plugin-utils': 7.21.5
/@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.18.5):
resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
@@ -4695,6 +4741,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
+ /@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.20.12):
+ resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.21.5
+ dev: true
+
/@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.22.1):
resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==}
engines: {node: '>=6.9.0'}
@@ -4927,7 +4983,7 @@ packages:
dependencies:
'@babel/core': 7.20.12
'@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12)
+ '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.20.12)
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-function-name': 7.19.0
'@babel/helper-optimise-call-expression': 7.18.6
@@ -4947,7 +5003,7 @@ packages:
dependencies:
'@babel/core': 7.22.1
'@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.22.1)
+ '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1)
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-function-name': 7.19.0
'@babel/helper-optimise-call-expression': 7.18.6
@@ -5249,7 +5305,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
- '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12)
+ '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.20.12)
'@babel/helper-function-name': 7.19.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
@@ -5261,7 +5317,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.22.1
- '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.22.1)
+ '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1)
'@babel/helper-function-name': 7.19.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
@@ -5381,7 +5437,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
- '@babel/helper-module-transforms': 7.20.11
+ '@babel/helper-module-transforms': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
transitivePeerDependencies:
- supports-color
@@ -5394,7 +5450,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.22.1
- '@babel/helper-module-transforms': 7.20.11
+ '@babel/helper-module-transforms': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
transitivePeerDependencies:
- supports-color
@@ -5437,7 +5493,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
- '@babel/helper-module-transforms': 7.20.11
+ '@babel/helper-module-transforms': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-simple-access': 7.20.2
transitivePeerDependencies:
@@ -5451,7 +5507,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.22.1
- '@babel/helper-module-transforms': 7.20.11
+ '@babel/helper-module-transforms': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-simple-access': 7.20.2
transitivePeerDependencies:
@@ -5498,7 +5554,7 @@ packages:
dependencies:
'@babel/core': 7.20.12
'@babel/helper-hoist-variables': 7.18.6
- '@babel/helper-module-transforms': 7.20.11
+ '@babel/helper-module-transforms': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-validator-identifier': 7.19.1
transitivePeerDependencies:
@@ -5513,7 +5569,7 @@ packages:
dependencies:
'@babel/core': 7.22.1
'@babel/helper-hoist-variables': 7.18.6
- '@babel/helper-module-transforms': 7.20.11
+ '@babel/helper-module-transforms': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-validator-identifier': 7.19.1
transitivePeerDependencies:
@@ -5553,7 +5609,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
- '@babel/helper-module-transforms': 7.20.11
+ '@babel/helper-module-transforms': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
transitivePeerDependencies:
- supports-color
@@ -5566,7 +5622,7 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.22.1
- '@babel/helper-module-transforms': 7.20.11
+ '@babel/helper-module-transforms': 7.22.1
'@babel/helper-plugin-utils': 7.20.2
transitivePeerDependencies:
- supports-color
@@ -5897,7 +5953,7 @@ packages:
'@babel/helper-module-imports': 7.18.6
'@babel/helper-plugin-utils': 7.20.2
'@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.22.1)
- '@babel/types': 7.20.7
+ '@babel/types': 7.22.4
dev: true
/@babel/plugin-transform-react-pure-annotations@7.18.0(@babel/core@7.18.5):
@@ -6284,7 +6340,7 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-create-class-features-plugin': 7.20.2(@babel/core@7.20.12)
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.20.12)
+ '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.20.12)
transitivePeerDependencies:
- supports-color
dev: true
@@ -6298,7 +6354,7 @@ packages:
'@babel/core': 7.22.1
'@babel/helper-create-class-features-plugin': 7.20.2(@babel/core@7.22.1)
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.22.1)
+ '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.22.1)
transitivePeerDependencies:
- supports-color
dev: true
@@ -6901,14 +6957,14 @@ packages:
resolution: {integrity: sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/code-frame': 7.18.6
- '@babel/generator': 7.20.14
+ '@babel/code-frame': 7.21.4
+ '@babel/generator': 7.22.3
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-function-name': 7.19.0
'@babel/helper-hoist-variables': 7.18.6
'@babel/helper-split-export-declaration': 7.18.6
- '@babel/parser': 7.20.15
- '@babel/types': 7.20.7
+ '@babel/parser': 7.22.4
+ '@babel/types': 7.22.4
debug: 4.3.4(supports-color@7.2.0)
globals: 11.12.0
transitivePeerDependencies:
@@ -6990,6 +7046,10 @@ packages:
/@braintree/sanitize-url@6.0.2:
resolution: {integrity: sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==}
+ /@cloudflare/workers-types@4.20230914.0:
+ resolution: {integrity: sha512-OVeN4lFVu1O0PJGZ2d0FwpK8lelFcr33qYOgCh77ErEYmEBO4adwnIxcIsdQbFbhF0ffN6joiVcljD4zakdaeQ==}
+ dev: true
+
/@cnakazawa/watch@1.0.4:
resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==}
engines: {node: '>=0.1.95'}
@@ -8861,6 +8921,10 @@ packages:
resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
dev: true
+ /@iarna/toml@2.2.5:
+ resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==}
+ dev: true
+
/@istanbuljs/load-nyc-config@1.1.0:
resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
engines: {node: '>=8'}
@@ -8906,7 +8970,7 @@ packages:
'@jest/types': 28.1.3
'@types/node': 17.0.45
chalk: 4.1.2
- jest-message-util: 28.1.1
+ jest-message-util: 28.1.3
jest-util: 28.1.3
slash: 3.0.0
dev: true
@@ -8918,8 +8982,8 @@ packages:
'@jest/types': 29.5.0
'@types/node': 17.0.45
chalk: 4.1.2
- jest-message-util: 29.2.1
- jest-util: 29.2.1
+ jest-message-util: 29.5.0
+ jest-util: 29.5.0
slash: 3.0.0
dev: true
@@ -8930,8 +8994,8 @@ packages:
'@jest/types': 29.5.0
'@types/node': 17.0.45
chalk: 4.1.2
- jest-message-util: 29.3.1
- jest-util: 29.3.1
+ jest-message-util: 29.5.0
+ jest-util: 29.5.0
slash: 3.0.0
dev: true
@@ -9289,7 +9353,7 @@ packages:
resolution: {integrity: sha512-vwnVmrVhTmGgQzyvcpze08br91OL61t9O0lJMDyb6Y/D8EKQ9V7rGUb/p7PDt0GPzK0zFYqXWFo4EO2legXmkg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- jest-get-type: 29.2.0
+ jest-get-type: 29.4.3
dev: true
/@jest/expect-utils@29.3.1:
@@ -9320,7 +9384,7 @@ packages:
resolution: {integrity: sha512-Lz/3x4Se5g6nBuLjTO+xE8D4OXY9fFmosZPwkXXZUJUsp9r9seN81cJa54wOGr1QjCQnhngMqclblhM4X/hcCg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- expect: 29.3.1
+ expect: 29.5.0
jest-snapshot: 29.5.0
transitivePeerDependencies:
- supports-color
@@ -9330,7 +9394,7 @@ packages:
resolution: {integrity: sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- expect: 29.3.1
+ expect: 29.5.0
jest-snapshot: 29.5.0
transitivePeerDependencies:
- supports-color
@@ -9401,7 +9465,7 @@ packages:
'@jest/types': 29.5.0
'@sinonjs/fake-timers': 9.1.2
'@types/node': 17.0.45
- jest-message-util: 29.3.1
+ jest-message-util: 29.5.0
jest-mock: 29.3.0
jest-util: 29.5.0
dev: true
@@ -9413,7 +9477,7 @@ packages:
'@jest/types': 29.5.0
'@sinonjs/fake-timers': 9.1.2
'@types/node': 17.0.45
- jest-message-util: 29.3.1
+ jest-message-util: 29.5.0
jest-mock: 29.3.1
jest-util: 29.5.0
dev: true
@@ -9452,7 +9516,7 @@ packages:
resolution: {integrity: sha512-dEgl/6v7ToB4vXItdvcltJBgny0xBE6xy6IYQrPJAJggdEinGxCDMivNv7sFzPcTITGquXD6UJwYxfJ/5ZwDSg==}
engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
dependencies:
- '@jest/environment': 28.1.1
+ '@jest/environment': 28.1.3
'@jest/expect': 28.1.1
'@jest/types': 28.1.3
transitivePeerDependencies:
@@ -9463,7 +9527,7 @@ packages:
resolution: {integrity: sha512-okYDVzYNrt/4ysR8XnX6u0I1bGG4kmfdXtUu7kwWHZ9OP13RCjmphgve0tfOrNluwksWvOPYS1f/HOrFTHLygQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/environment': 29.3.0
+ '@jest/environment': 29.5.0
'@jest/expect': 29.3.0
'@jest/types': 29.5.0
jest-mock: 29.3.0
@@ -9593,7 +9657,7 @@ packages:
istanbul-lib-report: 3.0.0
istanbul-lib-source-maps: 4.0.1
istanbul-reports: 3.1.4
- jest-message-util: 28.1.1
+ jest-message-util: 28.1.3
jest-util: 28.1.3
jest-worker: 28.1.1
slash: 3.0.0
@@ -9615,9 +9679,9 @@ packages:
optional: true
dependencies:
'@bcoe/v8-coverage': 0.2.3
- '@jest/console': 29.2.1
- '@jest/test-result': 29.2.1
- '@jest/transform': 29.3.0
+ '@jest/console': 29.5.0
+ '@jest/test-result': 29.5.0
+ '@jest/transform': 29.5.0
'@jest/types': 29.5.0
'@jridgewell/trace-mapping': 0.3.17
'@types/node': 17.0.45
@@ -9631,8 +9695,8 @@ packages:
istanbul-lib-report: 3.0.0
istanbul-lib-source-maps: 4.0.1
istanbul-reports: 3.1.4
- jest-message-util: 29.2.1
- jest-util: 29.2.1
+ jest-message-util: 29.5.0
+ jest-util: 29.5.0
jest-worker: 29.3.1
slash: 3.0.0
string-length: 4.0.2
@@ -9652,9 +9716,9 @@ packages:
optional: true
dependencies:
'@bcoe/v8-coverage': 0.2.3
- '@jest/console': 29.3.1
- '@jest/test-result': 29.3.1
- '@jest/transform': 29.3.1
+ '@jest/console': 29.5.0
+ '@jest/test-result': 29.5.0
+ '@jest/transform': 29.5.0
'@jest/types': 29.5.0
'@jridgewell/trace-mapping': 0.3.17
'@types/node': 17.0.45
@@ -9668,8 +9732,8 @@ packages:
istanbul-lib-report: 3.0.0
istanbul-lib-source-maps: 4.0.1
istanbul-reports: 3.1.4
- jest-message-util: 29.3.1
- jest-util: 29.3.1
+ jest-message-util: 29.5.0
+ jest-util: 29.5.0
jest-worker: 29.3.1
slash: 3.0.0
string-length: 4.0.2
@@ -9823,7 +9887,7 @@ packages:
resolution: {integrity: sha512-lS4+H+VkhbX6z64tZP7PAUwPqhwj3kbuEHcaLuaBuB+riyaX7oa1txe0tXgrFj5hRWvZKvqO7LZDlNWeJ7VTPA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/console': 29.2.1
+ '@jest/console': 29.5.0
'@jest/types': 29.5.0
'@types/istanbul-lib-coverage': 2.0.4
collect-v8-coverage: 1.0.1
@@ -9833,7 +9897,7 @@ packages:
resolution: {integrity: sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/console': 29.3.1
+ '@jest/console': 29.5.0
'@jest/types': 29.5.0
'@types/istanbul-lib-coverage': 2.0.4
collect-v8-coverage: 1.0.1
@@ -9894,7 +9958,7 @@ packages:
dependencies:
'@jest/test-result': 29.5.0
graceful-fs: 4.2.10
- jest-haste-map: 29.3.1
+ jest-haste-map: 29.5.0
slash: 3.0.0
dev: true
@@ -9904,7 +9968,7 @@ packages:
dependencies:
'@jest/test-result': 29.5.0
graceful-fs: 4.2.10
- jest-haste-map: 29.3.1
+ jest-haste-map: 29.5.0
slash: 3.0.0
dev: true
@@ -9968,7 +10032,7 @@ packages:
resolution: {integrity: sha512-PkfaTUuvjUarl1EDr5ZQcCA++oXkFCP9QFUkG0yVKVmNObjhrqDy0kbMpMebfHWm3CCDHjYNem9eUSH8suVNHQ==}
engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.22.1
'@jest/types': 28.1.3
'@jridgewell/trace-mapping': 0.3.17
babel-plugin-istanbul: 6.1.1
@@ -9982,7 +10046,7 @@ packages:
micromatch: 4.0.5
pirates: 4.0.5
slash: 3.0.0
- write-file-atomic: 4.0.1
+ write-file-atomic: 4.0.2
transitivePeerDependencies:
- supports-color
dev: true
@@ -9999,9 +10063,9 @@ packages:
convert-source-map: 2.0.0
fast-json-stable-stringify: 2.1.0
graceful-fs: 4.2.10
- jest-haste-map: 29.3.0
- jest-regex-util: 29.2.0
- jest-util: 29.2.1
+ jest-haste-map: 29.5.0
+ jest-regex-util: 29.4.3
+ jest-util: 29.5.0
micromatch: 4.0.5
pirates: 4.0.5
slash: 3.0.0
@@ -10368,6 +10432,54 @@ packages:
- tedious
dev: true
+ /@miniflare/core@2.14.1:
+ resolution: {integrity: sha512-d+SGAda/VoXq+SKz04oq8ATUwQw5755L87fgPR8pTdR2YbWkxdbmEm1z2olOpDiUjcR86aN6NtCjY6tUC7fqaw==}
+ engines: {node: '>=16.13'}
+ dependencies:
+ '@iarna/toml': 2.2.5
+ '@miniflare/queues': 2.14.1
+ '@miniflare/shared': 2.14.1
+ '@miniflare/watcher': 2.14.1
+ busboy: 1.6.0
+ dotenv: 10.0.0
+ kleur: 4.1.5
+ set-cookie-parser: 2.5.1
+ undici: 5.20.0
+ urlpattern-polyfill: 4.0.3
+ dev: true
+
+ /@miniflare/d1@2.14.1:
+ resolution: {integrity: sha512-MulDDBsDD8o5DwiqdMeJZy2vLoMji+NWnLcuibSag2mayA0LJcp0eHezseZNkW+knciWR1gMP8Xpa4Q1KwkbKA==}
+ engines: {node: '>=16.7'}
+ dependencies:
+ '@miniflare/core': 2.14.1
+ '@miniflare/shared': 2.14.1
+ dev: true
+
+ /@miniflare/queues@2.14.1:
+ resolution: {integrity: sha512-uBzrbBkIgtNoztDpmMMISg/brYtxLHRE7oTaN8OVnq3bG+3nF9kQC42HUz+Vg+sf65UlvhSaqkjllgx+fNtOxQ==}
+ engines: {node: '>=16.7'}
+ dependencies:
+ '@miniflare/shared': 2.14.1
+ dev: true
+
+ /@miniflare/shared@2.14.1:
+ resolution: {integrity: sha512-73GnLtWn5iP936ctE6ZJrMqGu134KOoIIveq5Yd/B+NnbFfzpuzjCpkLrnqjkDdsxDbruXSb5eTR/SmAdpJxZQ==}
+ engines: {node: '>=16.13'}
+ dependencies:
+ '@types/better-sqlite3': 7.6.4
+ kleur: 4.1.5
+ npx-import: 1.1.4
+ picomatch: 2.3.1
+ dev: true
+
+ /@miniflare/watcher@2.14.1:
+ resolution: {integrity: sha512-dkFvetm5wk6pwunlYb/UkI0yFNb3otLpRm5RDywMUzqObEf+rCiNNAbJe3HUspr2ncZVAaRWcEaDh82vYK5cmw==}
+ engines: {node: '>=16.13'}
+ dependencies:
+ '@miniflare/shared': 2.14.1
+ dev: true
+
/@mongodb-js/saslprep@1.1.0:
resolution: {integrity: sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==}
requiresBuild: true
@@ -11936,7 +12048,7 @@ packages:
/@types/babel__traverse@7.17.1:
resolution: {integrity: sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.22.4
/@types/better-sqlite3@7.6.4:
resolution: {integrity: sha512-dzrRZCYPXIXfSR1/surNbJ/grU3scTaygS0OMzjlGf71i9sc2fGyHPXXiXmEvNIoE0cGwsanEFMVJxPXmco9Eg==}
@@ -13745,17 +13857,17 @@ packages:
- supports-color
dev: true
- /babel-jest@28.1.1(@babel/core@7.20.12):
+ /babel-jest@28.1.1(@babel/core@7.22.1):
resolution: {integrity: sha512-MEt0263viUdAkTq5D7upHPNxvt4n9uLUGa6pPz3WviNBMtOmStb1lIXS3QobnoqM+qnH+vr4EKlvhe8QcmxIYw==}
engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
peerDependencies:
'@babel/core': ^7.8.0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.22.1
'@jest/transform': 28.1.1
'@types/babel__core': 7.1.19
babel-plugin-istanbul: 6.1.1
- babel-preset-jest: 28.1.1(@babel/core@7.20.12)
+ babel-preset-jest: 28.1.1(@babel/core@7.22.1)
chalk: 4.1.2
graceful-fs: 4.2.10
slash: 3.0.0
@@ -13770,7 +13882,7 @@ packages:
'@babel/core': ^7.8.0
dependencies:
'@babel/core': 7.20.12
- '@jest/transform': 29.3.1
+ '@jest/transform': 29.5.0
'@types/babel__core': 7.1.19
babel-plugin-istanbul: 6.1.1
babel-preset-jest: 29.2.0(@babel/core@7.20.12)
@@ -13788,7 +13900,7 @@ packages:
'@babel/core': ^7.8.0
dependencies:
'@babel/core': 7.20.12
- '@jest/transform': 29.3.1
+ '@jest/transform': 29.5.0
'@types/babel__core': 7.1.19
babel-plugin-istanbul: 6.1.1
babel-preset-jest: 29.2.0(@babel/core@7.20.12)
@@ -14155,15 +14267,15 @@ packages:
babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.1)
dev: true
- /babel-preset-jest@28.1.1(@babel/core@7.20.12):
+ /babel-preset-jest@28.1.1(@babel/core@7.22.1):
resolution: {integrity: sha512-FCq9Oud0ReTeWtcneYf/48981aTfXYuB9gbU4rBNNJVBSQ6ssv7E6v/qvbBxtOWwZFXjLZwpg+W3q7J6vhH25g==}
engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.22.1
babel-plugin-jest-hoist: 28.1.1
- babel-preset-current-node-syntax: 1.0.1(@babel/core@7.20.12)
+ babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.1)
dev: true
/babel-preset-jest@29.2.0(@babel/core@7.20.12):
@@ -14257,6 +14369,14 @@ packages:
dependencies:
tweetnacl: 0.14.5
+ /better-sqlite3@7.6.2:
+ resolution: {integrity: sha512-S5zIU1Hink2AH4xPsN0W43T1/AJ5jrPh7Oy07ocuW/AKYYY02GWzz9NH0nbSMn/gw6fDZ5jZ1QsHt1BXAwJ6Lg==}
+ requiresBuild: true
+ dependencies:
+ bindings: 1.5.0
+ prebuild-install: 7.1.1
+ dev: true
+
/better-sqlite3@8.5.0:
resolution: {integrity: sha512-vbPcv/Hx5WYdyNg/NbcfyaBZyv9s/NVbxb7yCeC5Bq1pVocNxeL2tZmSu3Rlm4IEOTjYdGyzWQgyx0OSdORBzw==}
requiresBuild: true
@@ -14543,6 +14663,12 @@ packages:
dependencies:
node-gyp-build: 4.5.0
+ /builtins@5.0.1:
+ resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==}
+ dependencies:
+ semver: 7.5.1
+ dev: true
+
/bundle-require@3.1.2(esbuild@0.15.16):
resolution: {integrity: sha512-Of6l6JBAxiyQ5axFxUM6dYeP/W7X2Sozeo/4EYB9sJhL+dqL7TKjg+shwxp6jlu/6ZSERfsYtIpSJ1/x3XkAEA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -18601,6 +18727,21 @@ packages:
strip-final-newline: 2.0.0
dev: true
+ /execa@6.1.0:
+ resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 3.0.1
+ is-stream: 3.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 5.1.0
+ onetime: 6.0.0
+ signal-exit: 3.0.7
+ strip-final-newline: 3.0.0
+ dev: true
+
/executable@4.1.1:
resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==}
engines: {node: '>=4'}
@@ -20575,6 +20716,11 @@ packages:
engines: {node: '>=10.17.0'}
dev: true
+ /human-signals@3.0.1:
+ resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==}
+ engines: {node: '>=12.20.0'}
+ dev: true
+
/humanize-ms@1.2.1:
resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
requiresBuild: true
@@ -21174,6 +21320,11 @@ packages:
resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
engines: {node: '>=8'}
+ /is-stream@3.0.0:
+ resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: true
+
/is-string@1.0.7:
resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
engines: {node: '>= 0.4'}
@@ -21339,8 +21490,8 @@ packages:
resolution: {integrity: sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==}
engines: {node: '>=8'}
dependencies:
- '@babel/core': 7.20.12
- '@babel/parser': 7.20.15
+ '@babel/core': 7.22.1
+ '@babel/parser': 7.22.4
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.0
semver: 6.3.0
@@ -21453,7 +21604,7 @@ packages:
resolution: {integrity: sha512-75+BBVTsL4+p2w198DQpCeyh1RdaS2lhEG87HkaFX/UG0gJExVq2skG2pT7XZEGBubNj2CytcWSPan4QEPNosw==}
engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
dependencies:
- '@jest/environment': 28.1.1
+ '@jest/environment': 28.1.3
'@jest/expect': 28.1.1
'@jest/test-result': 28.1.1
'@jest/types': 28.1.3
@@ -21480,7 +21631,7 @@ packages:
resolution: {integrity: sha512-xL1cmbUGBGy923KBZpZ2LRKspHlIhrltrwGaefJ677HXCPY5rTF758BtweamBype2ogcSEK/oqcp1SmYZ/ATig==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/environment': 29.3.0
+ '@jest/environment': 29.5.0
'@jest/expect': 29.3.0
'@jest/test-result': 29.5.0
'@jest/types': 29.5.0
@@ -21490,13 +21641,13 @@ packages:
dedent: 0.7.0
is-generator-fn: 2.1.0
jest-each: 29.2.1
- jest-matcher-utils: 29.3.1
- jest-message-util: 29.3.1
- jest-runtime: 29.3.1
- jest-snapshot: 29.3.1
+ jest-matcher-utils: 29.5.0
+ jest-message-util: 29.5.0
+ jest-runtime: 29.5.0
+ jest-snapshot: 29.5.0
jest-util: 29.5.0
p-limit: 3.1.0
- pretty-format: 29.3.1
+ pretty-format: 29.5.0
slash: 3.0.0
stack-utils: 2.0.5
transitivePeerDependencies:
@@ -21517,13 +21668,13 @@ packages:
dedent: 0.7.0
is-generator-fn: 2.1.0
jest-each: 29.3.1
- jest-matcher-utils: 29.3.1
- jest-message-util: 29.3.1
- jest-runtime: 29.3.1
- jest-snapshot: 29.3.1
+ jest-matcher-utils: 29.5.0
+ jest-message-util: 29.5.0
+ jest-runtime: 29.5.0
+ jest-snapshot: 29.5.0
jest-util: 29.5.0
p-limit: 3.1.0
- pretty-format: 29.3.1
+ pretty-format: 29.5.0
slash: 3.0.0
stack-utils: 2.0.5
transitivePeerDependencies:
@@ -21652,7 +21803,7 @@ packages:
node-notifier:
optional: true
dependencies:
- '@jest/core': 29.3.0
+ '@jest/core': 29.5.0
'@jest/test-result': 29.2.1
'@jest/types': 29.2.1
chalk: 4.1.2
@@ -21680,7 +21831,7 @@ packages:
node-notifier:
optional: true
dependencies:
- '@jest/core': 29.3.1
+ '@jest/core': 29.5.0
'@jest/test-result': 29.3.1
'@jest/types': 29.3.1
chalk: 4.1.2
@@ -21812,11 +21963,11 @@ packages:
ts-node:
optional: true
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.22.1
'@jest/test-sequencer': 28.1.1
'@jest/types': 28.1.3
'@types/node': 17.0.45
- babel-jest: 28.1.1(@babel/core@7.20.12)
+ babel-jest: 28.1.1(@babel/core@7.22.1)
chalk: 4.1.2
ci-info: 3.8.0
deepmerge: 4.3.0
@@ -21864,11 +22015,11 @@ packages:
jest-circus: 29.3.0
jest-environment-node: 29.3.0
jest-get-type: 29.2.0
- jest-regex-util: 29.2.0
- jest-resolve: 29.3.0
- jest-runner: 29.3.0
- jest-util: 29.2.1
- jest-validate: 29.2.2
+ jest-regex-util: 29.4.3
+ jest-resolve: 29.5.0
+ jest-runner: 29.5.0
+ jest-util: 29.5.0
+ jest-validate: 29.5.0
micromatch: 4.0.5
parse-json: 5.2.0
pretty-format: 29.3.1
@@ -21903,11 +22054,11 @@ packages:
jest-circus: 29.3.1
jest-environment-node: 29.3.1
jest-get-type: 29.2.0
- jest-regex-util: 29.2.0
- jest-resolve: 29.3.1
- jest-runner: 29.3.1
- jest-util: 29.3.1
- jest-validate: 29.3.1
+ jest-regex-util: 29.4.3
+ jest-resolve: 29.5.0
+ jest-runner: 29.5.0
+ jest-util: 29.5.0
+ jest-validate: 29.5.0
micromatch: 4.0.5
parse-json: 5.2.0
pretty-format: 29.3.1
@@ -21991,8 +22142,8 @@ packages:
dependencies:
chalk: 4.1.2
diff-sequences: 29.2.0
- jest-get-type: 29.2.0
- pretty-format: 29.3.1
+ jest-get-type: 29.4.3
+ pretty-format: 29.5.0
dev: true
/jest-diff@29.3.1:
@@ -22001,8 +22152,8 @@ packages:
dependencies:
chalk: 4.1.2
diff-sequences: 29.3.1
- jest-get-type: 29.2.0
- pretty-format: 29.3.1
+ jest-get-type: 29.4.3
+ pretty-format: 29.5.0
dev: true
/jest-diff@29.5.0:
@@ -22089,7 +22240,7 @@ packages:
dependencies:
'@jest/types': 29.5.0
chalk: 4.1.2
- jest-get-type: 29.2.0
+ jest-get-type: 29.4.3
jest-util: 29.5.0
pretty-format: 29.5.0
dev: true
@@ -22100,7 +22251,7 @@ packages:
dependencies:
'@jest/types': 29.5.0
chalk: 4.1.2
- jest-get-type: 29.2.0
+ jest-get-type: 29.4.3
jest-util: 29.5.0
pretty-format: 29.5.0
dev: true
@@ -22199,11 +22350,11 @@ packages:
resolution: {integrity: sha512-2aV/eeY/WNgUUJrrkDJ3cFEigjC5fqT1+fCclrY6paqJ5zVPoM//sHmfgUUp7WLYxIdbPwMiVIzejpN56MxnNA==}
engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
dependencies:
- '@jest/environment': 28.1.1
- '@jest/fake-timers': 28.1.1
+ '@jest/environment': 28.1.3
+ '@jest/fake-timers': 28.1.3
'@jest/types': 28.1.3
'@types/node': 17.0.45
- jest-mock: 28.1.1
+ jest-mock: 28.1.3
jest-util: 28.1.3
dev: true
@@ -22211,7 +22362,7 @@ packages:
resolution: {integrity: sha512-oikVE5pyiBUMrqi7J/kFGd1zeT14+EnJulyqzopDNijLX13ygwjiOF/GVpVKSGyBrrAwSkaj/ohEQJCcjkCtOA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/environment': 29.3.0
+ '@jest/environment': 29.5.0
'@jest/fake-timers': 29.3.0
'@jest/types': 29.5.0
'@types/node': 17.0.45
@@ -22339,8 +22490,8 @@ packages:
anymatch: 3.1.3
fb-watchman: 2.0.1
graceful-fs: 4.2.10
- jest-regex-util: 29.2.0
- jest-util: 29.2.1
+ jest-regex-util: 29.4.3
+ jest-util: 29.5.0
jest-worker: 29.3.1
micromatch: 4.0.5
walker: 1.0.8
@@ -22358,8 +22509,8 @@ packages:
anymatch: 3.1.3
fb-watchman: 2.0.1
graceful-fs: 4.2.10
- jest-regex-util: 29.2.0
- jest-util: 29.3.1
+ jest-regex-util: 29.4.3
+ jest-util: 29.5.0
jest-worker: 29.3.1
micromatch: 4.0.5
walker: 1.0.8
@@ -22487,16 +22638,16 @@ packages:
resolution: {integrity: sha512-1YvSqYoiurxKOJtySc+CGVmw/e1v4yNY27BjWTVzp0aTduQeA7pdieLiW05wTYG/twlKOp2xS/pWuikQEmklug==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- jest-get-type: 29.2.0
- pretty-format: 29.3.1
+ jest-get-type: 29.4.3
+ pretty-format: 29.5.0
dev: true
/jest-leak-detector@29.3.1:
resolution: {integrity: sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- jest-get-type: 29.2.0
- pretty-format: 29.3.1
+ jest-get-type: 29.4.3
+ pretty-format: 29.5.0
dev: true
/jest-leak-detector@29.5.0:
@@ -22542,9 +22693,9 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
chalk: 4.1.2
- jest-diff: 29.2.1
- jest-get-type: 29.2.0
- pretty-format: 29.3.1
+ jest-diff: 29.5.0
+ jest-get-type: 29.4.3
+ pretty-format: 29.5.0
dev: true
/jest-matcher-utils@29.3.1:
@@ -22864,8 +23015,8 @@ packages:
resolution: {integrity: sha512-ykSbDbWmIaHprOBig57AExw7i6Fj0y69M6baiAd75Ivx1UMQt4wsM6A+SNqIhycV6Zy8XV3L40Ac3HYSrDSq7w==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- jest-regex-util: 29.2.0
- jest-snapshot: 29.3.0
+ jest-regex-util: 29.4.3
+ jest-snapshot: 29.5.0
transitivePeerDependencies:
- supports-color
dev: true
@@ -22874,8 +23025,8 @@ packages:
resolution: {integrity: sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- jest-regex-util: 29.2.0
- jest-snapshot: 29.3.1
+ jest-regex-util: 29.4.3
+ jest-snapshot: 29.5.0
transitivePeerDependencies:
- supports-color
dev: true
@@ -22941,10 +23092,10 @@ packages:
dependencies:
chalk: 4.1.2
graceful-fs: 4.2.10
- jest-haste-map: 29.3.0
+ jest-haste-map: 29.5.0
jest-pnp-resolver: 1.2.2(jest-resolve@29.3.0)
- jest-util: 29.2.1
- jest-validate: 29.2.2
+ jest-util: 29.5.0
+ jest-validate: 29.5.0
resolve: 1.22.1
resolve.exports: 1.1.0
slash: 3.0.0
@@ -22956,10 +23107,10 @@ packages:
dependencies:
chalk: 4.1.2
graceful-fs: 4.2.10
- jest-haste-map: 29.3.1
+ jest-haste-map: 29.5.0
jest-pnp-resolver: 1.2.2(jest-resolve@29.3.1)
- jest-util: 29.3.1
- jest-validate: 29.3.1
+ jest-util: 29.5.0
+ jest-validate: 29.5.0
resolve: 1.22.1
resolve.exports: 1.1.0
slash: 3.0.0
@@ -23061,7 +23212,7 @@ packages:
jest-environment-node: 28.1.1
jest-haste-map: 28.1.1
jest-leak-detector: 28.1.1
- jest-message-util: 28.1.1
+ jest-message-util: 28.1.3
jest-resolve: 28.1.1
jest-runtime: 28.1.1
jest-util: 28.1.3
@@ -23077,10 +23228,10 @@ packages:
resolution: {integrity: sha512-E/ROzAVj7gy44FvIe+Tbz0xGWG1sa8WLkhUg/hsXHewPC0Z48kqWySdfYRtXkB7RmMn4OcWE+hIBfsRAMVV+sQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/console': 29.2.1
+ '@jest/console': 29.5.0
'@jest/environment': 29.3.0
- '@jest/test-result': 29.2.1
- '@jest/transform': 29.3.0
+ '@jest/test-result': 29.5.0
+ '@jest/transform': 29.5.0
'@jest/types': 29.5.0
'@types/node': 17.0.45
chalk: 4.1.2
@@ -23088,13 +23239,13 @@ packages:
graceful-fs: 4.2.10
jest-docblock: 29.2.0
jest-environment-node: 29.3.0
- jest-haste-map: 29.3.0
+ jest-haste-map: 29.5.0
jest-leak-detector: 29.2.1
- jest-message-util: 29.2.1
- jest-resolve: 29.3.0
- jest-runtime: 29.3.0
- jest-util: 29.2.1
- jest-watcher: 29.2.2
+ jest-message-util: 29.5.0
+ jest-resolve: 29.5.0
+ jest-runtime: 29.5.0
+ jest-util: 29.5.0
+ jest-watcher: 29.5.0
jest-worker: 29.3.1
p-limit: 3.1.0
source-map-support: 0.5.13
@@ -23106,10 +23257,10 @@ packages:
resolution: {integrity: sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/console': 29.3.1
+ '@jest/console': 29.5.0
'@jest/environment': 29.3.1
- '@jest/test-result': 29.3.1
- '@jest/transform': 29.3.1
+ '@jest/test-result': 29.5.0
+ '@jest/transform': 29.5.0
'@jest/types': 29.5.0
'@types/node': 17.0.45
chalk: 4.1.2
@@ -23117,13 +23268,13 @@ packages:
graceful-fs: 4.2.10
jest-docblock: 29.2.0
jest-environment-node: 29.3.1
- jest-haste-map: 29.3.1
+ jest-haste-map: 29.5.0
jest-leak-detector: 29.3.1
- jest-message-util: 29.3.1
- jest-resolve: 29.3.1
- jest-runtime: 29.3.1
- jest-util: 29.3.1
- jest-watcher: 29.3.1
+ jest-message-util: 29.5.0
+ jest-resolve: 29.5.0
+ jest-runtime: 29.5.0
+ jest-util: 29.5.0
+ jest-watcher: 29.5.0
jest-worker: 29.3.1
p-limit: 3.1.0
source-map-support: 0.5.13
@@ -23248,7 +23399,7 @@ packages:
glob: 7.2.3
graceful-fs: 4.2.10
jest-haste-map: 28.1.1
- jest-message-util: 28.1.1
+ jest-message-util: 28.1.3
jest-mock: 28.1.1
jest-regex-util: 28.0.2
jest-resolve: 28.1.1
@@ -23268,8 +23419,8 @@ packages:
'@jest/fake-timers': 29.3.0
'@jest/globals': 29.3.0
'@jest/source-map': 29.2.0
- '@jest/test-result': 29.2.1
- '@jest/transform': 29.3.0
+ '@jest/test-result': 29.5.0
+ '@jest/transform': 29.5.0
'@jest/types': 29.5.0
'@types/node': 17.0.45
chalk: 4.1.2
@@ -23277,13 +23428,13 @@ packages:
collect-v8-coverage: 1.0.1
glob: 7.2.3
graceful-fs: 4.2.10
- jest-haste-map: 29.3.0
- jest-message-util: 29.2.1
+ jest-haste-map: 29.5.0
+ jest-message-util: 29.5.0
jest-mock: 29.3.0
- jest-regex-util: 29.2.0
- jest-resolve: 29.3.0
- jest-snapshot: 29.3.0
- jest-util: 29.2.1
+ jest-regex-util: 29.4.3
+ jest-resolve: 29.5.0
+ jest-snapshot: 29.5.0
+ jest-util: 29.5.0
slash: 3.0.0
strip-bom: 4.0.0
transitivePeerDependencies:
@@ -23424,9 +23575,9 @@ packages:
resolution: {integrity: sha512-1KjqHJ98adRcbIdMizjF5DipwZFbvxym/kFO4g4fVZCZRxH/dqV8TiBFCa6rqic3p0karsy8RWS1y4E07b7P0A==}
engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.22.1
'@babel/generator': 7.20.14
- '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.20.12)
+ '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.22.1)
'@babel/traverse': 7.20.13
'@babel/types': 7.20.7
'@jest/expect-utils': 28.1.1
@@ -23434,7 +23585,7 @@ packages:
'@jest/types': 28.1.3
'@types/babel__traverse': 7.17.1
'@types/prettier': 2.6.3
- babel-preset-current-node-syntax: 1.0.1(@babel/core@7.20.12)
+ babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.1)
chalk: 4.1.2
expect: 28.1.1
graceful-fs: 4.2.10
@@ -23442,7 +23593,7 @@ packages:
jest-get-type: 28.0.2
jest-haste-map: 28.1.1
jest-matcher-utils: 28.1.1
- jest-message-util: 28.1.1
+ jest-message-util: 28.1.3
jest-util: 28.1.3
natural-compare: 1.4.0
pretty-format: 28.1.3
@@ -23462,7 +23613,7 @@ packages:
'@babel/traverse': 7.20.13
'@babel/types': 7.20.7
'@jest/expect-utils': 29.2.2
- '@jest/transform': 29.3.0
+ '@jest/transform': 29.5.0
'@jest/types': 29.5.0
'@types/babel__traverse': 7.17.1
'@types/prettier': 2.6.3
@@ -23472,10 +23623,10 @@ packages:
graceful-fs: 4.2.10
jest-diff: 29.2.1
jest-get-type: 29.2.0
- jest-haste-map: 29.3.0
+ jest-haste-map: 29.5.0
jest-matcher-utils: 29.2.2
- jest-message-util: 29.2.1
- jest-util: 29.2.1
+ jest-message-util: 29.5.0
+ jest-util: 29.5.0
natural-compare: 1.4.0
pretty-format: 29.3.1
semver: 7.5.1
@@ -23776,13 +23927,13 @@ packages:
resolution: {integrity: sha512-j2otfqh7mOvMgN2WlJ0n7gIx9XCMWntheYGlBK7+5g3b1Su13/UAK7pdKGyd4kDlrLwtH2QPvRv5oNIxWvsJ1w==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/test-result': 29.2.1
+ '@jest/test-result': 29.5.0
'@jest/types': 29.5.0
'@types/node': 17.0.45
ansi-escapes: 4.3.2
chalk: 4.1.2
emittery: 0.13.1
- jest-util: 29.2.1
+ jest-util: 29.5.0
string-length: 4.0.2
dev: true
@@ -23790,13 +23941,13 @@ packages:
resolution: {integrity: sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/test-result': 29.3.1
+ '@jest/test-result': 29.5.0
'@jest/types': 29.5.0
'@types/node': 17.0.45
ansi-escapes: 4.3.2
chalk: 4.1.2
emittery: 0.13.1
- jest-util: 29.3.1
+ jest-util: 29.5.0
string-length: 4.0.2
dev: true
@@ -24126,7 +24277,7 @@ packages:
parse5: 6.0.1
saxes: 5.0.1
symbol-tree: 3.2.4
- tough-cookie: 4.0.0
+ tough-cookie: 4.1.3
w3c-hr-time: 1.0.2
w3c-xmlserializer: 2.0.0
webidl-conversions: 6.1.0
@@ -25484,6 +25635,11 @@ packages:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
engines: {node: '>=6'}
+ /mimic-fn@4.0.0:
+ resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
+ engines: {node: '>=12'}
+ dev: true
+
/mimic-response@1.0.1:
resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==}
engines: {node: '>=4'}
@@ -26317,6 +26473,13 @@ packages:
dependencies:
path-key: 3.1.1
+ /npm-run-path@5.1.0:
+ resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ path-key: 4.0.0
+ dev: true
+
/npmlog@5.0.1:
resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
dependencies:
@@ -26342,6 +26505,15 @@ packages:
resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==}
dev: true
+ /npx-import@1.1.4:
+ resolution: {integrity: sha512-3ShymTWOgqGyNlh5lMJAejLuIv3W1K3fbI5Ewc6YErZU3Sp0PqsNs8UIU1O8z5+KVl/Du5ag56Gza9vdorGEoA==}
+ dependencies:
+ execa: 6.1.0
+ parse-package-name: 1.0.0
+ semver: 7.5.1
+ validate-npm-package-name: 4.0.0
+ dev: true
+
/nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
dependencies:
@@ -26527,6 +26699,13 @@ packages:
dependencies:
mimic-fn: 2.1.0
+ /onetime@6.0.0:
+ resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ mimic-fn: 4.0.0
+ dev: true
+
/open@6.4.0:
resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==}
engines: {node: '>=8'}
@@ -26785,6 +26964,10 @@ packages:
resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==}
dev: true
+ /parse-package-name@1.0.0:
+ resolution: {integrity: sha512-kBeTUtcj+SkyfaW4+KBe0HtsloBJ/mKTPoxpVdA57GZiPerREsUWJOhVj9anXweFiJkm5y8FG1sxFZkZ0SN6wg==}
+ dev: true
+
/parse-passwd@1.0.0:
resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==}
engines: {node: '>=0.10.0'}
@@ -26857,6 +27040,11 @@ packages:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
+ /path-key@4.0.0:
+ resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
+ engines: {node: '>=12'}
+ dev: true
+
/path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
@@ -28525,7 +28713,6 @@ packages:
/querystringify@2.2.0:
resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
- dev: false
/queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@@ -30002,9 +30189,9 @@ packages:
peerDependencies:
solid-js: ^1.3
dependencies:
- '@babel/generator': 7.20.14
+ '@babel/generator': 7.22.3
'@babel/helper-module-imports': 7.18.6
- '@babel/types': 7.20.7
+ '@babel/types': 7.22.4
solid-js: 1.6.6
dev: true
@@ -30579,6 +30766,11 @@ packages:
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
engines: {node: '>=6'}
+ /strip-final-newline@3.0.0:
+ resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
+ engines: {node: '>=12'}
+ dev: true
+
/strip-indent@3.0.0:
resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
engines: {node: '>=8'}
@@ -31415,6 +31607,7 @@ packages:
psl: 1.8.0
punycode: 2.1.1
universalify: 0.1.2
+ dev: true
/tough-cookie@4.1.3:
resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==}
@@ -31424,7 +31617,6 @@ packages:
punycode: 2.1.1
universalify: 0.2.0
url-parse: 1.5.10
- dev: false
/toxic@1.0.1:
resolution: {integrity: sha512-WI3rIGdcaKULYg7KVoB0zcjikqvcYYvcuT6D89bFPz2rVR0Rl0PK6x8/X62rtdLtBKIE985NzVf/auTtGegIIg==}
@@ -32030,6 +32222,13 @@ packages:
busboy: 1.6.0
dev: true
+ /undici@5.20.0:
+ resolution: {integrity: sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==}
+ engines: {node: '>=12.18'}
+ dependencies:
+ busboy: 1.6.0
+ dev: true
+
/undici@5.21.0:
resolution: {integrity: sha512-HOjK8l6a57b2ZGXOcUsI5NLfoTrfmbOl90ixJDl0AEFG4wgHNDQxtZy15/ZQp7HhjkpaGlp/eneMgtsu1dIlUA==}
engines: {node: '>=12.18'}
@@ -32194,7 +32393,6 @@ packages:
/universalify@0.2.0:
resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
engines: {node: '>= 4.0.0'}
- dev: false
/universalify@2.0.0:
resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
@@ -32327,7 +32525,6 @@ packages:
dependencies:
querystringify: 2.2.0
requires-port: 1.0.0
- dev: false
/url@0.11.1:
resolution: {integrity: sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==}
@@ -32336,6 +32533,10 @@ packages:
qs: 6.11.0
dev: false
+ /urlpattern-polyfill@4.0.3:
+ resolution: {integrity: sha512-DOE84vZT2fEcl9gqCUTcnAw5ZY5Id55ikUcziSUntuEFL3pRvavg5kwDmTEUJkeCHInTlV/HexFomgYnzO5kdQ==}
+ dev: true
+
/use-composed-ref@1.3.0(react@18.2.0):
resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==}
peerDependencies:
@@ -32458,6 +32659,13 @@ packages:
spdx-correct: 3.1.1
spdx-expression-parse: 3.0.1
+ /validate-npm-package-name@4.0.0:
+ resolution: {integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ dependencies:
+ builtins: 5.0.1
+ dev: true
+
/validator@13.7.0:
resolution: {integrity: sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==}
engines: {node: '>= 0.10'}