diff --git a/changelogs/drizzle-orm/0.29.2.md b/changelogs/drizzle-orm/0.29.2.md
new file mode 100644
index 000000000..7c71b84d9
--- /dev/null
+++ b/changelogs/drizzle-orm/0.29.2.md
@@ -0,0 +1,138 @@
+## Fixes
+
+- Added improvements to the planescale relational tests #1579 - thanks @Angelelz
+- [Pg] FIX: correct string escaping for empty PgArrays #1640 - thanks @Angelelz
+- Fix wrong syntax for exists fn in sqlite #1647 - thanks @Angelelz
+- Properly handle dates in AWS Data API
+- Fix Hermes mixins constructor issue
+
+## ESLint Drizzle Plugin, v0.2.3
+
+```
+npm i eslint-plugin-drizzle@0.2.3
+```
+
+🎉 **[ESLint] Add support for functions and improve error messages #1586 - thanks @ngregrichardson**
+
+- Allowed Drizzle object to be or to be retrieved from a function, e.g.
+- Added better context to the suggestion in the error message.
+
+## New Drivers
+
+### 🎉 Expo SQLite Driver is available
+
+For starting with Expo SQLite Driver, you need to install `expo-sqlite` and `drizzle-orm` packages.
+
+```bash
+npm install drizzle-orm expo-sqlite@next
+```
+
+Then, you can use it like this:
+
+```ts
+import { drizzle } from "drizzle-orm/expo-sqlite";
+import { openDatabaseSync } from "expo-sqlite/next";
+
+const expoDb = openDatabaseSync("db.db");
+
+const db = drizzle(expoDb);
+
+await db.select().from(...)...
+
+// or
+
+db.select().from(...).then(...);
+
+// or
+
+db.select().from(...).all();
+```
+
+If you want to use Drizzle Migrations, you need to update babel and metro configuration files.
+
+1. Install `babel-plugin-inline-import` package.
+
+```bash
+npm install babel-plugin-inline-import
+```
+
+2. Update `babel.config.js` and `metro.config.js` files.
+
+babel.config.js
+
+```diff
+module.exports = function(api) {
+ api.cache(true);
+
+ return {
+ presets: ['babel-preset-expo'],
++ plugins: [["inline-import", { "extensions": [".sql"] }]]
+ };
+};
+```
+
+metro.config.js
+
+```diff
+const { getDefaultConfig } = require('expo/metro-config');
+
+/** @type {import('expo/metro-config').MetroConfig} */
+const config = getDefaultConfig(__dirname);
+
++config.resolver.sourceExts.push('sql');
+
+module.exports = config;
+```
+
+3. Create `drizzle.config.ts` file in your project root folder.
+
+```ts
+import type { Config } from 'drizzle-kit';
+
+export default {
+ schema: './db/schema.ts',
+ out: './drizzle',
+ driver: 'expo',
+} satisfies Config;
+```
+
+After creating schema file and drizzle.config.ts file, you can generate migrations like this:
+
+```bash
+npx drizzle-kit generate:sqlite
+```
+
+Then you need to import `migrations.js` file in your `App.tsx` file from `./drizzle` folder and use hook `useMigrations` or `migrate` function.
+
+```tsx
+import { drizzle } from "drizzle-orm/expo-sqlite";
+import { openDatabaseSync } from "expo-sqlite/next";
+import { useMigrations } from 'drizzle-orm/expo-sqlite/migrator';
+import migrations from './drizzle/migrations';
+
+const expoDb = openDatabaseSync("db.db");
+
+const db = drizzle(expoDb);
+
+export default function App() {
+ const { success, error } = useMigrations(db, migrations);
+
+ if (error) {
+ return (
+
+ Migration error: {error.message}
+
+ );
+ }
+
+ if (!success) {
+ return (
+
+ Migration is in progress...
+
+ );
+ }
+
+ return ...your application component;
+}
+```
diff --git a/changelogs/eslint-plugin-drizzle/0.2.3.md b/changelogs/eslint-plugin-drizzle/0.2.3.md
new file mode 100644
index 000000000..d8f132862
--- /dev/null
+++ b/changelogs/eslint-plugin-drizzle/0.2.3.md
@@ -0,0 +1,5 @@
+# eslint-plugin-drizzle 0.2.3
+
+- Added better context to the suggestion in the error message
+- fix: Correct detection of `drizzleObjectName` when it's retrieved from or is a function
+- chore: Refactored duplicate code in `utils/options.ts` into `isDrizzleObjName` function
\ No newline at end of file
diff --git a/drizzle-orm/package.json b/drizzle-orm/package.json
index 2a1658773..ba4903ae8 100644
--- a/drizzle-orm/package.json
+++ b/drizzle-orm/package.json
@@ -1,6 +1,6 @@
{
"name": "drizzle-orm",
- "version": "0.29.1",
+ "version": "0.29.2",
"description": "Drizzle ORM package for SQL databases",
"type": "module",
"scripts": {
@@ -51,15 +51,18 @@
"@planetscale/database": ">=1",
"@types/better-sqlite3": "*",
"@types/pg": "*",
+ "@types/react": ">=18",
"@types/sql.js": "*",
"@vercel/postgres": "*",
"better-sqlite3": ">=7",
"bun-types": "*",
+ "expo-sqlite": ">=13.2.0",
"knex": "*",
"kysely": "*",
"mysql2": ">=2",
"pg": ">=8",
"postgres": ">=3",
+ "react": ">=18",
"sql.js": ">=1",
"sqlite3": ">=5"
},
@@ -133,16 +136,19 @@
"@types/better-sqlite3": "^7.6.4",
"@types/node": "^20.2.5",
"@types/pg": "^8.10.1",
+ "@types/react": "^18.2.45",
"@types/sql.js": "^1.4.4",
"@vercel/postgres": "^0.3.0",
"better-sqlite3": "^8.4.0",
"bun-types": "^0.6.6",
"cpy": "^10.1.0",
+ "expo-sqlite": "^13.2.0",
"knex": "^2.4.2",
"kysely": "^0.25.0",
"mysql2": "^3.3.3",
"pg": "^8.11.0",
"postgres": "^3.3.5",
+ "react": "^18.2.0",
"sql.js": "^1.8.0",
"sqlite3": "^5.1.2",
"tslib": "^2.5.2",
diff --git a/drizzle-orm/src/aws-data-api/common/index.ts b/drizzle-orm/src/aws-data-api/common/index.ts
index 9a657ba6c..d4e222975 100644
--- a/drizzle-orm/src/aws-data-api/common/index.ts
+++ b/drizzle-orm/src/aws-data-api/common/index.ts
@@ -53,9 +53,20 @@ export function toValueParam(value: any, typings?: QueryTypingsValue): { value:
if (value === null) {
response.value = { isNull: true };
} else if (typeof value === 'string') {
- response.value = response.typeHint === 'DATE'
- ? { stringValue: value.split('T')[0]! }
- : { stringValue: value };
+ switch (response.typeHint) {
+ case TypeHint.DATE: {
+ response.value = { stringValue: value.split('T')[0]! };
+ break;
+ }
+ case TypeHint.TIMESTAMP: {
+ response.value = { stringValue: value.replace('T', ' ').replace('Z', '') };
+ break;
+ }
+ default: {
+ response.value = { stringValue: value };
+ break;
+ }
+ }
} else if (typeof value === 'number' && Number.isInteger(value)) {
response.value = { longValue: value };
} else if (typeof value === 'number' && !Number.isInteger(value)) {
@@ -63,6 +74,7 @@ export function toValueParam(value: any, typings?: QueryTypingsValue): { value:
} else if (typeof value === 'boolean') {
response.value = { booleanValue: value };
} else if (value instanceof Date) { // eslint-disable-line no-instanceof/no-instanceof
+ // TODO: check if this clause is needed? Seems like date value always comes as string
response.value = { stringValue: value.toISOString().replace('T', ' ').replace('Z', '') };
} else {
throw new Error(`Unknown type for ${value}`);
diff --git a/drizzle-orm/src/expo-sqlite/driver.ts b/drizzle-orm/src/expo-sqlite/driver.ts
new file mode 100644
index 000000000..a8ffe06be
--- /dev/null
+++ b/drizzle-orm/src/expo-sqlite/driver.ts
@@ -0,0 +1,45 @@
+import type { SQLiteDatabase, SQLiteRunResult } from 'expo-sqlite/next';
+import { DefaultLogger } from '~/logger.ts';
+import {
+ createTableRelationsHelpers,
+ extractTablesRelationalConfig,
+ type RelationalSchemaConfig,
+ type TablesRelationalConfig,
+} from '~/relations.ts';
+import { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';
+import { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';
+import type { DrizzleConfig } from '~/utils.ts';
+import { ExpoSQLiteSession } from './session.ts';
+
+export type ExpoSQLiteDatabase<
+ TSchema extends Record = Record,
+> = BaseSQLiteDatabase<'sync', SQLiteRunResult, TSchema>;
+
+export function drizzle = Record>(
+ client: SQLiteDatabase,
+ config: DrizzleConfig = {},
+): ExpoSQLiteDatabase {
+ const dialect = new SQLiteSyncDialect();
+ let logger;
+ if (config.logger === true) {
+ logger = new DefaultLogger();
+ } else if (config.logger !== false) {
+ logger = config.logger;
+ }
+
+ let schema: RelationalSchemaConfig | undefined;
+ if (config.schema) {
+ const tablesConfig = extractTablesRelationalConfig(
+ config.schema,
+ createTableRelationsHelpers,
+ );
+ schema = {
+ fullSchema: config.schema,
+ schema: tablesConfig.tables,
+ tableNamesMap: tablesConfig.tableNamesMap,
+ };
+ }
+
+ const session = new ExpoSQLiteSession(client, dialect, schema, { logger });
+ return new BaseSQLiteDatabase('sync', dialect, session, schema) as ExpoSQLiteDatabase;
+}
\ No newline at end of file
diff --git a/drizzle-orm/src/expo-sqlite/index.ts b/drizzle-orm/src/expo-sqlite/index.ts
new file mode 100644
index 000000000..1b4a3e8db
--- /dev/null
+++ b/drizzle-orm/src/expo-sqlite/index.ts
@@ -0,0 +1,2 @@
+export * from './driver.ts';
+export * from './session.ts';
\ No newline at end of file
diff --git a/drizzle-orm/src/expo-sqlite/migrator.ts b/drizzle-orm/src/expo-sqlite/migrator.ts
new file mode 100644
index 000000000..d75e84d07
--- /dev/null
+++ b/drizzle-orm/src/expo-sqlite/migrator.ts
@@ -0,0 +1,101 @@
+import { useEffect, useReducer } from "react";
+import type { MigrationMeta } from '~/migrator.ts';
+import type { ExpoSQLiteDatabase } from './driver.ts';
+
+interface MigrationConfig {
+ journal: {
+ entries: { idx: number; when: number; tag: string; breakpoints: boolean }[];
+ };
+ migrations: Record;
+}
+
+async function readMigrationFiles({ journal, migrations }: MigrationConfig): Promise {
+ const migrationQueries: MigrationMeta[] = [];
+
+ for await (const journalEntry of journal.entries) {
+ const query = migrations[`m${journalEntry.idx.toString().padStart(4, '0')}`];
+
+ if (!query) {
+ throw new Error(`Missing migration: ${journalEntry.tag}`);
+ }
+
+ try {
+ const result = query.split('--> statement-breakpoint').map((it) => {
+ return it;
+ });
+
+ migrationQueries.push({
+ sql: result,
+ bps: journalEntry.breakpoints,
+ folderMillis: journalEntry.when,
+ hash: '',
+ });
+ } catch {
+ throw new Error(`Failed to parse migration: ${journalEntry.tag}`);
+ }
+ }
+
+ return migrationQueries;
+}
+
+export async function migrate>(
+ db: ExpoSQLiteDatabase,
+ config: MigrationConfig,
+) {
+ const migrations = await readMigrationFiles(config);
+ return db.dialect.migrate(migrations, db.session);
+}
+
+interface State {
+ success: boolean;
+ error?: Error;
+}
+
+type Action =
+ | { type: 'migrating' }
+ | { type: 'migrated'; payload: true }
+ | { type: 'error'; payload: Error }
+
+export const useMigrations = (db: ExpoSQLiteDatabase, migrations: {
+ journal: {
+ entries: { idx: number; when: number; tag: string; breakpoints: boolean }[];
+ };
+ migrations: Record;
+}): State => {
+ const initialState: State = {
+ success: false,
+ error: undefined,
+ }
+
+ const fetchReducer = (state: State, action: Action): State => {
+ switch (action.type) {
+ case 'migrating': {
+ return { ...initialState }
+ }
+ case 'migrated': {
+ return { ...initialState, success: action.payload }
+ }
+ case 'error': {
+ return { ...initialState, error: action.payload }
+ }
+ default: {
+ return state
+ }
+ }
+ }
+
+ const [state, dispatch] = useReducer(fetchReducer, initialState);
+
+ useEffect(() => {
+ dispatch({ type: 'migrating' })
+ try {
+ migrate(db, migrations as any).then(() => {
+ dispatch({ type: 'migrated', payload: true })
+ })
+ } catch (error) {
+ dispatch({ type: 'error', payload: error as Error })
+ }
+ }, []);
+
+ return state;
+}
\ No newline at end of file
diff --git a/drizzle-orm/src/expo-sqlite/session.ts b/drizzle-orm/src/expo-sqlite/session.ts
new file mode 100644
index 000000000..64e16776a
--- /dev/null
+++ b/drizzle-orm/src/expo-sqlite/session.ts
@@ -0,0 +1,161 @@
+import type { SQLiteDatabase, SQLiteRunResult, SQLiteStatement } from 'expo-sqlite/next';
+import { entityKind } from '~/entity.ts';
+import type { Logger } from '~/logger.ts';
+import { NoopLogger } from '~/logger.ts';
+import type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';
+import { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';
+import type { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';
+import { SQLiteTransaction } from '~/sqlite-core/index.ts';
+import type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';
+import {
+ type PreparedQueryConfig as PreparedQueryConfigBase,
+ SQLitePreparedQuery,
+ type SQLiteExecuteMethod,
+ SQLiteSession,
+ type SQLiteTransactionConfig,
+} from '~/sqlite-core/session.ts';
+import { mapResultRow } from '~/utils.ts';
+
+export interface ExpoSQLiteSessionOptions {
+ logger?: Logger;
+}
+
+type PreparedQueryConfig = Omit;
+
+export class ExpoSQLiteSession<
+ TFullSchema extends Record,
+ TSchema extends TablesRelationalConfig,
+> extends SQLiteSession<'sync', SQLiteRunResult, TFullSchema, TSchema> {
+ static readonly [entityKind]: string = 'ExpoSQLiteSession';
+
+ private logger: Logger;
+
+ constructor(
+ private client: SQLiteDatabase,
+ dialect: SQLiteSyncDialect,
+ private schema: RelationalSchemaConfig | undefined,
+ options: ExpoSQLiteSessionOptions = {},
+
+ ) {
+ super(dialect);
+ this.logger = options.logger ?? new NoopLogger();
+ }
+
+ prepareQuery>(
+ query: Query,
+ fields: SelectedFieldsOrdered | undefined,
+ executeMethod: SQLiteExecuteMethod,
+ customResultMapper?: (rows: unknown[][]) => unknown,
+ ): ExpoSQLitePreparedQuery {
+ const stmt = this.client.prepareSync(query.sql);
+ return new ExpoSQLitePreparedQuery(stmt, query, this.logger, fields, executeMethod, customResultMapper);
+ }
+
+ override transaction(
+ transaction: (tx: ExpoSQLiteTransaction) => T,
+ config: SQLiteTransactionConfig = {},
+ ): T {
+ const tx = new ExpoSQLiteTransaction('sync', this.dialect, this, this.schema);
+ this.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));
+ try {
+ const result = transaction(tx);
+ this.run(sql`commit`);
+ return result;
+ } catch (err) {
+ this.run(sql`rollback`);
+ throw err;
+ }
+ }
+}
+
+export class ExpoSQLiteTransaction<
+ TFullSchema extends Record,
+ TSchema extends TablesRelationalConfig,
+> extends SQLiteTransaction<'sync', SQLiteRunResult, TFullSchema, TSchema> {
+ static readonly [entityKind]: string = 'ExpoSQLiteTransaction';
+
+ override transaction(transaction: (tx: ExpoSQLiteTransaction) => T): T {
+ const savepointName = `sp${this.nestedIndex}`;
+ const tx = new ExpoSQLiteTransaction('sync', this.dialect, this.session, this.schema, this.nestedIndex + 1);
+ this.session.run(sql.raw(`savepoint ${savepointName}`));
+ try {
+ const result = transaction(tx);
+ this.session.run(sql.raw(`release savepoint ${savepointName}`));
+ return result;
+ } catch (err) {
+ this.session.run(sql.raw(`rollback to savepoint ${savepointName}`));
+ throw err;
+ }
+ }
+}
+
+export class ExpoSQLitePreparedQuery extends SQLitePreparedQuery<
+ { type: 'sync'; run: SQLiteRunResult; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }
+> {
+ static readonly [entityKind]: string = 'ExpoSQLitePreparedQuery';
+
+ constructor(
+ private stmt: SQLiteStatement,
+ query: Query,
+ private logger: Logger,
+ private fields: SelectedFieldsOrdered | undefined,
+ executeMethod: SQLiteExecuteMethod,
+ private customResultMapper?: (rows: unknown[][]) => unknown,
+ ) {
+ super('sync', executeMethod, query);
+ }
+
+ run(placeholderValues?: Record): SQLiteRunResult {
+ const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
+ this.logger.logQuery(this.query.sql, params);
+ const { changes, lastInsertRowId } = this.stmt.executeSync(params as any[]);
+ return {
+ changes,
+ lastInsertRowId,
+ };
+ }
+
+ all(placeholderValues?: Record): T['all'] {
+ const { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;
+ if (!fields && !customResultMapper) {
+ const params = fillPlaceholders(query.params, placeholderValues ?? {});
+ logger.logQuery(query.sql, params);
+ return stmt.executeSync(params as any[]).getAllSync();
+ }
+
+ const rows = this.values(placeholderValues) as unknown[][];
+ if (customResultMapper) {
+ return customResultMapper(rows) as T['all'];
+ }
+ return rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));
+ }
+
+ get(placeholderValues?: Record): T['get'] {
+ const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
+ this.logger.logQuery(this.query.sql, params);
+
+ const { fields, stmt, joinsNotNullableMap, customResultMapper } = this;
+ if (!fields && !customResultMapper) {
+ return stmt.executeSync(params as any[]).getFirstSync();
+ }
+
+ const rows = this.values(placeholderValues) as unknown[][];
+ const row = rows[0];
+
+ if (!row) {
+ return undefined;
+ }
+
+ if (customResultMapper) {
+ return customResultMapper(rows) as T['get'];
+ }
+
+ return mapResultRow(fields!, row, joinsNotNullableMap);
+ }
+
+ values(placeholderValues?: Record): T['values'] {
+ const params = fillPlaceholders(this.query.params, placeholderValues ?? {});
+ this.logger.logQuery(this.query.sql, params);
+ return this.stmt.executeForRawResultSync(params as any[]).getAllSync();
+ }
+}
diff --git a/drizzle-orm/src/pg-core/utils/array.ts b/drizzle-orm/src/pg-core/utils/array.ts
index fef4d3fb2..0bae7054e 100644
--- a/drizzle-orm/src/pg-core/utils/array.ts
+++ b/drizzle-orm/src/pg-core/utils/array.ts
@@ -85,8 +85,8 @@ export function makePgArray(array: any[]): string {
return makePgArray(item);
}
- if (typeof item === 'string' && item.includes(',')) {
- return `"${item.replace(/"/g, '\\"')}"`;
+ if (typeof item === 'string') {
+ return `"${item.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
}
return `${item}`;
diff --git a/drizzle-orm/src/sql/expressions/conditions.ts b/drizzle-orm/src/sql/expressions/conditions.ts
index d1fa377ce..5974f9f7e 100644
--- a/drizzle-orm/src/sql/expressions/conditions.ts
+++ b/drizzle-orm/src/sql/expressions/conditions.ts
@@ -404,7 +404,7 @@ export function isNotNull(value: SQLWrapper): SQL {
* @see notExists for the inverse of this test
*/
export function exists(subquery: SQLWrapper): SQL {
- return sql`exists (${subquery})`;
+ return sql`exists ${subquery}`;
}
/**
@@ -429,7 +429,7 @@ export function exists(subquery: SQLWrapper): SQL {
* @see exists for the inverse of this test
*/
export function notExists(subquery: SQLWrapper): SQL {
- return sql`not exists (${subquery})`;
+ return sql`not exists ${subquery}`;
}
/**
diff --git a/drizzle-orm/src/utils.ts b/drizzle-orm/src/utils.ts
index 8d44db98c..e7b1190cd 100644
--- a/drizzle-orm/src/utils.ts
+++ b/drizzle-orm/src/utils.ts
@@ -164,6 +164,8 @@ export type ValueOrArray = T | T[];
export function applyMixins(baseClass: any, extendedClasses: any[]) {
for (const extendedClass of extendedClasses) {
for (const name of Object.getOwnPropertyNames(extendedClass.prototype)) {
+ if (name === 'constructor') continue;
+
Object.defineProperty(
baseClass.prototype,
name,
diff --git a/drizzle-orm/tests/makePgArray.test.ts b/drizzle-orm/tests/makePgArray.test.ts
index e37363a59..b7b27d7a5 100644
--- a/drizzle-orm/tests/makePgArray.test.ts
+++ b/drizzle-orm/tests/makePgArray.test.ts
@@ -16,7 +16,7 @@ describe.concurrent('makePgArray', () => {
it('parses simple 1D array', ({ expect }) => {
const input = ['1', '2', '3'];
const output = table.a.mapToDriverValue(input);
- expect(output).toEqual('{1,2,3}');
+ expect(output).toEqual('{"1","2","3"}');
});
it('parses simple 2D array', ({ expect }) => {
@@ -26,13 +26,13 @@ describe.concurrent('makePgArray', () => {
['7', '8', '9'],
];
const output = table.b.mapToDriverValue(input);
- expect(output).toEqual('{{1,2,3},{4,5,6},{7,8,9}}');
+ expect(output).toEqual('{{"1","2","3"},{"4","5","6"},{"7","8","9"}}');
});
it('parses array with quoted values', ({ expect }) => {
const input = ['1', '2,3', '4'];
const output = table.a.mapToDriverValue(input);
- expect(output).toEqual('{1,"2,3",4}');
+ expect(output).toEqual('{"1","2,3","4"}');
});
it('parses array with nested quoted values', ({ expect }) => {
@@ -41,13 +41,13 @@ describe.concurrent('makePgArray', () => {
['5', '6,7', '8'],
];
const output = table.b.mapToDriverValue(input);
- expect(output).toEqual('{{1,"2,3",4},{5,"6,7",8}}');
+ expect(output).toEqual('{{"1","2,3","4"},{"5","6,7","8"}}');
});
it('parses array with empty values', ({ expect }) => {
const input = ['1', '', '3'];
const output = table.a.mapToDriverValue(input);
- expect(output).toEqual('{1,,3}');
+ expect(output).toEqual('{"1","","3"}');
});
it('parses array with empty nested values', ({ expect }) => {
@@ -57,7 +57,7 @@ describe.concurrent('makePgArray', () => {
['7', '8', '9'],
];
const output = table.b.mapToDriverValue(input);
- expect(output).toEqual('{{1,2,3},{,5,6},{7,8,9}}');
+ expect(output).toEqual('{{"1","2","3"},{"","5","6"},{"7","8","9"}}');
});
it('parses empty array', ({ expect }) => {
@@ -75,25 +75,25 @@ describe.concurrent('makePgArray', () => {
it('parses single-level array with strings', ({ expect }) => {
const input = ['one', 'two', 'three'];
const output = table.a.mapToDriverValue(input);
- expect(output).toEqual('{one,two,three}');
+ expect(output).toEqual('{"one","two","three"}');
});
it('parses single-level array with mixed values', ({ expect }) => {
const input = ['1', 'two', '3'];
const output = table.a.mapToDriverValue(input);
- expect(output).toEqual('{1,two,3}');
+ expect(output).toEqual('{"1","two","3"}');
});
it('parses single-level array with commas inside quotes', ({ expect }) => {
const input = ['1', 'two, three', '4'];
const output = table.a.mapToDriverValue(input);
- expect(output).toEqual('{1,"two, three",4}');
+ expect(output).toEqual('{"1","two, three","4"}');
});
it('parses single-level array with escaped quotes inside quotes', ({ expect }) => {
const input = ['1', 'two "three", four', '5'];
const output = table.a.mapToDriverValue(input);
- expect(output).toEqual('{1,"two \\"three\\", four",5}');
+ expect(output).toEqual('{"1","two \\"three\\", four","5"}');
});
it('parses two-dimensional array with strings', ({ expect }) => {
@@ -103,7 +103,7 @@ describe.concurrent('makePgArray', () => {
['seven', 'eight', 'nine'],
];
const output = table.b.mapToDriverValue(input);
- expect(output).toEqual('{{one,two,three},{four,five,six},{seven,eight,nine}}');
+ expect(output).toEqual('{{"one","two","three"},{"four","five","six"},{"seven","eight","nine"}}');
});
it('parses two-dimensional array with mixed values and escaped quotes', ({ expect }) => {
@@ -114,7 +114,35 @@ describe.concurrent('makePgArray', () => {
];
const output = table.b.mapToDriverValue(input);
expect(output).toEqual(
- '{{1,"two \\"and a half\\", three",3},{four,"five \\"and a half\\", six",6},{seven,eight,nine}}',
+ '{{"1","two \\"and a half\\", three","3"},{"four","five \\"and a half\\", six","6"},{"seven","eight","nine"}}',
);
});
+
+ it('parses an array with null values', ({ expect }) => {
+ const input = ['1', null, '3'];
+ const output = table.a.mapToDriverValue(input);
+ expect(output).toEqual('{"1",null,"3"}');
+ });
+
+ it('parses an array with null values in nested arrays', ({ expect }) => {
+ const input = [
+ ['1', '2', '3'],
+ [null, '5', '6'],
+ ['7', '8', '9'],
+ ];
+ const output = table.b.mapToDriverValue(input);
+ expect(output).toEqual('{{"1","2","3"},{null,"5","6"},{"7","8","9"}}');
+ });
+
+ it('parses string array with empty strings', ({ expect }) => {
+ const input = ['1', '', '3'];
+ const output = table.a.mapToDriverValue(input);
+ expect(output).toEqual('{"1","","3"}');
+ });
+
+ it('parses string array with backlash strings', ({ expect }) => {
+ const input = ['1', '\n', '3\\'];
+ const output = table.a.mapToDriverValue(input);
+ expect(output).toEqual('{"1","\n","3\\\\"}');
+ });
});
diff --git a/drizzle-orm/tests/parsePgArray.test.ts b/drizzle-orm/tests/parsePgArray.test.ts
index 0b0abf4d2..c89da8f95 100644
--- a/drizzle-orm/tests/parsePgArray.test.ts
+++ b/drizzle-orm/tests/parsePgArray.test.ts
@@ -45,7 +45,7 @@ describe.concurrent('parsePgArray', () => {
});
it('parses array with empty values', ({ expect }) => {
- const input = '{1,,3}';
+ const input = '{1,"",3}';
const output = table.a.mapFromDriverValue(input);
expect(output).toEqual(['1', '', '3']);
});
diff --git a/drizzle-typebox/package.json b/drizzle-typebox/package.json
index cdeee64f9..a0fc7e28d 100644
--- a/drizzle-typebox/package.json
+++ b/drizzle-typebox/package.json
@@ -9,7 +9,7 @@
"test:types": "cd tests && tsc",
"pack": "(cd dist && npm pack --pack-destination ..) && rm -f package.tgz && mv *.tgz package.tgz",
"publish": "npm publish package.tgz",
- "test": "ava tests"
+ "test": "NODE_OPTIONS='--loader=tsx --no-warnings' ava"
},
"exports": {
".": {
diff --git a/drizzle-valibot/package.json b/drizzle-valibot/package.json
index 278e95a11..86d074934 100644
--- a/drizzle-valibot/package.json
+++ b/drizzle-valibot/package.json
@@ -9,7 +9,7 @@
"test:types": "cd tests && tsc",
"pack": "(cd dist && npm pack --pack-destination ..) && rm -f package.tgz && mv *.tgz package.tgz",
"publish": "npm publish package.tgz",
- "test": "ava tests"
+ "test": "NODE_OPTIONS='--loader=tsx --no-warnings' ava"
},
"exports": {
".": {
diff --git a/drizzle-zod/package.json b/drizzle-zod/package.json
index df6e47325..b5d21582f 100644
--- a/drizzle-zod/package.json
+++ b/drizzle-zod/package.json
@@ -9,7 +9,7 @@
"test:types": "cd tests && tsc",
"pack": "(cd dist && npm pack --pack-destination ..) && rm -f package.tgz && mv *.tgz package.tgz",
"publish": "npm publish package.tgz",
- "test": "ava tests"
+ "test": "NODE_OPTIONS='--loader=tsx --no-warnings' ava"
},
"exports": {
".": {
diff --git a/eslint-plugin-drizzle/package.json b/eslint-plugin-drizzle/package.json
index f30df5231..516a339ab 100644
--- a/eslint-plugin-drizzle/package.json
+++ b/eslint-plugin-drizzle/package.json
@@ -1,6 +1,6 @@
{
"name": "eslint-plugin-drizzle",
- "version": "0.2.2",
+ "version": "0.2.3",
"description": "Eslint plugin for drizzle users to avoid common pitfalls",
"main": "src/index.js",
"scripts": {
@@ -22,6 +22,7 @@
},
"license": "Apache-2.0",
"devDependencies": {
+ "@types/node": "^20.10.1",
"@typescript-eslint/parser": "^6.10.0",
"@typescript-eslint/rule-tester": "^6.10.0",
"@typescript-eslint/utils": "^6.10.0",
diff --git a/eslint-plugin-drizzle/readme.md b/eslint-plugin-drizzle/readme.md
index 1d45b2345..1396cf2a7 100644
--- a/eslint-plugin-drizzle/readme.md
+++ b/eslint-plugin-drizzle/readme.md
@@ -9,7 +9,9 @@ For cases where it's impossible to perform type checks for specific scenarios, o
```sh
[ npm | yarn | pnpm | bun ] install eslint eslint-plugin-drizzle
```
+
You can install those packages for typescript support in your IDE
+
```sh
[ npm | yarn | pnpm | bun ] install @typescript-eslint/eslint-plugin @typescript-eslint/parser
```
@@ -65,6 +67,7 @@ plugins:
Optionally, you can define a `drizzleObjectName` in the plugin options that accept a `string` or `string[]`. This is useful when you have objects or classes with a delete method that's not from Drizzle. Such a `delete` method will trigger the ESLint rule. To avoid that, you can define the name of the Drizzle object that you use in your codebase (like db) so that the rule would only trigger if the delete method comes from this object:
Example, config 1:
+
```json
"rules": {
"drizzle/enforce-delete-with-where": ["error"]
@@ -89,11 +92,13 @@ db.delete()
```
Example, config 2:
+
```json
"rules": {
"drizzle/enforce-delete-with-where": ["error", { "drizzleObjectName": ["db"] }],
}
```
+
```ts
class MyClass {
public delete() {
@@ -116,6 +121,7 @@ db.delete()
Optionally, you can define a `drizzleObjectName` in the plugin options that accept a `string` or `string[]`. This is useful when you have objects or classes with a delete method that's not from Drizzle. Such as `update` method will trigger the ESLint rule. To avoid that, you can define the name of the Drizzle object that you use in your codebase (like db) so that the rule would only trigger if the delete method comes from this object:
Example, config 1:
+
```json
"rules": {
"drizzle/enforce-update-with-where": ["error"]
@@ -140,11 +146,13 @@ db.update()
```
Example, config 2:
+
```json
"rules": {
"drizzle/enforce-update-with-where": ["error", { "drizzleObjectName": ["db"] }],
}
```
+
```ts
class MyClass {
public update() {
diff --git a/eslint-plugin-drizzle/src/enforce-delete-with-where.ts b/eslint-plugin-drizzle/src/enforce-delete-with-where.ts
index 402e48e34..9dc298258 100644
--- a/eslint-plugin-drizzle/src/enforce-delete-with-where.ts
+++ b/eslint-plugin-drizzle/src/enforce-delete-with-where.ts
@@ -1,4 +1,5 @@
import { ESLintUtils } from '@typescript-eslint/utils';
+import { resolveMemberExpressionPath } from './utils/ast';
import { isDrizzleObj, type Options } from './utils/options';
const createRule = ESLintUtils.RuleCreator(() => 'https://github.com/drizzle-team/eslint-plugin-drizzle');
@@ -18,7 +19,7 @@ const deleteRule = createRule({
fixable: 'code',
messages: {
enforceDeleteWithWhere:
- "Without `.where(...)` you will delete all the rows in a table. If you didn't want to do it, please use `db.delete(...).where(...)` instead. Otherwise you can ignore this rule here",
+ "Without `.where(...)` you will delete all the rows in a table. If you didn't want to do it, please use `{{ drizzleObjName }}.delete(...).where(...)` instead. Otherwise you can ignore this rule here",
},
schema: [{
type: 'object',
@@ -38,6 +39,9 @@ const deleteRule = createRule({
context.report({
node,
messageId: 'enforceDeleteWithWhere',
+ data: {
+ drizzleObjName: resolveMemberExpressionPath(node),
+ },
});
}
lastNodeName = node.property.name;
diff --git a/eslint-plugin-drizzle/src/enforce-update-with-where.ts b/eslint-plugin-drizzle/src/enforce-update-with-where.ts
index bbe822d43..ebc686a20 100644
--- a/eslint-plugin-drizzle/src/enforce-update-with-where.ts
+++ b/eslint-plugin-drizzle/src/enforce-update-with-where.ts
@@ -1,4 +1,5 @@
import { ESLintUtils } from '@typescript-eslint/utils';
+import { resolveMemberExpressionPath } from './utils/ast';
import { isDrizzleObj, type Options } from './utils/options';
const createRule = ESLintUtils.RuleCreator(() => 'https://github.com/drizzle-team/eslint-plugin-drizzle');
@@ -17,7 +18,7 @@ const updateRule = createRule({
fixable: 'code',
messages: {
enforceUpdateWithWhere:
- 'Without `.where(...)` you will update all the rows in a table. If you didn\'t want to do it, please use `db.update(...).set(...).where(...)` instead. Otherwise you can ignore this rule here'
+ "Without `.where(...)` you will update all the rows in a table. If you didn't want to do it, please use `{{ drizzleObjName }}.update(...).set(...).where(...)` instead. Otherwise you can ignore this rule here",
},
schema: [{
type: 'object',
@@ -45,6 +46,9 @@ const updateRule = createRule({
context.report({
node,
messageId: 'enforceUpdateWithWhere',
+ data: {
+ drizzleObjName: resolveMemberExpressionPath(node.object.callee),
+ },
});
}
lastNodeName = node.property.name;
diff --git a/eslint-plugin-drizzle/src/utils/ast.ts b/eslint-plugin-drizzle/src/utils/ast.ts
new file mode 100644
index 000000000..b079ca05f
--- /dev/null
+++ b/eslint-plugin-drizzle/src/utils/ast.ts
@@ -0,0 +1,38 @@
+import type { TSESTree } from '@typescript-eslint/utils';
+
+export const resolveMemberExpressionPath = (node: TSESTree.MemberExpression) => {
+ let objectExpression = node.object;
+ let fullName = '';
+
+ const addToFullName = (name: string) => {
+ const prefix = fullName ? '.' : '';
+ fullName = `${name}${prefix}${fullName}`;
+ };
+
+ while (objectExpression) {
+ if (objectExpression.type === 'MemberExpression') {
+ if (objectExpression.property.type === 'Identifier') {
+ addToFullName(objectExpression.property.name);
+ }
+ objectExpression = objectExpression.object;
+ } else if (objectExpression.type === 'CallExpression' && objectExpression.callee.type === 'Identifier') {
+ addToFullName(`${objectExpression.callee.name}(...)`);
+ break;
+ } else if (objectExpression.type === 'CallExpression' && objectExpression.callee.type === 'MemberExpression') {
+ if (objectExpression.callee.property.type === 'Identifier') {
+ addToFullName(`${objectExpression.callee.property.name}(...)`);
+ }
+ objectExpression = objectExpression.callee.object;
+ } else if (objectExpression.type === 'Identifier') {
+ addToFullName(objectExpression.name);
+ break;
+ } else if (objectExpression.type === 'ThisExpression') {
+ addToFullName('this');
+ break;
+ } else {
+ break;
+ }
+ }
+
+ return fullName;
+};
diff --git a/eslint-plugin-drizzle/src/utils/options.ts b/eslint-plugin-drizzle/src/utils/options.ts
index ec661d38a..208e12017 100644
--- a/eslint-plugin-drizzle/src/utils/options.ts
+++ b/eslint-plugin-drizzle/src/utils/options.ts
@@ -4,6 +4,22 @@ export type Options = readonly [{
drizzleObjectName: string[] | string;
}];
+const isDrizzleObjName = (name: string, drizzleObjectName: string[] | string) => {
+ if (typeof drizzleObjectName === 'string') {
+ return name === drizzleObjectName;
+ }
+
+ if (Array.isArray(drizzleObjectName)) {
+ if (drizzleObjectName.length === 0) {
+ return true;
+ }
+
+ return drizzleObjectName.includes(name);
+ }
+
+ return false;
+};
+
export const isDrizzleObj = (
node: TSESTree.MemberExpression,
options: Options,
@@ -11,38 +27,14 @@ export const isDrizzleObj = (
const drizzleObjectName = options[0].drizzleObjectName;
if (node.object.type === 'Identifier') {
- if (
- typeof drizzleObjectName === 'string'
- && node.object.name === drizzleObjectName
- ) {
- return true;
- }
-
- if (Array.isArray(drizzleObjectName)) {
- if (drizzleObjectName.length === 0) {
- return true;
- }
-
- if (drizzleObjectName.includes(node.object.name)) {
- return true;
- }
- }
+ return isDrizzleObjName(node.object.name, drizzleObjectName);
} else if (node.object.type === 'MemberExpression' && node.object.property.type === 'Identifier') {
- if (
- typeof drizzleObjectName === 'string'
- && node.object.property.name === drizzleObjectName
- ) {
- return true;
- }
-
- if (Array.isArray(drizzleObjectName)) {
- if (drizzleObjectName.length === 0) {
- return true;
- }
-
- if (drizzleObjectName.includes(node.object.property.name)) {
- return true;
- }
+ return isDrizzleObjName(node.object.property.name, drizzleObjectName);
+ } else if (node.object.type === 'CallExpression') {
+ if (node.object.callee.type === 'Identifier') {
+ return isDrizzleObjName(node.object.callee.name, drizzleObjectName);
+ } else if (node.object.callee.type === 'MemberExpression' && node.object.callee.property.type === 'Identifier') {
+ return isDrizzleObjName(node.object.callee.property.name, drizzleObjectName);
}
}
diff --git a/eslint-plugin-drizzle/tests/delete.test.ts b/eslint-plugin-drizzle/tests/delete.test.ts
index af13d4068..e14ba2242 100644
--- a/eslint-plugin-drizzle/tests/delete.test.ts
+++ b/eslint-plugin-drizzle/tests/delete.test.ts
@@ -21,24 +21,54 @@ ruleTester.run('enforce delete with where (default options)', myRule, {
invalid: [
{
code: 'db.delete({})',
- errors: [{ messageId: 'enforceDeleteWithWhere' }],
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'db' } }],
},
{
code: 'this.dataSource.db.delete({})',
- errors: [{ messageId: 'enforceDeleteWithWhere' }],
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'this.dataSource.db' } }],
},
{
code: 'const a = await db.delete({})',
- errors: [{ messageId: 'enforceDeleteWithWhere' }],
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'db' } }],
},
{
code: 'const a = db.delete({})',
- errors: [{ messageId: 'enforceDeleteWithWhere' }],
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'db' } }],
},
{
code: `const a = database
.delete({})`,
- errors: [{ messageId: 'enforceDeleteWithWhere' }],
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'database' } }],
+ },
+ {
+ code: `const a = getDatabase().delete({})`,
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ },
+ {
+ code: `const a = getDatabase(arg1, arg2).delete({})`,
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ },
+ {
+ code: `const a = getDatabase(arg1, arg2).delete({})`,
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ },
+ {
+ code: `const a = this.dataSource.getDatabase(arg1, arg2).delete({})`,
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'this.dataSource.getDatabase(...)' } }],
+ },
+ {
+ code: `const a = this.getDataSource().getDatabase(arg1, arg2).delete({})`,
+ errors: [{
+ messageId: 'enforceDeleteWithWhere',
+ data: { drizzleObjName: 'this.getDataSource(...).getDatabase(...)' },
+ }],
+ },
+ {
+ code: `const a = this.getDataSource().db.delete({})`,
+ errors: [{
+ messageId: 'enforceDeleteWithWhere',
+ data: { drizzleObjName: 'this.getDataSource(...).db' },
+ }],
},
],
});
@@ -60,26 +90,78 @@ ruleTester.run('enforce delete with where (string option)', myRule, {
.delete({})`,
options: [{ drizzleObjectName: 'db' }],
},
+ {
+ code: `const a = getDatabase(arg1, arg2).delete({})`,
+ options: [{ drizzleObjectName: 'db' }],
+ },
+ {
+ code: `const a = this.database.getDatabase().delete({})`,
+ options: [{ drizzleObjectName: 'db' }],
+ },
+ {
+ code: `const a = this.getDataSource().getDatabase(arg1, arg2).delete({})`,
+ options: [{ drizzleObjectName: 'db' }],
+ },
+ {
+ code: `const a = this.getDataSource().db.delete({})`,
+ options: [{ drizzleObjectName: 'getDataSource' }],
+ },
],
invalid: [
{
code: 'db.delete({})',
- errors: [{ messageId: 'enforceDeleteWithWhere' }],
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'db' } }],
options: [{ drizzleObjectName: 'db' }],
},
{
code: 'this.database.db.delete({})',
- errors: [{ messageId: 'enforceDeleteWithWhere' }],
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'this.database.db' } }],
options: [{ drizzleObjectName: 'db' }],
},
{
code: 'const a = await db.delete({})',
- errors: [{ messageId: 'enforceDeleteWithWhere' }],
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'db' } }],
options: [{ drizzleObjectName: 'db' }],
},
{
code: 'const a = db.delete({})',
- errors: [{ messageId: 'enforceDeleteWithWhere' }],
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'db' } }],
+ options: [{ drizzleObjectName: 'db' }],
+ },
+ {
+ code: `const a = getDatabase().delete({})`,
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ options: [{ drizzleObjectName: 'getDatabase' }],
+ },
+ {
+ code: `const a = getDatabase(arg1, arg2).delete({})`,
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ options: [{ drizzleObjectName: 'getDatabase' }],
+ },
+ {
+ code: `const a = getDatabase(arg1, arg2).delete({})`,
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ options: [{ drizzleObjectName: 'getDatabase' }],
+ },
+ {
+ code: `const a = this.dataSource.getDatabase(arg1, arg2).delete({})`,
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'this.dataSource.getDatabase(...)' } }],
+ options: [{ drizzleObjectName: 'getDatabase' }],
+ },
+ {
+ code: `const a = this.getDataSource().getDatabase(arg1, arg2).delete({})`,
+ errors: [{
+ messageId: 'enforceDeleteWithWhere',
+ data: { drizzleObjName: 'this.getDataSource(...).getDatabase(...)' },
+ }],
+ options: [{ drizzleObjectName: 'getDatabase' }],
+ },
+ {
+ code: `const a = this.getDataSource().db.delete({})`,
+ errors: [{
+ messageId: 'enforceDeleteWithWhere',
+ data: { drizzleObjName: 'this.getDataSource(...).db' },
+ }],
options: [{ drizzleObjectName: 'db' }],
},
],
@@ -104,31 +186,83 @@ ruleTester.run('enforce delete with where (array option)', myRule, {
.delete({})`,
options: [{ drizzleObjectName: ['db'] }],
},
+ {
+ code: `const a = getDatabase(arg1, arg2).delete({})`,
+ options: [{ drizzleObjectName: ['db'] }],
+ },
+ {
+ code: `const a = this.database.getDatabase().delete({})`,
+ options: [{ drizzleObjectName: ['db', 'database'] }],
+ },
+ {
+ code: `const a = this.getDataSource().getDatabase(arg1, arg2).delete({})`,
+ options: [{ drizzleObjectName: ['db', 'getDataSource'] }],
+ },
+ {
+ code: `const a = this.getDataSource().db.delete({})`,
+ options: [{ drizzleObjectName: ['getDataSource'] }],
+ },
],
invalid: [
{
code: 'db.delete({})',
- errors: [{ messageId: 'enforceDeleteWithWhere' }],
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'db' } }],
options: [{ drizzleObjectName: ['db', 'anotherName'] }],
},
{
code: 'this.dataSource.db.delete({})',
- errors: [{ messageId: 'enforceDeleteWithWhere' }],
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'this.dataSource.db' } }],
options: [{ drizzleObjectName: ['db', 'anotherName'] }],
},
{
code: 'dataSource.delete({})',
- errors: [{ messageId: 'enforceDeleteWithWhere' }],
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'dataSource' } }],
options: [{ drizzleObjectName: ['db', 'dataSource'] }],
},
{
code: 'const a = await db.delete({})',
- errors: [{ messageId: 'enforceDeleteWithWhere' }],
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'db' } }],
options: [{ drizzleObjectName: ['db'] }],
},
{
code: 'const a = db.delete({})',
- errors: [{ messageId: 'enforceDeleteWithWhere' }],
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'db' } }],
+ options: [{ drizzleObjectName: ['db'] }],
+ },
+ {
+ code: `const a = getDatabase().delete({})`,
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ options: [{ drizzleObjectName: ['getDatabase', 'db'] }],
+ },
+ {
+ code: `const a = getDatabase(arg1, arg2).delete({})`,
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ options: [{ drizzleObjectName: ['getDatabase', 'db'] }],
+ },
+ {
+ code: `const a = getDatabase(arg1, arg2).delete({})`,
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ options: [{ drizzleObjectName: ['getDatabase', 'db'] }],
+ },
+ {
+ code: `const a = this.dataSource.getDatabase(arg1, arg2).delete({})`,
+ errors: [{ messageId: 'enforceDeleteWithWhere', data: { drizzleObjName: 'this.dataSource.getDatabase(...)' } }],
+ options: [{ drizzleObjectName: ['getDatabase', 'dataSource'] }],
+ },
+ {
+ code: `const a = this.getDataSource().getDatabase(arg1, arg2).delete({})`,
+ errors: [{
+ messageId: 'enforceDeleteWithWhere',
+ data: { drizzleObjName: 'this.getDataSource(...).getDatabase(...)' },
+ }],
+ options: [{ drizzleObjectName: ['getDatabase'] }],
+ },
+ {
+ code: `const a = this.getDataSource().db.delete({})`,
+ errors: [{
+ messageId: 'enforceDeleteWithWhere',
+ data: { drizzleObjName: 'this.getDataSource(...).db' },
+ }],
options: [{ drizzleObjectName: ['db'] }],
},
],
diff --git a/eslint-plugin-drizzle/tests/update.test.ts b/eslint-plugin-drizzle/tests/update.test.ts
index 019b7551e..315eeb7ef 100644
--- a/eslint-plugin-drizzle/tests/update.test.ts
+++ b/eslint-plugin-drizzle/tests/update.test.ts
@@ -51,6 +51,36 @@ ruleTester.run('enforce update with where (default options)', myRule, {
.set()`,
errors: [{ messageId: 'enforceUpdateWithWhere' }],
},
+ {
+ code: `const a = getDatabase().update({}).set()`,
+ errors: [{ messageId: 'enforceUpdateWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ },
+ {
+ code: `const a = getDatabase(arg1, arg2).update({}).set()`,
+ errors: [{ messageId: 'enforceUpdateWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ },
+ {
+ code: `const a = getDatabase(arg1, arg2).update({}).set()`,
+ errors: [{ messageId: 'enforceUpdateWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ },
+ {
+ code: `const a = this.dataSource.getDatabase(arg1, arg2).update({}).set()`,
+ errors: [{ messageId: 'enforceUpdateWithWhere', data: { drizzleObjName: 'this.dataSource.getDatabase(...)' } }],
+ },
+ {
+ code: `const a = this.getDataSource().getDatabase(arg1, arg2).update({}).set()`,
+ errors: [{
+ messageId: 'enforceUpdateWithWhere',
+ data: { drizzleObjName: 'this.getDataSource(...).getDatabase(...)' },
+ }],
+ },
+ {
+ code: `const a = this.getDataSource().db.update({}).set()`,
+ errors: [{
+ messageId: 'enforceUpdateWithWhere',
+ data: { drizzleObjName: 'this.getDataSource(...).db' },
+ }],
+ },
],
});
@@ -70,6 +100,22 @@ ruleTester.run('enforce update with where (string option)', myRule, {
.update({})`,
options: [{ drizzleObjectName: 'db' }],
},
+ {
+ code: `const a = getDatabase(arg1, arg2).update({}).set()`,
+ options: [{ drizzleObjectName: 'db' }],
+ },
+ {
+ code: `const a = this.database.getDatabase().update({}).set()`,
+ options: [{ drizzleObjectName: 'db' }],
+ },
+ {
+ code: `const a = this.getDataSource().getDatabase(arg1, arg2).update({}).set()`,
+ options: [{ drizzleObjectName: 'db' }],
+ },
+ {
+ code: `const a = this.getDataSource().db.update({}).set()`,
+ options: [{ drizzleObjectName: 'getDataSource' }],
+ },
],
invalid: [
{
@@ -92,10 +138,46 @@ ruleTester.run('enforce update with where (string option)', myRule, {
errors: [{ messageId: 'enforceUpdateWithWhere' }],
options: [{ drizzleObjectName: 'db' }],
},
+ {
+ code: `const a = getDatabase().update({}).set()`,
+ errors: [{ messageId: 'enforceUpdateWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ options: [{ drizzleObjectName: 'getDatabase' }],
+ },
+ {
+ code: `const a = getDatabase(arg1, arg2).update({}).set()`,
+ errors: [{ messageId: 'enforceUpdateWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ options: [{ drizzleObjectName: 'getDatabase' }],
+ },
+ {
+ code: `const a = getDatabase(arg1, arg2).update({}).set()`,
+ errors: [{ messageId: 'enforceUpdateWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ options: [{ drizzleObjectName: 'getDatabase' }],
+ },
+ {
+ code: `const a = this.dataSource.getDatabase(arg1, arg2).update({}).set()`,
+ errors: [{ messageId: 'enforceUpdateWithWhere', data: { drizzleObjName: 'this.dataSource.getDatabase(...)' } }],
+ options: [{ drizzleObjectName: 'getDatabase' }],
+ },
+ {
+ code: `const a = this.getDataSource().getDatabase(arg1, arg2).update({}).set()`,
+ errors: [{
+ messageId: 'enforceUpdateWithWhere',
+ data: { drizzleObjName: 'this.getDataSource(...).getDatabase(...)' },
+ }],
+ options: [{ drizzleObjectName: 'getDatabase' }],
+ },
+ {
+ code: `const a = this.getDataSource().db.update({}).set()`,
+ errors: [{
+ messageId: 'enforceUpdateWithWhere',
+ data: { drizzleObjName: 'this.getDataSource(...).db' },
+ }],
+ options: [{ drizzleObjectName: 'db' }],
+ },
],
});
-ruleTester.run('enforce delete with where (array option)', myRule, {
+ruleTester.run('enforce update with where (array option)', myRule, {
valid: [
{ code: 'const a = db.update({}).set().where({});', options: [{ drizzleObjectName: ['db'] }] },
{ code: 'const a = this.dataSource.db.update({}).set().where({});', options: [{ drizzleObjectName: ['db'] }] },
@@ -112,6 +194,22 @@ ruleTester.run('enforce delete with where (array option)', myRule, {
.update({})`,
options: [{ drizzleObjectName: ['db'] }],
},
+ {
+ code: `const a = getDatabase(arg1, arg2).update({}).set()`,
+ options: [{ drizzleObjectName: ['db'] }],
+ },
+ {
+ code: `const a = this.database.getDatabase().update({}).set()`,
+ options: [{ drizzleObjectName: ['db', 'database'] }],
+ },
+ {
+ code: `const a = this.getDataSource().getDatabase(arg1, arg2).update({}).set()`,
+ options: [{ drizzleObjectName: ['db', 'getDataSource'] }],
+ },
+ {
+ code: `const a = this.getDataSource().db.update({}).set()`,
+ options: [{ drizzleObjectName: ['getDataSource'] }],
+ },
],
invalid: [
{
@@ -139,5 +237,41 @@ ruleTester.run('enforce delete with where (array option)', myRule, {
errors: [{ messageId: 'enforceUpdateWithWhere' }],
options: [{ drizzleObjectName: ['db'] }],
},
+ {
+ code: `const a = getDatabase().update({}).set()`,
+ errors: [{ messageId: 'enforceUpdateWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ options: [{ drizzleObjectName: ['getDatabase', 'db'] }],
+ },
+ {
+ code: `const a = getDatabase(arg1, arg2).update({}).set()`,
+ errors: [{ messageId: 'enforceUpdateWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ options: [{ drizzleObjectName: ['getDatabase', 'db'] }],
+ },
+ {
+ code: `const a = getDatabase(arg1, arg2).update({}).set()`,
+ errors: [{ messageId: 'enforceUpdateWithWhere', data: { drizzleObjName: 'getDatabase(...)' } }],
+ options: [{ drizzleObjectName: ['getDatabase', 'db'] }],
+ },
+ {
+ code: `const a = this.dataSource.getDatabase(arg1, arg2).update({}).set()`,
+ errors: [{ messageId: 'enforceUpdateWithWhere', data: { drizzleObjName: 'this.dataSource.getDatabase(...)' } }],
+ options: [{ drizzleObjectName: ['getDatabase', 'dataSource'] }],
+ },
+ {
+ code: `const a = this.getDataSource().getDatabase(arg1, arg2).update({}).set()`,
+ errors: [{
+ messageId: 'enforceUpdateWithWhere',
+ data: { drizzleObjName: 'this.getDataSource(...).getDatabase(...)' },
+ }],
+ options: [{ drizzleObjectName: ['getDatabase'] }],
+ },
+ {
+ code: `const a = this.getDataSource().db.update({}).set()`,
+ errors: [{
+ messageId: 'enforceUpdateWithWhere',
+ data: { drizzleObjName: 'this.getDataSource(...).db' },
+ }],
+ options: [{ drizzleObjectName: ['db'] }],
+ },
],
});
diff --git a/eslint-plugin-drizzle/tsconfig.json b/eslint-plugin-drizzle/tsconfig.json
index e11453ec3..3329a0cd5 100644
--- a/eslint-plugin-drizzle/tsconfig.json
+++ b/eslint-plugin-drizzle/tsconfig.json
@@ -24,6 +24,6 @@
},
"include": [
"src/**/*.ts",
- "package.json",
+ "package.json"
]
}
diff --git a/integration-tests/package.json b/integration-tests/package.json
index 745d1cbe0..ab3ffde7a 100644
--- a/integration-tests/package.json
+++ b/integration-tests/package.json
@@ -5,7 +5,7 @@
"type": "module",
"scripts": {
"test:types": "tsc",
- "test": "ava tests --timeout=60s --serial && pnpm test:esm && pnpm test:rqb",
+ "test": "NODE_OPTIONS='--loader=tsx --no-warnings' ava --timeout=60s --serial && pnpm test:esm && pnpm test:rqb",
"test:rqb": "vitest run --no-threads",
"test:esm": "node tests/imports.test.mjs && node tests/imports.test.cjs"
},
diff --git a/integration-tests/tests/better-sqlite.test.ts b/integration-tests/tests/better-sqlite.test.ts
index 44e04858b..823f3cf47 100644
--- a/integration-tests/tests/better-sqlite.test.ts
+++ b/integration-tests/tests/better-sqlite.test.ts
@@ -3,7 +3,19 @@ import 'dotenv/config';
import type { TestFn } from 'ava';
import anyTest from 'ava';
import Database from 'better-sqlite3';
-import { asc, eq, type Equal, gt, inArray, name, placeholder, sql, TransactionRollbackError } from 'drizzle-orm';
+import {
+ and,
+ asc,
+ eq,
+ type Equal,
+ exists,
+ gt,
+ inArray,
+ name,
+ placeholder,
+ sql,
+ TransactionRollbackError,
+} from 'drizzle-orm';
import { type BetterSQLite3Database, drizzle } from 'drizzle-orm/better-sqlite3';
import { migrate } from 'drizzle-orm/better-sqlite3/migrator';
import {
@@ -756,6 +768,19 @@ test.serial('select with group by as field', (t) => {
t.deepEqual(result, [{ name: 'Jane' }, { name: 'John' }]);
});
+test.serial('select with exists', async (t) => {
+ const { db } = t.context;
+
+ db.insert(usersTable).values([{ name: 'John' }, { name: 'Jane' }, { name: 'Jane' }]).run();
+
+ const user = alias(usersTable, 'user');
+ const result = db.select({ name: usersTable.name }).from(usersTable).where(
+ exists(db.select({ one: sql`1` }).from(user).where(and(eq(usersTable.name, 'John'), eq(user.id, usersTable.id)))),
+ ).all();
+
+ t.deepEqual(result, [{ name: 'John' }]);
+});
+
test.serial('select with group by as sql', (t) => {
const { db } = t.context;
diff --git a/integration-tests/tests/libsql.test.ts b/integration-tests/tests/libsql.test.ts
index 762f9ed5b..7fc84e5b2 100644
--- a/integration-tests/tests/libsql.test.ts
+++ b/integration-tests/tests/libsql.test.ts
@@ -4,25 +4,27 @@ import { type Client, createClient } from '@libsql/client';
import type { TestFn } from 'ava';
import anyTest from 'ava';
import {
+ and,
asc,
+ avg,
+ avgDistinct,
+ count,
+ countDistinct,
eq,
+ exists,
gt,
gte,
inArray,
type InferModel,
+ max,
+ min,
Name,
name,
placeholder,
sql,
- TransactionRollbackError,
- count,
- countDistinct,
- avg,
- avgDistinct,
sum,
sumDistinct,
- max,
- min
+ TransactionRollbackError,
} from 'drizzle-orm';
import { drizzle, type LibSQLDatabase } from 'drizzle-orm/libsql';
import { migrate } from 'drizzle-orm/libsql/migrator';
@@ -126,7 +128,7 @@ const aggregateTable = sqliteTable('aggregate_table', {
a: integer('a'),
b: integer('b'),
c: integer('c'),
- nullOnly: integer('null_only')
+ nullOnly: integer('null_only'),
});
test.before(async (t) => {
@@ -891,6 +893,19 @@ test.serial('select with group by as field', async (t) => {
t.deepEqual(result, [{ name: 'Jane' }, { name: 'John' }]);
});
+test.serial('select with exists', async (t) => {
+ const { db } = t.context;
+
+ await db.insert(usersTable).values([{ name: 'John' }, { name: 'Jane' }, { name: 'Jane' }]).run();
+
+ const user = alias(usersTable, 'user');
+ const result = await db.select({ name: usersTable.name }).from(usersTable).where(
+ exists(db.select({ one: sql`1` }).from(user).where(and(eq(usersTable.name, 'John'), eq(user.id, usersTable.id)))),
+ ).all();
+
+ t.deepEqual(result, [{ name: 'John' }]);
+});
+
test.serial('select with group by as sql', async (t) => {
const { db } = t.context;
diff --git a/integration-tests/tests/mysql.test.ts b/integration-tests/tests/mysql.test.ts
index d916cc22d..e14f1105f 100644
--- a/integration-tests/tests/mysql.test.ts
+++ b/integration-tests/tests/mysql.test.ts
@@ -4,25 +4,27 @@ import type { TestFn } from 'ava';
import anyTest from 'ava';
import Docker from 'dockerode';
import {
+ and,
asc,
+ avg,
+ avgDistinct,
+ count,
+ countDistinct,
DefaultLogger,
eq,
+ exists,
gt,
gte,
inArray,
type InferModel,
+ max,
+ min,
Name,
placeholder,
sql,
- TransactionRollbackError,
sum,
sumDistinct,
- count,
- countDistinct,
- avg,
- avgDistinct,
- max,
- min,
+ TransactionRollbackError,
} from 'drizzle-orm';
import {
alias,
@@ -134,7 +136,7 @@ const aggregateTable = mysqlTable('aggregate_table', {
a: int('a'),
b: int('b'),
c: int('c'),
- nullOnly: int('null_only')
+ nullOnly: int('null_only'),
});
interface Context {
@@ -654,6 +656,19 @@ test.serial('select with group by as field', async (t) => {
t.deepEqual(result, [{ name: 'John' }, { name: 'Jane' }]);
});
+test.serial('select with exists', async (t) => {
+ const { db } = t.context;
+
+ await db.insert(usersTable).values([{ name: 'John' }, { name: 'Jane' }, { name: 'Jane' }]);
+
+ const user = alias(usersTable, 'user');
+ const result = await db.select({ name: usersTable.name }).from(usersTable).where(
+ exists(db.select({ one: sql`1` }).from(user).where(and(eq(usersTable.name, 'John'), eq(user.id, usersTable.id)))),
+ );
+
+ t.deepEqual(result, [{ name: 'John' }]);
+});
+
test.serial('select with group by as sql', async (t) => {
const { db } = t.context;
diff --git a/integration-tests/tests/pg.test.ts b/integration-tests/tests/pg.test.ts
index 3c1b1c9d7..e67a4780b 100644
--- a/integration-tests/tests/pg.test.ts
+++ b/integration-tests/tests/pg.test.ts
@@ -9,25 +9,26 @@ import {
arrayContains,
arrayOverlaps,
asc,
+ avg,
+ avgDistinct,
+ count,
+ countDistinct,
eq,
+ exists,
gt,
gte,
inArray,
lt,
+ max,
+ min,
name,
placeholder,
type SQL,
sql,
type SQLWrapper,
- TransactionRollbackError,
- count,
- countDistinct,
- avg,
- avgDistinct,
sum,
sumDistinct,
- max,
- min,
+ TransactionRollbackError,
} from 'drizzle-orm';
import { drizzle, type NodePgDatabase } from 'drizzle-orm/node-postgres';
import { migrate } from 'drizzle-orm/node-postgres/migrator';
@@ -50,6 +51,7 @@ import {
macaddr,
macaddr8,
type PgColumn,
+ pgEnum,
pgMaterializedView,
pgTable,
pgTableCreator,
@@ -64,7 +66,6 @@ import {
uniqueKeyName,
uuid as pgUuid,
varchar,
- pgEnum,
} from 'drizzle-orm/pg-core';
import getPort from 'get-port';
import pg from 'pg';
@@ -149,7 +150,7 @@ const aggregateTable = pgTable('aggregate_table', {
a: integer('a'),
b: integer('b'),
c: integer('c'),
- nullOnly: integer('null_only')
+ nullOnly: integer('null_only'),
});
interface Context {
@@ -523,7 +524,7 @@ test.serial('select distinct', async (t) => {
const usersDistinctTable = pgTable('users_distinct', {
id: integer('id').notNull(),
name: text('name').notNull(),
- age: integer('age').notNull()
+ age: integer('age').notNull(),
});
await db.execute(sql`drop table if exists ${usersDistinctTable}`);
@@ -534,7 +535,7 @@ test.serial('select distinct', async (t) => {
{ id: 1, name: 'John', age: 24 },
{ id: 2, name: 'John', age: 25 },
{ id: 1, name: 'Jane', age: 24 },
- { id: 1, name: 'Jane', age: 26 }
+ { id: 1, name: 'Jane', age: 26 },
]);
const users1 = await db.selectDistinct().from(usersDistinctTable).orderBy(
usersDistinctTable.id,
@@ -547,8 +548,8 @@ test.serial('select distinct', async (t) => {
usersDistinctTable,
).orderBy(usersDistinctTable.name);
const users4 = await db.selectDistinctOn([usersDistinctTable.id, usersDistinctTable.age]).from(
- usersDistinctTable
- ).orderBy(usersDistinctTable.id, usersDistinctTable.age)
+ usersDistinctTable,
+ ).orderBy(usersDistinctTable.id, usersDistinctTable.age);
await db.execute(sql`drop table ${usersDistinctTable}`);
@@ -556,7 +557,7 @@ test.serial('select distinct', async (t) => {
{ id: 1, name: 'Jane', age: 24 },
{ id: 1, name: 'Jane', age: 26 },
{ id: 1, name: 'John', age: 24 },
- { id: 2, name: 'John', age: 25 }
+ { id: 2, name: 'John', age: 25 },
]);
t.deepEqual(users2.length, 2);
@@ -570,7 +571,7 @@ test.serial('select distinct', async (t) => {
t.deepEqual(users4, [
{ id: 1, name: 'John', age: 24 },
{ id: 1, name: 'Jane', age: 26 },
- { id: 2, name: 'John', age: 25 }
+ { id: 2, name: 'John', age: 25 },
]);
});
@@ -823,6 +824,19 @@ test.serial('select with group by as field', async (t) => {
t.deepEqual(result, [{ name: 'Jane' }, { name: 'John' }]);
});
+test.serial('select with exists', async (t) => {
+ const { db } = t.context;
+
+ await db.insert(usersTable).values([{ name: 'John' }, { name: 'Jane' }, { name: 'Jane' }]);
+
+ const user = alias(usersTable, 'user');
+ const result = await db.select({ name: usersTable.name }).from(usersTable).where(
+ exists(db.select({ one: sql`1` }).from(user).where(and(eq(usersTable.name, 'John'), eq(user.id, usersTable.id)))),
+ );
+
+ t.deepEqual(result, [{ name: 'John' }]);
+});
+
test.serial('select with group by as sql', async (t) => {
const { db } = t.context;
@@ -3276,3 +3290,41 @@ test.serial('aggregate function: min', async (t) => {
t.deepEqual(result1[0]?.value, 10);
t.deepEqual(result2[0]?.value, null);
});
+
+test.serial('array mapping and parsing', async (t) => {
+ const { db } = t.context;
+
+ const arrays = pgTable('arrays_tests', {
+ id: serial('id').primaryKey(),
+ tags: text('tags').array(),
+ nested: text('nested').array().array(),
+ numbers: integer('numbers').notNull().array(),
+ });
+
+ db.execute(sql`drop table if exists ${arrays}`);
+ db.execute(sql`
+ create table ${arrays} (
+ id serial primary key,
+ tags text[],
+ nested text[][],
+ numbers integer[]
+ )
+ `);
+
+ await db.insert(arrays).values({
+ tags: ['', 'b', 'c'],
+ nested: [['1', ''], ['3', '\\a']],
+ numbers: [1, 2, 3],
+ });
+
+ const result = await db.select().from(arrays);
+
+ t.deepEqual(result, [{
+ id: 1,
+ tags: ['', 'b', 'c'],
+ nested: [['1', ''], ['3', '\\a']],
+ numbers: [1, 2, 3],
+ }]);
+
+ await db.execute(sql`drop table ${arrays}`);
+});
diff --git a/integration-tests/tests/postgres.js.test.ts b/integration-tests/tests/postgres.js.test.ts
index a1f979f60..50424c71d 100644
--- a/integration-tests/tests/postgres.js.test.ts
+++ b/integration-tests/tests/postgres.js.test.ts
@@ -10,6 +10,7 @@ import {
arrayOverlaps,
asc,
eq,
+ exists,
gt,
gte,
inArray,
@@ -485,6 +486,19 @@ test.serial('select with group by as field', async (t) => {
t.deepEqual(result, [{ name: 'Jane' }, { name: 'John' }]);
});
+test.serial('select with exists', async (t) => {
+ const { db } = t.context;
+
+ await db.insert(usersTable).values([{ name: 'John' }, { name: 'Jane' }, { name: 'Jane' }]);
+
+ const user = alias(usersTable, 'user');
+ const result = await db.select({ name: usersTable.name }).from(usersTable).where(
+ exists(db.select({ one: sql`1` }).from(user).where(and(eq(usersTable.name, 'John'), eq(user.id, usersTable.id)))),
+ );
+
+ t.deepEqual(result, [{ name: 'John' }]);
+});
+
test.serial('select with group by as sql', async (t) => {
const { db } = t.context;
@@ -2162,3 +2176,41 @@ test.serial('array operators', async (t) => {
t.deepEqual(overlaps, [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }, { id: 5 }]);
t.deepEqual(withSubQuery, [{ id: 1 }, { id: 3 }, { id: 5 }]);
});
+
+test.serial('array mapping and parsing', async (t) => {
+ const { db } = t.context;
+
+ const arrays = pgTable('arrays_tests', {
+ id: serial('id').primaryKey(),
+ tags: text('tags').array(),
+ nested: text('nested').array().array(),
+ numbers: integer('numbers').notNull().array(),
+ });
+
+ db.execute(sql`drop table if exists ${arrays}`);
+ db.execute(sql`
+ create table ${arrays} (
+ id serial primary key,
+ tags text[],
+ nested text[][],
+ numbers integer[]
+ )
+ `);
+
+ await db.insert(arrays).values({
+ tags: ['', 'b', 'c'],
+ nested: [['1', ''], ['3', '\\a']],
+ numbers: [1, 2, 3],
+ });
+
+ const result = await db.select().from(arrays);
+
+ t.deepEqual(result, [{
+ id: 1,
+ tags: ['', 'b', 'c'],
+ nested: [['1', ''], ['3', '\\a']],
+ numbers: [1, 2, 3],
+ }]);
+
+ await db.execute(sql`drop table ${arrays}`);
+});
diff --git a/integration-tests/tests/relational/bettersqlite.test.ts b/integration-tests/tests/relational/bettersqlite.test.ts
index ff423c2de..20b4f9923 100644
--- a/integration-tests/tests/relational/bettersqlite.test.ts
+++ b/integration-tests/tests/relational/bettersqlite.test.ts
@@ -3925,6 +3925,100 @@ test('Get user with posts and posts with comments and comments with owner', () =
});
});
+test('Get user with posts and posts with comments and comments with owner where exists', () => {
+ db.insert(usersTable).values([
+ { id: 1, name: 'Dan' },
+ { id: 2, name: 'Andrew' },
+ { id: 3, name: 'Alex' },
+ ]).run();
+
+ db.insert(postsTable).values([
+ { id: 1, ownerId: 1, content: 'Post1' },
+ { id: 2, ownerId: 2, content: 'Post2' },
+ { id: 3, ownerId: 3, content: 'Post3' },
+ ]).run();
+
+ db.insert(commentsTable).values([
+ { postId: 1, content: 'Comment1', creator: 2 },
+ { postId: 2, content: 'Comment2', creator: 2 },
+ { postId: 3, content: 'Comment3', creator: 3 },
+ ]).run();
+
+ const response = db.query.usersTable.findMany({
+ with: {
+ posts: {
+ with: {
+ comments: {
+ with: {
+ author: true,
+ },
+ },
+ },
+ },
+ },
+ where: (table, { exists, eq }) => exists(db.select({ one: sql`1` }).from(usersTable).where(eq(sql`1`, table.id))),
+ }).sync();
+
+ expectTypeOf(response).toEqualTypeOf<{
+ id: number;
+ name: string;
+ verified: number;
+ invitedBy: number | null;
+ posts: {
+ id: number;
+ content: string;
+ ownerId: number | null;
+ createdAt: Date;
+ comments: {
+ id: number;
+ content: string;
+ createdAt: Date;
+ creator: number | null;
+ postId: number | null;
+ author: {
+ id: number;
+ name: string;
+ verified: number;
+ invitedBy: number | null;
+ } | null;
+ }[];
+ }[];
+ }[]>();
+
+ expect(response.length).eq(1);
+ expect(response[0]?.posts.length).eq(1);
+
+ expect(response[0]?.posts[0]?.comments.length).eq(1);
+
+ expect(response[0]).toEqual({
+ id: 1,
+ name: 'Dan',
+ verified: 0,
+ invitedBy: null,
+ posts: [{
+ id: 1,
+ ownerId: 1,
+ content: 'Post1',
+ createdAt: response[0]?.posts[0]?.createdAt,
+ comments: [
+ {
+ id: 1,
+ content: 'Comment1',
+ creator: 2,
+ author: {
+ id: 2,
+ name: 'Andrew',
+ verified: 0,
+ invitedBy: null,
+ },
+ postId: 1,
+ createdAt: response[0]?.posts[0]?.comments[0]?.createdAt,
+ },
+ ],
+ }],
+ });
+});
+
/*
One three-level relation + 1 first-level relatioon
1. users+posts+comments+comment_owner
diff --git a/integration-tests/tests/relational/mysql.planetscale.test.ts b/integration-tests/tests/relational/mysql.planetscale.test.ts
index e6dd96fa4..20bcc7d27 100644
--- a/integration-tests/tests/relational/mysql.planetscale.test.ts
+++ b/integration-tests/tests/relational/mysql.planetscale.test.ts
@@ -27,75 +27,95 @@ beforeAll(async () => {
}),
{ schema, logger: ENABLE_LOGGING },
);
+
+ await Promise.all([
+ db.execute(sql`drop table if exists \`users\``),
+ db.execute(sql`drop table if exists \`groups\``),
+ db.execute(sql`drop table if exists \`users_to_groups\``),
+ db.execute(sql`drop table if exists \`posts\``),
+ db.execute(sql`drop table if exists \`comments\``),
+ db.execute(sql`drop table if exists \`comment_likes\``),
+ ]);
+ await Promise.all([
+ db.execute(
+ sql`
+ CREATE TABLE IF NOT EXISTS \`users\` (
+ \`id\` bigint PRIMARY KEY AUTO_INCREMENT NOT NULL,
+ \`name\` text NOT NULL,
+ \`verified\` boolean DEFAULT false NOT NULL,
+ \`invited_by\` bigint
+ );
+ `,
+ ),
+ db.execute(
+ sql`
+ CREATE TABLE IF NOT EXISTS \`groups\` (
+ \`id\` bigint PRIMARY KEY AUTO_INCREMENT NOT NULL,
+ \`name\` text NOT NULL,
+ \`description\` text
+ );
+ `,
+ ),
+ db.execute(
+ sql`
+ CREATE TABLE IF NOT EXISTS \`users_to_groups\` (
+ \`id\` serial PRIMARY KEY AUTO_INCREMENT NOT NULL,
+ \`user_id\` bigint,
+ \`group_id\` bigint
+ );
+ `,
+ ),
+ db.execute(
+ sql`
+ CREATE TABLE IF NOT EXISTS \`posts\` (
+ \`id\` bigint PRIMARY KEY AUTO_INCREMENT NOT NULL,
+ \`content\` text NOT NULL,
+ \`owner_id\` bigint,
+ \`created_at\` timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL
+ );
+ `,
+ ),
+ db.execute(
+ sql`
+ CREATE TABLE IF NOT EXISTS \`comments\` (
+ \`id\` bigint PRIMARY KEY AUTO_INCREMENT NOT NULL,
+ \`content\` text NOT NULL,
+ \`creator\` bigint,
+ \`post_id\` bigint,
+ \`created_at\` timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL
+ );
+ `,
+ ),
+ db.execute(
+ sql`
+ CREATE TABLE IF NOT EXISTS \`comment_likes\` (
+ \`id\` bigint PRIMARY KEY AUTO_INCREMENT NOT NULL,
+ \`creator\` bigint,
+ \`comment_id\` bigint,
+ \`created_at\` timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL
+ );
+ `,
+ ),
+ ]);
});
beforeEach(async () => {
- await db.execute(sql`drop table if exists \`users\``);
- await db.execute(sql`drop table if exists \`groups\``);
- await db.execute(sql`drop table if exists \`users_to_groups\``);
- await db.execute(sql`drop table if exists \`posts\``);
- await db.execute(sql`drop table if exists \`comments\``);
- await db.execute(sql`drop table if exists \`comment_likes\``);
-
- await db.execute(
- sql`
- CREATE TABLE \`users\` (
- \`id\` bigint PRIMARY KEY AUTO_INCREMENT NOT NULL,
- \`name\` text NOT NULL,
- \`verified\` boolean DEFAULT false NOT NULL,
- \`invited_by\` bigint
- );
- `,
- );
- await db.execute(
- sql`
- CREATE TABLE \`groups\` (
- \`id\` bigint PRIMARY KEY AUTO_INCREMENT NOT NULL,
- \`name\` text NOT NULL,
- \`description\` text
- );
- `,
- );
- await db.execute(
- sql`
- CREATE TABLE \`users_to_groups\` (
- \`id\` serial PRIMARY KEY AUTO_INCREMENT NOT NULL,
- \`user_id\` bigint,
- \`group_id\` bigint
- );
- `,
- );
- await db.execute(
- sql`
- CREATE TABLE \`posts\` (
- \`id\` bigint PRIMARY KEY AUTO_INCREMENT NOT NULL,
- \`content\` text NOT NULL,
- \`owner_id\` bigint,
- \`created_at\` timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL
- );
- `,
- );
- await db.execute(
- sql`
- CREATE TABLE \`comments\` (
- \`id\` bigint PRIMARY KEY AUTO_INCREMENT NOT NULL,
- \`content\` text NOT NULL,
- \`creator\` bigint,
- \`post_id\` bigint,
- \`created_at\` timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL
- );
- `,
- );
- await db.execute(
- sql`
- CREATE TABLE \`comment_likes\` (
- \`id\` bigint PRIMARY KEY AUTO_INCREMENT NOT NULL,
- \`creator\` bigint,
- \`comment_id\` bigint,
- \`created_at\` timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL
- );
- `,
- );
+ await Promise.all([
+ db.delete(usersTable),
+ db.delete(postsTable),
+ db.delete(commentsTable),
+ db.delete(groupsTable),
+ db.delete(usersToGroupsTable),
+ db.execute(sql`delete from \`comment_likes\``),
+ ]);
+ await Promise.all([
+ db.execute(sql`ALTER TABLE \`users\` AUTO_INCREMENT = 1`),
+ db.execute(sql`ALTER TABLE \`groups\` AUTO_INCREMENT = 1`),
+ db.execute(sql`ALTER TABLE \`users_to_groups\` AUTO_INCREMENT = 1`),
+ db.execute(sql`ALTER TABLE \`posts\` AUTO_INCREMENT = 1`),
+ db.execute(sql`ALTER TABLE \`comments\` AUTO_INCREMENT = 1`),
+ db.execute(sql`ALTER TABLE \`comment_likes\` AUTO_INCREMENT = 1`),
+ ]);
});
/*
@@ -3945,6 +3965,100 @@ test('Get user with posts and posts with comments and comments with owner', asyn
});
});
+test('Get user with posts and posts with comments and comments with owner where exists', async () => {
+ await db.insert(usersTable).values([
+ { id: 1, name: 'Dan' },
+ { id: 2, name: 'Andrew' },
+ { id: 3, name: 'Alex' },
+ ]);
+
+ await db.insert(postsTable).values([
+ { id: 1, ownerId: 1, content: 'Post1' },
+ { id: 2, ownerId: 2, content: 'Post2' },
+ { id: 3, ownerId: 3, content: 'Post3' },
+ ]);
+
+ await db.insert(commentsTable).values([
+ { postId: 1, content: 'Comment1', creator: 2 },
+ { postId: 2, content: 'Comment2', creator: 2 },
+ { postId: 3, content: 'Comment3', creator: 3 },
+ ]);
+
+ const response = await db.query.usersTable.findMany({
+ with: {
+ posts: {
+ with: {
+ comments: {
+ with: {
+ author: true,
+ },
+ },
+ },
+ },
+ },
+ where: (table, { exists, eq }) => exists(db.select({ one: sql`1` }).from(usersTable).where(eq(sql`1`, table.id))),
+ });
+
+ expectTypeOf(response).toEqualTypeOf<{
+ id: number;
+ name: string;
+ verified: boolean;
+ invitedBy: number | null;
+ posts: {
+ id: number;
+ content: string;
+ ownerId: number | null;
+ createdAt: Date;
+ comments: {
+ id: number;
+ content: string;
+ createdAt: Date;
+ creator: number | null;
+ postId: number | null;
+ author: {
+ id: number;
+ name: string;
+ verified: boolean;
+ invitedBy: number | null;
+ } | null;
+ }[];
+ }[];
+ }[]>();
+
+ expect(response.length).eq(1);
+ expect(response[0]?.posts.length).eq(1);
+
+ expect(response[0]?.posts[0]?.comments.length).eq(1);
+
+ expect(response[0]).toEqual({
+ id: 1,
+ name: 'Dan',
+ verified: false,
+ invitedBy: null,
+ posts: [{
+ id: 1,
+ ownerId: 1,
+ content: 'Post1',
+ createdAt: response[0]?.posts[0]?.createdAt,
+ comments: [
+ {
+ id: 1,
+ content: 'Comment1',
+ creator: 2,
+ author: {
+ id: 2,
+ name: 'Andrew',
+ verified: false,
+ invitedBy: null,
+ },
+ postId: 1,
+ createdAt: response[0]?.posts[0]?.comments[0]?.createdAt,
+ },
+ ],
+ }],
+ });
+});
+
/*
One three-level relation + 1 first-level relatioon
1. users+posts+comments+comment_owner
diff --git a/integration-tests/tests/relational/mysql.test.ts b/integration-tests/tests/relational/mysql.test.ts
index 001a94bf2..c4a01eea5 100644
--- a/integration-tests/tests/relational/mysql.test.ts
+++ b/integration-tests/tests/relational/mysql.test.ts
@@ -4115,6 +4115,100 @@ test('Get user with posts and posts with comments and comments with owner', asyn
});
});
+test('Get user with posts and posts with comments and comments with owner where exists', async () => {
+ await db.insert(usersTable).values([
+ { id: 1, name: 'Dan' },
+ { id: 2, name: 'Andrew' },
+ { id: 3, name: 'Alex' },
+ ]);
+
+ await db.insert(postsTable).values([
+ { id: 1, ownerId: 1, content: 'Post1' },
+ { id: 2, ownerId: 2, content: 'Post2' },
+ { id: 3, ownerId: 3, content: 'Post3' },
+ ]);
+
+ await db.insert(commentsTable).values([
+ { postId: 1, content: 'Comment1', creator: 2 },
+ { postId: 2, content: 'Comment2', creator: 2 },
+ { postId: 3, content: 'Comment3', creator: 3 },
+ ]);
+
+ const response = await db.query.usersTable.findMany({
+ with: {
+ posts: {
+ with: {
+ comments: {
+ with: {
+ author: true,
+ },
+ },
+ },
+ },
+ },
+ where: (table, { exists, eq }) => exists(db.select({ one: sql`1` }).from(usersTable).where(eq(sql`1`, table.id))),
+ });
+
+ expectTypeOf(response).toEqualTypeOf<{
+ id: number;
+ name: string;
+ verified: boolean;
+ invitedBy: number | null;
+ posts: {
+ id: number;
+ content: string;
+ ownerId: number | null;
+ createdAt: Date;
+ comments: {
+ id: number;
+ content: string;
+ createdAt: Date;
+ creator: number | null;
+ postId: number | null;
+ author: {
+ id: number;
+ name: string;
+ verified: boolean;
+ invitedBy: number | null;
+ } | null;
+ }[];
+ }[];
+ }[]>();
+
+ expect(response.length).eq(1);
+ expect(response[0]?.posts.length).eq(1);
+
+ expect(response[0]?.posts[0]?.comments.length).eq(1);
+
+ expect(response[0]).toEqual({
+ id: 1,
+ name: 'Dan',
+ verified: false,
+ invitedBy: null,
+ posts: [{
+ id: 1,
+ ownerId: 1,
+ content: 'Post1',
+ createdAt: response[0]?.posts[0]?.createdAt,
+ comments: [
+ {
+ id: 1,
+ content: 'Comment1',
+ creator: 2,
+ author: {
+ id: 2,
+ name: 'Andrew',
+ verified: false,
+ invitedBy: null,
+ },
+ postId: 1,
+ createdAt: response[0]?.posts[0]?.comments[0]?.createdAt,
+ },
+ ],
+ }],
+ });
+});
+
/*
One three-level relation + 1 first-level relatioon
1. users+posts+comments+comment_owner
diff --git a/integration-tests/tests/relational/pg.postgresjs.test.ts b/integration-tests/tests/relational/pg.postgresjs.test.ts
index 85a455e80..ecdc6e1b8 100644
--- a/integration-tests/tests/relational/pg.postgresjs.test.ts
+++ b/integration-tests/tests/relational/pg.postgresjs.test.ts
@@ -4087,6 +4087,101 @@ test('Get user with posts and posts with comments and comments with owner', asyn
});
});
+test('Get user with posts and posts with comments and comments with owner where exists', async () => {
+ await db.insert(usersTable).values([
+ { id: 1, name: 'Dan' },
+ { id: 2, name: 'Andrew' },
+ { id: 3, name: 'Alex' },
+ ]);
+
+ await db.insert(postsTable).values([
+ { id: 1, ownerId: 1, content: 'Post1' },
+ { id: 2, ownerId: 2, content: 'Post2' },
+ { id: 3, ownerId: 3, content: 'Post3' },
+ ]);
+
+ await db.insert(commentsTable).values([
+ { postId: 1, content: 'Comment1', creator: 2 },
+ { postId: 2, content: 'Comment2', creator: 2 },
+ { postId: 3, content: 'Comment3', creator: 3 },
+ ]);
+
+ const response = await db.query.usersTable.findMany({
+ with: {
+ posts: {
+ with: {
+ comments: {
+ with: {
+ author: true,
+ },
+ },
+ },
+ },
+ },
+ where: (table, { notExists, eq }) =>
+ notExists(db.select({ one: sql`1` }).from(usersTable).where(eq(sql`1`, table.id))),
+ });
+
+ expectTypeOf(response).toEqualTypeOf<{
+ id: number;
+ name: string;
+ verified: boolean;
+ invitedBy: number | null;
+ posts: {
+ id: number;
+ content: string;
+ ownerId: number | null;
+ createdAt: Date;
+ comments: {
+ id: number;
+ content: string;
+ createdAt: Date;
+ creator: number | null;
+ postId: number | null;
+ author: {
+ id: number;
+ name: string;
+ verified: boolean;
+ invitedBy: number | null;
+ } | null;
+ }[];
+ }[];
+ }[]>();
+
+ expect(response.length).eq(2);
+ expect(response[0]?.posts.length).eq(1);
+
+ expect(response[0]?.posts[0]?.comments.length).eq(1);
+
+ expect(response[0]).toEqual({
+ id: 2,
+ name: 'Andrew',
+ verified: false,
+ invitedBy: null,
+ posts: [{
+ id: 2,
+ ownerId: 2,
+ content: 'Post2',
+ createdAt: response[0]?.posts[0]?.createdAt,
+ comments: [
+ {
+ id: 2,
+ content: 'Comment2',
+ creator: 2,
+ author: {
+ id: 2,
+ name: 'Andrew',
+ verified: false,
+ invitedBy: null,
+ },
+ postId: 2,
+ createdAt: response[0]?.posts[0]?.comments[0]?.createdAt,
+ },
+ ],
+ }],
+ });
+});
+
/*
One three-level relation + 1 first-level relatioon
1. users+posts+comments+comment_owner
diff --git a/integration-tests/tests/relational/pg.test.ts b/integration-tests/tests/relational/pg.test.ts
index faff8f07f..6dd8f7ea3 100644
--- a/integration-tests/tests/relational/pg.test.ts
+++ b/integration-tests/tests/relational/pg.test.ts
@@ -4086,6 +4086,100 @@ test('Get user with posts and posts with comments and comments with owner', asyn
});
});
+test('Get user with posts and posts with comments and comments with owner where exists', async () => {
+ await db.insert(usersTable).values([
+ { id: 1, name: 'Dan' },
+ { id: 2, name: 'Andrew' },
+ { id: 3, name: 'Alex' },
+ ]);
+
+ await db.insert(postsTable).values([
+ { id: 1, ownerId: 1, content: 'Post1' },
+ { id: 2, ownerId: 2, content: 'Post2' },
+ { id: 3, ownerId: 3, content: 'Post3' },
+ ]);
+
+ await db.insert(commentsTable).values([
+ { postId: 1, content: 'Comment1', creator: 2 },
+ { postId: 2, content: 'Comment2', creator: 2 },
+ { postId: 3, content: 'Comment3', creator: 3 },
+ ]);
+
+ const response = await db.query.usersTable.findMany({
+ with: {
+ posts: {
+ with: {
+ comments: {
+ with: {
+ author: true,
+ },
+ },
+ },
+ },
+ },
+ where: (table, { exists, eq }) => exists(db.select({ one: sql`1` }).from(usersTable).where(eq(sql`1`, table.id))),
+ });
+
+ expectTypeOf(response).toEqualTypeOf<{
+ id: number;
+ name: string;
+ verified: boolean;
+ invitedBy: number | null;
+ posts: {
+ id: number;
+ content: string;
+ ownerId: number | null;
+ createdAt: Date;
+ comments: {
+ id: number;
+ content: string;
+ createdAt: Date;
+ creator: number | null;
+ postId: number | null;
+ author: {
+ id: number;
+ name: string;
+ verified: boolean;
+ invitedBy: number | null;
+ } | null;
+ }[];
+ }[];
+ }[]>();
+
+ expect(response.length).eq(1);
+ expect(response[0]?.posts.length).eq(1);
+
+ expect(response[0]?.posts[0]?.comments.length).eq(1);
+
+ expect(response[0]).toEqual({
+ id: 1,
+ name: 'Dan',
+ verified: false,
+ invitedBy: null,
+ posts: [{
+ id: 1,
+ ownerId: 1,
+ content: 'Post1',
+ createdAt: response[0]?.posts[0]?.createdAt,
+ comments: [
+ {
+ id: 1,
+ content: 'Comment1',
+ creator: 2,
+ author: {
+ id: 2,
+ name: 'Andrew',
+ verified: false,
+ invitedBy: null,
+ },
+ postId: 1,
+ createdAt: response[0]?.posts[0]?.comments[0]?.createdAt,
+ },
+ ],
+ }],
+ });
+});
+
/*
One three-level relation + 1 first-level relation
1. users+posts+comments+comment_owner
diff --git a/integration-tests/vitest.config.ts b/integration-tests/vitest.config.ts
index 261754895..12b7a1eb3 100644
--- a/integration-tests/vitest.config.ts
+++ b/integration-tests/vitest.config.ts
@@ -1,10 +1,17 @@
+import 'dotenv/config';
import { viteCommonjs } from '@originjs/vite-plugin-commonjs';
import tsconfigPaths from 'vite-tsconfig-paths';
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
- include: ['tests/relational/**/*.test.ts', 'tests/libsql-batch.test.ts', 'tests/d1-batch.test.ts', 'tests/replicas/**/*', 'tests/imports/**/*'],
+ include: [
+ 'tests/relational/**/*.test.ts',
+ 'tests/libsql-batch.test.ts',
+ 'tests/d1-batch.test.ts',
+ 'tests/replicas/**/*',
+ 'tests/imports/**/*',
+ ],
exclude: [
...(process.env.SKIP_PLANETSCALE_TESTS ? ['tests/relational/mysql.planetscale.test.ts'] : []),
'tests/relational/vercel.test.ts',
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0c6406ebb..73782822d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -118,6 +118,9 @@ importers:
'@types/pg':
specifier: ^8.10.1
version: 8.10.1
+ '@types/react':
+ specifier: ^18.2.45
+ version: 18.2.45
'@types/sql.js':
specifier: ^1.4.4
version: 1.4.4
@@ -133,6 +136,9 @@ importers:
cpy:
specifier: ^10.1.0
version: 10.1.0
+ expo-sqlite:
+ specifier: ^13.2.0
+ version: 13.2.0(expo@49.0.21)
knex:
specifier: ^2.4.2
version: 2.4.2(better-sqlite3@8.4.0)(mysql2@3.3.3)(pg@8.11.0)(sqlite3@5.1.6)
@@ -148,6 +154,9 @@ importers:
postgres:
specifier: ^3.3.5
version: 3.3.5
+ react:
+ specifier: ^18.2.0
+ version: 18.2.0
sql.js:
specifier: ^1.8.0
version: 1.8.0
@@ -162,10 +171,10 @@ importers:
version: 3.12.7
vite-tsconfig-paths:
specifier: ^4.2.0
- version: 4.2.0(typescript@5.2.2)(vite@4.3.9)
+ version: 4.2.0
vitest:
specifier: ^0.31.4
- version: 0.31.4(@vitest/ui@0.31.4)
+ version: 0.31.4
zod:
specifier: ^3.20.2
version: 3.21.4
@@ -286,6 +295,9 @@ importers:
eslint-plugin-drizzle:
devDependencies:
+ '@types/node':
+ specifier: ^20.10.1
+ version: 20.10.1
'@typescript-eslint/parser':
specifier: ^6.10.0
version: 6.10.0(eslint@8.53.0)(typescript@5.2.2)
@@ -436,7 +448,7 @@ importers:
version: 4.3.9(@types/node@20.2.5)
vite-tsconfig-paths:
specifier: ^4.2.0
- version: 4.2.0(typescript@5.2.2)(vite@4.3.9)
+ version: 4.2.0(vite@4.3.9)
zx:
specifier: ^7.2.2
version: 7.2.2
@@ -448,6 +460,14 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /@ampproject/remapping@2.2.1:
+ resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.18
+ dev: true
+
/@andrewbranch/untar.js@1.0.2:
resolution: {integrity: sha512-hL80MHK3b++pEp6K23+Nl5r5D1F19DRagp2ruCBIv4McyCiLKq67vUNvEQY1aGCAKNZ8GxV23n5MhOm7RwO8Pg==}
dev: true
@@ -1500,6 +1520,12 @@ packages:
'@aws-sdk/util-buffer-from': 3.310.0
tslib: 2.5.3
+ /@babel/code-frame@7.10.4:
+ resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==}
+ dependencies:
+ '@babel/highlight': 7.23.4
+ dev: true
+
/@babel/code-frame@7.22.10:
resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==}
engines: {node: '>=6.9.0'}
@@ -1518,6 +1544,42 @@ packages:
chalk: 2.4.2
dev: true
+ /@babel/code-frame@7.23.5:
+ resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': 7.23.4
+ chalk: 2.4.2
+ dev: true
+
+ /@babel/compat-data@7.23.5:
+ resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/core@7.23.6:
+ resolution: {integrity: sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@ampproject/remapping': 2.2.1
+ '@babel/code-frame': 7.23.5
+ '@babel/generator': 7.23.6
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.6)
+ '@babel/helpers': 7.23.6
+ '@babel/parser': 7.23.6
+ '@babel/template': 7.22.15
+ '@babel/traverse': 7.23.6
+ '@babel/types': 7.23.6
+ convert-source-map: 2.0.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@babel/generator@7.17.7:
resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==}
engines: {node: '>=6.9.0'}
@@ -1527,6 +1589,91 @@ packages:
source-map: 0.5.7
dev: true
+ /@babel/generator@7.23.6:
+ resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.18
+ jsesc: 2.5.2
+ dev: true
+
+ /@babel/helper-annotate-as-pure@7.22.5:
+ resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: true
+
+ /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15:
+ resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: true
+
+ /@babel/helper-compilation-targets@7.23.6:
+ resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/compat-data': 7.23.5
+ '@babel/helper-validator-option': 7.23.5
+ browserslist: 4.22.2
+ lru-cache: 5.1.1
+ semver: 6.3.1
+ dev: true
+
+ /@babel/helper-create-class-features-plugin@7.23.6(@babel/core@7.23.6):
+ resolution: {integrity: sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.6)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ semver: 6.3.1
+ dev: true
+
+ /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.6):
+ resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-annotate-as-pure': 7.22.5
+ regexpu-core: 5.3.2
+ semver: 6.3.1
+ dev: true
+
+ /@babel/helper-define-polyfill-provider@0.4.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ debug: 4.3.4
+ lodash.debounce: 4.0.8
+ resolve: 1.22.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-environment-visitor@7.22.20:
+ resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
/@babel/helper-environment-visitor@7.22.5:
resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==}
engines: {node: '>=6.9.0'}
@@ -1540,18 +1687,104 @@ packages:
'@babel/types': 7.22.10
dev: true
+ /@babel/helper-function-name@7.23.0:
+ resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.22.15
+ '@babel/types': 7.23.6
+ dev: true
+
/@babel/helper-hoist-variables@7.22.5:
resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.22.10
+ '@babel/types': 7.23.6
+ dev: true
+
+ /@babel/helper-member-expression-to-functions@7.23.0:
+ resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: true
+
+ /@babel/helper-module-imports@7.22.15:
+ resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: true
+
+ /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-simple-access': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/helper-validator-identifier': 7.22.20
+ dev: true
+
+ /@babel/helper-optimise-call-expression@7.22.5:
+ resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: true
+
+ /@babel/helper-plugin-utils@7.22.5:
+ resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.6):
+ resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-wrap-function': 7.22.20
+ dev: true
+
+ /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.6):
+ resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ dev: true
+
+ /@babel/helper-simple-access@7.22.5:
+ resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
+ dev: true
+
+ /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
+ resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.6
dev: true
/@babel/helper-split-export-declaration@7.22.6:
resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.22.10
+ '@babel/types': 7.23.6
dev: true
/@babel/helper-string-parser@7.22.5:
@@ -1559,6 +1792,11 @@ packages:
engines: {node: '>=6.9.0'}
dev: true
+ /@babel/helper-string-parser@7.23.4:
+ resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
/@babel/helper-validator-identifier@7.22.20:
resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
engines: {node: '>=6.9.0'}
@@ -1571,6 +1809,31 @@ packages:
requiresBuild: true
dev: true
+ /@babel/helper-validator-option@7.23.5:
+ resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/helper-wrap-function@7.22.20:
+ resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-function-name': 7.23.0
+ '@babel/template': 7.22.15
+ '@babel/types': 7.23.6
+ dev: true
+
+ /@babel/helpers@7.23.6:
+ resolution: {integrity: sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.22.15
+ '@babel/traverse': 7.23.6
+ '@babel/types': 7.23.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@babel/highlight@7.22.10:
resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==}
engines: {node: '>=6.9.0'}
@@ -1590,6 +1853,15 @@ packages:
js-tokens: 4.0.0
dev: true
+ /@babel/highlight@7.23.4:
+ resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ dev: true
+
/@babel/parser@7.22.10:
resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==}
engines: {node: '>=6.0.0'}
@@ -1598,126 +1870,1283 @@ packages:
'@babel/types': 7.17.0
dev: true
- /@babel/runtime@7.22.10:
- resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==}
- engines: {node: '>=6.9.0'}
+ /@babel/parser@7.23.6:
+ resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
dependencies:
- regenerator-runtime: 0.14.0
+ '@babel/types': 7.23.6
dev: true
- /@babel/template@7.22.5:
- resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==}
+ /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
dependencies:
- '@babel/code-frame': 7.22.10
- '@babel/parser': 7.22.10
- '@babel/types': 7.22.10
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
dev: true
- /@babel/traverse@7.17.3:
- resolution: {integrity: sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==}
+ /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
dependencies:
- '@babel/code-frame': 7.22.10
- '@babel/generator': 7.17.7
- '@babel/helper-environment-visitor': 7.22.5
- '@babel/helper-function-name': 7.22.5
- '@babel/helper-hoist-variables': 7.22.5
- '@babel/helper-split-export-declaration': 7.22.6
- '@babel/parser': 7.22.10
- '@babel/types': 7.17.0
- debug: 4.3.4
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.6)
dev: true
- /@babel/types@7.17.0:
- resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==}
+ /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
dependencies:
- '@babel/helper-validator-identifier': 7.22.5
- to-fast-properties: 2.0.0
+ '@babel/core': 7.23.6
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-plugin-utils': 7.22.5
dev: true
- /@babel/types@7.22.10:
- resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==}
+ /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.23.6):
+ resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==}
engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
dependencies:
- '@babel/helper-string-parser': 7.22.5
- '@babel/helper-validator-identifier': 7.22.5
- to-fast-properties: 2.0.0
+ '@babel/core': 7.23.6
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.6)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.6)
dev: true
- /@balena/dockerignore@1.0.2:
- resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==}
- dev: false
-
- /@cloudflare/workers-types@4.20230904.0:
- resolution: {integrity: sha512-IX4oJCe14ctblSPZBlW64BVZ9nYLUo6sD2I5gu3hX0ywByYWm1OuoKm9Xb/Zpbj8Ph18Z7Ryii6u2/ocnncXdA==}
+ /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.23.6):
+ resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
dev: true
- /@colors/colors@1.5.0:
- resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
- engines: {node: '>=0.1.90'}
- requiresBuild: true
+ /@babel/plugin-proposal-decorators@7.23.6(@babel/core@7.23.6):
+ resolution: {integrity: sha512-D7Ccq9LfkBFnow3azZGJvZYgcfeqAw3I1e5LoTpj6UKIFQilh8yqXsIGcRIqbBdsPWIz+Ze7ZZfggSj62Qp+Fg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.6)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/plugin-syntax-decorators': 7.23.3(@babel/core@7.23.6)
dev: true
- optional: true
- /@dprint/darwin-arm64@0.41.0:
- resolution: {integrity: sha512-P9PtcQI0mrI4U6yyd+/iI664BHSqC9KTS6ogq0ptEdnLtlaWzf09D1nv6FBaHiG9m3conuBRlPsoUqt3j6PZ2w==}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
+ /@babel/plugin-proposal-export-default-from@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-export-default-from': 7.23.3(@babel/core@7.23.6)
dev: true
- optional: true
- /@dprint/darwin-x64@0.41.0:
- resolution: {integrity: sha512-mSYnSoH0uyCkjgIWTny2DZAcaiRTe3kRWY5SeZECLGO37e+SdVg+ZjSzndhOvvEb9pv8EeBO1NJ9gHOSceT5Xw==}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
+ /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.23.6):
+ resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.6)
dev: true
- optional: true
- /@dprint/linux-arm64-glibc@0.41.0:
- resolution: {integrity: sha512-U4xWzjjO/aAct8cSSMZFhg8l1jWy6VahXh8zWjGBufwX7t3xEcxMG9RyAp/ioYSY6wl4YXAmnUHywhC+wSjDHQ==}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
+ /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.23.6):
+ resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.6)
dev: true
- optional: true
- /@dprint/linux-x64-glibc@0.41.0:
- resolution: {integrity: sha512-wjv5l4mGns7E8i32E8FfAk45tw5O7v4NM17gtvhe6ggOiOD6quHowOH00pLfEakMLMF9y0J5ZO2hxJ/w06bXmQ==}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
+ /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.23.6):
+ resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.6)
dev: true
- optional: true
- /@dprint/linux-x64-musl@0.41.0:
- resolution: {integrity: sha512-ZZOqiur9Xi/2uhz0Ce215VTSajAlSrduX/5k/hpIjI7Rgz22Vn77p5fmYxzWkTt/Li1zq5zboTvmGYx0QVNMrQ==}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
+ /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.23.6):
+ resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.23.5
+ '@babel/core': 7.23.6
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.6)
dev: true
- optional: true
- /@dprint/win32-x64@0.41.0:
- resolution: {integrity: sha512-mFx6x4Hn848/D4gPbDm7g1wlnOh2SGoVF9c9HMGCuOobUU2WIBztzV4L5qlFCB3gprlS0ru9BhlMpGhrp0CBYA==}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
+ /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.23.6):
+ resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.6)
dev: true
- optional: true
- /@drizzle-team/studio@0.0.5:
- resolution: {integrity: sha512-ps5qF0tMxWRVu+V5gvCRrQNqlY92aTnIKdq27gm9LZMSdaKYZt6AVvSK1dlUMzs6Rt0Jm80b+eWct6xShBKhIw==}
+ /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.23.6):
+ resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.6)
dev: true
- /@esbuild-kit/cjs-loader@2.4.2:
- resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==}
+ /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.6):
+ resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ dev: true
+
+ /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.6):
+ resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.6):
+ resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-decorators@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-export-default-from@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-flow@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.6):
+ resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.6):
+ resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.6):
+ resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-async-generator-functions@7.23.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.6)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.6)
+ dev: true
+
+ /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.6)
+ dev: true
+
+ /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.6)
+ dev: true
+
+ /@babel/plugin-transform-classes@7.23.5(@babel/core@7.23.6):
+ resolution: {integrity: sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.6)
+ '@babel/helper-split-export-declaration': 7.22.6
+ globals: 11.12.0
+ dev: true
+
+ /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/template': 7.22.15
+ dev: true
+
+ /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.6)
+ dev: true
+
+ /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.6)
+ dev: true
+
+ /@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.23.6)
+ dev: true
+
+ /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.6):
+ resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.6)
+ dev: true
+
+ /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.6)
+ dev: true
+
+ /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-simple-access': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-identifier': 7.22.20
+ dev: true
+
+ /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.6):
+ resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.6)
+ dev: true
+
+ /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.6)
+ dev: true
+
+ /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.23.5
+ '@babel/core': 7.23.6
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.6)
+ dev: true
+
+ /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.6)
+ dev: true
+
+ /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.6)
+ dev: true
+
+ /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.6)
+ dev: true
+
+ /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.6)
+ dev: true
+
+ /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.6)
+ '@babel/types': 7.23.6
+ dev: true
+
+ /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ regenerator-transform: 0.15.2
+ dev: true
+
+ /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-runtime@7.23.6(@babel/core@7.23.6):
+ resolution: {integrity: sha512-kF1Zg62aPseQ11orDhFRw+aPG/eynNQtI+TyY+m33qJa2cJ5EEvza2P2BNTIA9E5MyqFABHEyY6CPHwgdy9aNg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.23.6)
+ babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.23.6)
+ babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.23.6)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.6):
+ resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.6)
+ dev: true
+
+ /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.6):
+ resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.6)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/preset-env@7.23.6(@babel/core@7.23.6):
+ resolution: {integrity: sha512-2XPn/BqKkZCpzYhUUNZ1ssXw7DcXfKQEjv/uXZUXgaebCMYmkEsfZ2yY+vv+xtXv50WmL5SGhyB6/xsWxIvvOQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.23.5
+ '@babel/core': 7.23.6
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.23.5
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.6)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.6)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.6)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.6)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.6)
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.6)
+ '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.6)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.6)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.6)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.6)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.6)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.6)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.6)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.6)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.6)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.6)
+ '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.6)
+ '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-async-generator-functions': 7.23.4(@babel/core@7.23.6)
+ '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.6)
+ '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.6)
+ '@babel/plugin-transform-classes': 7.23.5(@babel/core@7.23.6)
+ '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.6)
+ '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.6)
+ '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.6)
+ '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.6)
+ '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.6)
+ '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.6)
+ '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.6)
+ '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.6)
+ '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.6)
+ '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.6)
+ '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.6)
+ '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.6)
+ '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.6)
+ '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.6)
+ babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.23.6)
+ babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.23.6)
+ babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.23.6)
+ core-js-compat: 3.34.0
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.6):
+ resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/types': 7.23.6
+ esutils: 2.0.3
+ dev: true
+
+ /@babel/regjsgen@0.8.0:
+ resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
+ dev: true
+
+ /@babel/runtime@7.22.10:
+ resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.14.0
+ dev: true
+
+ /@babel/template@7.22.15:
+ resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ '@babel/parser': 7.23.6
+ '@babel/types': 7.23.6
+ dev: true
+
+ /@babel/template@7.22.5:
+ resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.22.10
+ '@babel/parser': 7.22.10
+ '@babel/types': 7.22.10
+ dev: true
+
+ /@babel/traverse@7.17.3:
+ resolution: {integrity: sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.22.10
+ '@babel/generator': 7.17.7
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-function-name': 7.22.5
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/parser': 7.22.10
+ '@babel/types': 7.17.0
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/traverse@7.23.6:
+ resolution: {integrity: sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ '@babel/generator': 7.23.6
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/parser': 7.23.6
+ '@babel/types': 7.23.6
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/types@7.17.0:
+ resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.5
+ to-fast-properties: 2.0.0
+ dev: true
+
+ /@babel/types@7.22.10:
+ resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.22.5
+ '@babel/helper-validator-identifier': 7.22.5
+ to-fast-properties: 2.0.0
+ dev: true
+
+ /@babel/types@7.23.6:
+ resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.23.4
+ '@babel/helper-validator-identifier': 7.22.20
+ to-fast-properties: 2.0.0
+ dev: true
+
+ /@balena/dockerignore@1.0.2:
+ resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==}
+ dev: false
+
+ /@cloudflare/workers-types@4.20230904.0:
+ resolution: {integrity: sha512-IX4oJCe14ctblSPZBlW64BVZ9nYLUo6sD2I5gu3hX0ywByYWm1OuoKm9Xb/Zpbj8Ph18Z7Ryii6u2/ocnncXdA==}
+ dev: true
+
+ /@colors/colors@1.5.0:
+ resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
+ engines: {node: '>=0.1.90'}
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@dprint/darwin-arm64@0.41.0:
+ resolution: {integrity: sha512-P9PtcQI0mrI4U6yyd+/iI664BHSqC9KTS6ogq0ptEdnLtlaWzf09D1nv6FBaHiG9m3conuBRlPsoUqt3j6PZ2w==}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@dprint/darwin-x64@0.41.0:
+ resolution: {integrity: sha512-mSYnSoH0uyCkjgIWTny2DZAcaiRTe3kRWY5SeZECLGO37e+SdVg+ZjSzndhOvvEb9pv8EeBO1NJ9gHOSceT5Xw==}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@dprint/linux-arm64-glibc@0.41.0:
+ resolution: {integrity: sha512-U4xWzjjO/aAct8cSSMZFhg8l1jWy6VahXh8zWjGBufwX7t3xEcxMG9RyAp/ioYSY6wl4YXAmnUHywhC+wSjDHQ==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@dprint/linux-x64-glibc@0.41.0:
+ resolution: {integrity: sha512-wjv5l4mGns7E8i32E8FfAk45tw5O7v4NM17gtvhe6ggOiOD6quHowOH00pLfEakMLMF9y0J5ZO2hxJ/w06bXmQ==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@dprint/linux-x64-musl@0.41.0:
+ resolution: {integrity: sha512-ZZOqiur9Xi/2uhz0Ce215VTSajAlSrduX/5k/hpIjI7Rgz22Vn77p5fmYxzWkTt/Li1zq5zboTvmGYx0QVNMrQ==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@dprint/win32-x64@0.41.0:
+ resolution: {integrity: sha512-mFx6x4Hn848/D4gPbDm7g1wlnOh2SGoVF9c9HMGCuOobUU2WIBztzV4L5qlFCB3gprlS0ru9BhlMpGhrp0CBYA==}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@drizzle-team/studio@0.0.5:
+ resolution: {integrity: sha512-ps5qF0tMxWRVu+V5gvCRrQNqlY92aTnIKdq27gm9LZMSdaKYZt6AVvSK1dlUMzs6Rt0Jm80b+eWct6xShBKhIw==}
+ dev: true
+
+ /@esbuild-kit/cjs-loader@2.4.2:
+ resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==}
dependencies:
'@esbuild-kit/core-utils': 3.1.0
get-tsconfig: 4.5.0
@@ -2084,115 +3513,461 @@ packages:
os: [win32]
requiresBuild: true
dev: true
- optional: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.17.19:
+ resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.18.20:
+ resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-x64@0.17.19:
+ resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/win32-x64@0.18.20:
+ resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.50.0):
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ dependencies:
+ eslint: 8.50.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.53.0):
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ dependencies:
+ eslint: 8.53.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /@eslint-community/regexpp@4.9.0:
+ resolution: {integrity: sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ dev: true
+
+ /@eslint/eslintrc@2.1.2:
+ resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.4
+ espree: 9.6.1
+ globals: 13.22.0
+ ignore: 5.2.4
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@eslint/eslintrc@2.1.3:
+ resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.4
+ espree: 9.6.1
+ globals: 13.22.0
+ ignore: 5.2.4
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@eslint/js@8.50.0:
+ resolution: {integrity: sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /@eslint/js@8.53.0:
+ resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /@expo/bunyan@4.0.0:
+ resolution: {integrity: sha512-Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA==}
+ engines: {'0': node >=0.10.0}
+ dependencies:
+ uuid: 8.3.2
+ optionalDependencies:
+ mv: 2.1.1
+ safe-json-stringify: 1.2.0
+ dev: true
+
+ /@expo/cli@0.10.16(expo-modules-autolinking@1.5.1):
+ resolution: {integrity: sha512-EwgnRN5AMElg0JJjFLJTPk5hYkVXxnNMLIvZBiTfGoCq+rDw6u7Mg5l2Bbm/geSHOoplaHyPZ/Wr23FAuZWehA==}
+ hasBin: true
+ dependencies:
+ '@babel/runtime': 7.22.10
+ '@expo/code-signing-certificates': 0.0.5
+ '@expo/config': 8.1.2
+ '@expo/config-plugins': 7.2.5
+ '@expo/dev-server': 0.5.5
+ '@expo/devcert': 1.1.0
+ '@expo/env': 0.0.5
+ '@expo/json-file': 8.2.37
+ '@expo/metro-config': 0.10.7
+ '@expo/osascript': 2.0.33
+ '@expo/package-manager': 1.1.2
+ '@expo/plist': 0.0.20
+ '@expo/prebuild-config': 6.2.6(expo-modules-autolinking@1.5.1)
+ '@expo/rudder-sdk-node': 1.1.1
+ '@expo/spawn-async': 1.5.0
+ '@expo/xcpretty': 4.3.0
+ '@urql/core': 2.3.6(graphql@15.8.0)
+ '@urql/exchange-retry': 0.3.0(graphql@15.8.0)
+ accepts: 1.3.8
+ arg: 4.1.0
+ better-opn: 3.0.2
+ bplist-parser: 0.3.2
+ cacache: 15.3.0
+ chalk: 4.1.2
+ ci-info: 3.8.0
+ debug: 4.3.4
+ env-editor: 0.4.2
+ form-data: 3.0.1
+ freeport-async: 2.0.0
+ fs-extra: 8.1.0
+ getenv: 1.0.0
+ graphql: 15.8.0
+ graphql-tag: 2.12.6(graphql@15.8.0)
+ https-proxy-agent: 5.0.1
+ internal-ip: 4.3.0
+ js-yaml: 3.14.1
+ json-schema-deref-sync: 0.13.0
+ md5-file: 3.2.3
+ md5hex: 1.0.0
+ minipass: 3.1.6
+ node-fetch: 2.7.0
+ node-forge: 1.3.1
+ npm-package-arg: 7.0.0
+ ora: 3.4.0
+ pretty-bytes: 5.6.0
+ progress: 2.0.3
+ prompts: 2.4.2
+ qrcode-terminal: 0.11.0
+ require-from-string: 2.0.2
+ requireg: 0.2.2
+ resolve-from: 5.0.0
+ semver: 7.5.4
+ send: 0.18.0
+ slugify: 1.6.6
+ structured-headers: 0.4.1
+ tar: 6.1.13
+ tempy: 0.7.1
+ terminal-link: 2.1.1
+ text-table: 0.2.0
+ url-join: 4.0.0
+ wrap-ansi: 7.0.0
+ ws: 8.13.0(bufferutil@4.0.7)(utf-8-validate@6.0.3)
+ transitivePeerDependencies:
+ - bluebird
+ - bufferutil
+ - encoding
+ - expo-modules-autolinking
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /@expo/code-signing-certificates@0.0.5:
+ resolution: {integrity: sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==}
+ dependencies:
+ node-forge: 1.3.1
+ nullthrows: 1.1.1
+ dev: true
+
+ /@expo/config-plugins@7.2.5:
+ resolution: {integrity: sha512-w+5ccu1IxBHgyQk9CPFKLZOk8yZQEyTjbJwOzESK1eR7QwosbcsLkN1c1WWUZYiCXwORu3UTwJYll4+X2xxJhQ==}
+ dependencies:
+ '@expo/config-types': 49.0.0
+ '@expo/json-file': 8.2.37
+ '@expo/plist': 0.0.20
+ '@expo/sdk-runtime-versions': 1.0.0
+ '@react-native/normalize-color': 2.1.0
+ chalk: 4.1.2
+ debug: 4.3.4
+ find-up: 5.0.0
+ getenv: 1.0.0
+ glob: 7.1.6
+ resolve-from: 5.0.0
+ semver: 7.5.4
+ slash: 3.0.0
+ xcode: 3.0.1
+ xml2js: 0.6.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@expo/config-types@49.0.0:
+ resolution: {integrity: sha512-8eyREVi+K2acnMBe/rTIu1dOfyR2+AMnTLHlut+YpMV9OZPdeKV0Bs9BxAewGqBA2slslbQ9N39IS2CuTKpXkA==}
+ dev: true
+
+ /@expo/config@8.1.2:
+ resolution: {integrity: sha512-4e7hzPj50mQIlsrzOH6XZ36O094mPfPTIDIH4yv49bWNMc7GFLTofB/lcT+QyxiLaJuC0Wlk9yOLB8DIqmtwug==}
+ dependencies:
+ '@babel/code-frame': 7.10.4
+ '@expo/config-plugins': 7.2.5
+ '@expo/config-types': 49.0.0
+ '@expo/json-file': 8.2.37
+ getenv: 1.0.0
+ glob: 7.1.6
+ require-from-string: 2.0.2
+ resolve-from: 5.0.0
+ semver: 7.5.3
+ slugify: 1.6.6
+ sucrase: 3.34.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@expo/dev-server@0.5.5:
+ resolution: {integrity: sha512-t0fT8xH1exwYsH5hh7bAt85VF+gXxg24qrbny2rR/iKoPTWFCd2JNQV8pvfLg51hvrywQ3YCBuT3lU1w7aZxFA==}
+ dependencies:
+ '@expo/bunyan': 4.0.0
+ '@expo/metro-config': 0.10.7
+ '@expo/osascript': 2.0.33
+ '@expo/spawn-async': 1.5.0
+ body-parser: 1.20.1
+ chalk: 4.1.2
+ connect: 3.7.0
+ fs-extra: 9.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+ node-fetch: 2.7.0
+ open: 8.4.2
+ resolve-from: 5.0.0
+ serialize-error: 6.0.0
+ temp-dir: 2.0.0
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@expo/devcert@1.1.0:
+ resolution: {integrity: sha512-ghUVhNJQOCTdQckSGTHctNp/0jzvVoMMkVh+6SHn+TZj8sU15U/npXIDt8NtQp0HedlPaCgkVdMu8Sacne0aEA==}
+ dependencies:
+ application-config-path: 0.1.1
+ command-exists: 1.2.9
+ debug: 3.2.7
+ eol: 0.9.1
+ get-port: 3.2.0
+ glob: 7.2.3
+ lodash: 4.17.21
+ mkdirp: 0.5.6
+ password-prompt: 1.1.3
+ rimraf: 2.7.1
+ sudo-prompt: 8.2.5
+ tmp: 0.0.33
+ tslib: 2.6.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
- /@esbuild/win32-ia32@0.17.19:
- resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- optional: true
+ /@expo/env@0.0.5:
+ resolution: {integrity: sha512-UXuKAqyXfhMQC3gP0OyjXmFX08Z1fkVWiGBN7bYzfoX8LHatjeHrDtI6w5nDvd8XPxPvmqaZoEDw1lW3+dz3oQ==}
+ dependencies:
+ chalk: 4.1.2
+ debug: 4.3.4
+ dotenv: 16.0.3
+ dotenv-expand: 10.0.0
+ getenv: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
- /@esbuild/win32-ia32@0.18.20:
- resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
+ /@expo/image-utils@0.3.22:
+ resolution: {integrity: sha512-uzq+RERAtkWypOFOLssFnXXqEqKjNj9eXN7e97d/EXUAojNcLDoXc0sL+F5B1I4qtlsnhX01kcpoIBBZD8wZNQ==}
+ dependencies:
+ '@expo/spawn-async': 1.5.0
+ chalk: 4.1.2
+ fs-extra: 9.0.0
+ getenv: 1.0.0
+ jimp-compact: 0.16.1
+ mime: 2.6.0
+ node-fetch: 2.7.0
+ parse-png: 2.1.0
+ resolve-from: 5.0.0
+ semver: 7.3.2
+ tempy: 0.3.0
+ transitivePeerDependencies:
+ - encoding
dev: true
- optional: true
- /@esbuild/win32-x64@0.17.19:
- resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- optional: true
+ /@expo/json-file@8.2.37:
+ resolution: {integrity: sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==}
+ dependencies:
+ '@babel/code-frame': 7.10.4
+ json5: 2.2.3
+ write-file-atomic: 2.4.3
+ dev: true
- /@esbuild/win32-x64@0.18.20:
- resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
+ /@expo/metro-config@0.10.7:
+ resolution: {integrity: sha512-uACymEiyX0447hI4unt+2cemLQkTZXKvTev936NhtsgVnql45EP0V0pzmo/0H0WlHaAGXgvOBZJl8wFqcJ3CbQ==}
+ dependencies:
+ '@expo/config': 8.1.2
+ '@expo/env': 0.0.5
+ '@expo/json-file': 8.2.37
+ chalk: 4.1.2
+ debug: 4.3.4
+ find-yarn-workspace-root: 2.0.0
+ getenv: 1.0.0
+ jsc-safe-url: 0.2.4
+ lightningcss: 1.19.0
+ postcss: 8.4.24
+ resolve-from: 5.0.0
+ sucrase: 3.34.0
+ transitivePeerDependencies:
+ - supports-color
dev: true
- optional: true
- /@eslint-community/eslint-utils@4.4.0(eslint@8.50.0):
- resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ /@expo/osascript@2.0.33:
+ resolution: {integrity: sha512-FQinlwHrTlJbntp8a7NAlCKedVXe06Va/0DSLXRO8lZVtgbEMrYYSUZWQNcOlNtc58c2elNph6z9dMOYwSo3JQ==}
+ engines: {node: '>=12'}
dependencies:
- eslint: 8.50.0
- eslint-visitor-keys: 3.4.3
+ '@expo/spawn-async': 1.5.0
+ exec-async: 2.2.0
dev: true
- /@eslint-community/eslint-utils@4.4.0(eslint@8.53.0):
- resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ /@expo/package-manager@1.1.2:
+ resolution: {integrity: sha512-JI9XzrxB0QVXysyuJ996FPCJGDCYRkbUvgG4QmMTTMFA1T+mv8YzazC3T9C1pHQUAAveVCre1+Pqv0nZXN24Xg==}
dependencies:
- eslint: 8.53.0
- eslint-visitor-keys: 3.4.3
+ '@expo/json-file': 8.2.37
+ '@expo/spawn-async': 1.5.0
+ ansi-regex: 5.0.1
+ chalk: 4.1.2
+ find-up: 5.0.0
+ find-yarn-workspace-root: 2.0.0
+ js-yaml: 3.14.1
+ micromatch: 4.0.5
+ npm-package-arg: 7.0.0
+ split: 1.0.1
+ sudo-prompt: 9.1.1
dev: true
- /@eslint-community/regexpp@4.9.0:
- resolution: {integrity: sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ /@expo/plist@0.0.20:
+ resolution: {integrity: sha512-UXQ4LXCfTZ580LDHGJ5q62jSTwJFFJ1GqBu8duQMThiHKWbMJ+gajJh6rsB6EJ3aLUr9wcauxneL5LVRFxwBEA==}
+ dependencies:
+ '@xmldom/xmldom': 0.7.13
+ base64-js: 1.5.1
+ xmlbuilder: 14.0.0
dev: true
- /@eslint/eslintrc@2.1.2:
- resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /@expo/prebuild-config@6.2.6(expo-modules-autolinking@1.5.1):
+ resolution: {integrity: sha512-uFVvDAm9dPg9p1qpnr4CVnpo2hmkZIL5FQz+VlIdXXJpe7ySh/qTGHtKWY/lWUshQkAJ0nwbKGPztGWdABns/Q==}
+ peerDependencies:
+ expo-modules-autolinking: '>=0.8.1'
dependencies:
- ajv: 6.12.6
+ '@expo/config': 8.1.2
+ '@expo/config-plugins': 7.2.5
+ '@expo/config-types': 49.0.0
+ '@expo/image-utils': 0.3.22
+ '@expo/json-file': 8.2.37
debug: 4.3.4
- espree: 9.6.1
- globals: 13.22.0
- ignore: 5.2.4
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
+ expo-modules-autolinking: 1.5.1
+ fs-extra: 9.1.0
+ resolve-from: 5.0.0
+ semver: 7.5.3
+ xml2js: 0.6.0
transitivePeerDependencies:
+ - encoding
- supports-color
dev: true
- /@eslint/eslintrc@2.1.3:
- resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /@expo/rudder-sdk-node@1.1.1:
+ resolution: {integrity: sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==}
+ engines: {node: '>=12'}
dependencies:
- ajv: 6.12.6
- debug: 4.3.4
- espree: 9.6.1
- globals: 13.22.0
- ignore: 5.2.4
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
+ '@expo/bunyan': 4.0.0
+ '@segment/loosely-validate-event': 2.0.0
+ fetch-retry: 4.1.1
+ md5: 2.3.0
+ node-fetch: 2.7.0
+ remove-trailing-slash: 0.1.1
+ uuid: 8.3.2
transitivePeerDependencies:
- - supports-color
+ - encoding
dev: true
- /@eslint/js@8.50.0:
- resolution: {integrity: sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /@expo/sdk-runtime-versions@1.0.0:
+ resolution: {integrity: sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==}
dev: true
- /@eslint/js@8.53.0:
- resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /@expo/spawn-async@1.5.0:
+ resolution: {integrity: sha512-LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==}
+ engines: {node: '>=4'}
+ dependencies:
+ cross-spawn: 6.0.5
+ dev: true
+
+ /@expo/vector-icons@13.0.0:
+ resolution: {integrity: sha512-TI+l71+5aSKnShYclFa14Kum+hQMZ86b95SH6tQUG3qZEmLTarvWpKwqtTwQKqvlJSJrpFiSFu3eCuZokY6zWA==}
+ dev: true
+
+ /@expo/websql@1.0.1:
+ resolution: {integrity: sha512-H9/t1V7XXyKC343FJz/LwaVBfDhs6IqhDtSYWpt8LNSQDVjf5NvVJLc5wp+KCpRidZx8+0+YeHJN45HOXmqjFA==}
+ dependencies:
+ argsarray: 0.0.1
+ immediate: 3.3.0
+ noop-fn: 1.0.0
+ pouchdb-collections: 1.0.1
+ tiny-queue: 0.2.1
+ dev: true
+
+ /@expo/xcpretty@4.3.0:
+ resolution: {integrity: sha512-whBbvHZ2Q10T5TNmN0z5NbO6C9ZDw+XUTu8h6vVMnMzQrbGexc9oaCCZfz+L3Q7TEL5vfr+9L86nY62c3Bsm+g==}
+ hasBin: true
+ dependencies:
+ '@babel/code-frame': 7.10.4
+ chalk: 4.1.2
+ find-up: 5.0.0
+ js-yaml: 4.1.0
dev: true
/@gar/promisify@1.1.3:
resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==}
requiresBuild: true
- optional: true
+
+ /@graphql-typed-document-node/core@3.2.0(graphql@15.8.0):
+ resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==}
+ peerDependencies:
+ graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ graphql: 15.8.0
+ dev: true
/@humanwhocodes/config-array@0.11.11:
resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==}
@@ -2252,6 +4027,17 @@ packages:
'@sinclair/typebox': 0.27.8
dev: true
+ /@jest/types@26.6.2:
+ resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==}
+ engines: {node: '>= 10.14.2'}
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
+ '@types/node': 20.10.1
+ '@types/yargs': 15.0.19
+ chalk: 4.1.2
+ dev: true
+
/@jridgewell/gen-mapping@0.3.3:
resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
engines: {node: '>=6.0.0'}
@@ -2430,7 +4216,6 @@ packages:
dependencies:
'@gar/promisify': 1.1.3
semver: 7.5.4
- optional: true
/@npmcli/move-file@1.1.2:
resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==}
@@ -2440,7 +4225,6 @@ packages:
dependencies:
mkdirp: 1.0.4
rimraf: 3.0.2
- optional: true
/@opentelemetry/api@1.4.1:
resolution: {integrity: sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==}
@@ -2467,6 +4251,10 @@ packages:
/@polka/url@1.0.0-next.21:
resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
+ /@react-native/normalize-color@2.1.0:
+ resolution: {integrity: sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==}
+ dev: true
+
/@rollup/plugin-terser@0.4.1(rollup@3.20.7):
resolution: {integrity: sha512-aKS32sw5a7hy+fEXVy+5T95aDIwjpGHCTv833HXVtyKMDoVS7pBr5K3L9hEQoNqbJFjfANPrNpIXlTQ7is00eA==}
engines: {node: '>=14.0.0'}
@@ -2565,6 +4353,13 @@ packages:
rollup: 3.27.2
dev: true
+ /@segment/loosely-validate-event@2.0.0:
+ resolution: {integrity: sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==}
+ dependencies:
+ component-type: 1.2.2
+ join-component: 1.1.0
+ dev: true
+
/@sinclair/typebox@0.27.8:
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
dev: true
@@ -2624,13 +4419,13 @@ packages:
/@types/better-sqlite3@7.6.4:
resolution: {integrity: sha512-dzrRZCYPXIXfSR1/surNbJ/grU3scTaygS0OMzjlGf71i9sc2fGyHPXXiXmEvNIoE0cGwsanEFMVJxPXmco9Eg==}
dependencies:
- '@types/node': 20.2.5
+ '@types/node': 20.8.7
/@types/body-parser@1.19.2:
resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==}
dependencies:
'@types/connect': 3.4.35
- '@types/node': 20.2.5
+ '@types/node': 20.8.7
dev: true
/@types/chai-subset@1.3.3:
@@ -2644,13 +4439,13 @@ packages:
/@types/connect@3.4.35:
resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==}
dependencies:
- '@types/node': 20.2.5
+ '@types/node': 20.8.7
dev: true
/@types/docker-modem@3.0.2:
resolution: {integrity: sha512-qC7prjoEYR2QEe6SmCVfB1x3rfcQtUr1n4x89+3e0wSTMQ/KYCyf+/RAA9n2tllkkNc6//JMUZePdFRiGIWfaQ==}
dependencies:
- '@types/node': 20.2.5
+ '@types/node': 20.8.7
'@types/ssh2': 1.11.11
dev: true
@@ -2658,7 +4453,7 @@ packages:
resolution: {integrity: sha512-4EcP136jNMBZQ4zTHlI1VP2RpIQ2uJvRpjta3W2Cc7Ti7rk2r3TgVKjxR0Tb3NrT9ObXvl7Tv5nxra6BHEpkWg==}
dependencies:
'@types/docker-modem': 3.0.2
- '@types/node': 20.2.5
+ '@types/node': 20.8.7
dev: true
/@types/emscripten@1.39.6:
@@ -2672,7 +4467,7 @@ packages:
/@types/express-serve-static-core@4.17.33:
resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==}
dependencies:
- '@types/node': 20.2.5
+ '@types/node': 20.8.7
'@types/qs': 6.9.7
'@types/range-parser': 1.2.4
dev: true
@@ -2693,6 +4488,22 @@ packages:
'@types/node': 20.8.7
dev: true
+ /@types/istanbul-lib-coverage@2.0.6:
+ resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
+ dev: true
+
+ /@types/istanbul-lib-report@3.0.3:
+ resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+ dev: true
+
+ /@types/istanbul-reports@3.0.4:
+ resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
+ dependencies:
+ '@types/istanbul-lib-report': 3.0.3
+ dev: true
+
/@types/json-schema@7.0.13:
resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==}
dev: true
@@ -2729,8 +4540,15 @@ packages:
resolution: {integrity: sha512-NpaM49IGQQAUlBhHMF82QH80J08os4ZmyF9MkpCzWAGuOHqE4gTEbhzd7L3l5LmWuZ6E0OiC1FweQ4tsiW35+g==}
dev: true
+ /@types/node@20.10.1:
+ resolution: {integrity: sha512-T2qwhjWwGH81vUEx4EXmBKsTJRXFXNZTL4v0gi01+zyBmCwzE6TyHszqX01m+QHTEq+EZNo13NeJIdEqf+Myrg==}
+ dependencies:
+ undici-types: 5.26.5
+ dev: true
+
/@types/node@20.2.5:
resolution: {integrity: sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==}
+ dev: true
/@types/node@20.8.7:
resolution: {integrity: sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==}
@@ -2744,18 +4562,22 @@ packages:
/@types/pg@8.10.1:
resolution: {integrity: sha512-AmEHA/XxMxemQom5iDwP62FYNkv+gDDnetRG7v2N2dPtju7UKI7FknUimcZo7SodKTHtckYPzaTqUEvUKbVJEA==}
dependencies:
- '@types/node': 20.2.5
+ '@types/node': 20.8.7
pg-protocol: 1.6.0
pg-types: 4.0.1
/@types/pg@8.6.6:
resolution: {integrity: sha512-O2xNmXebtwVekJDD+02udOncjVcMZQuTEQEMpKJ0ZRf5E7/9JJX3izhKUcUifBkyKpljyUM6BTgy2trmviKlpw==}
dependencies:
- '@types/node': 20.2.5
+ '@types/node': 20.8.7
pg-protocol: 1.6.0
pg-types: 2.2.0
dev: true
+ /@types/prop-types@15.7.11:
+ resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==}
+ dev: true
+
/@types/ps-tree@1.1.2:
resolution: {integrity: sha512-ZREFYlpUmPQJ0esjxoG1fMvB2HNaD3z+mjqdSosZvd3RalncI9NEur73P8ZJz4YQdL64CmV1w0RuqoRUlhQRBw==}
dev: true
@@ -2768,6 +4590,18 @@ packages:
resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==}
dev: true
+ /@types/react@18.2.45:
+ resolution: {integrity: sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg==}
+ dependencies:
+ '@types/prop-types': 15.7.11
+ '@types/scheduler': 0.16.8
+ csstype: 3.1.3
+ dev: true
+
+ /@types/scheduler@0.16.8:
+ resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==}
+ dev: true
+
/@types/semver@7.5.3:
resolution: {integrity: sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==}
dev: true
@@ -2776,14 +4610,14 @@ packages:
resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==}
dependencies:
'@types/mime': 3.0.1
- '@types/node': 20.2.5
+ '@types/node': 20.8.7
dev: true
/@types/sql.js@1.4.4:
resolution: {integrity: sha512-6EWU2wfiBtzgTy18WQoXZAGTreBjhZcBCfD8CDvyI1Nj0a4KNDDt41IYeAZ40cRUdfqWHb7VGx7t6nK0yBOI5A==}
dependencies:
'@types/emscripten': 1.39.6
- '@types/node': 20.2.5
+ '@types/node': 20.8.7
dev: true
/@types/ssh2@1.11.11:
@@ -2805,6 +4639,16 @@ packages:
dependencies:
'@types/node': 20.8.7
+ /@types/yargs-parser@21.0.3:
+ resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
+ dev: true
+
+ /@types/yargs@15.0.19:
+ resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==}
+ dependencies:
+ '@types/yargs-parser': 21.0.3
+ dev: true
+
/@typescript-eslint/eslint-plugin@6.7.3(@typescript-eslint/parser@6.7.3)(eslint@8.50.0)(typescript@5.2.2):
resolution: {integrity: sha512-vntq452UHNltxsaaN+L9WyuMch8bMd9CqJ3zhzTPXXidwbf5mqqKCVXEuvRZUqLJSTLeWE65lQwyXsRGnXkCTA==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -3130,6 +4974,26 @@ packages:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: true
+ /@urql/core@2.3.6(graphql@15.8.0):
+ resolution: {integrity: sha512-PUxhtBh7/8167HJK6WqBv6Z0piuiaZHQGYbhwpNL9aIQmLROPEdaUYkY4wh45wPQXcTpnd11l0q3Pw+TI11pdw==}
+ peerDependencies:
+ graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ '@graphql-typed-document-node/core': 3.2.0(graphql@15.8.0)
+ graphql: 15.8.0
+ wonka: 4.0.15
+ dev: true
+
+ /@urql/exchange-retry@0.3.0(graphql@15.8.0):
+ resolution: {integrity: sha512-hHqer2mcdVC0eYnVNbWyi28AlGOPb2vjH3lP3/Bc8Lc8BjhMsDwFMm7WhoP5C1+cfbr/QJ6Er3H/L08wznXxfg==}
+ peerDependencies:
+ graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0
+ dependencies:
+ '@urql/core': 2.3.6(graphql@15.8.0)
+ graphql: 15.8.0
+ wonka: 4.0.15
+ dev: true
+
/@vercel/postgres@0.3.0:
resolution: {integrity: sha512-cOC+x6qMnN54B4y0Fh0DV5LJQp2M7puIKbehQBMutY/8/zpzh+oKaQmnZb2QHn489MGOQKyRLJLgHa2P8M085Q==}
engines: {node: '>=14.6'}
@@ -3225,6 +5089,16 @@ packages:
pretty-format: 29.7.0
dev: true
+ /@xmldom/xmldom@0.7.13:
+ resolution: {integrity: sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==}
+ engines: {node: '>=10.0.0'}
+ dev: true
+
+ /@xmldom/xmldom@0.8.10:
+ resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==}
+ engines: {node: '>=10.0.0'}
+ dev: true
+
/abbrev@1.1.1:
resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
requiresBuild: true
@@ -3235,7 +5109,6 @@ packages:
dependencies:
mime-types: 2.1.35
negotiator: 0.6.3
- dev: false
/acorn-jsx@5.3.2(acorn@8.10.0):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
@@ -3287,7 +5160,6 @@ packages:
dependencies:
clean-stack: 2.2.0
indent-string: 4.0.0
- optional: true
/aggregate-error@4.0.1:
resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==}
@@ -3311,6 +5183,13 @@ packages:
engines: {node: '>=6'}
dev: true
+ /ansi-escapes@4.3.2:
+ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: 0.21.3
+ dev: true
+
/ansi-escapes@6.2.0:
resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==}
engines: {node: '>=14.16'}
@@ -3318,6 +5197,11 @@ packages:
type-fest: 3.13.1
dev: true
+ /ansi-regex@4.1.1:
+ resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==}
+ engines: {node: '>=6'}
+ dev: true
+
/ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
@@ -3366,6 +5250,10 @@ packages:
picomatch: 2.3.1
dev: true
+ /application-config-path@0.1.1:
+ resolution: {integrity: sha512-zy9cHePtMP0YhwG+CfHm0bgwdnga2X3gZexpdCwEj//dpb+TKajtiC8REEUJUSq6Ab4f9cgNy2l8ObXzCXFkEw==}
+ dev: true
+
/aproba@2.0.0:
resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
@@ -3385,6 +5273,10 @@ packages:
readable-stream: 3.6.2
optional: true
+ /arg@4.1.0:
+ resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==}
+ dev: true
+
/argparse@1.0.10:
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
dependencies:
@@ -3395,6 +5287,10 @@ packages:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
dev: true
+ /argsarray@0.0.1:
+ resolution: {integrity: sha512-u96dg2GcAKtpTrBdDoFIM7PjcBA+6rSP0OR94MOReNRyUECL6MtQt5XXmRr4qrftYaef9+l5hcpO5te7sML1Cg==}
+ dev: true
+
/array-buffer-byte-length@1.0.0:
resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
dependencies:
@@ -3480,6 +5376,10 @@ packages:
engines: {node: '>=12'}
dev: true
+ /asap@2.0.6:
+ resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
+ dev: true
+
/asn1@0.2.6:
resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==}
dependencies:
@@ -3509,6 +5409,11 @@ packages:
/asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+ /at-least-node@1.0.0:
+ resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
+ engines: {node: '>= 4.0.0'}
+ dev: true
+
/ava@5.2.0:
resolution: {integrity: sha512-W8yxFXJr/P68JP55eMpQIa6AiXhCX3VeuajM8nolyWNExcMDD6rnIWKTjw0B/+GkFHBIaN6Jd0LtcMThcoqVfg==}
engines: {node: '>=14.19 <15 || >=16.15 <17 || >=18'}
@@ -3625,19 +5530,94 @@ packages:
- supports-color
dev: true
- /available-typed-arrays@1.0.5:
- resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
- engines: {node: '>= 0.4'}
+ /available-typed-arrays@1.0.5:
+ resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /axios@1.4.0:
+ resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==}
+ dependencies:
+ follow-redirects: 1.15.2
+ form-data: 4.0.0
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
+ dev: true
+
+ /babel-plugin-module-resolver@5.0.0:
+ resolution: {integrity: sha512-g0u+/ChLSJ5+PzYwLwP8Rp8Rcfowz58TJNCe+L/ui4rpzE/mg//JVX0EWBUYoxaextqnwuGHzfGp2hh0PPV25Q==}
+ engines: {node: '>= 16'}
+ dependencies:
+ find-babel-config: 2.0.0
+ glob: 8.1.0
+ pkg-up: 3.1.0
+ reselect: 4.1.8
+ resolve: 1.22.4
+ dev: true
+
+ /babel-plugin-polyfill-corejs2@0.4.7(@babel/core@7.23.6):
+ resolution: {integrity: sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/compat-data': 7.23.5
+ '@babel/core': 7.23.6
+ '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.6)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-polyfill-corejs3@0.8.7(@babel/core@7.23.6):
+ resolution: {integrity: sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.6)
+ core-js-compat: 3.34.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-polyfill-regenerator@0.5.4(@babel/core@7.23.6):
+ resolution: {integrity: sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.6)
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /axios@1.4.0:
- resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==}
+ /babel-plugin-react-native-web@0.18.12:
+ resolution: {integrity: sha512-4djr9G6fMdwQoD6LQ7hOKAm39+y12flWgovAqS1k5O8f42YQ3A1FFMyV5kKfetZuGhZO5BmNmOdRRZQ1TixtDw==}
+ dev: true
+
+ /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.23.6):
+ resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==}
dependencies:
- follow-redirects: 1.15.2
- form-data: 4.0.0
- proxy-from-env: 1.1.0
+ '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.23.6)
transitivePeerDependencies:
- - debug
+ - '@babel/core'
+ dev: true
+
+ /babel-preset-expo@9.5.2(@babel/core@7.23.6):
+ resolution: {integrity: sha512-hU1G1TDiikuXV6UDZjPnX+WdbjbtidDiYhftMEVrZQSst45pDPVBWbM41TUKrpJMwv4FypsLzK+378gnMPRVWQ==}
+ dependencies:
+ '@babel/plugin-proposal-decorators': 7.23.6(@babel/core@7.23.6)
+ '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.23.6)
+ '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.23.6)
+ '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.6)
+ '@babel/preset-env': 7.23.6(@babel/core@7.23.6)
+ babel-plugin-module-resolver: 5.0.0
+ babel-plugin-react-native-web: 0.18.12
+ metro-react-native-babel-preset: 0.76.8(@babel/core@7.23.6)
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
dev: true
/balanced-match@1.0.2:
@@ -3653,6 +5633,13 @@ packages:
tweetnacl: 0.14.5
dev: false
+ /better-opn@3.0.2:
+ resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==}
+ engines: {node: '>=12.0.0'}
+ dependencies:
+ open: 8.4.2
+ dev: true
+
/better-sqlite3@8.4.0:
resolution: {integrity: sha512-NmsNW1CQvqMszu/CFAJ3pLct6NEFlNfuGM6vw72KHkjOD1UDnL96XNN1BMQc1hiHo8vE2GbOWQYIpZ+YM5wrZw==}
requiresBuild: true
@@ -3660,6 +5647,11 @@ packages:
bindings: 1.5.0
prebuild-install: 7.1.1
+ /big-integer@1.6.52:
+ resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==}
+ engines: {node: '>=0.6'}
+ dev: true
+
/binary-extensions@2.2.0:
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
engines: {node: '>=8'}
@@ -3698,11 +5690,30 @@ packages:
unpipe: 1.0.0
transitivePeerDependencies:
- supports-color
- dev: false
/bowser@2.11.0:
resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==}
+ /bplist-creator@0.1.0:
+ resolution: {integrity: sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==}
+ dependencies:
+ stream-buffers: 2.2.0
+ dev: true
+
+ /bplist-parser@0.3.1:
+ resolution: {integrity: sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==}
+ engines: {node: '>= 5.10.0'}
+ dependencies:
+ big-integer: 1.6.52
+ dev: true
+
+ /bplist-parser@0.3.2:
+ resolution: {integrity: sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==}
+ engines: {node: '>= 5.10.0'}
+ dependencies:
+ big-integer: 1.6.52
+ dev: true
+
/brace-expansion@1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
requiresBuild: true
@@ -3722,6 +5733,32 @@ packages:
dependencies:
fill-range: 7.0.1
+ /browserslist@4.22.2:
+ resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001570
+ electron-to-chromium: 1.4.615
+ node-releases: 2.0.14
+ update-browserslist-db: 1.0.13(browserslist@4.22.2)
+ dev: true
+
+ /buffer-alloc-unsafe@1.1.0:
+ resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==}
+ dev: true
+
+ /buffer-alloc@1.2.0:
+ resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==}
+ dependencies:
+ buffer-alloc-unsafe: 1.1.0
+ buffer-fill: 1.0.0
+ dev: true
+
+ /buffer-fill@1.0.0:
+ resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==}
+ dev: true
+
/buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
@@ -3754,6 +5791,10 @@ packages:
engines: {node: '>=6'}
dev: true
+ /builtins@1.0.3:
+ resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==}
+ dev: true
+
/builtins@5.0.1:
resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==}
dependencies:
@@ -3787,7 +5828,6 @@ packages:
/bytes@3.1.2:
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
engines: {node: '>= 0.8'}
- dev: false
/cac@6.7.14:
resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
@@ -3818,13 +5858,12 @@ packages:
unique-filename: 1.1.1
transitivePeerDependencies:
- bluebird
- optional: true
/call-bind@1.0.2:
resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
dependencies:
function-bind: 1.1.1
- get-intrinsic: 1.2.0
+ get-intrinsic: 1.2.1
/callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
@@ -3841,6 +5880,10 @@ packages:
engines: {node: '>=14.16'}
dev: true
+ /caniuse-lite@1.0.30001570:
+ resolution: {integrity: sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==}
+ dev: true
+
/cardinal@2.1.1:
resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==}
hasBin: true
@@ -3908,6 +5951,10 @@ packages:
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
dev: true
+ /charenc@0.0.2:
+ resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==}
+ dev: true
+
/check-error@1.0.2:
resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==}
@@ -3963,7 +6010,6 @@ packages:
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
engines: {node: '>=6'}
requiresBuild: true
- optional: true
/clean-stack@4.2.0:
resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==}
@@ -3988,6 +6034,18 @@ packages:
timers-ext: 0.1.7
dev: true
+ /cli-cursor@2.1.0:
+ resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==}
+ engines: {node: '>=4'}
+ dependencies:
+ restore-cursor: 2.0.0
+ dev: true
+
+ /cli-spinners@2.9.2:
+ resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
+ engines: {node: '>=6'}
+ dev: true
+
/cli-table3@0.6.3:
resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==}
engines: {node: 10.* || >= 12.*}
@@ -4021,6 +6079,16 @@ packages:
wrap-ansi: 7.0.0
dev: true
+ /clone@1.0.4:
+ resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
+ engines: {node: '>=0.8'}
+ dev: true
+
+ /clone@2.1.2:
+ resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
+ engines: {node: '>=0.8'}
+ dev: true
+
/code-excerpt@4.0.0:
resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -4063,6 +6131,10 @@ packages:
dependencies:
delayed-stream: 1.0.0
+ /command-exists@1.2.9:
+ resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==}
+ dev: true
+
/commander@10.0.1:
resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
engines: {node: '>=14'}
@@ -4082,6 +6154,11 @@ packages:
engines: {node: '>= 6'}
dev: true
+ /commander@7.2.0:
+ resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+ dev: true
+
/commander@9.5.0:
resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
engines: {node: ^12.20.0 || >=14}
@@ -4091,6 +6168,14 @@ packages:
resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==}
dev: true
+ /compare-versions@3.6.0:
+ resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==}
+ dev: true
+
+ /component-type@1.2.2:
+ resolution: {integrity: sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA==}
+ dev: true
+
/concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
requiresBuild: true
@@ -4124,6 +6209,18 @@ packages:
yargs: 17.7.2
dev: true
+ /connect@3.7.0:
+ resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
+ engines: {node: '>= 0.10.0'}
+ dependencies:
+ debug: 2.6.9
+ finalhandler: 1.1.2
+ parseurl: 1.3.3
+ utils-merge: 1.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/console-control-strings@1.1.0:
resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
@@ -4137,7 +6234,10 @@ packages:
/content-type@1.0.5:
resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
engines: {node: '>= 0.6'}
- dev: false
+
+ /convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+ dev: true
/convert-to-spaces@2.0.1:
resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==}
@@ -4153,6 +6253,12 @@ packages:
engines: {node: '>= 0.6'}
dev: false
+ /core-js-compat@3.34.0:
+ resolution: {integrity: sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==}
+ dependencies:
+ browserslist: 4.22.2
+ dev: true
+
/cp-file@10.0.0:
resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==}
engines: {node: '>=14.16'}
@@ -4195,6 +6301,25 @@ packages:
p-map: 6.0.0
dev: true
+ /cross-fetch@3.1.8:
+ resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==}
+ dependencies:
+ node-fetch: 2.7.0
+ transitivePeerDependencies:
+ - encoding
+ dev: true
+
+ /cross-spawn@6.0.5:
+ resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
+ engines: {node: '>=4.8'}
+ dependencies:
+ nice-try: 1.0.5
+ path-key: 2.0.1
+ semver: 5.7.2
+ shebang-command: 1.2.0
+ which: 1.3.1
+ dev: true
+
/cross-spawn@7.0.3:
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
engines: {node: '>= 8'}
@@ -4203,6 +6328,24 @@ packages:
shebang-command: 2.0.0
which: 2.0.2
+ /crypt@0.0.2:
+ resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==}
+ dev: true
+
+ /crypto-random-string@1.0.0:
+ resolution: {integrity: sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /crypto-random-string@2.0.0:
+ resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+ dev: true
+
/currently-unhandled@0.4.1:
resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==}
engines: {node: '>=0.10.0'}
@@ -4217,6 +6360,10 @@ packages:
type: 1.2.0
dev: true
+ /dag-map@1.0.2:
+ resolution: {integrity: sha512-+LSAiGFwQ9dRnRdOeaj7g47ZFJcOUPukAP8J3A3fuZ1g9Y44BG+P1sgApjLXTQPOzC4+7S9Wr8kXsfpINM4jpw==}
+ dev: true
+
/data-uri-to-buffer@4.0.1:
resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
engines: {node: '>= 12'}
@@ -4244,7 +6391,6 @@ packages:
optional: true
dependencies:
ms: 2.0.0
- dev: false
/debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
@@ -4288,6 +6434,25 @@ packages:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
dev: true
+ /default-gateway@4.2.0:
+ resolution: {integrity: sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==}
+ engines: {node: '>=6'}
+ dependencies:
+ execa: 1.0.0
+ ip-regex: 2.1.0
+ dev: true
+
+ /defaults@1.0.4:
+ resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+ dependencies:
+ clone: 1.0.4
+ dev: true
+
+ /define-lazy-prop@2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+ dev: true
+
/define-properties@1.2.0:
resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==}
engines: {node: '>= 0.4'}
@@ -4296,6 +6461,20 @@ packages:
object-keys: 1.1.1
dev: true
+ /del@6.1.1:
+ resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==}
+ engines: {node: '>=10'}
+ dependencies:
+ globby: 11.1.0
+ graceful-fs: 4.2.11
+ is-glob: 4.0.3
+ is-path-cwd: 2.2.0
+ is-path-inside: 3.0.3
+ p-map: 4.0.0
+ rimraf: 3.0.2
+ slash: 3.0.0
+ dev: true
+
/del@7.0.0:
resolution: {integrity: sha512-tQbV/4u5WVB8HMJr08pgw0b6nG4RGt/tj+7Numvq+zqcvUFeMaIWWOUFltiU+6go8BSO2/ogsB4EasDaj0y68Q==}
engines: {node: '>=14.16'}
@@ -4334,7 +6513,12 @@ packages:
/destroy@1.2.0:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
- dev: false
+
+ /detect-libc@1.0.3:
+ resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
+ engines: {node: '>=0.10'}
+ hasBin: true
+ dev: true
/detect-libc@2.0.1:
resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==}
@@ -4400,11 +6584,21 @@ packages:
esutils: 2.0.3
dev: true
+ /dotenv-expand@10.0.0:
+ resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==}
+ engines: {node: '>=12'}
+ dev: true
+
/dotenv@10.0.0:
resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==}
engines: {node: '>=10'}
dev: false
+ /dotenv@16.0.3:
+ resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==}
+ engines: {node: '>=12'}
+ dev: true
+
/dotenv@16.1.4:
resolution: {integrity: sha512-m55RtE8AsPeJBpOIFKihEmqUcoVncQIwo7x9U8ZwLEZw9ZpXboz2c+rvog+jUaJvVrZ5kBOeYQBX5+8Aa/OZQw==}
engines: {node: '>=12'}
@@ -4525,7 +6719,10 @@ packages:
/ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
- dev: false
+
+ /electron-to-chromium@1.4.615:
+ resolution: {integrity: sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng==}
+ dev: true
/emittery@1.0.1:
resolution: {integrity: sha512-2ID6FdrMD9KDLldGesP6317G78K7km/kMcwItRtVFva7I/cSEOIaLpewaUb+YLXVwdAp3Ctfxh/V5zIl1sj7dQ==}
@@ -4543,7 +6740,6 @@ packages:
/encodeurl@1.0.2:
resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
engines: {node: '>= 0.8'}
- dev: false
/encoding@0.1.13:
resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==}
@@ -4557,12 +6753,21 @@ packages:
dependencies:
once: 1.4.0
+ /env-editor@0.4.2:
+ resolution: {integrity: sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==}
+ engines: {node: '>=8'}
+ dev: true
+
/env-paths@2.2.1:
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
engines: {node: '>=6'}
requiresBuild: true
optional: true
+ /eol@0.9.1:
+ resolution: {integrity: sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==}
+ dev: true
+
/err-code@2.0.3:
resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==}
requiresBuild: true
@@ -4962,7 +7167,6 @@ packages:
/escape-html@1.0.3:
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
- dev: false
/escape-string-regexp@1.0.5:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
@@ -5276,7 +7480,6 @@ packages:
/etag@1.8.1:
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
engines: {node: '>= 0.6'}
- dev: false
/event-emitter@0.3.5:
resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
@@ -5297,6 +7500,23 @@ packages:
through: 2.3.8
dev: true
+ /exec-async@2.2.0:
+ resolution: {integrity: sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw==}
+ dev: true
+
+ /execa@1.0.0:
+ resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==}
+ engines: {node: '>=6'}
+ dependencies:
+ cross-spawn: 6.0.5
+ get-stream: 4.1.0
+ is-stream: 1.1.0
+ npm-run-path: 2.0.2
+ p-finally: 1.0.0
+ signal-exit: 3.0.7
+ strip-eof: 1.0.0
+ dev: true
+
/execa@5.1.1:
resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
engines: {node: '>=10'}
@@ -5336,6 +7556,130 @@ packages:
resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
engines: {node: '>=6'}
+ /expo-application@5.3.1(expo@49.0.21):
+ resolution: {integrity: sha512-HR2+K+Hm33vLw/TfbFaHrvUbRRNRco8R+3QaCKy7eJC2LFfT05kZ15ynGaKfB5DJ/oqPV3mxXVR/EfwmE++hoA==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ expo: 49.0.21(@babel/core@7.23.6)
+ dev: true
+
+ /expo-asset@8.10.1(expo@49.0.21):
+ resolution: {integrity: sha512-5VMTESxgY9GBsspO/esY25SKEa7RyascVkLe/OcL1WgblNFm7xCCEEUIW8VWS1nHJQGYxpMZPr3bEfjMpdWdyA==}
+ dependencies:
+ blueimp-md5: 2.19.0
+ expo-constants: 14.4.2(expo@49.0.21)
+ expo-file-system: 15.4.5(expo@49.0.21)
+ invariant: 2.2.4
+ md5-file: 3.2.3
+ path-browserify: 1.0.1
+ url-parse: 1.5.10
+ transitivePeerDependencies:
+ - expo
+ - supports-color
+ dev: true
+
+ /expo-constants@14.4.2(expo@49.0.21):
+ resolution: {integrity: sha512-nOB122DOAjk+KrJT69lFQAoYVQGQjFHSigCPVBzVdko9S1xGsfiOH9+X5dygTsZTIlVLpQJDdmZ7ONiv3i+26w==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ '@expo/config': 8.1.2
+ expo: 49.0.21(@babel/core@7.23.6)
+ uuid: 3.4.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /expo-file-system@15.4.5(expo@49.0.21):
+ resolution: {integrity: sha512-xy61KaTaDgXhT/dllwYDHm3ch026EyO8j4eC6wSVr/yE12MMMxAC09yGwy4f7kkOs6ztGVQF5j7ldRzNLN4l0Q==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ expo: 49.0.21(@babel/core@7.23.6)
+ uuid: 3.4.0
+ dev: true
+
+ /expo-font@11.4.0(expo@49.0.21):
+ resolution: {integrity: sha512-nkmezCFD7gR/I6R+e3/ry18uEfF8uYrr6h+PdBJu+3dawoLOpo+wFb/RG9bHUekU1/cPanR58LR7G5MEMKHR2w==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ expo: 49.0.21(@babel/core@7.23.6)
+ fontfaceobserver: 2.3.0
+ dev: true
+
+ /expo-keep-awake@12.3.0(expo@49.0.21):
+ resolution: {integrity: sha512-ujiJg1p9EdCOYS05jh5PtUrfiZnK0yyLy+UewzqrjUqIT8eAGMQbkfOn3C3fHE7AKd5AefSMzJnS3lYZcZYHDw==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ expo: 49.0.21(@babel/core@7.23.6)
+ dev: true
+
+ /expo-modules-autolinking@1.5.1:
+ resolution: {integrity: sha512-yt5a1VCp2BF9CrsO689PCD5oXKP14MMhnOanQMvDn4BDpURYfzAlDVGC5fZrNQKtwn/eq3bcrxIwZ7D9QjVVRg==}
+ hasBin: true
+ dependencies:
+ '@expo/config': 8.1.2
+ chalk: 4.1.2
+ commander: 7.2.0
+ fast-glob: 3.3.1
+ find-up: 5.0.0
+ fs-extra: 9.1.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /expo-modules-core@1.5.12:
+ resolution: {integrity: sha512-mY4wTDU458dhwk7IVxLNkePlYXjs9BTgk4NQHBUXf0LapXsvr+i711qPZaFNO4egf5qq6fQV+Yfd/KUguHstnQ==}
+ dependencies:
+ compare-versions: 3.6.0
+ invariant: 2.2.4
+ dev: true
+
+ /expo-sqlite@13.2.0(expo@49.0.21):
+ resolution: {integrity: sha512-TYpX+a+2oJOxzChug8+TkIob0lipl7rluCRBGXbGKG68kG4Reb6OCruRiQTJTnbGiEgnN4S+B0cT8f4ZXPUxBg==}
+ peerDependencies:
+ expo: '*'
+ dependencies:
+ '@expo/websql': 1.0.1
+ expo: 49.0.21(@babel/core@7.23.6)
+ dev: true
+
+ /expo@49.0.21(@babel/core@7.23.6):
+ resolution: {integrity: sha512-JpHL6V0yt8/fzsmkAdPdtsah+lU6Si4ac7MDklLYvzEil7HAFEsN/pf06wQ21ax4C+BL27hI6JJoD34tzXUCJA==}
+ hasBin: true
+ dependencies:
+ '@babel/runtime': 7.22.10
+ '@expo/cli': 0.10.16(expo-modules-autolinking@1.5.1)
+ '@expo/config': 8.1.2
+ '@expo/config-plugins': 7.2.5
+ '@expo/vector-icons': 13.0.0
+ babel-preset-expo: 9.5.2(@babel/core@7.23.6)
+ expo-application: 5.3.1(expo@49.0.21)
+ expo-asset: 8.10.1(expo@49.0.21)
+ expo-constants: 14.4.2(expo@49.0.21)
+ expo-file-system: 15.4.5(expo@49.0.21)
+ expo-font: 11.4.0(expo@49.0.21)
+ expo-keep-awake: 12.3.0(expo@49.0.21)
+ expo-modules-autolinking: 1.5.1
+ expo-modules-core: 1.5.12
+ fbemitter: 3.0.0
+ invariant: 2.2.4
+ md5-file: 3.2.3
+ node-fetch: 2.7.0
+ pretty-format: 26.6.2
+ uuid: 3.4.0
+ transitivePeerDependencies:
+ - '@babel/core'
+ - bluebird
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: true
+
/express@4.18.2:
resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==}
engines: {node: '>= 0.10.0'}
@@ -5428,6 +7772,32 @@ packages:
dependencies:
reusify: 1.0.4
+ /fbemitter@3.0.0:
+ resolution: {integrity: sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==}
+ dependencies:
+ fbjs: 3.0.5
+ transitivePeerDependencies:
+ - encoding
+ dev: true
+
+ /fbjs-css-vars@1.0.2:
+ resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==}
+ dev: true
+
+ /fbjs@3.0.5:
+ resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==}
+ dependencies:
+ cross-fetch: 3.1.8
+ fbjs-css-vars: 1.0.2
+ loose-envify: 1.4.0
+ object-assign: 4.1.1
+ promise: 7.3.1
+ setimmediate: 1.0.5
+ ua-parser-js: 1.0.37
+ transitivePeerDependencies:
+ - encoding
+ dev: true
+
/fetch-blob@3.2.0:
resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
engines: {node: ^12.20 || >= 14.13}
@@ -5444,6 +7814,10 @@ packages:
- encoding
dev: true
+ /fetch-retry@4.1.1:
+ resolution: {integrity: sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA==}
+ dev: true
+
/fflate@0.7.4:
resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==}
@@ -5471,6 +7845,21 @@ packages:
dependencies:
to-regex-range: 5.0.1
+ /finalhandler@1.1.2:
+ resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ debug: 2.6.9
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ on-finished: 2.3.0
+ parseurl: 1.3.3
+ statuses: 1.5.0
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/finalhandler@1.2.0:
resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
engines: {node: '>= 0.8'}
@@ -5486,6 +7875,21 @@ packages:
- supports-color
dev: false
+ /find-babel-config@2.0.0:
+ resolution: {integrity: sha512-dOKT7jvF3hGzlW60Gc3ONox/0rRZ/tz7WCil0bqA1In/3I8f1BctpXahRnEKDySZqci7u+dqq93sZST9fOJpFw==}
+ engines: {node: '>=16.0.0'}
+ dependencies:
+ json5: 2.2.3
+ path-exists: 4.0.0
+ dev: true
+
+ /find-up@3.0.0:
+ resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
+ engines: {node: '>=6'}
+ dependencies:
+ locate-path: 3.0.0
+ dev: true
+
/find-up@4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
engines: {node: '>=8'}
@@ -5510,6 +7914,12 @@ packages:
path-exists: 5.0.0
dev: true
+ /find-yarn-workspace-root@2.0.0:
+ resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==}
+ dependencies:
+ micromatch: 4.0.5
+ dev: true
+
/flat-cache@3.1.0:
resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==}
engines: {node: '>=12.0.0'}
@@ -5536,6 +7946,10 @@ packages:
optional: true
dev: true
+ /fontfaceobserver@2.3.0:
+ resolution: {integrity: sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==}
+ dev: true
+
/for-each@0.3.3:
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
dependencies:
@@ -5579,10 +7993,14 @@ packages:
engines: {node: '>= 0.6'}
dev: false
+ /freeport-async@2.0.0:
+ resolution: {integrity: sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==}
+ engines: {node: '>=8'}
+ dev: true
+
/fresh@0.5.2:
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
engines: {node: '>= 0.6'}
- dev: false
/from@0.1.7:
resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==}
@@ -5600,6 +8018,35 @@ packages:
universalify: 2.0.0
dev: true
+ /fs-extra@8.1.0:
+ resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
+ engines: {node: '>=6 <7 || >=8'}
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 4.0.0
+ universalify: 0.1.2
+ dev: true
+
+ /fs-extra@9.0.0:
+ resolution: {integrity: sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==}
+ engines: {node: '>=10'}
+ dependencies:
+ at-least-node: 1.0.0
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 1.0.0
+ dev: true
+
+ /fs-extra@9.1.0:
+ resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ at-least-node: 1.0.0
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.0
+ dev: true
+
/fs-minipass@2.1.0:
resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
engines: {node: '>= 8'}
@@ -5673,6 +8120,11 @@ packages:
dependencies:
is-property: 1.0.2
+ /gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
/get-caller-file@2.0.5:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
@@ -5684,13 +8136,6 @@ packages:
resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
dev: true
- /get-intrinsic@1.2.0:
- resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==}
- dependencies:
- function-bind: 1.1.1
- has: 1.0.3
- has-symbols: 1.0.3
-
/get-intrinsic@1.2.1:
resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==}
dependencies:
@@ -5698,18 +8143,29 @@ packages:
has: 1.0.3
has-proto: 1.0.1
has-symbols: 1.0.3
- dev: true
/get-package-type@0.1.0:
resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
engines: {node: '>=8.0.0'}
dev: true
+ /get-port@3.2.0:
+ resolution: {integrity: sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==}
+ engines: {node: '>=4'}
+ dev: true
+
/get-port@7.0.0:
resolution: {integrity: sha512-mDHFgApoQd+azgMdwylJrv2DX47ywGq1i5VFJE7fZ0dttNq3iQMfsU4IvEgBHojA3KqEudyu7Vq+oN8kNaNkWw==}
engines: {node: '>=16'}
dev: false
+ /get-stream@4.1.0:
+ resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
+ engines: {node: '>=6'}
+ dependencies:
+ pump: 3.0.0
+ dev: true
+
/get-stream@6.0.1:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'}
@@ -5726,6 +8182,11 @@ packages:
resolution: {integrity: sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==}
dev: true
+ /getenv@1.0.0:
+ resolution: {integrity: sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==}
+ engines: {node: '>=6'}
+ dev: true
+
/getopts@2.3.0:
resolution: {integrity: sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==}
dev: true
@@ -5770,6 +8231,17 @@ packages:
path-scurry: 1.10.1
dev: true
+ /glob@6.0.4:
+ resolution: {integrity: sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==}
+ dependencies:
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: true
+ optional: true
+
/glob@7.1.6:
resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
dependencies:
@@ -5873,6 +8345,21 @@ packages:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
dev: true
+ /graphql-tag@2.12.6(graphql@15.8.0):
+ resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ graphql: 15.8.0
+ tslib: 2.6.2
+ dev: true
+
+ /graphql@15.8.0:
+ resolution: {integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==}
+ engines: {node: '>= 10.x'}
+ dev: true
+
/hanji@0.0.5:
resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==}
dependencies:
@@ -5903,7 +8390,6 @@ packages:
/has-proto@1.0.1:
resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
engines: {node: '>= 0.4'}
- dev: true
/has-symbols@1.0.3:
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
@@ -5933,6 +8419,13 @@ packages:
resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
dev: true
+ /hosted-git-info@3.0.8:
+ resolution: {integrity: sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==}
+ engines: {node: '>=10'}
+ dependencies:
+ lru-cache: 6.0.0
+ dev: true
+
/http-cache-semantics@4.1.1:
resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
requiresBuild: true
@@ -5947,7 +8440,6 @@ packages:
setprototypeof: 1.2.0
statuses: 2.0.1
toidentifier: 1.0.1
- dev: false
/http-proxy-agent@4.0.1:
resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==}
@@ -5992,7 +8484,6 @@ packages:
engines: {node: '>=0.10.0'}
dependencies:
safer-buffer: 2.1.2
- dev: false
/iconv-lite@0.6.3:
resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
@@ -6013,6 +8504,10 @@ packages:
engines: {node: '>= 4'}
dev: true
+ /immediate@3.3.0:
+ resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==}
+ dev: true
+
/import-fresh@3.3.0:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'}
@@ -6039,7 +8534,6 @@ packages:
/infer-owner@1.0.4:
resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==}
requiresBuild: true
- optional: true
/inflight@1.0.6:
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
@@ -6054,6 +8548,14 @@ packages:
/ini@1.3.8:
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+ /internal-ip@4.3.0:
+ resolution: {integrity: sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==}
+ engines: {node: '>=6'}
+ dependencies:
+ default-gateway: 4.2.0
+ ipaddr.js: 1.9.1
+ dev: true
+
/internal-slot@1.0.5:
resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==}
engines: {node: '>= 0.4'}
@@ -6068,6 +8570,17 @@ packages:
engines: {node: '>= 0.10'}
dev: true
+ /invariant@2.2.4:
+ resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: true
+
+ /ip-regex@2.1.0:
+ resolution: {integrity: sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==}
+ engines: {node: '>=4'}
+ dev: true
+
/ip@2.0.0:
resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==}
requiresBuild: true
@@ -6076,7 +8589,6 @@ packages:
/ipaddr.js@1.9.1:
resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
engines: {node: '>= 0.10'}
- dev: false
/irregular-plurals@3.5.0:
resolution: {integrity: sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==}
@@ -6124,6 +8636,10 @@ packages:
has-tostringtag: 1.0.0
dev: true
+ /is-buffer@1.1.6:
+ resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
+ dev: true
+
/is-builtin-module@3.2.1:
resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
engines: {node: '>=6'}
@@ -6161,10 +8677,21 @@ packages:
has-tostringtag: 1.0.0
dev: true
+ /is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dev: true
+
/is-error@2.2.2:
resolution: {integrity: sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==}
dev: true
+ /is-extglob@1.0.0:
+ resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
@@ -6186,12 +8713,26 @@ packages:
has-tostringtag: 1.0.0
dev: true
+ /is-glob@2.0.1:
+ resolution: {integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 1.0.0
+ dev: true
+
/is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
dependencies:
is-extglob: 2.1.1
+ /is-invalid-path@0.1.0:
+ resolution: {integrity: sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-glob: 2.0.1
+ dev: true
+
/is-lambda@1.0.1:
resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==}
requiresBuild: true
@@ -6221,6 +8762,11 @@ packages:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
+ /is-path-cwd@2.2.0:
+ resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==}
+ engines: {node: '>=6'}
+ dev: true
+
/is-path-cwd@3.0.0:
resolution: {integrity: sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -6266,6 +8812,11 @@ packages:
call-bind: 1.0.2
dev: true
+ /is-stream@1.1.0:
+ resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/is-stream@2.0.1:
resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
engines: {node: '>=8'}
@@ -6302,12 +8853,26 @@ packages:
engines: {node: '>=12'}
dev: true
+ /is-valid-path@0.1.1:
+ resolution: {integrity: sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-invalid-path: 0.1.0
+ dev: true
+
/is-weakref@1.0.2:
resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
dependencies:
call-bind: 1.0.2
dev: true
+ /is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-docker: 2.2.1
+ dev: true
+
/isarray@2.0.5:
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
dev: true
@@ -6337,6 +8902,14 @@ packages:
resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==}
dev: true
+ /jimp-compact@0.16.1:
+ resolution: {integrity: sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==}
+ dev: true
+
+ /join-component@1.1.0:
+ resolution: {integrity: sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ==}
+ dev: true
+
/joycon@3.1.1:
resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
engines: {node: '>=10'}
@@ -6369,6 +8942,10 @@ packages:
argparse: 2.0.1
dev: true
+ /jsc-safe-url@0.2.4:
+ resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==}
+ dev: true
+
/jsesc@0.5.0:
resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
hasBin: true
@@ -6403,6 +8980,20 @@ packages:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
dev: true
+ /json-schema-deref-sync@0.13.0:
+ resolution: {integrity: sha512-YBOEogm5w9Op337yb6pAT6ZXDqlxAsQCanM3grid8lMWNxRJO/zWEJi3ZzqDL8boWfwhTFym5EFrNgWwpqcBRg==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ clone: 2.1.2
+ dag-map: 1.0.2
+ is-valid-path: 0.1.1
+ lodash: 4.17.21
+ md5: 2.2.1
+ memory-cache: 0.2.0
+ traverse: 0.6.7
+ valid-url: 1.0.9
+ dev: true
+
/json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
dev: true
@@ -6418,9 +9009,21 @@ packages:
minimist: 1.2.8
dev: true
+ /json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+ dev: true
+
/jsonc-parser@3.2.0:
resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
+ /jsonfile@4.0.0:
+ resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
+ optionalDependencies:
+ graceful-fs: 4.2.11
+ dev: true
+
/jsonfile@6.1.0:
resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
dependencies:
@@ -6454,6 +9057,11 @@ packages:
json-buffer: 3.0.1
dev: true
+ /kleur@3.0.3:
+ resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
+ engines: {node: '>=6'}
+ dev: true
+
/kleur@4.1.5:
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
engines: {node: '>=6'}
@@ -6522,6 +9130,94 @@ packages:
type-check: 0.4.0
dev: true
+ /lightningcss-darwin-arm64@1.19.0:
+ resolution: {integrity: sha512-wIJmFtYX0rXHsXHSr4+sC5clwblEMji7HHQ4Ub1/CznVRxtCFha6JIt5JZaNf8vQrfdZnBxLLC6R8pC818jXqg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss-darwin-x64@1.19.0:
+ resolution: {integrity: sha512-Lif1wD6P4poaw9c/4Uh2z+gmrWhw/HtXFoeZ3bEsv6Ia4tt8rOJBdkfVaUJ6VXmpKHALve+iTyP2+50xY1wKPw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss-linux-arm-gnueabihf@1.19.0:
+ resolution: {integrity: sha512-P15VXY5682mTXaiDtbnLYQflc8BYb774j2R84FgDLJTN6Qp0ZjWEFyN1SPqyfTj2B2TFjRHRUvQSSZ7qN4Weig==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss-linux-arm64-gnu@1.19.0:
+ resolution: {integrity: sha512-zwXRjWqpev8wqO0sv0M1aM1PpjHz6RVIsBcxKszIG83Befuh4yNysjgHVplF9RTU7eozGe3Ts7r6we1+Qkqsww==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss-linux-arm64-musl@1.19.0:
+ resolution: {integrity: sha512-vSCKO7SDnZaFN9zEloKSZM5/kC5gbzUjoJQ43BvUpyTFUX7ACs/mDfl2Eq6fdz2+uWhUh7vf92c4EaaP4udEtA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss-linux-x64-gnu@1.19.0:
+ resolution: {integrity: sha512-0AFQKvVzXf9byrXUq9z0anMGLdZJS+XSDqidyijI5njIwj6MdbvX2UZK/c4FfNmeRa2N/8ngTffoIuOUit5eIQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss-linux-x64-musl@1.19.0:
+ resolution: {integrity: sha512-SJoM8CLPt6ECCgSuWe+g0qo8dqQYVcPiW2s19dxkmSI5+Uu1GIRzyKA0b7QqmEXolA+oSJhQqCmJpzjY4CuZAg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss-win32-x64-msvc@1.19.0:
+ resolution: {integrity: sha512-C+VuUTeSUOAaBZZOPT7Etn/agx/MatzJzGRkeV+zEABmPuntv1zihncsi+AyGmjkkzq3wVedEy7h0/4S84mUtg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /lightningcss@1.19.0:
+ resolution: {integrity: sha512-yV5UR7og+Og7lQC+70DA7a8ta1uiOPnWPJfxa0wnxylev5qfo4P+4iMpzWAdYWOca4jdNQZii+bDL/l+4hUXIA==}
+ engines: {node: '>= 12.0.0'}
+ dependencies:
+ detect-libc: 1.0.3
+ optionalDependencies:
+ lightningcss-darwin-arm64: 1.19.0
+ lightningcss-darwin-x64: 1.19.0
+ lightningcss-linux-arm-gnueabihf: 1.19.0
+ lightningcss-linux-arm64-gnu: 1.19.0
+ lightningcss-linux-arm64-musl: 1.19.0
+ lightningcss-linux-x64-gnu: 1.19.0
+ lightningcss-linux-x64-musl: 1.19.0
+ lightningcss-win32-x64-msvc: 1.19.0
+ dev: true
+
/lilconfig@2.1.0:
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
engines: {node: '>=10'}
@@ -6545,6 +9241,14 @@ packages:
resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
engines: {node: '>=14'}
+ /locate-path@3.0.0:
+ resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-locate: 3.0.0
+ path-exists: 3.0.0
+ dev: true
+
/locate-path@5.0.0:
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
engines: {node: '>=8'}
@@ -6566,6 +9270,10 @@ packages:
p-locate: 6.0.0
dev: true
+ /lodash.debounce@4.0.8:
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+ dev: true
+
/lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
@@ -6581,14 +9289,34 @@ packages:
/lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+ /log-symbols@2.2.0:
+ resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==}
+ engines: {node: '>=4'}
+ dependencies:
+ chalk: 2.4.2
+ dev: true
+
/long@5.2.3:
resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==}
+ /loose-envify@1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+ dependencies:
+ js-tokens: 4.0.0
+ dev: true
+
/loupe@2.3.6:
resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==}
dependencies:
get-func-name: 2.0.0
+ /lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+ dependencies:
+ yallist: 3.1.1
+ dev: true
+
/lru-cache@6.0.0:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'}
@@ -6699,16 +9427,43 @@ packages:
escape-string-regexp: 5.0.0
dev: true
+ /md5-file@3.2.3:
+ resolution: {integrity: sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==}
+ engines: {node: '>=0.10'}
+ hasBin: true
+ dependencies:
+ buffer-alloc: 1.2.0
+ dev: true
+
/md5-hex@3.0.1:
resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==}
engines: {node: '>=8'}
dependencies:
blueimp-md5: 2.19.0
+ /md5@2.2.1:
+ resolution: {integrity: sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==}
+ dependencies:
+ charenc: 0.0.2
+ crypt: 0.0.2
+ is-buffer: 1.1.6
+ dev: true
+
+ /md5@2.3.0:
+ resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==}
+ dependencies:
+ charenc: 0.0.2
+ crypt: 0.0.2
+ is-buffer: 1.1.6
+ dev: true
+
+ /md5hex@1.0.0:
+ resolution: {integrity: sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ==}
+ dev: true
+
/media-typer@0.3.0:
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
engines: {node: '>= 0.6'}
- dev: false
/mem@9.0.2:
resolution: {integrity: sha512-F2t4YIv9XQUBHt6AOJ0y7lSmP1+cY7Fm1DRh9GClTGzKST7UWLMx6ly9WZdLH/G/ppM5RL4MlQfRT71ri9t19A==}
@@ -6731,6 +9486,10 @@ packages:
timers-ext: 0.1.7
dev: true
+ /memory-cache@0.2.0:
+ resolution: {integrity: sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==}
+ dev: true
+
/meow@12.1.1:
resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==}
engines: {node: '>=16.10'}
@@ -6752,6 +9511,55 @@ packages:
engines: {node: '>= 0.6'}
dev: false
+ /metro-react-native-babel-preset@0.76.8(@babel/core@7.23.6):
+ resolution: {integrity: sha512-Ptza08GgqzxEdK8apYsjTx2S8WDUlS2ilBlu9DR1CUcHmg4g3kOkFylZroogVAUKtpYQNYwAvdsjmrSdDNtiAg==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ '@babel/core': '*'
+ dependencies:
+ '@babel/core': 7.23.6
+ '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.23.6)
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.23.6)
+ '@babel/plugin-proposal-export-default-from': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.23.6)
+ '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.23.6)
+ '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.23.6)
+ '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.23.6)
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.23.6)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.6)
+ '@babel/plugin-syntax-export-default-from': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.6)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.6)
+ '@babel/plugin-transform-classes': 7.23.5(@babel/core@7.23.6)
+ '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.6)
+ '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.6)
+ '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-runtime': 7.23.6(@babel/core@7.23.6)
+ '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.6)
+ '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.6)
+ '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.6)
+ '@babel/template': 7.22.15
+ babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.23.6)
+ react-refresh: 0.4.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/micromatch@4.0.5:
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
engines: {node: '>=8.6'}
@@ -6773,7 +9581,17 @@ packages:
resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
engines: {node: '>=4'}
hasBin: true
- dev: false
+
+ /mime@2.6.0:
+ resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==}
+ engines: {node: '>=4.0.0'}
+ hasBin: true
+ dev: true
+
+ /mimic-fn@1.2.0:
+ resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==}
+ engines: {node: '>=4'}
+ dev: true
/mimic-fn@2.1.0:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
@@ -6829,7 +9647,6 @@ packages:
requiresBuild: true
dependencies:
minipass: 3.3.6
- optional: true
/minipass-fetch@1.4.1:
resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==}
@@ -6849,7 +9666,6 @@ packages:
requiresBuild: true
dependencies:
minipass: 3.3.6
- optional: true
/minipass-pipeline@1.2.4:
resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==}
@@ -6857,7 +9673,6 @@ packages:
requiresBuild: true
dependencies:
minipass: 3.3.6
- optional: true
/minipass-sized@1.0.3:
resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==}
@@ -6867,6 +9682,13 @@ packages:
minipass: 3.3.6
optional: true
+ /minipass@3.1.6:
+ resolution: {integrity: sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ yallist: 4.0.0
+ dev: true
+
/minipass@3.3.6:
resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
engines: {node: '>=8'}
@@ -6892,6 +9714,13 @@ packages:
/mkdirp-classic@0.5.3:
resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
+ /mkdirp@0.5.6:
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
+ hasBin: true
+ dependencies:
+ minimist: 1.2.8
+ dev: true
+
/mkdirp@1.0.4:
resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
engines: {node: '>=10'}
@@ -6925,7 +9754,6 @@ packages:
/ms@2.0.0:
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
- dev: false
/ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
@@ -6934,6 +9762,17 @@ packages:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
requiresBuild: true
+ /mv@2.1.1:
+ resolution: {integrity: sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==}
+ engines: {node: '>=0.8.0'}
+ requiresBuild: true
+ dependencies:
+ mkdirp: 0.5.6
+ ncp: 2.0.0
+ rimraf: 2.4.5
+ dev: true
+ optional: true
+
/mysql2@3.3.3:
resolution: {integrity: sha512-MxDQJztArk4JFX1PKVjDhIXRzAmVJfuqZrVU+my6NeYBAA/XZRaDw5q7vga8TNvgyy3Lv3rivBFBBuJFbsdjaw==}
engines: {node: '>= 8.0'}
@@ -6979,11 +9818,21 @@ packages:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
dev: true
+ /ncp@2.0.0:
+ resolution: {integrity: sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==}
+ hasBin: true
+ dev: true
+ optional: true
+
/negotiator@0.6.3:
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
engines: {node: '>= 0.6'}
requiresBuild: true
+ /nested-error-stacks@2.0.1:
+ resolution: {integrity: sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==}
+ dev: true
+
/nested-error-stacks@2.1.1:
resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==}
dev: true
@@ -6992,6 +9841,10 @@ packages:
resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
dev: true
+ /nice-try@1.0.5:
+ resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
+ dev: true
+
/node-abi@3.40.0:
resolution: {integrity: sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA==}
engines: {node: '>=10'}
@@ -7034,6 +9887,18 @@ packages:
dependencies:
whatwg-url: 5.0.0
+ /node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+ dependencies:
+ whatwg-url: 5.0.0
+ dev: true
+
/node-fetch@3.3.1:
resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -7043,6 +9908,11 @@ packages:
formdata-polyfill: 4.0.10
dev: true
+ /node-forge@1.3.1:
+ resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
+ engines: {node: '>= 6.13.0'}
+ dev: true
+
/node-gyp-build@4.6.0:
resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==}
hasBin: true
@@ -7068,11 +9938,19 @@ packages:
- supports-color
optional: true
+ /node-releases@2.0.14:
+ resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
+ dev: true
+
/nofilter@3.1.0:
resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==}
engines: {node: '>=12.19'}
dev: true
+ /noop-fn@1.0.0:
+ resolution: {integrity: sha512-pQ8vODlgXt2e7A3mIbFDlizkr46r75V+BJxVAyat8Jl7YmI513gG5cfyRL0FedKraoZ+VAouI1h4/IWpus5pcQ==}
+ dev: true
+
/nopt@5.0.0:
resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
engines: {node: '>=6'}
@@ -7094,6 +9972,22 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /npm-package-arg@7.0.0:
+ resolution: {integrity: sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==}
+ dependencies:
+ hosted-git-info: 3.0.8
+ osenv: 0.1.5
+ semver: 5.7.2
+ validate-npm-package-name: 3.0.0
+ dev: true
+
+ /npm-run-path@2.0.2:
+ resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
+ engines: {node: '>=4'}
+ dependencies:
+ path-key: 2.0.1
+ dev: true
+
/npm-run-path@4.0.1:
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
engines: {node: '>=8'}
@@ -7136,6 +10030,10 @@ packages:
validate-npm-package-name: 4.0.0
dev: false
+ /nullthrows@1.1.1:
+ resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==}
+ dev: true
+
/object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
@@ -7196,18 +10094,31 @@ packages:
/obuf@1.1.2:
resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
+ /on-finished@2.3.0:
+ resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ ee-first: 1.1.1
+ dev: true
+
/on-finished@2.4.1:
resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
engines: {node: '>= 0.8'}
dependencies:
ee-first: 1.1.1
- dev: false
/once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
dependencies:
wrappy: 1.0.2
+ /onetime@2.0.1:
+ resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ mimic-fn: 1.2.0
+ dev: true
+
/onetime@5.1.2:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
engines: {node: '>=6'}
@@ -7222,6 +10133,15 @@ packages:
mimic-fn: 4.0.0
dev: false
+ /open@8.4.2:
+ resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+ dev: true
+
/optionator@0.9.3:
resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
engines: {node: '>= 0.8.0'}
@@ -7234,6 +10154,35 @@ packages:
type-check: 0.4.0
dev: true
+ /ora@3.4.0:
+ resolution: {integrity: sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==}
+ engines: {node: '>=6'}
+ dependencies:
+ chalk: 2.4.2
+ cli-cursor: 2.1.0
+ cli-spinners: 2.9.2
+ log-symbols: 2.2.0
+ strip-ansi: 5.2.0
+ wcwidth: 1.0.1
+ dev: true
+
+ /os-homedir@1.0.2:
+ resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /os-tmpdir@1.0.2:
+ resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /osenv@0.1.5:
+ resolution: {integrity: sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==}
+ dependencies:
+ os-homedir: 1.0.2
+ os-tmpdir: 1.0.2
+ dev: true
+
/p-defer@1.0.0:
resolution: {integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==}
engines: {node: '>=4'}
@@ -7253,6 +10202,11 @@ packages:
p-map: 5.5.0
dev: true
+ /p-finally@1.0.0:
+ resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
+ engines: {node: '>=4'}
+ dev: true
+
/p-limit@2.3.0:
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
engines: {node: '>=6'}
@@ -7272,6 +10226,13 @@ packages:
dependencies:
yocto-queue: 1.0.0
+ /p-locate@3.0.0:
+ resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-limit: 2.3.0
+ dev: true
+
/p-locate@4.1.0:
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
engines: {node: '>=8'}
@@ -7299,7 +10260,6 @@ packages:
requiresBuild: true
dependencies:
aggregate-error: 3.1.0
- optional: true
/p-map@5.5.0:
resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==}
@@ -7352,10 +10312,32 @@ packages:
resolution: {integrity: sha512-kBeTUtcj+SkyfaW4+KBe0HtsloBJ/mKTPoxpVdA57GZiPerREsUWJOhVj9anXweFiJkm5y8FG1sxFZkZ0SN6wg==}
dev: false
+ /parse-png@2.1.0:
+ resolution: {integrity: sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ pngjs: 3.4.0
+ dev: true
+
/parseurl@1.3.3:
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
engines: {node: '>= 0.8'}
- dev: false
+
+ /password-prompt@1.1.3:
+ resolution: {integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==}
+ dependencies:
+ ansi-escapes: 4.3.2
+ cross-spawn: 7.0.3
+ dev: true
+
+ /path-browserify@1.0.1:
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+ dev: true
+
+ /path-exists@3.0.0:
+ resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
+ engines: {node: '>=4'}
+ dev: true
/path-exists@4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
@@ -7372,6 +10354,11 @@ packages:
engines: {node: '>=0.10.0'}
requiresBuild: true
+ /path-key@2.0.1:
+ resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
+ engines: {node: '>=4'}
+ dev: true
+
/path-key@3.1.1:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
@@ -7525,6 +10512,22 @@ packages:
mlly: 1.3.0
pathe: 1.1.1
+ /pkg-up@3.1.0:
+ resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==}
+ engines: {node: '>=8'}
+ dependencies:
+ find-up: 3.0.0
+ dev: true
+
+ /plist@3.1.0:
+ resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==}
+ engines: {node: '>=10.4.0'}
+ dependencies:
+ '@xmldom/xmldom': 0.8.10
+ base64-js: 1.5.1
+ xmlbuilder: 15.1.1
+ dev: true
+
/plur@5.1.0:
resolution: {integrity: sha512-VP/72JeXqak2KiOzjgKtQen5y3IZHn+9GOuLDafPv0eXa47xq0At93XahYBs26MsifCQ4enGKwbjBTKgb9QJXg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -7537,6 +10540,11 @@ packages:
engines: {node: '>=4'}
dev: true
+ /pngjs@3.4.0:
+ resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==}
+ engines: {node: '>=4.0.0'}
+ dev: true
+
/postcss-load-config@4.0.1:
resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==}
engines: {node: '>= 14'}
@@ -7603,6 +10611,10 @@ packages:
/postgres@3.3.5:
resolution: {integrity: sha512-+JD93VELV9gHkqpV5gdL5/70HdGtEw4/XE1S4BC8f1mcPmdib3K5XsKVbnR1XcAyC41zOnifJ+9YRKxdIsXiUw==}
+ /pouchdb-collections@1.0.1:
+ resolution: {integrity: sha512-31db6JRg4+4D5Yzc2nqsRqsA2oOkZS8DpFav3jf/qVNBxusKa2ClkEIZ2bJNpaDbMfWtnuSq59p6Bn+CipPMdg==}
+ dev: true
+
/prebuild-install@7.1.1:
resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==}
engines: {node: '>=10'}
@@ -7632,6 +10644,21 @@ packages:
hasBin: true
dev: true
+ /pretty-bytes@5.6.0:
+ resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /pretty-format@26.6.2:
+ resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==}
+ engines: {node: '>= 10'}
+ dependencies:
+ '@jest/types': 26.6.2
+ ansi-regex: 5.0.1
+ ansi-styles: 4.3.0
+ react-is: 17.0.2
+ dev: true
+
/pretty-format@27.5.1:
resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
@@ -7656,6 +10683,11 @@ packages:
parse-ms: 3.0.0
dev: true
+ /progress@2.0.3:
+ resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
+ engines: {node: '>=0.4.0'}
+ dev: true
+
/promise-inflight@1.0.1:
resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==}
requiresBuild: true
@@ -7664,7 +10696,6 @@ packages:
peerDependenciesMeta:
bluebird:
optional: true
- optional: true
/promise-retry@2.0.1:
resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==}
@@ -7675,6 +10706,20 @@ packages:
retry: 0.12.0
optional: true
+ /promise@7.3.1:
+ resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==}
+ dependencies:
+ asap: 2.0.6
+ dev: true
+
+ /prompts@2.4.2:
+ resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
+ engines: {node: '>= 6'}
+ dependencies:
+ kleur: 3.0.3
+ sisteransi: 1.0.5
+ dev: true
+
/proxy-addr@2.0.7:
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
engines: {node: '>= 0.10'}
@@ -7706,12 +10751,20 @@ packages:
engines: {node: '>=6'}
dev: true
+ /qrcode-terminal@0.11.0:
+ resolution: {integrity: sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ==}
+ hasBin: true
+ dev: true
+
/qs@6.11.0:
resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
engines: {node: '>=0.6'}
dependencies:
side-channel: 1.0.4
- dev: false
+
+ /querystringify@2.2.0:
+ resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
+ dev: true
/queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@@ -7725,7 +10778,6 @@ packages:
/range-parser@1.2.1:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
- dev: false
/raw-body@2.5.1:
resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==}
@@ -7735,7 +10787,6 @@ packages:
http-errors: 2.0.0
iconv-lite: 0.4.24
unpipe: 1.0.0
- dev: false
/rc@1.2.8:
resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
@@ -7753,6 +10804,18 @@ packages:
resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
dev: true
+ /react-refresh@0.4.3:
+ resolution: {integrity: sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /react@18.2.0:
+ resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: true
+
/read-pkg-up@7.0.1:
resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
engines: {node: '>=8'}
@@ -7811,10 +10874,27 @@ packages:
esprima: 4.0.1
dev: true
+ /regenerate-unicode-properties@10.1.1:
+ resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==}
+ engines: {node: '>=4'}
+ dependencies:
+ regenerate: 1.4.2
+ dev: true
+
+ /regenerate@1.4.2:
+ resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+ dev: true
+
/regenerator-runtime@0.14.0:
resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
dev: true
+ /regenerator-transform@0.15.2:
+ resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
+ dependencies:
+ '@babel/runtime': 7.22.10
+ dev: true
+
/regexp-tree@0.1.27:
resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==}
hasBin: true
@@ -7829,6 +10909,18 @@ packages:
functions-have-names: 1.2.3
dev: true
+ /regexpu-core@5.3.2:
+ resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ '@babel/regjsgen': 0.8.0
+ regenerate: 1.4.2
+ regenerate-unicode-properties: 10.1.1
+ regjsparser: 0.9.1
+ unicode-match-property-ecmascript: 2.0.0
+ unicode-match-property-value-ecmascript: 2.1.0
+ dev: true
+
/regjsparser@0.10.0:
resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==}
hasBin: true
@@ -7836,10 +10928,43 @@ packages:
jsesc: 0.5.0
dev: true
+ /regjsparser@0.9.1:
+ resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
+ hasBin: true
+ dependencies:
+ jsesc: 0.5.0
+ dev: true
+
+ /remove-trailing-slash@0.1.1:
+ resolution: {integrity: sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==}
+ dev: true
+
/require-directory@2.1.1:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
+ /require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /requireg@0.2.2:
+ resolution: {integrity: sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==}
+ engines: {node: '>= 4.0.0'}
+ dependencies:
+ nested-error-stacks: 2.0.1
+ rc: 1.2.8
+ resolve: 1.7.1
+ dev: true
+
+ /requires-port@1.0.0:
+ resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+ dev: true
+
+ /reselect@4.1.8:
+ resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==}
+ dev: true
+
/resolve-cwd@3.0.0:
resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
engines: {node: '>=8'}
@@ -7896,6 +11021,20 @@ packages:
supports-preserve-symlinks-flag: 1.0.0
dev: true
+ /resolve@1.7.1:
+ resolution: {integrity: sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==}
+ dependencies:
+ path-parse: 1.0.7
+ dev: true
+
+ /restore-cursor@2.0.0:
+ resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==}
+ engines: {node: '>=4'}
+ dependencies:
+ onetime: 2.0.1
+ signal-exit: 3.0.7
+ dev: true
+
/retry@0.12.0:
resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==}
engines: {node: '>= 4'}
@@ -7906,6 +11045,21 @@ packages:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ /rimraf@2.4.5:
+ resolution: {integrity: sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==}
+ hasBin: true
+ dependencies:
+ glob: 6.0.4
+ dev: true
+ optional: true
+
+ /rimraf@2.7.1:
+ resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ dev: true
+
/rimraf@3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
hasBin: true
@@ -7966,6 +11120,12 @@ packages:
/safe-buffer@5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ /safe-json-stringify@1.2.0:
+ resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==}
+ requiresBuild: true
+ dev: true
+ optional: true
+
/safe-regex-test@1.0.0:
resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
dependencies:
@@ -7977,6 +11137,10 @@ packages:
/safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+ /sax@1.3.0:
+ resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==}
+ dev: true
+
/semver@5.7.2:
resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
hasBin: true
@@ -7986,6 +11150,12 @@ packages:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
+ /semver@7.3.2:
+ resolution: {integrity: sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dev: true
+
/semver@7.5.1:
resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==}
engines: {node: '>=10'}
@@ -7993,6 +11163,14 @@ packages:
dependencies:
lru-cache: 6.0.0
+ /semver@7.5.3:
+ resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+ dev: true
+
/semver@7.5.4:
resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
engines: {node: '>=10'}
@@ -8019,11 +11197,17 @@ packages:
statuses: 2.0.1
transitivePeerDependencies:
- supports-color
- dev: false
/seq-queue@0.0.5:
resolution: {integrity: sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==}
+ /serialize-error@6.0.0:
+ resolution: {integrity: sha512-3vmBkMZLQO+BR4RPHcyRGdE09XCF6cvxzk2N2qn8Er3F91cy8Qt7VvEbZBOpaL53qsBbe2cFOefU6tRY6WDelA==}
+ engines: {node: '>=10'}
+ dependencies:
+ type-fest: 0.12.0
+ dev: true
+
/serialize-error@7.0.1:
resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==}
engines: {node: '>=10'}
@@ -8056,9 +11240,19 @@ packages:
resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
dev: false
+ /setimmediate@1.0.5:
+ resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
+ dev: true
+
/setprototypeof@1.2.0:
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
- dev: false
+
+ /shebang-command@1.2.0:
+ resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ shebang-regex: 1.0.0
+ dev: true
/shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
@@ -8066,6 +11260,11 @@ packages:
dependencies:
shebang-regex: 3.0.0
+ /shebang-regex@1.0.0:
+ resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/shebang-regex@3.0.0:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
@@ -8078,7 +11277,7 @@ packages:
resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
dependencies:
call-bind: 1.0.2
- get-intrinsic: 1.2.0
+ get-intrinsic: 1.2.1
object-inspect: 1.12.3
/siginfo@2.0.0:
@@ -8102,6 +11301,14 @@ packages:
once: 1.4.0
simple-concat: 1.0.1
+ /simple-plist@1.3.1:
+ resolution: {integrity: sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==}
+ dependencies:
+ bplist-creator: 0.1.0
+ bplist-parser: 0.3.1
+ plist: 3.1.0
+ dev: true
+
/sirv@2.0.3:
resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==}
engines: {node: '>= 10'}
@@ -8132,6 +11339,11 @@ packages:
is-fullwidth-code-point: 4.0.0
dev: true
+ /slugify@1.6.6:
+ resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==}
+ engines: {node: '>=8.0.0'}
+ dev: true
+
/smart-buffer@4.2.0:
resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
@@ -8235,6 +11447,12 @@ packages:
through: 2.3.8
dev: true
+ /split@1.0.1:
+ resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==}
+ dependencies:
+ through: 2.3.8
+ dev: true
+
/sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
dev: true
@@ -8281,7 +11499,6 @@ packages:
requiresBuild: true
dependencies:
minipass: 3.3.6
- optional: true
/stack-utils@2.0.6:
resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
@@ -8293,14 +11510,23 @@ packages:
/stackback@0.0.2:
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+ /statuses@1.5.0:
+ resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
/statuses@2.0.1:
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
engines: {node: '>= 0.8'}
- dev: false
/std-env@3.3.3:
resolution: {integrity: sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==}
+ /stream-buffers@2.2.0:
+ resolution: {integrity: sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==}
+ engines: {node: '>= 0.10.0'}
+ dev: true
+
/stream-combiner@0.0.4:
resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==}
dependencies:
@@ -8359,6 +11585,13 @@ packages:
dependencies:
safe-buffer: 5.2.1
+ /strip-ansi@5.2.0:
+ resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==}
+ engines: {node: '>=6'}
+ dependencies:
+ ansi-regex: 4.1.1
+ dev: true
+
/strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
@@ -8384,6 +11617,11 @@ packages:
engines: {node: '>=4'}
dev: true
+ /strip-eof@1.0.0:
+ resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/strip-final-newline@2.0.0:
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
engines: {node: '>=6'}
@@ -8418,6 +11656,10 @@ packages:
/strnum@1.0.5:
resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==}
+ /structured-headers@0.4.1:
+ resolution: {integrity: sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==}
+ dev: true
+
/sucrase@3.34.0:
resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==}
engines: {node: '>=8'}
@@ -8432,6 +11674,14 @@ packages:
ts-interface-checker: 0.1.13
dev: true
+ /sudo-prompt@8.2.5:
+ resolution: {integrity: sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw==}
+ dev: true
+
+ /sudo-prompt@9.1.1:
+ resolution: {integrity: sha512-es33J1g2HjMpyAhz8lOR+ICmXXAqTuKbuXuUWLhOLew20oN9oUCgCJx615U/v7aioZg7IX5lIh9x34vwneu4pA==}
+ dev: true
+
/supertap@3.0.1:
resolution: {integrity: sha512-u1ZpIBCawJnO+0QePsEiOknOfCRq0yERxiAchT0i4li0WHNUJbf0evXXSXOcCAR4M8iMDoajXYmstm/qO81Isw==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -8519,11 +11769,49 @@ packages:
engines: {node: '>=8.0.0'}
dev: true
+ /temp-dir@1.0.0:
+ resolution: {integrity: sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /temp-dir@2.0.0:
+ resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
+ engines: {node: '>=8'}
+ dev: true
+
/temp-dir@3.0.0:
resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==}
engines: {node: '>=14.16'}
dev: true
+ /tempy@0.3.0:
+ resolution: {integrity: sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ temp-dir: 1.0.0
+ type-fest: 0.3.1
+ unique-string: 1.0.0
+ dev: true
+
+ /tempy@0.7.1:
+ resolution: {integrity: sha512-vXPxwOyaNVi9nyczO16mxmHGpl6ASC5/TVhRRHpqeYHvKQm58EaWNvZXxAhR0lYYnBOQFjXjhzeLsaXdjxLjRg==}
+ engines: {node: '>=10'}
+ dependencies:
+ del: 6.1.1
+ is-stream: 2.0.1
+ temp-dir: 2.0.0
+ type-fest: 0.16.0
+ unique-string: 2.0.0
+ dev: true
+
+ /terminal-link@2.1.1:
+ resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-escapes: 4.3.2
+ supports-hyperlinks: 2.3.0
+ dev: true
+
/terser@5.17.1:
resolution: {integrity: sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==}
engines: {node: '>=10'}
@@ -8578,6 +11866,10 @@ packages:
next-tick: 1.1.0
dev: true
+ /tiny-queue@0.2.1:
+ resolution: {integrity: sha512-EijGsv7kzd9I9g0ByCl6h42BWNGUZrlCSejfrb3AKeHC33SGbASu1VDf5O3rRiiUOhAC9CHdZxFPbZu0HmR70A==}
+ dev: true
+
/tinybench@2.5.0:
resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==}
@@ -8594,6 +11886,13 @@ packages:
resolution: {integrity: sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==}
engines: {node: '>=14.0.0'}
+ /tmp@0.0.33:
+ resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
+ engines: {node: '>=0.6.0'}
+ dependencies:
+ os-tmpdir: 1.0.2
+ dev: true
+
/to-fast-properties@2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
@@ -8608,7 +11907,6 @@ packages:
/toidentifier@1.0.1:
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
engines: {node: '>=0.6'}
- dev: false
/totalist@3.0.1:
resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
@@ -8623,6 +11921,10 @@ packages:
punycode: 2.3.0
dev: true
+ /traverse@0.6.7:
+ resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==}
+ dev: true
+
/tree-kill@1.2.2:
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
hasBin: true
@@ -8646,7 +11948,7 @@ packages:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
dev: true
- /tsconfck@2.1.1(typescript@5.2.2):
+ /tsconfck@2.1.1:
resolution: {integrity: sha512-ZPCkJBKASZBmBUNqGHmRhdhM8pJYDdOXp4nRgj/O0JwUwsMq50lCDRQP/M5GBNAA0elPrq4gAeu4dkaVCuKWww==}
engines: {node: ^14.13.1 || ^16 || >=18}
hasBin: true
@@ -8655,8 +11957,6 @@ packages:
peerDependenciesMeta:
typescript:
optional: true
- dependencies:
- typescript: 5.2.2(patch_hash=wmhs4olj6eveeldp6si4l46ssq)
dev: true
/tsconfig-paths@3.14.2:
@@ -8829,16 +12129,36 @@ packages:
resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
engines: {node: '>=4'}
+ /type-fest@0.12.0:
+ resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==}
+ engines: {node: '>=10'}
+ dev: true
+
/type-fest@0.13.1:
resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==}
engines: {node: '>=10'}
dev: true
+ /type-fest@0.16.0:
+ resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==}
+ engines: {node: '>=10'}
+ dev: true
+
/type-fest@0.20.2:
resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
engines: {node: '>=10'}
dev: true
+ /type-fest@0.21.3:
+ resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /type-fest@0.3.1:
+ resolution: {integrity: sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==}
+ engines: {node: '>=6'}
+ dev: true
+
/type-fest@0.6.0:
resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
engines: {node: '>=8'}
@@ -8860,7 +12180,6 @@ packages:
dependencies:
media-typer: 0.3.0
mime-types: 2.1.35
- dev: false
/type@1.2.0:
resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
@@ -8915,6 +12234,10 @@ packages:
dev: true
patched: true
+ /ua-parser-js@1.0.37:
+ resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==}
+ dev: true
+
/ufo@1.1.2:
resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==}
@@ -8934,6 +12257,10 @@ packages:
/undici-types@5.25.3:
resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==}
+ /undici-types@5.26.5:
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+ dev: true
+
/undici@5.20.0:
resolution: {integrity: sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==}
engines: {node: '>=12.18'}
@@ -8941,19 +12268,64 @@ packages:
busboy: 1.6.0
dev: false
+ /unicode-canonical-property-names-ecmascript@2.0.0:
+ resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /unicode-match-property-ecmascript@2.0.0:
+ resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
+ engines: {node: '>=4'}
+ dependencies:
+ unicode-canonical-property-names-ecmascript: 2.0.0
+ unicode-property-aliases-ecmascript: 2.1.0
+ dev: true
+
+ /unicode-match-property-value-ecmascript@2.1.0:
+ resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /unicode-property-aliases-ecmascript@2.1.0:
+ resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
+ engines: {node: '>=4'}
+ dev: true
+
/unique-filename@1.1.1:
resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==}
requiresBuild: true
dependencies:
unique-slug: 2.0.2
- optional: true
/unique-slug@2.0.2:
resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==}
requiresBuild: true
dependencies:
imurmurhash: 0.1.4
- optional: true
+
+ /unique-string@1.0.0:
+ resolution: {integrity: sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==}
+ engines: {node: '>=4'}
+ dependencies:
+ crypto-random-string: 1.0.0
+ dev: true
+
+ /unique-string@2.0.0:
+ resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
+ engines: {node: '>=8'}
+ dependencies:
+ crypto-random-string: 2.0.0
+ dev: true
+
+ /universalify@0.1.2:
+ resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
+ engines: {node: '>= 4.0.0'}
+ dev: true
+
+ /universalify@1.0.0:
+ resolution: {integrity: sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==}
+ engines: {node: '>= 10.0.0'}
+ dev: true
/universalify@2.0.0:
resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
@@ -8963,7 +12335,17 @@ packages:
/unpipe@1.0.0:
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
engines: {node: '>= 0.8'}
- dev: false
+
+ /update-browserslist-db@1.0.13(browserslist@4.22.2):
+ resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.22.2
+ escalade: 3.1.1
+ picocolors: 1.0.0
+ dev: true
/uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
@@ -8971,6 +12353,17 @@ packages:
punycode: 2.3.0
dev: true
+ /url-join@4.0.0:
+ resolution: {integrity: sha512-EGXjXJZhIHiQMK2pQukuFcL303nskqIRzWvPvV5O8miOfwoUb9G+a/Cld60kUyeaybEI94wvVClT10DtfeAExA==}
+ dev: true
+
+ /url-parse@1.5.10:
+ resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
+ dependencies:
+ querystringify: 2.2.0
+ requires-port: 1.0.0
+ dev: true
+
/urlpattern-polyfill@4.0.3:
resolution: {integrity: sha512-DOE84vZT2fEcl9gqCUTcnAw5ZY5Id55ikUcziSUntuEFL3pRvavg5kwDmTEUJkeCHInTlV/HexFomgYnzO5kdQ==}
dev: false
@@ -8998,7 +12391,17 @@ packages:
/utils-merge@1.0.1:
resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
engines: {node: '>= 0.4.0'}
- dev: false
+
+ /uuid@3.4.0:
+ resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==}
+ deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
+ hasBin: true
+ dev: true
+
+ /uuid@7.0.3:
+ resolution: {integrity: sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==}
+ hasBin: true
+ dev: true
/uuid@8.3.2:
resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
@@ -9024,6 +12427,10 @@ packages:
resolution: {integrity: sha512-EGx/uDUpRa9wB9NkD7fsktc02rvXWlJzDTC/ihbE+NybhzAsMhns2OOdNv2R4BtdGnDvaCEGi/DbgR5RvgCS8A==}
dev: true
+ /valid-url@1.0.9:
+ resolution: {integrity: sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==}
+ dev: true
+
/validate-npm-package-license@3.0.4:
resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
dependencies:
@@ -9031,6 +12438,12 @@ packages:
spdx-expression-parse: 3.0.1
dev: true
+ /validate-npm-package-name@3.0.0:
+ resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==}
+ dependencies:
+ builtins: 1.0.3
+ dev: true
+
/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}
@@ -9050,7 +12463,7 @@ packages:
engines: {node: '>= 0.8'}
dev: false
- /vite-node@0.31.4(@types/node@20.2.5):
+ /vite-node@0.31.4(@types/node@20.8.7):
resolution: {integrity: sha512-uzL377GjJtTbuc5KQxVbDu2xfU/x0wVjUtXQR2ihS21q/NK6ROr4oG0rsSkBBddZUVCwzfx22in76/0ZZHXgkQ==}
engines: {node: '>=v14.18.0'}
hasBin: true
@@ -9060,7 +12473,7 @@ packages:
mlly: 1.3.0
pathe: 1.1.1
picocolors: 1.0.0
- vite: 4.3.9(@types/node@20.2.5)
+ vite: 4.3.9(@types/node@20.8.7)
transitivePeerDependencies:
- '@types/node'
- less
@@ -9070,7 +12483,7 @@ packages:
- supports-color
- terser
- /vite-node@0.34.6(@types/node@20.8.7):
+ /vite-node@0.34.6(@types/node@20.10.1):
resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==}
engines: {node: '>=v14.18.0'}
hasBin: true
@@ -9080,7 +12493,7 @@ packages:
mlly: 1.4.2
pathe: 1.1.1
picocolors: 1.0.0
- vite: 4.3.9(@types/node@20.8.7)
+ vite: 4.3.9(@types/node@20.10.1)
transitivePeerDependencies:
- '@types/node'
- less
@@ -9091,7 +12504,23 @@ packages:
- terser
dev: true
- /vite-tsconfig-paths@4.2.0(typescript@5.2.2)(vite@4.3.9):
+ /vite-tsconfig-paths@4.2.0:
+ resolution: {integrity: sha512-jGpus0eUy5qbbMVGiTxCL1iB9ZGN6Bd37VGLJU39kTDD6ZfULTTb1bcc5IeTWqWJKiWV5YihCaibeASPiGi8kw==}
+ peerDependencies:
+ vite: '*'
+ peerDependenciesMeta:
+ vite:
+ optional: true
+ dependencies:
+ debug: 4.3.4
+ globrex: 0.1.2
+ tsconfck: 2.1.1
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /vite-tsconfig-paths@4.2.0(vite@4.3.9):
resolution: {integrity: sha512-jGpus0eUy5qbbMVGiTxCL1iB9ZGN6Bd37VGLJU39kTDD6ZfULTTb1bcc5IeTWqWJKiWV5YihCaibeASPiGi8kw==}
peerDependencies:
vite: '*'
@@ -9101,13 +12530,46 @@ packages:
dependencies:
debug: 4.3.4
globrex: 0.1.2
- tsconfck: 2.1.1(typescript@5.2.2)
+ tsconfck: 2.1.1
vite: 4.3.9(@types/node@20.2.5)
transitivePeerDependencies:
- supports-color
- typescript
dev: true
+ /vite@4.3.9(@types/node@20.10.1):
+ resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': '>= 14'
+ less: '*'
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ '@types/node': 20.10.1
+ esbuild: 0.17.19
+ postcss: 8.4.24
+ rollup: 3.27.2
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
/vite@4.3.9(@types/node@20.2.5):
resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
engines: {node: ^14.18.0 || >=16.0.0}
@@ -9139,6 +12601,7 @@ packages:
rollup: 3.27.2
optionalDependencies:
fsevents: 2.3.3
+ dev: true
/vite@4.3.9(@types/node@20.8.7):
resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
@@ -9171,6 +12634,70 @@ packages:
rollup: 3.27.2
optionalDependencies:
fsevents: 2.3.3
+
+ /vitest@0.31.4:
+ resolution: {integrity: sha512-GoV0VQPmWrUFOZSg3RpQAPN+LPmHg2/gxlMNJlyxJihkz6qReHDV6b0pPDcqFLNEPya4tWJ1pgwUNP9MLmUfvQ==}
+ engines: {node: '>=v14.18.0'}
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@vitest/browser': '*'
+ '@vitest/ui': '*'
+ happy-dom: '*'
+ jsdom: '*'
+ playwright: '*'
+ safaridriver: '*'
+ webdriverio: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+ playwright:
+ optional: true
+ safaridriver:
+ optional: true
+ webdriverio:
+ optional: true
+ dependencies:
+ '@types/chai': 4.3.5
+ '@types/chai-subset': 1.3.3
+ '@types/node': 20.8.7
+ '@vitest/expect': 0.31.4
+ '@vitest/runner': 0.31.4
+ '@vitest/snapshot': 0.31.4
+ '@vitest/spy': 0.31.4
+ '@vitest/utils': 0.31.4
+ acorn: 8.8.2
+ acorn-walk: 8.2.0
+ cac: 6.7.14
+ chai: 4.3.7
+ concordance: 5.0.4
+ debug: 4.3.4
+ local-pkg: 0.4.3
+ magic-string: 0.30.0
+ pathe: 1.1.1
+ picocolors: 1.0.0
+ std-env: 3.3.3
+ strip-literal: 1.0.1
+ tinybench: 2.5.0
+ tinypool: 0.5.0
+ vite: 4.3.9(@types/node@20.8.7)
+ vite-node: 0.31.4(@types/node@20.8.7)
+ why-is-node-running: 2.2.2
+ transitivePeerDependencies:
+ - less
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
dev: true
/vitest@0.31.4(@vitest/ui@0.31.4):
@@ -9206,7 +12733,7 @@ packages:
dependencies:
'@types/chai': 4.3.5
'@types/chai-subset': 1.3.3
- '@types/node': 20.2.5
+ '@types/node': 20.8.7
'@vitest/expect': 0.31.4
'@vitest/runner': 0.31.4
'@vitest/snapshot': 0.31.4
@@ -9227,8 +12754,8 @@ packages:
strip-literal: 1.0.1
tinybench: 2.5.0
tinypool: 0.5.0
- vite: 4.3.9(@types/node@20.2.5)
- vite-node: 0.31.4(@types/node@20.2.5)
+ vite: 4.3.9(@types/node@20.8.7)
+ vite-node: 0.31.4(@types/node@20.8.7)
why-is-node-running: 2.2.2
transitivePeerDependencies:
- less
@@ -9271,7 +12798,7 @@ packages:
dependencies:
'@types/chai': 4.3.5
'@types/chai-subset': 1.3.3
- '@types/node': 20.8.7
+ '@types/node': 20.10.1
'@vitest/expect': 0.34.6
'@vitest/runner': 0.34.6
'@vitest/snapshot': 0.34.6
@@ -9290,8 +12817,8 @@ packages:
strip-literal: 1.0.1
tinybench: 2.5.0
tinypool: 0.7.0
- vite: 4.3.9(@types/node@20.8.7)
- vite-node: 0.34.6(@types/node@20.8.7)
+ vite: 4.3.9(@types/node@20.10.1)
+ vite-node: 0.34.6(@types/node@20.10.1)
why-is-node-running: 2.2.2
transitivePeerDependencies:
- less
@@ -9302,6 +12829,12 @@ packages:
- terser
dev: true
+ /wcwidth@1.0.1:
+ resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+ dependencies:
+ defaults: 1.0.4
+ dev: true
+
/web-streams-polyfill@3.2.1:
resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==}
engines: {node: '>= 8'}
@@ -9358,6 +12891,13 @@ packages:
has-tostringtag: 1.0.0
dev: true
+ /which@1.3.1:
+ resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+
/which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
@@ -9387,6 +12927,10 @@ packages:
dependencies:
string-width: 4.2.3
+ /wonka@4.0.15:
+ resolution: {integrity: sha512-U0IUQHKXXn6PFo9nqsHphVCE5m3IntqZNB9Jjn7EB1lrR7YTDY3YWgFvEvwniTzXSvOH/XMzAZaIfJF/LvHYXg==}
+ dev: true
+
/wordwrap@1.0.0:
resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
dev: true
@@ -9411,6 +12955,14 @@ packages:
/wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ /write-file-atomic@2.4.3:
+ resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==}
+ dependencies:
+ graceful-fs: 4.2.11
+ imurmurhash: 0.1.4
+ signal-exit: 3.0.7
+ dev: true
+
/write-file-atomic@5.0.0:
resolution: {integrity: sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -9442,6 +12994,37 @@ packages:
bufferutil: 4.0.7
utf-8-validate: 6.0.3
+ /xcode@3.0.1:
+ resolution: {integrity: sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==}
+ engines: {node: '>=10.0.0'}
+ dependencies:
+ simple-plist: 1.3.1
+ uuid: 7.0.3
+ dev: true
+
+ /xml2js@0.6.0:
+ resolution: {integrity: sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==}
+ engines: {node: '>=4.0.0'}
+ dependencies:
+ sax: 1.3.0
+ xmlbuilder: 11.0.1
+ dev: true
+
+ /xmlbuilder@11.0.1:
+ resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
+ engines: {node: '>=4.0'}
+ dev: true
+
+ /xmlbuilder@14.0.0:
+ resolution: {integrity: sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg==}
+ engines: {node: '>=8.0'}
+ dev: true
+
+ /xmlbuilder@15.1.1:
+ resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==}
+ engines: {node: '>=8.0'}
+ dev: true
+
/xtend@4.0.2:
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
engines: {node: '>=0.4'}
@@ -9450,6 +13033,10 @@ packages:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
+ /yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+ dev: true
+
/yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}