From 46986dd9eae27aaa6a980eac55a8d5e1d5c85a57 Mon Sep 17 00:00:00 2001 From: Niels Klomp Date: Wed, 6 Sep 2023 06:52:20 +0200 Subject: [PATCH 1/6] feat: statuslist2021 support --- package.json | 2 +- packages/agent-config/package.json | 5 +- packages/agent-config/src/dataSources.ts | 79 + packages/agent-config/src/index.ts | 1 + packages/data-store/package.json | 4 +- .../statusList2021/StatusList2021Entity.ts | 95 + .../StatusList2021EntryEntity.ts | 29 + packages/data-store/src/index.ts | 13 + ...randing.ts => 2-CreateIssuanceBranding.ts} | 0 .../migrations/generic/3-CreateStatusList.ts | 54 + .../src/migrations/generic/index.ts | 12 +- .../postgres/1659463079428-CreateContacts.ts | 6 +- .../1685628974232-CreateIssuanceBranding.ts | 2 + ...tatusList1693866470001-CreateStatusList.ts | 24 + .../src/migrations/postgres/uuid.ts | 12 + .../sqlite/1693866470000-CreateStatusList.ts | 24 + .../src/statusList/IStatusListStore.ts | 44 + .../src/statusList/StatusListStore.ts | 237 + packages/data-store/src/types/index.ts | 2 + .../statusList/IAbstractStatusListStore.ts | 47 + .../src/types/statusList/statusList.ts | 39 + .../__tests__/RestAPI.ts | 4 +- packages/ssi-types/src/types/vc.ts | 17 + packages/tsconfig.json | 2 + packages/vc-handler-ld-local/package.json | 8 +- .../src/__tests__/diwala.test.ts | 2 +- .../issue-verify-flow-statuslist.test.ts | 11 +- .../src/__tests__/statuslist.test.ts | 225 +- .../src/agent/CredentialHandlerLDLocal.ts | 28 +- .../src/ld-credential-module.ts | 147 +- .../vc-handler-ld-local/src/types/types.ts | 11 + packages/vc-handler-ld-local/tsconfig.json | 6 + .../CHANGELOG.md | 54 + .../vc-status-list-issuer-drivers/LICENSE | 201 + .../vc-status-list-issuer-drivers/README.md | 21 + .../package.json | 49 + .../src/drivers.ts | 263 + .../src/index.ts | 5 + .../src/types.ts | 21 + .../tsconfig.json | 34 + .../CHANGELOG.md | 54 + .../vc-status-list-issuer-rest-api/LICENSE | 201 + .../vc-status-list-issuer-rest-api/README.md | 21 + .../__tests__/agent.ts | 164 + .../__tests__/database/config.ts | 40 + .../__tests__/database/index.ts | 1 + .../package.json | 81 + .../src/api-functions.ts | 182 + .../src/index.ts | 6 + .../src/statuslist-management-api-server.ts | 82 + .../src/types.ts | 40 + .../tsconfig.json | 37 + packages/vc-status-list/README.md | 8 +- packages/vc-status-list/package.json | 9 +- packages/vc-status-list/src/functions.ts | 158 +- packages/vc-status-list/src/types/index.ts | 34 +- packages/vc-status-list/tsconfig.json | 4 +- packages/w3c-vc-api/__tests__/agent.ts | 10 +- .../w3c-vc-api/__tests__/database/config.ts | 24 +- packages/w3c-vc-api/package.json | 2 + packages/w3c-vc-api/src/api-functions.ts | 3 + packages/w3c-vc-api/tsconfig.json | 3 + .../shared/wellKnownDidIssuerAgentLogic.ts | 2 +- packages/wellknown-did-issuer/agent.yml | 28 +- pnpm-lock.yaml | 4620 +++++++++++++---- 65 files changed, 6423 insertions(+), 1231 deletions(-) create mode 100644 packages/agent-config/src/dataSources.ts create mode 100644 packages/data-store/src/entities/statusList2021/StatusList2021Entity.ts create mode 100644 packages/data-store/src/entities/statusList2021/StatusList2021EntryEntity.ts rename packages/data-store/src/migrations/generic/{1-CreateIssuanceBranding.ts => 2-CreateIssuanceBranding.ts} (100%) create mode 100644 packages/data-store/src/migrations/generic/3-CreateStatusList.ts create mode 100644 packages/data-store/src/migrations/postgres/CreateStatusList1693866470001-CreateStatusList.ts create mode 100644 packages/data-store/src/migrations/postgres/uuid.ts create mode 100644 packages/data-store/src/migrations/sqlite/1693866470000-CreateStatusList.ts create mode 100644 packages/data-store/src/statusList/IStatusListStore.ts create mode 100644 packages/data-store/src/statusList/StatusListStore.ts create mode 100644 packages/data-store/src/types/statusList/IAbstractStatusListStore.ts create mode 100644 packages/data-store/src/types/statusList/statusList.ts create mode 100644 packages/vc-status-list-issuer-drivers/CHANGELOG.md create mode 100644 packages/vc-status-list-issuer-drivers/LICENSE create mode 100644 packages/vc-status-list-issuer-drivers/README.md create mode 100644 packages/vc-status-list-issuer-drivers/package.json create mode 100644 packages/vc-status-list-issuer-drivers/src/drivers.ts create mode 100644 packages/vc-status-list-issuer-drivers/src/index.ts create mode 100644 packages/vc-status-list-issuer-drivers/src/types.ts create mode 100644 packages/vc-status-list-issuer-drivers/tsconfig.json create mode 100644 packages/vc-status-list-issuer-rest-api/CHANGELOG.md create mode 100644 packages/vc-status-list-issuer-rest-api/LICENSE create mode 100644 packages/vc-status-list-issuer-rest-api/README.md create mode 100644 packages/vc-status-list-issuer-rest-api/__tests__/agent.ts create mode 100644 packages/vc-status-list-issuer-rest-api/__tests__/database/config.ts create mode 100644 packages/vc-status-list-issuer-rest-api/__tests__/database/index.ts create mode 100644 packages/vc-status-list-issuer-rest-api/package.json create mode 100644 packages/vc-status-list-issuer-rest-api/src/api-functions.ts create mode 100644 packages/vc-status-list-issuer-rest-api/src/index.ts create mode 100644 packages/vc-status-list-issuer-rest-api/src/statuslist-management-api-server.ts create mode 100644 packages/vc-status-list-issuer-rest-api/src/types.ts create mode 100644 packages/vc-status-list-issuer-rest-api/tsconfig.json diff --git a/package.json b/package.json index cc772286d..1c68dd9e7 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "license": "Apache-2.0", "scripts": { "preinstall": "npx only-allow pnpm", - "build": "pnpm build:js && pnpm build:copyfiles && pnpm build:api && pnpm build:schema", + "build": "rimraf --glob ./packages/*/tsconfig.tsbuildinfo && pnpm build:js && pnpm build:copyfiles && pnpm build:api && pnpm build:schema", "build:clean": "lerna clean -y && pnpm install && lerna run build:clean --concurrency 1 && pnpm build:copyfiles && pnpm build:schema", "build:js": "pnpm -r --stream build", "build:api": "pnpm -r --stream extract-api", diff --git a/packages/agent-config/package.json b/packages/agent-config/package.json index d650ddb8e..6290ed060 100644 --- a/packages/agent-config/package.json +++ b/packages/agent-config/package.json @@ -12,11 +12,14 @@ "@veramo/core": "4.2.0", "jsonpointer": "^5.0.1", "typeorm": "^0.3.12", + "debug": "^4.3.4", "url-parse": "^1.5.10", "yaml": "^2.2.2" }, "devDependencies": { - "@types/url-parse": "^1.4.8" + "@types/url-parse": "^1.4.8", + "@types/debug": "^4.1.8", + "typescript": "4.9.5" }, "files": [ "dist/**/*", diff --git a/packages/agent-config/src/dataSources.ts b/packages/agent-config/src/dataSources.ts new file mode 100644 index 000000000..345475148 --- /dev/null +++ b/packages/agent-config/src/dataSources.ts @@ -0,0 +1,79 @@ +import Debug from 'debug' +import { DataSource } from 'typeorm' +import { BaseDataSourceOptions } from 'typeorm/data-source/BaseDataSourceOptions' +import { DataSourceOptions } from 'typeorm/data-source/DataSourceOptions' + +const debug = Debug(`demo:databaseService`) + +export class DataSources { + private dataSources = new Map() + private configs + + private static singleton: DataSources + + public static singleInstance() { + if (!DataSources.singleton) { + DataSources.singleton = new DataSources() + } + return DataSources.singleton + } + + public static newInstance(configs?: Map) { + return new DataSources(configs) + } + + private constructor(configs?: Map) { + this.configs = configs ?? new Map() + } + + addConfig(dbName: string, config: DataSourceOptions): this { + this.configs.set(dbName, config) + return this + } + + deleteConfig(dbName: string): this { + this.configs.delete(dbName) + return this + } + + getConfig(dbName: string): BaseDataSourceOptions { + const config = this.configs.get(dbName) + if (!config) { + throw Error(`No DB config found for ${dbName}`) + } + return config + } + + public getDbNames(): string[] { + return [...this.configs.keys()] + } + + async getDbConnection(dbName: string): Promise { + const config = this.getConfig(dbName) + /*if (config.synchronize) { + return Promise.reject( + `WARNING: Automatic migrations need to be disabled in this app! Adjust the database configuration and set synchronize to false` + ) + }*/ + + let dataSource = this.dataSources.get(dbName) + if (dataSource) { + return dataSource + } + + dataSource = await new DataSource({ ...(config as DataSourceOptions), name: dbName }).initialize() + this.dataSources.set(dbName, dataSource) + if (config.synchronize) { + debug(`WARNING: Automatic migrations need to be disabled in this app! Adjust the database configuration and set synchronize to false`) + } else if (config.migrationsRun) { + debug( + `Migrations are currently managed from config. Please set migrationsRun and synchronize to false to get consistent behaviour. We run migrations from code explicitly` + ) + } else { + debug(`Running ${dataSource.migrations.length} migration(s) from code if needed...`) + await dataSource.runMigrations() + debug(`${dataSource.migrations.length} migration(s) from code were inspected and applied`) + } + return dataSource + } +} diff --git a/packages/agent-config/src/index.ts b/packages/agent-config/src/index.ts index a3f39b487..f91bb82fd 100644 --- a/packages/agent-config/src/index.ts +++ b/packages/agent-config/src/index.ts @@ -1,6 +1,7 @@ /** * @public */ +export * from './dataSources' export * from './agentCreator' export * from './objectCreator' export * from './generic' diff --git a/packages/data-store/package.json b/packages/data-store/package.json index 30e517659..f8093e2e5 100644 --- a/packages/data-store/package.json +++ b/packages/data-store/package.json @@ -6,7 +6,7 @@ "types": "dist/index.d.ts", "scripts": { "build": "tsc --build", - "typeorm": "ts-node --project ./tsconfig.json -r tsconfig-paths/register ../../node_modules/typeorm/cli.js --config src/migrations/internal-migrations-ormconfig.ts", + "typeorm": "ts-node --project ./tsconfig.json -r tsconfig-paths/register ../../node_modules/.pnpm/typeorm@0.3.12_sqlite3@5.1.6_ts-node@10.9.1/node_modules/typeorm/cli.js --config src/migrations/internal-migrations-ormconfig.ts", "typeorm-sqlite:migration:generate": "pnpm run typeorm -- migration:generate -c migration-sqlite -d src/migrations/sqlite -n", "typeorm-sqlite:migration:run": "pnpm run typeorm -- migration:run -c migration-sqlite", "typeorm-postgres:migration:generate": "pnpm run typeorm -- migration:generate -c migration-postgres -d src/migrations/postgres -n", @@ -15,7 +15,9 @@ "dependencies": { "@sphereon/ssi-types": "workspace:^", "@veramo/core": "4.2.0", + "reflect-metadata": "^0.1.13", "class-validator": "^0.14.0", + "tsconfig-paths": "^4.2.0", "debug": "^4.3.4", "typeorm": "^0.3.12" }, diff --git a/packages/data-store/src/entities/statusList2021/StatusList2021Entity.ts b/packages/data-store/src/entities/statusList2021/StatusList2021Entity.ts new file mode 100644 index 000000000..b539b62cb --- /dev/null +++ b/packages/data-store/src/entities/statusList2021/StatusList2021Entity.ts @@ -0,0 +1,95 @@ +import { + IIssuer, + OriginalVerifiableCredential, + StatusListCredentialIdMode, + StatusListDriverType, + StatusListIndexingDirection, + StatusListType, + StatusPurpose2021, +} from '@sphereon/ssi-types' +import { ProofFormat } from '@veramo/core' +import { BaseEntity, Column, Entity, OneToMany, PrimaryColumn, Unique } from 'typeorm' +import { StatusListEntryEntity } from './StatusList2021EntryEntity' + +@Entity('StatusList') +@Unique('UQ_correlationId', ['correlationId']) +export class StatusListEntity extends BaseEntity { + @PrimaryColumn({ name: 'id', type: 'varchar' }) + id!: string + + @Column({ name: 'correlationId', type: 'varchar', nullable: false }) + correlationId!: string + + @Column({ name: 'length', nullable: false, unique: false }) + length!: number + + @Column({ + name: 'issuer', + type: 'text', + nullable: false, + unique: false, + transformer: { + from(value: string): string | IIssuer { + if (value?.trim()?.startsWith('{')) { + return JSON.parse(value) + } + return value + }, + to(value: string | IIssuer): string { + if (typeof value === 'string') { + return value + } + return JSON.stringify(value) + }, + }, + }) + issuer!: string | IIssuer + + @Column('simple-enum', { name: 'type', enum: StatusListType, nullable: false, default: StatusListType.StatusList2021 }) + type!: StatusListType + + @Column('simple-enum', { name: 'driverType', enum: StatusListDriverType, nullable: false, default: StatusListDriverType.AGENT_TYPEORM }) + driverType!: StatusListDriverType + + @Column('simple-enum', { + name: 'credentialIdMode', + enum: StatusListCredentialIdMode, + nullable: false, + default: StatusListCredentialIdMode.ISSUANCE, + }) + credentialIdMode!: StatusListCredentialIdMode + + @Column({ type: 'varchar', name: 'proofFormat', enum: ['lds', 'jwt'], nullable: false, default: 'lds' }) + proofFormat!: ProofFormat + + @Column({ type: 'varchar', name: 'indexingDirection', enum: ['rightToLeft'], nullable: false, default: 'rightToLeft' }) + indexingDirection!: StatusListIndexingDirection + + @Column({ type: 'varchar', name: 'statusPurpose', nullable: false, default: 'revocation' }) + statusPurpose!: StatusPurpose2021 + + @Column({ + name: 'statusListCredential', + type: 'text', + nullable: true, + unique: false, + transformer: { + from(value: string): OriginalVerifiableCredential { + if (value?.startsWith('ey')) { + return value + } + return JSON.parse(value) + }, + to(value: OriginalVerifiableCredential): string { + if (typeof value === 'string') { + return value + } + return JSON.stringify(value) + }, + }, + }) + statusListCredential?: OriginalVerifiableCredential + + @OneToMany((type) => StatusListEntryEntity, (entry) => entry.statusList) + statusListEntries!: StatusListEntryEntity[] +} diff --git a/packages/data-store/src/entities/statusList2021/StatusList2021EntryEntity.ts b/packages/data-store/src/entities/statusList2021/StatusList2021EntryEntity.ts new file mode 100644 index 000000000..6c9bc656f --- /dev/null +++ b/packages/data-store/src/entities/statusList2021/StatusList2021EntryEntity.ts @@ -0,0 +1,29 @@ +import { Validate } from 'class-validator' +import { BaseEntity, Column, Entity, ManyToOne, PrimaryColumn } from 'typeorm' +import { IsNonEmptyStringConstraint } from '../validators' +import { StatusListEntity } from './StatusList2021Entity' + +@Entity('StatusListEntry') +// @Unique('uq_credential_statuslist', ['statusList', 'credentialId']) // disabled because one prop can be null +// @Unique('uq_credentialHash_statuslistId', ['statusList', 'credentialHash']) // disabled because one prop can be null +export class StatusListEntryEntity extends BaseEntity { + @PrimaryColumn({ name: 'statusListId', type: 'varchar' }) + @ManyToOne(() => StatusListEntity, (statusList) => statusList.statusListEntries) + statusList!: StatusListEntity + + @PrimaryColumn({ name: 'statusListIndex', nullable: false, unique: false }) + @Validate(IsNonEmptyStringConstraint, { message: 'Status list index is required' }) + statusListIndex!: number + + @Column({ name: 'credentialId', nullable: true }) + credentialId?: string + + @Column({ name: 'credentialHash', length: 128, nullable: true, unique: false }) + credentialHash?: string + + @Column({ name: 'correlationId', length: 255, nullable: true, unique: false }) + correlationId?: string + + @Column({ name: 'value', length: 50, nullable: true, unique: false }) + value?: string +} diff --git a/packages/data-store/src/index.ts b/packages/data-store/src/index.ts index 1f622710b..5999097ac 100644 --- a/packages/data-store/src/index.ts +++ b/packages/data-store/src/index.ts @@ -15,11 +15,15 @@ import { ImageDimensionsEntity, imageDimensionsEntityFrom } from './entities/iss import { IssuerLocaleBrandingEntity, issuerLocaleBrandingEntityFrom } from './entities/issuanceBranding/IssuerLocaleBrandingEntity' import { IssuerBrandingEntity, issuerBrandingEntityFrom } from './entities/issuanceBranding/IssuerBrandingEntity' import { TextAttributesEntity, textAttributesEntityFrom } from './entities/issuanceBranding/TextAttributesEntity' +import { StatusListEntity } from './entities/statusList2021/StatusList2021Entity' +import { StatusListEntryEntity } from './entities/statusList2021/StatusList2021EntryEntity' +import { IStatusListEntity, IStatusListEntryEntity } from './types' export { ContactStore } from './contact/ContactStore' export { AbstractContactStore } from './contact/AbstractContactStore' export { AbstractIssuanceBrandingStore } from './issuanceBranding/AbstractIssuanceBrandingStore' export { IssuanceBrandingStore } from './issuanceBranding/IssuanceBrandingStore' +export { StatusListStore } from './statusList/StatusListStore' export { DataStoreMigrations } from './migrations' export * from './types' @@ -46,6 +50,11 @@ export const DataStoreIssuanceBrandingEntities = [ IssuerLocaleBrandingEntity, ] +export const DataStoreStatusListEntities = [StatusListEntity, StatusListEntryEntity] + +// All entities combined if a party wants to enable them all at once +export const DataStoreEntities = [...DataStoreContactEntities, ...DataStoreIssuanceBrandingEntities, ...DataStoreStatusListEntities] + export { BaseConfigEntity, ConnectionEntity, @@ -79,4 +88,8 @@ export { textAttributesEntityFrom, issuerLocaleBrandingEntityFrom, credentialLocaleBrandingEntityFrom, + IStatusListEntity, + IStatusListEntryEntity, + StatusListEntity, + StatusListEntryEntity, } diff --git a/packages/data-store/src/migrations/generic/1-CreateIssuanceBranding.ts b/packages/data-store/src/migrations/generic/2-CreateIssuanceBranding.ts similarity index 100% rename from packages/data-store/src/migrations/generic/1-CreateIssuanceBranding.ts rename to packages/data-store/src/migrations/generic/2-CreateIssuanceBranding.ts diff --git a/packages/data-store/src/migrations/generic/3-CreateStatusList.ts b/packages/data-store/src/migrations/generic/3-CreateStatusList.ts new file mode 100644 index 000000000..a54186165 --- /dev/null +++ b/packages/data-store/src/migrations/generic/3-CreateStatusList.ts @@ -0,0 +1,54 @@ +import Debug from 'debug' +import { MigrationInterface, QueryRunner } from 'typeorm' +import { CreateStatusList1693866470001 } from '../postgres/CreateStatusList1693866470001-CreateStatusList' +import { CreateStatusList1693866470002 } from '../sqlite/1693866470000-CreateStatusList' + +const debug = Debug('sphereon:ssi-sdk:migrations') + +export class CreateStatusList1693866470000 implements MigrationInterface { + name = 'CreateStatusList1693866470000' + + public async up(queryRunner: QueryRunner): Promise { + debug('migration: creating issuance branding tables') + const dbType = queryRunner.connection.driver.options.type + if (dbType === 'postgres') { + debug('using postgres migration file') + const mig = new CreateStatusList1693866470001() + const up = await mig.up(queryRunner) + debug('Migration statements executed') + return up + } else if (dbType === 'sqlite' || 'react-native') { + debug('using sqlite/react-native migration file') + const mig = new CreateStatusList1693866470002() + const up = await mig.up(queryRunner) + debug('Migration statements executed') + return up + } else { + return Promise.reject( + "Migrations are currently only supported for sqlite, react-native and postgres. Please run your database without migrations and with 'migrationsRun: false' and 'synchronize: true' for now" + ) + } + } + + public async down(queryRunner: QueryRunner): Promise { + debug('migration: reverting issuance branding tables') + const dbType = queryRunner.connection.driver.options.type + if (dbType === 'postgres') { + debug('using postgres migration file') + const mig = new CreateStatusList1693866470002() + const down = await mig.down(queryRunner) + debug('Migration statements executed') + return down + } else if (dbType === 'sqlite' || 'react-native') { + debug('using sqlite/react-native migration file') + const mig = new CreateStatusList1693866470002() + const down = await mig.down(queryRunner) + debug('Migration statements executed') + return down + } else { + return Promise.reject( + "Migrations are currently only supported for sqlite, react-native and postgres. Please run your database without migrations and with 'migrationsRun: false' and 'synchronize: true' for now" + ) + } + } +} diff --git a/packages/data-store/src/migrations/generic/index.ts b/packages/data-store/src/migrations/generic/index.ts index bcd04e323..8ed548f52 100644 --- a/packages/data-store/src/migrations/generic/index.ts +++ b/packages/data-store/src/migrations/generic/index.ts @@ -1,5 +1,6 @@ import { CreateContacts1659463079429 } from './1-CreateContacts' -import { CreateIssuanceBranding1659463079429 } from './1-CreateIssuanceBranding' +import { CreateIssuanceBranding1659463079429 } from './2-CreateIssuanceBranding' +import { CreateStatusList1693866470000 } from './3-CreateStatusList' /** * The migrations array that SHOULD be used when initializing a TypeORM database connection. @@ -8,4 +9,11 @@ import { CreateIssuanceBranding1659463079429 } from './1-CreateIssuanceBranding' * * @public */ -export const DataStoreMigrations = [CreateContacts1659463079429, CreateIssuanceBranding1659463079429] + +// Individual migrations per purpose. Allows parties to not run migrations and thus create/update tables if they are not using a particular feature (yet) +export const DataStoreContactMigrations = [CreateContacts1659463079429] +export const DataStoreIssuanceBrandingMigrations = [CreateIssuanceBranding1659463079429] +export const DataStoreStatusListMigrations = [CreateStatusList1693866470000] + +// All migrations together +export const DataStoreMigrations = [CreateContacts1659463079429, CreateIssuanceBranding1659463079429, CreateStatusList1693866470000] diff --git a/packages/data-store/src/migrations/postgres/1659463079428-CreateContacts.ts b/packages/data-store/src/migrations/postgres/1659463079428-CreateContacts.ts index 915d186fc..691e87642 100644 --- a/packages/data-store/src/migrations/postgres/1659463079428-CreateContacts.ts +++ b/packages/data-store/src/migrations/postgres/1659463079428-CreateContacts.ts @@ -1,9 +1,11 @@ import { MigrationInterface, QueryRunner } from 'typeorm' +import { enableUuidv4 } from './uuid' export class CreateContacts1659463079428 implements MigrationInterface { name = 'CreateContacts1659463079428' public async up(queryRunner: QueryRunner): Promise { + await enableUuidv4(queryRunner) await queryRunner.query( `CREATE TABLE "BaseConfigEntity" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "client_id" character varying(255), "client_secret" character varying(255), "scopes" text, "issuer" character varying(255), "redirect_url" text, "dangerously_allow_insecure_http_requests" boolean, "client_auth_method" text, "identifier" character varying(255), "session_id" character varying(255), "type" character varying NOT NULL, "connectionId" uuid, CONSTRAINT "REL_BaseConfig_connectionId" UNIQUE ("connectionId"), CONSTRAINT "PK_BaseConfigEntity_id" PRIMARY KEY ("id"))` ) @@ -13,13 +15,13 @@ export class CreateContacts1659463079428 implements MigrationInterface { `CREATE TABLE "CorrelationIdentifier" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "type" "public"."CorrelationIdentifier_type_enum" NOT NULL, "correlation_id" text NOT NULL, "identityId" uuid, CONSTRAINT "UQ_Correlation_id" UNIQUE ("correlation_id"), CONSTRAINT "REL_CorrelationIdentifier_identityId" UNIQUE ("identityId"), CONSTRAINT "PK_CorrelationIdentifier_id" PRIMARY KEY ("id"))` ) await queryRunner.query( - `CREATE TABLE "Contact" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "name" character varying(255) NOT NULL, "alias" character varying(255) NOT NULL, "uri" character varying(255) NOT NULL, "created_at" TIMESTAMP NOT NULL DEFAULT now(), "last_updated_at" TIMESTAMP NOT NULL DEFAULT now(), CONSTRAINT "UQ_Name" UNIQUE ("name"), CONSTRAINT "UQ_Alias" UNIQUE ("alias"), CONSTRAINT "PK_Contact_id" PRIMARY KEY ("id"))` + `CREATE TABLE "Contact" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "name" character varying(255) NOT NULL, "alias" character varying(255) NOT NULL, "uri" character varying(255) NOT NULL, "created_at" TIMESTAMP NOT NULL DEFAULT now(), "last_updated_at" TIMESTAMP NOT NULL DEFAULT now(), CONSTRAINT "UQ_Name" UNIQUE ("name"), CONSTRAINT "UQ_Contact_Alias" UNIQUE ("alias"), CONSTRAINT "PK_Contact_id" PRIMARY KEY ("id"))` ) await queryRunner.query( `CREATE TABLE "IdentityMetadata" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "label" character varying(255) NOT NULL, "value" character varying(255) NOT NULL, "identityId" uuid, CONSTRAINT "PK_IdentityMetadata_id" PRIMARY KEY ("id"))` ) await queryRunner.query( - `CREATE TABLE "Identity" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "alias" character varying(255) NOT NULL, "roles" text, "created_at" TIMESTAMP NOT NULL DEFAULT now(), "last_updated_at" TIMESTAMP NOT NULL DEFAULT now(), "contactId" uuid, CONSTRAINT "UQ_Alias" UNIQUE ("alias"), CONSTRAINT "PK_Identity_id" PRIMARY KEY ("id"))` + `CREATE TABLE "Identity" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "alias" character varying(255) NOT NULL, "roles" text, "created_at" TIMESTAMP NOT NULL DEFAULT now(), "last_updated_at" TIMESTAMP NOT NULL DEFAULT now(), "contactId" uuid, CONSTRAINT "UQ_Identity_Alias" UNIQUE ("alias"), CONSTRAINT "PK_Identity_id" PRIMARY KEY ("id"))` ) await queryRunner.query(`CREATE TYPE "public"."Connection_type_enum" AS ENUM('OIDC', 'SIOPv2', 'SIOPv2+OpenID4VP')`) await queryRunner.query( diff --git a/packages/data-store/src/migrations/postgres/1685628974232-CreateIssuanceBranding.ts b/packages/data-store/src/migrations/postgres/1685628974232-CreateIssuanceBranding.ts index e38ed4cbd..969615420 100644 --- a/packages/data-store/src/migrations/postgres/1685628974232-CreateIssuanceBranding.ts +++ b/packages/data-store/src/migrations/postgres/1685628974232-CreateIssuanceBranding.ts @@ -1,9 +1,11 @@ import { MigrationInterface, QueryRunner } from 'typeorm' +import { enableUuidv4 } from './uuid' export class CreateIssuanceBranding1685628974232 implements MigrationInterface { name = 'CreateIssuanceBranding1685628974232' public async up(queryRunner: QueryRunner): Promise { + await enableUuidv4(queryRunner) await queryRunner.query( `CREATE TABLE "ImageDimensions" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "width" integer NOT NULL, "height" integer NOT NULL, CONSTRAINT "PK_ImageDimensions_id" PRIMARY KEY ("id"))` ) diff --git a/packages/data-store/src/migrations/postgres/CreateStatusList1693866470001-CreateStatusList.ts b/packages/data-store/src/migrations/postgres/CreateStatusList1693866470001-CreateStatusList.ts new file mode 100644 index 000000000..782473a3b --- /dev/null +++ b/packages/data-store/src/migrations/postgres/CreateStatusList1693866470001-CreateStatusList.ts @@ -0,0 +1,24 @@ +import { MigrationInterface, QueryRunner } from 'typeorm' + +export class CreateStatusList1693866470001 implements MigrationInterface { + name = 'CreateStatusList1693866470001' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `CREATE TABLE "StatusListEntry" ("statusListId" character varying NOT NULL, "statusListIndex" integer NOT NULL, "credentialId" character varying, "credentialHash" character varying(128), "correlationId" character varying(255), "value" character varying(50), CONSTRAINT "PK_68704d2d13857360c6b44a3d1d0" PRIMARY KEY ("statusListId", "statusListIndex"))` + ) + await queryRunner.query(`CREATE TYPE "public"."StatusList_type_enum" AS ENUM('StatusList2021')`) + await queryRunner.query( + `CREATE TYPE "public"."StatusList_drivertype_enum" AS ENUM('agent_typeorm', 'agent_kv_store', 'github', 'agent_filesystem')` + ) + await queryRunner.query(`CREATE TYPE "public"."StatusList_credentialidmode_enum" AS ENUM('ISSUANCE', 'PERSISTENCE', 'NEVER')`) + await queryRunner.query( + `CREATE TABLE "StatusList" ("id" character varying NOT NULL, "correlationId" character varying NOT NULL, "length" integer NOT NULL, "issuer" text NOT NULL, "type" "public"."StatusList_type_enum" NOT NULL DEFAULT 'StatusList2021', "driverType" "public"."StatusList_drivertype_enum" NOT NULL DEFAULT 'agent_typeorm', "credentialIdMode" "public"."StatusList_credentialidmode_enum" NOT NULL DEFAULT 'ISSUANCE', "proofFormat" character varying NOT NULL DEFAULT 'lds', "indexingDirection" character varying NOT NULL DEFAULT 'rightToLeft', "statusPurpose" character varying NOT NULL DEFAULT 'revocation', "statusListCredential" text, CONSTRAINT "UQ_correlationId" UNIQUE ("correlationId"), CONSTRAINT "PK_StatusList_Id" PRIMARY KEY ("id"))` + ) + await queryRunner.query( + `ALTER TABLE "StatusListEntry" ADD CONSTRAINT "FK_statusListEntry_statusListId" FOREIGN KEY ("statusListId") REFERENCES "StatusList"("id") ON DELETE NO ACTION ON UPDATE NO ACTION` + ) + } + + public async down(queryRunner: QueryRunner): Promise {} +} diff --git a/packages/data-store/src/migrations/postgres/uuid.ts b/packages/data-store/src/migrations/postgres/uuid.ts new file mode 100644 index 000000000..aabfaecce --- /dev/null +++ b/packages/data-store/src/migrations/postgres/uuid.ts @@ -0,0 +1,12 @@ +import { QueryRunner } from 'typeorm' + +export async function enableUuidv4(queryRunner: QueryRunner) { + try { + await queryRunner.query(`CREATE EXTENSION IF NOT EXISTS "uuid-ossp";`) + } catch (error) { + console.log( + `Please enable the uuid-ossp.control extension in your postgresql installation. It enables generating V4 UUID and can be found in the postgresql-contrib package` + ) + throw error + } +} diff --git a/packages/data-store/src/migrations/sqlite/1693866470000-CreateStatusList.ts b/packages/data-store/src/migrations/sqlite/1693866470000-CreateStatusList.ts new file mode 100644 index 000000000..c0665d564 --- /dev/null +++ b/packages/data-store/src/migrations/sqlite/1693866470000-CreateStatusList.ts @@ -0,0 +1,24 @@ +import { MigrationInterface, QueryRunner } from 'typeorm' + +export class CreateStatusList1693866470002 implements MigrationInterface { + name = 'CreateStatusList1693866470002' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `CREATE TABLE "StatusListEntry" ("statusListId" varchar NOT NULL, "statusListIndex" integer NOT NULL, "credentialId" varchar, "credentialHash" varchar(128), "correlationId" varchar(255), "value" varchar(50), PRIMARY KEY ("statusListId", "statusListIndex"))` + ) + await queryRunner.query( + `CREATE TABLE "StatusList" ("id" varchar PRIMARY KEY NOT NULL, "correlationId" varchar NOT NULL, "length" integer NOT NULL, "issuer" text NOT NULL, "type" varchar CHECK( "type" IN ('StatusList2021') ) NOT NULL DEFAULT ('StatusList2021'), "driverType" varchar CHECK( "driverType" IN ('agent_typeorm','agent_kv_store','github','agent_filesystem') ) NOT NULL DEFAULT ('agent_typeorm'), "credentialIdMode" varchar CHECK( "credentialIdMode" IN ('ISSUANCE','PERSISTENCE','NEVER') ) NOT NULL DEFAULT ('ISSUANCE'), "proofFormat" varchar CHECK( "proofFormat" IN ('lds','jwt') ) NOT NULL DEFAULT ('lds'), "indexingDirection" varchar CHECK( "indexingDirection" IN ('rightToLeft') ) NOT NULL DEFAULT ('rightToLeft'), "statusPurpose" varchar NOT NULL DEFAULT ('revocation'), "statusListCredential" text, CONSTRAINT "UQ_correlationId" UNIQUE ("correlationId"))` + ) + await queryRunner.query( + `CREATE TABLE "temporary_StatusListEntry" ("statusListId" varchar NOT NULL, "statusListIndex" integer NOT NULL, "credentialId" varchar, "credentialHash" varchar(128), "correlationId" varchar(255), "value" varchar(50), CONSTRAINT "FK_statusListEntry_statusListId" FOREIGN KEY ("statusListId") REFERENCES "StatusList" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, PRIMARY KEY ("statusListId", "statusListIndex"))` + ) + await queryRunner.query( + `INSERT INTO "temporary_StatusListEntry"("statusListId", "statusListIndex", "credentialId", "credentialHash", "correlationId", "value") SELECT "statusListId", "statusListIndex", "credentialId", "credentialHash", "correlationId", "value" FROM "StatusListEntry"` + ) + await queryRunner.query(`DROP TABLE "StatusListEntry"`) + await queryRunner.query(`ALTER TABLE "temporary_StatusListEntry" RENAME TO "StatusListEntry"`) + } + + public async down(queryRunner: QueryRunner): Promise {} +} diff --git a/packages/data-store/src/statusList/IStatusListStore.ts b/packages/data-store/src/statusList/IStatusListStore.ts new file mode 100644 index 000000000..1509a994b --- /dev/null +++ b/packages/data-store/src/statusList/IStatusListStore.ts @@ -0,0 +1,44 @@ +import { StatusListEntryEntity } from '../entities/statusList2021/StatusList2021EntryEntity' +import { + IAddStatusListArgs, + IAddStatusListEntryArgs, + IGetStatusListArgs, + IGetStatusListEntriesArgs, + IGetStatusListEntryByCredentialIdArgs, + IGetStatusListEntryByIndexArgs, + IGetStatusListsArgs, + IRemoveStatusListArgs, + IStatusListEntryAvailableArgs, + IUpdateStatusListIndexArgs, +} from '../types/statusList/IAbstractStatusListStore' +import { IStatusListEntity, IStatusListEntryEntity } from '../types/statusList/statusList' + +export interface IStatusListStore { + getStatusList(args: IGetStatusListArgs): Promise + + getStatusLists(args: IGetStatusListsArgs): Promise> + + removeStatusList(args: IRemoveStatusListArgs): Promise + + addStatusList(args: IAddStatusListArgs): Promise + + updateStatusList(args: IUpdateStatusListIndexArgs): Promise + + availableStatusListEntries(args: IStatusListEntryAvailableArgs): Promise + + addStatusListEntry(args: IAddStatusListEntryArgs): Promise + + updateStatusListEntry(args: IAddStatusListEntryArgs): Promise + + getStatusListEntryByIndex(args: IGetStatusListEntryByIndexArgs): Promise + + getStatusListEntryByCredentialId(args: IGetStatusListEntryByCredentialIdArgs): Promise + + removeStatusListEntryByIndex(args: IGetStatusListEntryByIndexArgs): Promise + + removeStatusListEntryByCredentialId(args: IGetStatusListEntryByCredentialIdArgs): Promise + + getStatusListEntries(args: IGetStatusListEntriesArgs): Promise + + getStatusList(args: IGetStatusListArgs): Promise +} diff --git a/packages/data-store/src/statusList/StatusListStore.ts b/packages/data-store/src/statusList/StatusListStore.ts new file mode 100644 index 000000000..2824dd45c --- /dev/null +++ b/packages/data-store/src/statusList/StatusListStore.ts @@ -0,0 +1,237 @@ +import { OrPromise } from '@sphereon/ssi-types' +import Debug from 'debug' +import { DataSource, In, Repository } from 'typeorm' +import { StatusListEntity } from '../entities/statusList2021/StatusList2021Entity' +import { StatusListEntryEntity } from '../entities/statusList2021/StatusList2021EntryEntity' +import { + IAddStatusListArgs, + IAddStatusListEntryArgs, + IGetStatusListArgs, + IGetStatusListEntriesArgs, + IGetStatusListEntryByCredentialIdArgs, + IGetStatusListEntryByIndexArgs, + IGetStatusListsArgs, + IRemoveStatusListArgs, + IStatusListEntryAvailableArgs, + IUpdateStatusListIndexArgs, + IStatusListEntity, + IStatusListEntryEntity, +} from '../types' +import { IStatusListStore } from './IStatusListStore' + +const debug = Debug('sphereon:ssi-sdk:data-store:status-list') + +export class StatusListStore implements IStatusListStore { + private readonly _dbConnection: OrPromise + + constructor(dbConnection: OrPromise) { + this._dbConnection = dbConnection + } + + /** + * Get's the available status list indices from the provided indices. Meaning it will filter out any index that is already known. + * + * The idea is that the caller provides a set of random status list indices. We can relatively easy check against the DB in an optimized way. + * If the status list is large it is probably best ot also provide at least a good number of indices. So something like 10 or 20 values. + * Callers are also expected to call this function multiple times if it does not yield results + * + * @param args + */ + async availableStatusListEntries(args: IStatusListEntryAvailableArgs): Promise { + const statusListIndex = Array.isArray(args.statusListIndex) ? args.statusListIndex : [args.statusListIndex] + const statusList = await this.getStatusList({ ...args, id: args.statusListId }) + const repo = await this.getStatusListEntryRepo() + const results = ( + await repo.find({ + where: { + statusList, + statusListIndex: In(statusListIndex), + }, + }) + ).map((index) => index.statusListIndex) + return statusListIndex.filter((index) => !results.includes(index)) + } + + async addStatusListEntry(args: IAddStatusListEntryArgs): Promise { + return (await this.getStatusListEntryRepo()).save(args) + } + + async updateStatusListEntry(args: IAddStatusListEntryArgs): Promise { + const statusListId = typeof args.statusList === 'string' ? args.statusList : args.statusList.id + const result = await this.getStatusListEntryByIndex({ ...args, statusListId, errorOnNotFound: false }) + const updatedEntry: Partial = { + value: args.value, + correlationId: args.correlationId, + credentialHash: args.credentialHash, + credentialId: args.credentialId, + } + + const updateResult = await ( + await this.getStatusListEntryRepo() + ).upsert( + { ...(result ?? { statusList: args.statusList, statusListIndex: args.statusListIndex }), ...updatedEntry }, + { conflictPaths: ['statusList', 'statusListIndex'] } + ) + console.log(updateResult) + return (await this.getStatusListEntryByIndex({ ...args, statusListId, errorOnNotFound: true })) as IStatusListEntryEntity + } + + async getStatusListEntryByIndex(args: IGetStatusListEntryByIndexArgs): Promise { + if (!args.statusListId && !args.correlationId) { + throw Error(`Cannot get statusList entry if not either a statusList id or correlationId is provided`) + } + const result = await ( + await this.getStatusListEntryRepo() + ).findOne({ + where: { + ...(args.statusListId && { statusList: args.statusListId }), + ...(args.correlationId && { correlationId: args.correlationId }), + statusListIndex: args.statusListIndex, + }, + }) + + if (!result && args.errorOnNotFound) { + throw Error(`Could not find status list index ${args.statusListIndex} for status list id ${args.statusListId}`) + } + return result ?? undefined + } + + async removeStatusListEntryByIndex(args: IGetStatusListEntryByIndexArgs): Promise { + let error = false + try { + await this.getStatusListEntryByIndex(args) // only used to check it exists + } catch (error) { + error = true + } + if (error) { + console.log(`Could not delete statusList ${args.statusListId} entry by index ${args.statusListIndex}`) + } else { + const result = await ( + await this.getStatusListEntryRepo() + ).delete({ + ...(args.statusListId && { statusList: args.statusListId }), + ...(args.correlationId && { correlationId: args.correlationId }), + statusListIndex: args.statusListIndex, + }) + error = !result.affected || result.affected !== 1 + } + return !error + } + + async getStatusListEntryByCredentialId(args: IGetStatusListEntryByCredentialIdArgs): Promise { + const credentialId = args.credentialId + if (!credentialId) { + throw Error('Can only get a credential by credentialId when a credentialId is supplied') + } + const statusList = await this.getStatusList({ id: args.statusListId, correlationId: args.statusListCorrelationId }) + const where = { + statusList: statusList.id, + ...(args.entryCorrelationId && { correlationId: args.entryCorrelationId }), + credentialId, + } + console.log(`Entries: ${JSON.stringify(await (await this.getStatusListEntryRepo()).find(), null, 2)}`) + const result = await (await this.getStatusListEntryRepo()).findOne({ where }) + + if (!result && args.errorOnNotFound) { + throw Error(`Could not find status list credential id ${credentialId} for status list id ${statusList.id}`) + } + return result ?? undefined + } + + async removeStatusListEntryByCredentialId(args: IGetStatusListEntryByCredentialIdArgs): Promise { + let error = false + try { + await this.getStatusListEntryByCredentialId(args) // only used to check it exists + } catch (error) { + error = true + } + if (!error) { + const result = await ( + await this.getStatusListEntryRepo() + ).delete({ + ...(args.statusListId && { statusList: args.statusListId }), + ...(args.entryCorrelationId && { correlationId: args.entryCorrelationId }), + credentialId: args.credentialId, + }) + error = !result.affected || result.affected !== 1 + } + return !error + } + + async getStatusListEntries(args: IGetStatusListEntriesArgs): Promise { + return (await this.getStatusListEntryRepo()).find({ where: { ...args?.filter, statusList: args.statusListId } }) + } + + async getStatusList(args: IGetStatusListArgs): Promise { + if (!args.id && !args.correlationId) { + throw Error(`At least and 'id' or 'correlationId' needs to be provided to lookup a status list`) + } + const where = [] + if (args.id) { + where.push({ id: args.id }) + } + if (args.correlationId) { + where.push({ correlationId: args.correlationId }) + } + const result = await (await this.getStatusListRepo()).findOne({ where }) + if (!result) { + throw Error(`No status list found for id ${args.id}`) + } + return result + } + + async getStatusLists(args: IGetStatusListsArgs): Promise> { + const result = await ( + await this.getStatusListRepo() + ).find({ + where: args.filter, + }) + + if (!result) { + return [] + } + return result + } + + async addStatusList(args: IAddStatusListArgs): Promise { + const { id, correlationId } = args + + const result = await ( + await this.getStatusListRepo() + ).findOne({ + where: [{ id }, { correlationId }], + }) + if (result) { + throw Error(`Status list for id ${id}, correlationId ${correlationId} already exists`) + } + + debug('Adding status list ', id) + const createdResult = await (await this.getStatusListRepo()).save(args) + + return createdResult + } + + async updateStatusList(args: IUpdateStatusListIndexArgs): Promise { + const result = await this.getStatusList(args) + debug('Updating status list', result) + const updatedResult = await (await this.getStatusListRepo()).save(args, { transaction: true }) + return updatedResult + } + + async removeStatusList(args: IRemoveStatusListArgs): Promise { + const result = await this.getStatusList(args) + await (await this.getStatusListRepo()).delete(result) + } + + private async getDS(): Promise { + return await this._dbConnection + } + + async getStatusListRepo(): Promise> { + return (await this.getDS()).getRepository(StatusListEntity) + } + + async getStatusListEntryRepo(): Promise> { + return (await this.getDS()).getRepository(StatusListEntryEntity) + } +} diff --git a/packages/data-store/src/types/index.ts b/packages/data-store/src/types/index.ts index 6e8803c4e..373085113 100644 --- a/packages/data-store/src/types/index.ts +++ b/packages/data-store/src/types/index.ts @@ -2,3 +2,5 @@ export * from './issuanceBranding/issuanceBranding' export * from './issuanceBranding/IAbstractIssuanceBrandingStore' export * from './contact/contact' export * from './contact/IAbstractContactStore' +export * from './statusList/statusList' +export * from './statusList/IAbstractStatusListStore' diff --git a/packages/data-store/src/types/statusList/IAbstractStatusListStore.ts b/packages/data-store/src/types/statusList/IAbstractStatusListStore.ts new file mode 100644 index 000000000..6c48bd34f --- /dev/null +++ b/packages/data-store/src/types/statusList/IAbstractStatusListStore.ts @@ -0,0 +1,47 @@ +import { FindOptionsWhere } from 'typeorm' +import { IStatusListEntity, IStatusListEntryEntity } from './statusList' + +export type FindStatusListArgs = FindOptionsWhere[] +export type FindStatusListEntryArgs = FindOptionsWhere[] | FindOptionsWhere + +export interface IStatusListEntryAvailableArgs { + statusListId?: string + correlationId?: string + statusListIndex: number | number[] +} + +export interface IGetStatusListEntryByIndexArgs { + statusListId?: string + correlationId?: string + statusListIndex: number + errorOnNotFound?: boolean +} + +export interface IGetStatusListEntryByCredentialIdArgs { + statusListId?: string + statusListCorrelationId?: string + entryCorrelationId?: string + credentialId: string + errorOnNotFound?: boolean +} +export interface IGetStatusListEntriesArgs { + statusListId: string + filter?: FindStatusListEntryArgs +} + +export type IAddStatusListEntryArgs = IStatusListEntryEntity + +export interface IGetStatusListArgs { + id?: string + correlationId?: string +} + +export type IRemoveStatusListArgs = IGetStatusListArgs + +export interface IGetStatusListsArgs { + filter?: FindStatusListArgs +} + +export type IAddStatusListArgs = IStatusListEntity + +export type IUpdateStatusListIndexArgs = IStatusListEntity diff --git a/packages/data-store/src/types/statusList/statusList.ts b/packages/data-store/src/types/statusList/statusList.ts new file mode 100644 index 000000000..815d7626c --- /dev/null +++ b/packages/data-store/src/types/statusList/statusList.ts @@ -0,0 +1,39 @@ +import { + IIssuer, + OriginalVerifiableCredential, + StatusListCredentialIdMode, + StatusListDriverType, + StatusListIndexingDirection, + StatusListType, + StatusPurpose2021, +} from '@sphereon/ssi-types' +import { ProofFormat } from '@veramo/core' +import { StatusListEntity } from '../../entities/statusList2021/StatusList2021Entity' + +export interface IStatusListEntity { + id: string + correlationId: string + driverType: StatusListDriverType + credentialIdMode: StatusListCredentialIdMode + length: number + issuer: string | IIssuer + type: StatusListType + proofFormat: ProofFormat + indexingDirection: StatusListIndexingDirection + statusPurpose: StatusPurpose2021 + statusListCredential?: OriginalVerifiableCredential +} + +export interface IStatusListEntryEntity { + statusList: StatusListEntity | string // string is here to accept the id, so we can query it easily with typeorm + + value?: string + + statusListIndex: number + + credentialHash?: string + + credentialId?: string + + correlationId?: string +} diff --git a/packages/oid4vci-issuer-rest-api/__tests__/RestAPI.ts b/packages/oid4vci-issuer-rest-api/__tests__/RestAPI.ts index 82394c408..440b388da 100644 --- a/packages/oid4vci-issuer-rest-api/__tests__/RestAPI.ts +++ b/packages/oid4vci-issuer-rest-api/__tests__/RestAPI.ts @@ -1,4 +1,4 @@ -import { CredentialRequestJwtVcJson } from '@sphereon/oid4vci-common/lib/types/Generic.types' +import { CredentialRequestJwtVc } from '@sphereon/oid4vci-common' import { CredentialDataSupplier, CredentialDataSupplierArgs, CredentialDataSupplierResult } from '@sphereon/oid4vci-issuer' import { ExpressBuilder } from '@sphereon/ssi-express-support' import { TAgent } from '@veramo/core' @@ -136,7 +136,7 @@ const credentialDataSupplierSphereon: CredentialDataSupplier = (args: Credential throw Error(`Format ${args.credentialRequest.format} is not configured on this issuer`) } - const request = args.credentialRequest as CredentialRequestJwtVcJson + const request = args.credentialRequest as CredentialRequestJwtVc if (request.types.includes('VerifiedEmployee')) { return Promise.resolve({ format: 'jwt_vc_json', diff --git a/packages/ssi-types/src/types/vc.ts b/packages/ssi-types/src/types/vc.ts index a80920b5a..ddad14cf2 100644 --- a/packages/ssi-types/src/types/vc.ts +++ b/packages/ssi-types/src/types/vc.ts @@ -292,3 +292,20 @@ export interface IErrorDetails { url?: string cause?: IError } + +export enum StatusListType { + StatusList2021 = 'StatusList2021', +} +export type StatusPurpose2021 = 'revocation' | 'suspension' | string +export enum StatusListCredentialIdMode { + ISSUANCE = 'ISSUANCE', + PERSISTENCE = 'PERSISTENCE', + NEVER = 'NEVER', +} +export type StatusListIndexingDirection = 'rightToLeft' +export enum StatusListDriverType { + AGENT_TYPEORM = 'agent_typeorm', + AGENT_KV_STORE = 'agent_kv_store', + GITHUB = 'github', + AGENT_FILESYSTEM = 'agent_filesystem', +} diff --git a/packages/tsconfig.json b/packages/tsconfig.json index 9978917d8..f86bd6efd 100644 --- a/packages/tsconfig.json +++ b/packages/tsconfig.json @@ -11,6 +11,8 @@ { "path": "ms-authenticator" }, { "path": "ms-request-api" }, { "path": "vc-status-list" }, + { "path": "vc-status-list-issuer-drivers" }, + { "path": "vc-status-list-issuer-rest-api" }, { "path": "vc-handler-ld-local" }, { "path": "presentation-exchange" }, { "path": "oid4vci-issuer-store" }, diff --git a/packages/vc-handler-ld-local/package.json b/packages/vc-handler-ld-local/package.json index 9f5b7d59a..bf2d51851 100644 --- a/packages/vc-handler-ld-local/package.json +++ b/packages/vc-handler-ld-local/package.json @@ -26,11 +26,14 @@ "@noble/hashes": "^1.2.0", "@sphereon/ed25519-signature-2018": "0.7.0-unstable.6", "@sphereon/isomorphic-webcrypto": "^2.4.0-unstable.4", + "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-sdk.core": "workspace:^", "@sphereon/ssi-sdk-ext.did-utils": "0.14.1-next.3", "@sphereon/ssi-sdk-ext.key-utils": "0.14.1-next.3", + "@sphereon/ssi-sdk.agent-config": "workspace:^", + "@sphereon/ssi-sdk.data-store": "workspace:^", "@sphereon/ssi-sdk.vc-status-list": "workspace:^", - "@sphereon/ssi-sdk.core": "workspace:^", - "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-sdk.vc-status-list-issuer-drivers": "workspace:^", "@transmute/ed25519-key-pair": "0.7.0-unstable.81", "@transmute/jose-ld": "0.7.0-unstable.81", "@transmute/json-web-signature": "0.7.0-unstable.81", @@ -57,7 +60,6 @@ "@sphereon/ssi-sdk-ext.did-provider-lto": "0.14.1-next.3", "@sphereon/ssi-sdk-ext.key-manager": "0.14.1-next.3", "@sphereon/ssi-sdk-ext.kms-local": "0.14.1-next.3", - "@sphereon/ssi-sdk.agent-config": "workspace:^", "@transmute/lds-ecdsa-secp256k1-recovery2020": "^0.0.7", "@types/nock": "^11.1.0", "@types/node": "18.15.3", diff --git a/packages/vc-handler-ld-local/src/__tests__/diwala.test.ts b/packages/vc-handler-ld-local/src/__tests__/diwala.test.ts index 832f53ec5..8f9c90bf2 100644 --- a/packages/vc-handler-ld-local/src/__tests__/diwala.test.ts +++ b/packages/vc-handler-ld-local/src/__tests__/diwala.test.ts @@ -67,7 +67,7 @@ describe('Diwala issued VC', () => { fetchRemoteContexts: true, }) - expect(verifiedCredential).toEqual({ + expect(verifiedCredential).toMatchObject({ log: [ { id: 'expiration', diff --git a/packages/vc-handler-ld-local/src/__tests__/issue-verify-flow-statuslist.test.ts b/packages/vc-handler-ld-local/src/__tests__/issue-verify-flow-statuslist.test.ts index 5803b8936..cad94f813 100644 --- a/packages/vc-handler-ld-local/src/__tests__/issue-verify-flow-statuslist.test.ts +++ b/packages/vc-handler-ld-local/src/__tests__/issue-verify-flow-statuslist.test.ts @@ -1,4 +1,5 @@ import { createNewStatusList } from '@sphereon/ssi-sdk.vc-status-list' +import { StatusListType } from '@sphereon/ssi-types' import { createAgent, ICredentialPlugin, IDIDManager, IIdentifier, IKeyManager, IResolver, TAgent } from '@veramo/core' import { CredentialPlugin, ICredentialIssuer } from '@veramo/credential-w3c' import { DIDManager, MemoryDIDStore } from '@veramo/did-manager' @@ -69,7 +70,15 @@ describe.skip('credential-LD full flow', () => { it('create a new status list', async () => { const statusList = await createNewStatusList( - { statusPurpose: 'revocation', proofFormat: 'lds', id: 'http://localhost:9543/list1', issuer: didKeyIdentifier.did, length: 99999 }, + { + statusPurpose: 'revocation', + proofFormat: 'lds', + id: 'http://localhost:9543/list1', + issuer: didKeyIdentifier.did, + length: 99999, + correlationId: '1234', + type: StatusListType.StatusList2021, + }, { agent } ) expect(statusList).toBeDefined() diff --git a/packages/vc-handler-ld-local/src/__tests__/statuslist.test.ts b/packages/vc-handler-ld-local/src/__tests__/statuslist.test.ts index 0cb88e1eb..0dadbcf90 100644 --- a/packages/vc-handler-ld-local/src/__tests__/statuslist.test.ts +++ b/packages/vc-handler-ld-local/src/__tests__/statuslist.test.ts @@ -1,115 +1,146 @@ -import {createAgent, ICredentialPlugin, IDIDManager, IIdentifier, IKeyManager, IResolver, TAgent} from '@veramo/core' -import {CredentialPlugin, ICredentialIssuer} from '@veramo/credential-w3c' -import {DIDManager, MemoryDIDStore} from '@veramo/did-manager' -import {getDidKeyResolver, SphereonKeyDidProvider} from '@sphereon/ssi-sdk-ext.did-provider-key' -import {DIDResolverPlugin} from '@veramo/did-resolver' -import {SphereonKeyManager} from '@sphereon/ssi-sdk-ext.key-manager' -import {SphereonKeyManagementSystem} from '@sphereon/ssi-sdk-ext.kms-local' -import {MemoryKeyStore, MemoryPrivateKeyStore} from '@veramo/key-manager' -import {Resolver} from 'did-resolver' +import { createAgent, ICredentialPlugin, IDIDManager, IIdentifier, IKeyManager, IResolver, TAgent } from '@veramo/core' +import { CredentialPlugin, ICredentialIssuer } from '@veramo/credential-w3c' +import { DIDManager, MemoryDIDStore } from '@veramo/did-manager' +import { getDidKeyResolver, SphereonKeyDidProvider } from '@sphereon/ssi-sdk-ext.did-provider-key' +import { DIDResolverPlugin } from '@veramo/did-resolver' +import { SphereonKeyManager } from '@sphereon/ssi-sdk-ext.key-manager' +import { SphereonKeyManagementSystem } from '@sphereon/ssi-sdk-ext.kms-local' +import { MemoryKeyStore, MemoryPrivateKeyStore } from '@veramo/key-manager' +import { Resolver } from 'did-resolver' // @ts-ignore import nock from 'nock' import { - createNewStatusList, - simpleCheckStatusFromStatusListCredential, - updateStatusListFromStatusListCredential + createNewStatusList, + checkStatusIndexFromStatusListCredential, + updateStatusIndexFromStatusListCredential, } from '@sphereon/ssi-sdk.vc-status-list' -import {CredentialHandlerLDLocal} from "../agent"; -import {LdDefaultContexts} from "../ld-default-contexts"; -import {SphereonEd25519Signature2018, SphereonEd25519Signature2020} from "../suites"; -import {ICredentialHandlerLDLocal, MethodNames} from "../types"; +import { CredentialHandlerLDLocal } from '../agent' +import { LdDefaultContexts } from '../ld-default-contexts' +import { SphereonEd25519Signature2018, SphereonEd25519Signature2020 } from '../suites' +import { ICredentialHandlerLDLocal, MethodNames } from '../types' jest.setTimeout(100000) describe('Status list', () => { - let didKeyIdentifier: IIdentifier - let agent: TAgent + let didKeyIdentifier: IIdentifier + let agent: TAgent - // jest.setTimeout(1000000) - beforeAll(async () => { - agent = createAgent({ - plugins: [ - new SphereonKeyManager({ - store: new MemoryKeyStore(), - kms: { - local: new SphereonKeyManagementSystem(new MemoryPrivateKeyStore()), - }, - }), - new DIDManager({ - providers: { - 'did:key': new SphereonKeyDidProvider({defaultKms: 'local'}), - }, - store: new MemoryDIDStore(), - defaultProvider: 'did:key', - }), - new DIDResolverPlugin({ - resolver: new Resolver({ - ...getDidKeyResolver(), - }), - }), - new CredentialPlugin(), - new CredentialHandlerLDLocal({ - contextMaps: [LdDefaultContexts], - suites: [new SphereonEd25519Signature2018(), new SphereonEd25519Signature2020()], - bindingOverrides: new Map([ - // Bindings to test overrides of credential-ld plugin methods - ['createVerifiableCredentialLD', MethodNames.createVerifiableCredentialLDLocal], - ['createVerifiablePresentationLD', MethodNames.createVerifiablePresentationLDLocal], - // We test the verify methods by using the LDLocal versions directly in the tests - ]), - }), - ], - }) - didKeyIdentifier = await agent.didManagerCreate() + // jest.setTimeout(1000000) + beforeAll(async () => { + agent = createAgent({ + plugins: [ + new SphereonKeyManager({ + store: new MemoryKeyStore(), + kms: { + local: new SphereonKeyManagementSystem(new MemoryPrivateKeyStore()), + }, + }), + new DIDManager({ + providers: { + 'did:key': new SphereonKeyDidProvider({ defaultKms: 'local' }), + }, + store: new MemoryDIDStore(), + defaultProvider: 'did:key', + }), + new DIDResolverPlugin({ + resolver: new Resolver({ + ...getDidKeyResolver(), + }), + }), + new CredentialPlugin(), + new CredentialHandlerLDLocal({ + contextMaps: [LdDefaultContexts], + suites: [new SphereonEd25519Signature2018(), new SphereonEd25519Signature2020()], + bindingOverrides: new Map([ + // Bindings to test overrides of credential-ld plugin methods + ['createVerifiableCredentialLD', MethodNames.createVerifiableCredentialLDLocal], + ['createVerifiablePresentationLD', MethodNames.createVerifiablePresentationLDLocal], + // We test the verify methods by using the LDLocal versions directly in the tests + ]), + }), + ], }) + didKeyIdentifier = await agent.didManagerCreate() + }) - it('create a new status list', async () => { - const statusList = await createNewStatusList( - {statusPurpose: 'revocation', proofFormat: 'lds', id: 'http://localhost:9543/list1', issuer: didKeyIdentifier.did, length: 99999}, - {agent} - ) - expect(statusList).toBeDefined() - expect(statusList.id).toEqual('http://localhost:9543/list1') - expect(statusList.encodedList).toBeDefined() - expect(statusList.issuer).toEqual(didKeyIdentifier.did) - expect(statusList.length).toEqual(99999) - expect(statusList.indexingDirection).toEqual('rightToLeft') - expect(statusList.proofFormat).toEqual('lds') - expect(statusList.statusListCredential).toBeDefined() - }) - - it('Update a status list', async () => { - const initialList = await createNewStatusList( - {statusPurpose: 'revocation', proofFormat: 'lds', id: 'http://localhost:9543/list2', issuer: didKeyIdentifier.did, length: 99999}, - {agent} - ) - expect(initialList).toBeDefined() - - let statusList = await updateStatusListFromStatusListCredential({statusListCredential: initialList.statusListCredential, index: 2, value: true}, {agent}) - statusList = await updateStatusListFromStatusListCredential({statusListCredential: statusList.statusListCredential, index: 4, value: true}, {agent}) - + it('create a new status list', async () => { + const statusList = await createNewStatusList( + { + statusPurpose: 'revocation', + proofFormat: 'lds', + id: 'http://localhost:9543/list1', + issuer: didKeyIdentifier.did, + length: 99999, + correlationId: '' + new Date().toISOString(), + }, + { agent } + ) + expect(statusList).toBeDefined() + expect(statusList.id).toEqual('http://localhost:9543/list1') + expect(statusList.encodedList).toBeDefined() + expect(statusList.issuer).toEqual(didKeyIdentifier.did) + expect(statusList.length).toEqual(99999) + expect(statusList.indexingDirection).toEqual('rightToLeft') + expect(statusList.proofFormat).toEqual('lds') + expect(statusList.statusListCredential).toBeDefined() + }) - expect(statusList.id).toEqual('http://localhost:9543/list2') - expect(statusList.encodedList).toBeDefined() - expect(statusList.issuer).toEqual(didKeyIdentifier.did) - expect(statusList.length).toEqual(99999) - expect(statusList.indexingDirection).toEqual('rightToLeft') - expect(statusList.proofFormat).toEqual('lds') - expect(statusList.statusListCredential).toBeDefined() - expect(statusList.statusListCredential).not.toEqual(initialList.statusListCredential) + it('Update a status list', async () => { + const initialList = await createNewStatusList( + { + statusPurpose: 'revocation', + proofFormat: 'lds', + id: 'http://localhost:9543/list2', + issuer: didKeyIdentifier.did, + length: 99999, + correlationId: '' + new Date().toISOString(), + }, + { agent } + ) + expect(initialList).toBeDefined() - const result2 = await simpleCheckStatusFromStatusListCredential({statusListCredential: statusList.statusListCredential, statusListIndex: "2" }) - expect(result2).toEqual(true) - const result3 = await simpleCheckStatusFromStatusListCredential({statusListCredential: statusList.statusListCredential, statusListIndex: "3" }) - expect(result3).toEqual(false) - const result4 = await simpleCheckStatusFromStatusListCredential({statusListCredential: statusList.statusListCredential, statusListIndex: "4" }) - expect(result4).toEqual(true) - - statusList = await updateStatusListFromStatusListCredential({statusListCredential: statusList.statusListCredential, index: 4, value: false}, {agent}) - const result4Updated = await simpleCheckStatusFromStatusListCredential({statusListCredential: statusList.statusListCredential, statusListIndex: "4" }) - expect(result4Updated).toEqual(false) + let statusList = await updateStatusIndexFromStatusListCredential( + { statusListCredential: initialList.statusListCredential, statusListIndex: 2, value: true }, + { agent } + ) + statusList = await updateStatusIndexFromStatusListCredential( + { statusListCredential: statusList.statusListCredential, statusListIndex: 4, value: true }, + { agent } + ) + expect(statusList.id).toEqual('http://localhost:9543/list2') + expect(statusList.encodedList).toBeDefined() + expect(statusList.issuer).toEqual(didKeyIdentifier.did) + expect(statusList.length).toEqual(99999) + expect(statusList.indexingDirection).toEqual('rightToLeft') + expect(statusList.proofFormat).toEqual('lds') + expect(statusList.statusListCredential).toBeDefined() + expect(statusList.statusListCredential).not.toEqual(initialList.statusListCredential) + const result2 = await checkStatusIndexFromStatusListCredential({ + statusListCredential: statusList.statusListCredential, + statusListIndex: '2', + }) + expect(result2).toEqual(true) + const result3 = await checkStatusIndexFromStatusListCredential({ + statusListCredential: statusList.statusListCredential, + statusListIndex: '3', + }) + expect(result3).toEqual(false) + const result4 = await checkStatusIndexFromStatusListCredential({ + statusListCredential: statusList.statusListCredential, + statusListIndex: '4', + }) + expect(result4).toEqual(true) + statusList = await updateStatusIndexFromStatusListCredential( + { statusListCredential: statusList.statusListCredential, statusListIndex: 4, value: false }, + { agent } + ) + const result4Updated = await checkStatusIndexFromStatusListCredential({ + statusListCredential: statusList.statusListCredential, + statusListIndex: '4', }) + expect(result4Updated).toEqual(false) + }) }) diff --git a/packages/vc-handler-ld-local/src/agent/CredentialHandlerLDLocal.ts b/packages/vc-handler-ld-local/src/agent/CredentialHandlerLDLocal.ts index 5370a5881..27582f9bf 100644 --- a/packages/vc-handler-ld-local/src/agent/CredentialHandlerLDLocal.ts +++ b/packages/vc-handler-ld-local/src/agent/CredentialHandlerLDLocal.ts @@ -1,6 +1,6 @@ import { getAgentResolver, mapIdentifierKeysToDocWithJwkSupport } from '@sphereon/ssi-sdk-ext.did-utils' import { VerifiableCredentialSP, VerifiablePresentationSP } from '@sphereon/ssi-sdk.core' -import { checkStatusFunction } from '@sphereon/ssi-sdk.vc-status-list' +import { vcLibCheckStatusFunction } from '@sphereon/ssi-sdk.vc-status-list' import { IVerifyResult } from '@sphereon/ssi-types' import { CredentialPayload, @@ -123,11 +123,14 @@ export class CredentialHandlerLDLocal implements IAgentPlugin { const { managedKey, verificationMethod } = await this.getSigningKey(identifier, args.keyRef) const { signingKey, verificationMethodId } = await this.findSigningKeyWithId(context, identifier, { keyRef: args.keyRef }) return await this.ldCredentialModule.issueLDVerifiableCredential( - credential, - identifier.did, - managedKey || signingKey, // todo: signingKey does not have the private key, so would never work - verificationMethodId ? verificationMethodId : (verificationMethod as string), - args.purpose, + { + credential, + issuerDid: identifier.did, + key: managedKey ?? signingKey, // todo: signingKey does not have the private key, so would never work + verificationMethodId: verificationMethodId ?? (verificationMethod as string), + purpose: args.purpose, + credentialStatusOpts: args.credentialStatusOpts, + }, context ) } catch (error) { @@ -168,8 +171,8 @@ export class CredentialHandlerLDLocal implements IAgentPlugin { // Workaround for bug in TypeError: Cannot read property 'length' of undefined // at VeramoEd25519Signature2018.preSigningPresModification /*if (!presentation.verifier) { - presentation.verifier = [] - }*/ + presentation.verifier = [] + }*/ if (!isDefined(presentation.holder) || !presentation.holder) { throw new Error('invalid_argument: args.presentation.holderDID must not be empty') @@ -219,8 +222,11 @@ export class CredentialHandlerLDLocal implements IAgentPlugin { public async verifyCredentialLDLocal(args: IVerifyCredentialLDArgs, context: IRequiredContext): Promise { const credential = args.credential let checkStatus = args.checkStatus - if (typeof checkStatus !== 'function' && args.statusList && !args.statusList.disableCheckStatusList2021) { - checkStatus = checkStatusFunction({ ...args.statusList }) + if (typeof checkStatus !== 'function' && (!args.statusList || args.statusList.disableCheckStatusList2021 !== true)) { + checkStatus = vcLibCheckStatusFunction({ + ...args.statusList, + verifyStatusListCredential: false /*todo: enable. Needs calling this method first and not rely on @digiticalcredentials*/, + }) // todo: Probably should be moved to the module to have access to the loaders } return this.ldCredentialModule.verifyCredential(credential, context, args.fetchRemoteContexts, args.purpose, checkStatus) } @@ -230,7 +236,7 @@ export class CredentialHandlerLDLocal implements IAgentPlugin { const presentation = args.presentation let checkStatus = args.checkStatus if (typeof checkStatus !== 'function' && args.statusList && !args.statusList.disableCheckStatusList2021) { - checkStatus = checkStatusFunction({ ...args.statusList }) + checkStatus = vcLibCheckStatusFunction({ ...args.statusList }) } return this.ldCredentialModule.verifyPresentation( presentation, diff --git a/packages/vc-handler-ld-local/src/ld-credential-module.ts b/packages/vc-handler-ld-local/src/ld-credential-module.ts index c2292a195..db1515f95 100644 --- a/packages/vc-handler-ld-local/src/ld-credential-module.ts +++ b/packages/vc-handler-ld-local/src/ld-credential-module.ts @@ -2,16 +2,19 @@ import { purposes } from '@digitalcredentials/jsonld-signatures' import * as vc from '@digitalcredentials/vc' import { CredentialIssuancePurpose } from '@digitalcredentials/vc' import { BbsBlsSignature2020 } from '@mattrglobal/jsonld-signatures-bbs' +import { DataSources } from '@sphereon/ssi-sdk.agent-config' import { VerifiableCredentialSP, VerifiablePresentationSP } from '@sphereon/ssi-sdk.core' -import { IVerifyResult } from '@sphereon/ssi-types' +import { getDriver } from '@sphereon/ssi-sdk.vc-status-list-issuer-drivers' +import { IVerifyResult, StatusListCredentialIdMode } from '@sphereon/ssi-types' import { CredentialPayload, IAgentContext, IKey, PresentationPayload, VerifiableCredential, VerifiablePresentation } from '@veramo/core' +import { IStatusListEntryEntity } from '@sphereon/ssi-sdk.data-store' import Debug from 'debug' import { LdContextLoader } from './ld-context-loader' import { LdDocumentLoader } from './ld-document-loader' import { LdSuiteLoader } from './ld-suite-loader' import { RequiredAgentMethods } from './ld-suites' -import { events } from './types' +import { events, IIssueCredentialStatusOpts } from './types' // import jsigs from '@digitalcredentials/jsonld-signatures' //Support for Typescript added in version 9.0.0 @@ -50,22 +53,31 @@ export class LdCredentialModule { } async issueLDVerifiableCredential( - credential: CredentialPayload, - issuerDid: string, - key: IKey, - verificationMethodId: string, - purpose: typeof ProofPurpose = new CredentialIssuancePurpose(), + args: { + credential: CredentialPayload + issuerDid: string + key: IKey + verificationMethodId: string + purpose: typeof ProofPurpose + credentialStatusOpts?: IIssueCredentialStatusOpts + }, context: IAgentContext ): Promise { + const { key, issuerDid, verificationMethodId, credential } = args + const purpose = args.purpose ?? new CredentialIssuancePurpose() debug(`Issue VC method called for ${key.kid}...`) const suite = this.ldSuiteLoader.getSignatureSuiteForKeyType(key.type, key.meta?.verificationMethod?.type) - const documentLoader = this.ldDocumentLoader.getLoader(context, { attemptToFetchContexts: true, verifiableData: credential }) + const documentLoader = this.ldDocumentLoader.getLoader(context, { + attemptToFetchContexts: true, + verifiableData: credential, + }) // some suites can modify the incoming credential (e.g. add required contexts) suite.preSigningCredModification(credential) debug(`Signing suite will be retrieved for ${verificationMethodId}...`) const signingSuite = await suite.getSuiteForSigning(key, issuerDid, verificationMethodId, context) debug(`Issuer ${issuerDid} will create VC for ${key.kid}...`) + await this.handleCredentialStatus(credential, args.credentialStatusOpts) let verifiableCredential //Needs to be signed using jsonld-signaures@5.0.1 @@ -89,6 +101,86 @@ export class LdCredentialModule { return verifiableCredential } + private async handleCredentialStatus(credential: CredentialPayload, credentialStatusOpts?: IIssueCredentialStatusOpts) { + if (credential.credentialStatus) { + const credentialId = credential.id ?? credentialStatusOpts?.credentialId + const statusListId = credential.credentialStatus.statusListCredential ?? credentialStatusOpts?.statusListId + debug(`Creating new credentialStatus object for credential with id ${credentialId} and statusListId ${statusListId}...`) + if (!statusListId) { + throw Error( + `A credential status is requested, but we could not determine the status list id from 'statusListCredential' value or configuration` + ) + } + + // fixme: We really should make the status-list an agent plugin and pass the DataSource in the agent setup phase. + // This will not work when not setup with the DataSources class. + let dbName = credentialStatusOpts?.dbName + if (!dbName) { + const dbNames = DataSources.singleInstance().getDbNames() + if (!dbNames || dbNames.length === 0) { + throw Error(`Please use the DataSources class to register DB connections. The status list support needs a DB connection at this point`) + } + dbName = dbNames[0] + } + const slDriver = await getDriver({ id: statusListId, dbName }) + const statusList = await slDriver.statusListStore.getStatusList({ id: statusListId }) + + if (!credentialId && statusList.credentialIdMode === StatusListCredentialIdMode.ISSUANCE) { + throw Error( + 'No credential.id was provided in the credential, whilst the issuer is configured to persist credentialIds. Please adjust your input credential to contain an id' + ) + } + let existingEntry: IStatusListEntryEntity | undefined = undefined + if (credentialId) { + existingEntry = await slDriver.getStatusListEntryByCredentialId({ + statusListId: statusList.id, + credentialId, + errorOnNotFound: false, + }) + debug( + `Existing statusList entry and index ${existingEntry?.statusListIndex} found for credential with id ${credentialId} and statusListId ${statusListId}. Will reuse the index` + ) + } + let statusListIndex = existingEntry?.statusListIndex ?? credential.credentialStatus.statusListIndex ?? credentialStatusOpts?.credentialId + if (statusListIndex) { + existingEntry = await slDriver.getStatusListEntryByIndex({ + statusListId: statusList.id, + statusListIndex, + errorOnNotFound: false, + }) + debug( + `${!existingEntry && 'no'} existing statusList entry and index ${ + existingEntry?.statusListIndex + } for credential with id ${credentialId} and statusListId ${statusListId}. Will reuse the index` + ) + if (existingEntry && credentialId && existingEntry.credentialId && existingEntry.credentialId !== credentialId) { + throw Error( + `A credential with new id (${credentialId}) is issued, but its id does not match a registered statusListEntry id ${existingEntry.credentialId} for index ${statusListIndex} ` + ) + } + } else { + debug( + `Will generate a new random statusListIndex since the credential did not contain a statusListIndex for credential with id ${credentialId} and statusListId ${statusListId}...` + ) + statusListIndex = await slDriver.getRandomNewStatusListIndex({ correlationId: statusList.correlationId }) + debug(`Random statusListIndex ${statusListIndex} assigned for credential with id ${credentialId} and statusListId ${statusListId}`) + } + const result = await slDriver.updateStatusListEntry({ + statusList: statusListId, + credentialId, + statusListIndex, + correlationId: credentialStatusOpts?.statusEntryCorrelationId, + value: credentialStatusOpts?.value, + }) + debug(`StatusListEntry with statusListIndex ${statusListIndex} created for credential with id ${credentialId} and statusListId ${statusListId}`) + + credential.credentialStatus = { + ...credential.credentialStatus, + ...result.credentialStatus, + } + } + } + async signLDVerifiablePresentation( presentation: PresentationPayload, holderDid: string, @@ -105,7 +197,10 @@ export class LdCredentialModule { context: IAgentContext ): Promise { const suite = this.ldSuiteLoader.getSignatureSuiteForKeyType(key.type, key.meta?.verificationMethod?.type) - const documentLoader = this.ldDocumentLoader.getLoader(context, { attemptToFetchContexts: true, verifiableData: presentation }) + const documentLoader = this.ldDocumentLoader.getLoader(context, { + attemptToFetchContexts: true, + verifiableData: presentation, + }) suite.preSigningPresModification(presentation) @@ -138,25 +233,31 @@ export class LdCredentialModule { const verificationSuites = this.getAllVerificationSuites(context) this.ldSuiteLoader.getAllSignatureSuites().forEach((suite) => suite.preVerificationCredModification(credential)) let result: IVerifyResult - if (credential.proof.type?.includes('BbsBlsSignature2020')) { - //Should never be null or undefined - const suite = this.ldSuiteLoader - .getAllSignatureSuites() - .find((s) => s.getSupportedVeramoKeyType() === 'Bls12381G2') - ?.getSuiteForVerification(context) as BbsBlsSignature2020 - + const documentLoader = this.ldDocumentLoader.getLoader(context, { + attemptToFetchContexts: fetchRemoteContexts, + verifiableData: credential, + }) + const isBls = credential.proof.type?.includes('BbsBlsSignature2020') + const suite = isBls + ? (this.ldSuiteLoader + .getAllSignatureSuites() + .find((s) => s.getSupportedVeramoKeyType() === 'Bls12381G2') + ?.getSuiteForVerification(context) as BbsBlsSignature2020) + : verificationSuites + context.agent + if (isBls) { // fixme: check signature of verify method, adjust result if needed result = await jsigs.verify(credential, { suite, purpose, - documentLoader: this.ldDocumentLoader.getLoader(context, { attemptToFetchContexts: fetchRemoteContexts, verifiableData: credential }), + documentLoader, compactProof: true, }) } else { result = await vc.verifyCredential({ credential, suite: verificationSuites, - documentLoader: this.ldDocumentLoader.getLoader(context, { attemptToFetchContexts: fetchRemoteContexts, verifiableData: credential }), + documentLoader, purpose, compactProof: false, checkStatus, @@ -199,14 +300,20 @@ export class LdCredentialModule { result = await jsigs.verify(presentation, { suite, purpose: presentationPurpose, - documentLoader: this.ldDocumentLoader.getLoader(context, { attemptToFetchContexts: fetchRemoteContexts, verifiableData: presentation }), + documentLoader: this.ldDocumentLoader.getLoader(context, { + attemptToFetchContexts: fetchRemoteContexts, + verifiableData: presentation, + }), compactProof: true, }) } else { result = await vc.verify({ presentation, suite: this.getAllVerificationSuites(context), - documentLoader: this.ldDocumentLoader.getLoader(context, { attemptToFetchContexts: fetchRemoteContexts, verifiableData: presentation }), + documentLoader: this.ldDocumentLoader.getLoader(context, { + attemptToFetchContexts: fetchRemoteContexts, + verifiableData: presentation, + }), challenge, domain, presentationPurpose, diff --git a/packages/vc-handler-ld-local/src/types/types.ts b/packages/vc-handler-ld-local/src/types/types.ts index bd71832a8..47a3aaef1 100644 --- a/packages/vc-handler-ld-local/src/types/types.ts +++ b/packages/vc-handler-ld-local/src/types/types.ts @@ -46,6 +46,15 @@ export interface ICreateVerifiablePresentationLDArgs { purpose?: IAuthenticationProofPurpose | IControllerProofPurpose | IAssertionProofPurpose | IProofPurpose } +export interface IIssueCredentialStatusOpts { + dbName?: string // TODO: remove once issuance if full plugin + credentialId?: string + statusListId?: string + statusListIndex?: number | string + statusEntryCorrelationId?: string + value?: string +} + /** * Encapsulates the parameters required to create a * {@link https://www.w3.org/TR/vc-data-model/#credentials | W3C Verifiable Credential} @@ -73,6 +82,8 @@ export interface ICreateVerifiableCredentialLDArgs { * Use this purpose for the verification method in the DID when doing a check (defaults to CredentialIssuancePurpose) */ purpose?: IAuthenticationProofPurpose | IControllerProofPurpose | IAssertionProofPurpose | IProofPurpose + + credentialStatusOpts?: IIssueCredentialStatusOpts } /** diff --git a/packages/vc-handler-ld-local/tsconfig.json b/packages/vc-handler-ld-local/tsconfig.json index 4abe7d0b9..b15575eb3 100644 --- a/packages/vc-handler-ld-local/tsconfig.json +++ b/packages/vc-handler-ld-local/tsconfig.json @@ -13,6 +13,12 @@ { "path": "../vc-status-list" }, + { + "path": "../vc-status-list-issuer-drivers" + }, + { + "path": "../data-store" + }, { "path": "../ssi-types" }, diff --git a/packages/vc-status-list-issuer-drivers/CHANGELOG.md b/packages/vc-status-list-issuer-drivers/CHANGELOG.md new file mode 100644 index 000000000..d8323c6e8 --- /dev/null +++ b/packages/vc-status-list-issuer-drivers/CHANGELOG.md @@ -0,0 +1,54 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +# [0.14.0](https://github.com/Sphereon-OpenSource/ssi-sdk/compare/v0.13.0...v0.14.0) (2023-08-09) + +### Bug Fixes + +- RSA import fixes ([1e78d70](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/1e78d70679ce8a70d82d2b7320c6f7489ff1a870)) +- RSA import fixes ([77704a2](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/77704a2064e1c1d3ffc23e580ddbb36063fc70ae)) +- RSA import fixes ([52c560b](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/52c560b4d4fef999554ec00130cf7136dc2db1c6)) + +### Features + +- Add verification functions to KMS (only RSA for now) ([8f58f23](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/8f58f2308bc0dd612d1bb47b5ae05e8b67cf2efb)) + +# [0.13.0](https://github.com/Sphereon-OpenSource/ssi-sdk/compare/v0.12.1...v0.13.0) (2023-07-30) + +### Features + +- Add agent resolver method ([3c7b21e](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/3c7b21e13538fac64581c0c73d0450ef6e9b56f0)) +- Add support for RSA key generation and RSA to JWK ([75ba154](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/75ba154bb110a50a1892a5308627895a93f527a4)) + +## [0.12.1](https://github.com/Sphereon-OpenSource/ssi-sdk/compare/v0.12.0...v0.12.1) (2023-06-24) + +### Bug Fixes + +- Fix EC handling for JWKs ([9061e29](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/9061e2968005931127c52febbb3326fddcd62fb2)) +- Fix EC handling for JWKs ([dd423f2](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/dd423f24eff5fcc41a3b72c15d62d7e478fbe9b9)) +- Fixes in JWK handling ([f5cd4dd](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/f5cd4ddd4f0cd0f155dcbf3a7e8b43c89b97cacb)) +- Make sure we set the saltLength for RSA PSS ([e19ed6c](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/e19ed6c3a7b8454e8074111d33fc59a9c6bcc611)) + +# [0.12.0](https://github.com/Sphereon-OpenSource/ssi-sdk/compare/v0.11.0...v0.12.0) (2023-05-07) + +### Features + +- Move mnemonic seed generator to crypto extensions ([748a7f9](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/748a7f962d563c60aa543c0c6900aa0c0daea42d)) + +# [0.11.0](https://github.com/Sphereon-OpenSource/ssi-sdk/compare/v0.10.2...v0.11.0) (2023-04-30) + +### Features + +- add key utils package for common key functions ([0543254](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/0543254d14b4ba54adeeab944315db5ba6221d47)) + +# [0.9.0](https://github.com/Sphereon-OpenSource/ssi-sdk/compare/v0.8.0...v0.9.0) (2023-03-09) + +### Features + +- add Alg support to DID:JWK. Although optional in reality several external systems expect it to be present ([12dae72](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/12dae72860fd0dc00e96a8121b136c2195843388)) +- Add support for ES256/Secp256r1 DID JWKs ([1e447a6](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/1e447a6fedab92549d8848a13212e9dd8c75274a)) +- Allow to relax JWT timing checks, where the JWT claim is slightly different from the VC claim. Used for issuance and expiration dates ([85bff6d](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/85bff6da21dea5d8f636ea1f55b41be00b18b002)) + +# Change Log diff --git a/packages/vc-status-list-issuer-drivers/LICENSE b/packages/vc-status-list-issuer-drivers/LICENSE new file mode 100644 index 000000000..a51495fe7 --- /dev/null +++ b/packages/vc-status-list-issuer-drivers/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [2022] [Sphereon BV, info@sphereon.com] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/vc-status-list-issuer-drivers/README.md b/packages/vc-status-list-issuer-drivers/README.md new file mode 100644 index 000000000..1ff078de0 --- /dev/null +++ b/packages/vc-status-list-issuer-drivers/README.md @@ -0,0 +1,21 @@ + +

+
+ Sphereon +
Status List - Issuer Drivers +
+

+ +This package contains drivers to host/manage StatusLists + +## Installation + +```shell +pnpm install @sphereon/ssi-sdk.vc-status-list-issuer-drivers +``` + +## Build + +```shell +pnpm build +``` diff --git a/packages/vc-status-list-issuer-drivers/package.json b/packages/vc-status-list-issuer-drivers/package.json new file mode 100644 index 000000000..5beecfda2 --- /dev/null +++ b/packages/vc-status-list-issuer-drivers/package.json @@ -0,0 +1,49 @@ +{ + "name": "@sphereon/ssi-sdk.vc-status-list-issuer-drivers", + "description": "Sphereon SSI-SDK plugin for Status List management, like StatusList2021. Issuer drivers module", + "version": "0.14.1-next.3", + "source": "src/index.ts", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "scripts": { + "build": "tsc --build", + "build:clean": "tsc --build --clean && tsc --build" + }, + "dependencies": { + "@sphereon/ssi-sdk.vc-status-list": "workspace:*", + "@sphereon/ssi-express-support": "workspace:^", + "@sphereon/ssi-sdk.core": "workspace:^", + "@sphereon/ssi-sdk.data-store": "workspace:*", + "@sphereon/ssi-sdk.agent-config": "workspace:^", + "typeorm": "^0.3.12", + "@digitalcredentials/vc-status-list": "^5.0.2", + "@veramo/core": "4.2.0", + "@sphereon/ssi-sdk-ext.did-utils": "^0.14.1-next.3", + "@sphereon/ssi-types": "workspace:^", + "debug": "^4.3.4", + "uint8arrays": "^3.1.1" + }, + "devDependencies": { + "@types/debug": "^4.1.8", + "@types/node": "^18.15.0", + "typescript": "4.9.5" + }, + "files": [ + "dist/**/*", + "src/**/*", + "README.md", + "LICENSE" + ], + "private": false, + "publishConfig": { + "access": "public" + }, + "repository": "git@github.com:Sphereon-OpenSource/ssi-sdk.git", + "author": "Sphereon ", + "license": "Apache-2.0", + "keywords": [ + "Sphereon", + "SSI", + "StatusList2021" + ] +} diff --git a/packages/vc-status-list-issuer-drivers/src/drivers.ts b/packages/vc-status-list-issuer-drivers/src/drivers.ts new file mode 100644 index 000000000..d17eaa30d --- /dev/null +++ b/packages/vc-status-list-issuer-drivers/src/drivers.ts @@ -0,0 +1,263 @@ +import { DataSources } from '@sphereon/ssi-sdk.agent-config' +import { + IAddStatusListEntryArgs, + IGetStatusListEntryByCredentialIdArgs, + IGetStatusListEntryByIndexArgs, + IStatusListEntity, + IStatusListEntryEntity, + StatusListStore, +} from '@sphereon/ssi-sdk.data-store' +import { StatusList2021EntryCredentialStatus, statusListCredentialToDetails, StatusListDetails } from '@sphereon/ssi-sdk.vc-status-list' +import { OriginalVerifiableCredential, StatusListCredentialIdMode, StatusListDriverType } from '@sphereon/ssi-types' +import { DataSource } from 'typeorm' + +export interface StatusListManagementOptions { + id?: string + correlationId?: string + driverType: StatusListDriverType + driverOptions: DriverOptions +} + +export type DriverOptions = TypeORMOptions + +export interface TypeORMOptions { + dbName: string +} + +export interface FilesystemOptions { + path: string // The base path where statusList Credentials will be persisted. Should be a folder and thus not include the VC/StatusList itself +} + +export function getOptions(args: { id?: string; correlationId?: string; dbName: string }): StatusListManagementOptions { + return { + id: args.id, + correlationId: args.correlationId, + driverType: StatusListDriverType.AGENT_TYPEORM, + driverOptions: { dbName: args.dbName }, + } +} + +export async function getDriver(args: { id?: string; correlationId?: string; dbName: string }): Promise { + return await AgentTypeORMDriver.init(getOptions(args), { dataSources: DataSources.singleInstance() }) +} + +export interface Driver { + statusListStore: StatusListStore + + getType(): StatusListDriverType + + getOptions(): DriverOptions + + getStatusListLength(args?: { correlationId?: string }): Promise + + createStatusList(args: { statusListCredential: OriginalVerifiableCredential; correlationId?: string }): Promise + + getStatusList(args?: { correlationId?: string }): Promise + + updateStatusListEntry(args: IAddStatusListEntryArgs): Promise<{ + credentialStatus: StatusList2021EntryCredentialStatus + statusListEntry: IStatusListEntryEntity + }> + + getStatusListEntryByCredentialId(args: IGetStatusListEntryByCredentialIdArgs): Promise + + getStatusListEntryByIndex(args: IGetStatusListEntryByIndexArgs): Promise + + updateStatusList(args: { statusListCredential: OriginalVerifiableCredential }): Promise + + deleteStatusList(): Promise + + getRandomNewStatusListIndex(args?: { correlationId?: string }): Promise + + isStatusListIndexInUse(): Promise +} + +export class AgentTypeORMDriver implements Driver { + private _statusListLength: number | undefined + + private constructor(private _dataSource: DataSource, private _statusListStore: StatusListStore, private options: StatusListManagementOptions) {} + + public static async init( + options: StatusListManagementOptions, + dbArgs?: { + dataSources?: DataSources + dataSource?: DataSource + } + ): Promise { + if (options.driverType !== StatusListDriverType.AGENT_TYPEORM) { + throw Error(`TypeORM driver can only be used when the TypeORM driver type is selected in the configuration. Got: ${options.driverType}`) + } else if (!options.driverOptions) { + throw Error(`TypeORM driver can only be used when the TypeORM options are provided.`) + } + let dataSource: DataSource + let statusListStore: StatusListStore + if (dbArgs?.dataSource) { + dataSource = dbArgs.dataSource + } else if (dbArgs?.dataSources) { + dataSource = await dbArgs.dataSources.getDbConnection(options.driverOptions.dbName) + } else { + dataSource = await DataSources.singleInstance().getDbConnection(options.driverOptions.dbName) + } + statusListStore = new StatusListStore(dataSource) + return new AgentTypeORMDriver(dataSource, statusListStore, options) + } + + get dataSource(): DataSource { + if (!this._dataSource) { + throw Error(`Datasource not available yet for ${this.options.driverOptions.dbName}`) + } + return this._dataSource + } + + get statusListStore(): StatusListStore { + if (!this._statusListStore) { + this._statusListStore = new StatusListStore(this.dataSource) + } + return this._statusListStore + } + + getOptions(): DriverOptions { + return this.options.driverOptions + } + + getType(): StatusListDriverType { + return this.options.driverType + } + + async createStatusList(args: { + statusListCredential: OriginalVerifiableCredential + correlationId?: string + credentialIdMode?: StatusListCredentialIdMode + }): Promise { + const correlationId = args.correlationId ?? this.options.correlationId + if (!correlationId) { + throw Error('Either a correlationId needs to be set as an option, or it needs to be provided when creating a status list. None found') + } + const credentialIdMode = args.credentialIdMode ?? StatusListCredentialIdMode.ISSUANCE + const details = await statusListCredentialToDetails({ ...args, correlationId, driverType: this.getType() }) + const entity = await ( + await this.statusListStore.getStatusListRepo() + ).findOne({ + where: [ + { + id: details.id, + }, + { + correlationId, + }, + ], + }) + if (entity) { + throw Error(`Status list ${details.id}, correlationId ${args.correlationId} already exists`) + } + this._statusListLength = details.length + await this.statusListStore.addStatusList({ ...details, credentialIdMode, correlationId, driverType: this.getType() }) + return details + } + + async updateStatusList(args: { statusListCredential: OriginalVerifiableCredential; correlationId: string }): Promise { + const correlationId = args.correlationId ?? this.options.correlationId + const details = await statusListCredentialToDetails({ ...args, correlationId, driverType: this.getType() }) + const entity = await ( + await this.statusListStore.getStatusListRepo() + ).findOne({ + where: [ + { + id: details.id, + }, + { + correlationId, + }, + ], + }) + if (!entity) { + throw Error(`Status list ${details.id}, correlationId ${args.correlationId} could not be found`) + } + await this.statusListStore.updateStatusList({ + ...entity, + ...details, + correlationId, + driverType: this.getType(), + }) + this._statusListLength = details.length + return { ...entity, ...details } + } + + async deleteStatusList(): Promise { + await this.statusListStore.removeStatusList({ id: this.options.id, correlationId: this.options.correlationId }) + return Promise.resolve(true) + } + + async updateStatusListEntry(args: IAddStatusListEntryArgs): Promise<{ + credentialStatus: StatusList2021EntryCredentialStatus + statusListEntry: IStatusListEntryEntity + }> { + const statusList = typeof args.statusList === 'string' ? await this.getStatusList() : args.statusList + + const statusListEntry = await this.statusListStore.updateStatusListEntry({ ...args, statusList: statusList.id }) + const credentialStatus: StatusList2021EntryCredentialStatus = { + id: `${statusList.id}#${statusListEntry.statusListIndex}`, + type: 'StatusList2021Entry', + statusPurpose: statusList.statusPurpose ?? 'revocation', + statusListIndex: '' + statusListEntry.statusListIndex, + statusListCredential: statusList.id, + } + return { credentialStatus, statusListEntry } + } + + async getStatusListEntryByCredentialId(args: IGetStatusListEntryByCredentialIdArgs): Promise { + return await this.statusListStore.getStatusListEntryByCredentialId(args) + } + + async getStatusListEntryByIndex(args: IGetStatusListEntryByIndexArgs): Promise { + return await this.statusListStore.getStatusListEntryByIndex(args) + } + async getRandomNewStatusListIndex(args?: { correlationId?: string }): Promise { + let result = -1 + let tries = 0 + while (result < 0) { + // no tries guard, because we will throw an error when they are exhausted anyway + result = await this.getRandomNewStatusListIndexImpl(tries++, args) + } + return result + } + + private async getRandomNewStatusListIndexImpl(tries: number, args?: { correlationId?: string }): Promise { + const statusListId = this.options.id + const correlationId = args?.correlationId ?? this.options.correlationId + if (tries >= 10) { + throw Error(`We could not find any random status list index that is available in the statuslist ${statusListId}`) + } + // TODO: Check against DB + const length = await this.getStatusListLength(args) + const statusListIndex = Array.from({ length: 20 }, () => Math.floor(Math.random() * length)) + const available = await this.statusListStore.availableStatusListEntries({ + statusListId, + ...(correlationId && { correlationId }), + statusListIndex, + }) + if (available.length > 0) { + return available[0] // doesn't matter we pick the first element, as they are all random anyway + } + return -1 + } + + async getStatusListLength(args?: { correlationId?: string }): Promise { + if (!this._statusListLength) { + this._statusListLength = await this.getStatusList(args).then((details) => details.length) + } + return this._statusListLength! + } + + async getStatusList(args?: { correlationId?: string }): Promise { + const id = this.options.id + const correlationId = args?.correlationId ?? this.options.correlationId + return await this.statusListStore + .getStatusList({ id, correlationId }) + .then((statusListEntity: IStatusListEntity) => statusListCredentialToDetails({ statusListCredential: statusListEntity.statusListCredential! })) + } + + isStatusListIndexInUse(): Promise { + return Promise.resolve(false) + } +} diff --git a/packages/vc-status-list-issuer-drivers/src/index.ts b/packages/vc-status-list-issuer-drivers/src/index.ts new file mode 100644 index 000000000..56ede0bb5 --- /dev/null +++ b/packages/vc-status-list-issuer-drivers/src/index.ts @@ -0,0 +1,5 @@ +/** + * @public + */ +export * from './types' +export * from './drivers' diff --git a/packages/vc-status-list-issuer-drivers/src/types.ts b/packages/vc-status-list-issuer-drivers/src/types.ts new file mode 100644 index 000000000..f25f48d68 --- /dev/null +++ b/packages/vc-status-list-issuer-drivers/src/types.ts @@ -0,0 +1,21 @@ +import { + IAgentContext, + ICredentialIssuer, + ICredentialPlugin, + ICredentialVerifier, + IDataStore, + IDataStoreORM, + IDIDManager, + IKeyManager, + IResolver, +} from '@veramo/core' + +export type IRequiredPlugins = IDataStore & + IDataStoreORM & + IDIDManager & + IKeyManager & + ICredentialIssuer & + ICredentialVerifier & + ICredentialPlugin & + IResolver +export type IRequiredContext = IAgentContext diff --git a/packages/vc-status-list-issuer-drivers/tsconfig.json b/packages/vc-status-list-issuer-drivers/tsconfig.json new file mode 100644 index 000000000..c37309e95 --- /dev/null +++ b/packages/vc-status-list-issuer-drivers/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "target": "es2020" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */, + "module": "es2020" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, + "moduleResolution": "node", + "esModuleInterop": true, + "skipLibCheck": true, + "rootDir": "src", + "outDir": "dist", + "emitDecoratorMetadata": true, + "declarationDir": "dist" + }, + "references": [ + { + "path": "../ssi-types" + }, + { + "path": "../ssi-sdk-core" + }, + { + "path": "../agent-config" + }, + { + "path": "../data-store" + }, + { + "path": "../vc-status-list" + }, + { + "path": "../ssi-express-support" + } + ], + "extends": "../tsconfig-base.json" +} diff --git a/packages/vc-status-list-issuer-rest-api/CHANGELOG.md b/packages/vc-status-list-issuer-rest-api/CHANGELOG.md new file mode 100644 index 000000000..d8323c6e8 --- /dev/null +++ b/packages/vc-status-list-issuer-rest-api/CHANGELOG.md @@ -0,0 +1,54 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +# [0.14.0](https://github.com/Sphereon-OpenSource/ssi-sdk/compare/v0.13.0...v0.14.0) (2023-08-09) + +### Bug Fixes + +- RSA import fixes ([1e78d70](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/1e78d70679ce8a70d82d2b7320c6f7489ff1a870)) +- RSA import fixes ([77704a2](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/77704a2064e1c1d3ffc23e580ddbb36063fc70ae)) +- RSA import fixes ([52c560b](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/52c560b4d4fef999554ec00130cf7136dc2db1c6)) + +### Features + +- Add verification functions to KMS (only RSA for now) ([8f58f23](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/8f58f2308bc0dd612d1bb47b5ae05e8b67cf2efb)) + +# [0.13.0](https://github.com/Sphereon-OpenSource/ssi-sdk/compare/v0.12.1...v0.13.0) (2023-07-30) + +### Features + +- Add agent resolver method ([3c7b21e](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/3c7b21e13538fac64581c0c73d0450ef6e9b56f0)) +- Add support for RSA key generation and RSA to JWK ([75ba154](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/75ba154bb110a50a1892a5308627895a93f527a4)) + +## [0.12.1](https://github.com/Sphereon-OpenSource/ssi-sdk/compare/v0.12.0...v0.12.1) (2023-06-24) + +### Bug Fixes + +- Fix EC handling for JWKs ([9061e29](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/9061e2968005931127c52febbb3326fddcd62fb2)) +- Fix EC handling for JWKs ([dd423f2](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/dd423f24eff5fcc41a3b72c15d62d7e478fbe9b9)) +- Fixes in JWK handling ([f5cd4dd](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/f5cd4ddd4f0cd0f155dcbf3a7e8b43c89b97cacb)) +- Make sure we set the saltLength for RSA PSS ([e19ed6c](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/e19ed6c3a7b8454e8074111d33fc59a9c6bcc611)) + +# [0.12.0](https://github.com/Sphereon-OpenSource/ssi-sdk/compare/v0.11.0...v0.12.0) (2023-05-07) + +### Features + +- Move mnemonic seed generator to crypto extensions ([748a7f9](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/748a7f962d563c60aa543c0c6900aa0c0daea42d)) + +# [0.11.0](https://github.com/Sphereon-OpenSource/ssi-sdk/compare/v0.10.2...v0.11.0) (2023-04-30) + +### Features + +- add key utils package for common key functions ([0543254](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/0543254d14b4ba54adeeab944315db5ba6221d47)) + +# [0.9.0](https://github.com/Sphereon-OpenSource/ssi-sdk/compare/v0.8.0...v0.9.0) (2023-03-09) + +### Features + +- add Alg support to DID:JWK. Although optional in reality several external systems expect it to be present ([12dae72](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/12dae72860fd0dc00e96a8121b136c2195843388)) +- Add support for ES256/Secp256r1 DID JWKs ([1e447a6](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/1e447a6fedab92549d8848a13212e9dd8c75274a)) +- Allow to relax JWT timing checks, where the JWT claim is slightly different from the VC claim. Used for issuance and expiration dates ([85bff6d](https://github.com/Sphereon-OpenSource/ssi-sdk/commit/85bff6da21dea5d8f636ea1f55b41be00b18b002)) + +# Change Log diff --git a/packages/vc-status-list-issuer-rest-api/LICENSE b/packages/vc-status-list-issuer-rest-api/LICENSE new file mode 100644 index 000000000..a51495fe7 --- /dev/null +++ b/packages/vc-status-list-issuer-rest-api/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [2022] [Sphereon BV, info@sphereon.com] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/vc-status-list-issuer-rest-api/README.md b/packages/vc-status-list-issuer-rest-api/README.md new file mode 100644 index 000000000..520fb46c9 --- /dev/null +++ b/packages/vc-status-list-issuer-rest-api/README.md @@ -0,0 +1,21 @@ + +

+
+ Sphereon +
Status List - Issuer REST API +
+

+ +This package contains REST API functionality to host/manage StatusLists + +## Installation + +```shell +pnpm install @sphereon/ssi-sdk.vc-status-list-issuer-rest-api +``` + +## Build + +```shell +pnpm build +``` diff --git a/packages/vc-status-list-issuer-rest-api/__tests__/agent.ts b/packages/vc-status-list-issuer-rest-api/__tests__/agent.ts new file mode 100644 index 000000000..939645e77 --- /dev/null +++ b/packages/vc-status-list-issuer-rest-api/__tests__/agent.ts @@ -0,0 +1,164 @@ +import { ExpressBuilder } from '@sphereon/ssi-express-support' +import { JwkDIDProvider } from '@sphereon/ssi-sdk-ext.did-provider-jwk' +import { getDidJwkResolver } from '@sphereon/ssi-sdk-ext.did-resolver-jwk' +import { DataSources } from '@sphereon/ssi-sdk.agent-config' +import { + CredentialHandlerLDLocal, + ICredentialHandlerLDLocal, + LdDefaultContexts, + MethodNames, + SphereonBbsBlsSignature2020, + SphereonEcdsaSecp256k1RecoverySignature2020, + SphereonEd25519Signature2018, + SphereonEd25519Signature2020, + SphereonJsonWebSignature2020, +} from '@sphereon/ssi-sdk.vc-handler-ld-local' +import { createAgent, ICredentialPlugin, IDataStore, IDataStoreORM, IDIDManager, IKeyManager, IResolver, TAgent } from '@veramo/core' +import { CredentialPlugin } from '@veramo/credential-w3c' +import { DataStore, DataStoreORM, DIDStore, KeyStore, PrivateKeyStore } from '@veramo/data-store' +import { DIDManager } from '@veramo/did-manager' +import { getDidKeyResolver, KeyDIDProvider } from '@veramo/did-provider-key' +import { DIDResolverPlugin } from '@veramo/did-resolver' +import { KeyManager } from '@veramo/key-manager' +import { KeyManagementSystem, SecretBox } from '@veramo/kms-local' +import Debug from 'debug' +import { Resolver } from 'did-resolver' + +import { StatuslistManagementApiServer } from '../src' +import { IRequiredPlugins } from '@sphereon/ssi-sdk.vc-status-list-issuer-drivers' +import { DB_CONNECTION_NAME_POSTGRES, /*DB_CONNECTION_NAME_SQLITE,*/ DB_ENCRYPTION_KEY, postgresConfig /*, sqliteConfig*/ } from './database' + +const debug = Debug('sphereon:status-list-api') + +export const DID_PREFIX = 'did' + +export enum KeyManagementSystemEnum { + LOCAL = 'local', +} + +export enum SupportedDidMethodEnum { + DID_KEY = 'key', + DID_JWK = 'jwk', +} + +const PRIVATE_KEY_HEX = + 'ea6aaeebe17557e0fe256bfce08e8224a412ea1e25a5ec8b5d69618a58bad89e89a4661e446b46401325a38d3b20582d1dd277eb448a3181012a671b7ae15837' +// const PUBLIC_KEY_HEX = '89a4661e446b46401325a38d3b20582d1dd277eb448a3181012a671b7ae15837' + +export const resolver = new Resolver({ + ...getDidKeyResolver(), + ...getDidJwkResolver(), +}) + +export const didProviders = { + [`${DID_PREFIX}:${SupportedDidMethodEnum.DID_KEY}`]: new KeyDIDProvider({ + defaultKms: KeyManagementSystemEnum.LOCAL, + }), + [`${DID_PREFIX}:${SupportedDidMethodEnum.DID_JWK}`]: new JwkDIDProvider({ + defaultKms: KeyManagementSystemEnum.LOCAL, + }), +} + +const dbConnection = DataSources.singleInstance() + .addConfig(DB_CONNECTION_NAME_POSTGRES, postgresConfig) + // .addConfig(DB_CONNECTION_NAME_SQLITE, sqliteConfig) + .getDbConnection(DB_CONNECTION_NAME_POSTGRES) +const privateKeyStore: PrivateKeyStore = new PrivateKeyStore(dbConnection, new SecretBox(DB_ENCRYPTION_KEY)) + +const agent: TAgent = createAgent< + IDIDManager & IKeyManager & IDataStore & IDataStoreORM & IResolver & ICredentialHandlerLDLocal & ICredentialPlugin +>({ + plugins: [ + new DataStore(dbConnection), + new DataStoreORM(dbConnection), + new KeyManager({ + store: new KeyStore(dbConnection), + kms: { + local: new KeyManagementSystem(privateKeyStore), + }, + }), + new DIDManager({ + store: new DIDStore(dbConnection), + defaultProvider: `${DID_PREFIX}:${SupportedDidMethodEnum.DID_JWK}`, + providers: didProviders, + }), + new DIDResolverPlugin({ + resolver, + }), + new CredentialPlugin(), + new CredentialHandlerLDLocal({ + contextMaps: [LdDefaultContexts], + suites: [ + new SphereonEd25519Signature2018(), + new SphereonEd25519Signature2020(), + new SphereonBbsBlsSignature2020(), + new SphereonJsonWebSignature2020(), + new SphereonEcdsaSecp256k1RecoverySignature2020(), + ], + bindingOverrides: new Map([ + ['createVerifiableCredentialLD', MethodNames.createVerifiableCredentialLDLocal], + ['createVerifiablePresentationLD', MethodNames.createVerifiablePresentationLDLocal], + ]), + keyStore: privateKeyStore, + }), + ], +}) + +agent.dataStoreORMGetIdentifiers().then((ids) => ids.forEach((id) => console.log(JSON.stringify(id, null, 2)))) +agent + .didManagerCreate({ + provider: 'did:jwk', + alias: 'test', + options: { + type: 'Ed25519', + key: { + privateKeyHex: PRIVATE_KEY_HEX, + }, + }, + }) + .then((value) => { + debug(`IDENTIFIER: ${value.did}`) + }) + .catch((reason) => { + console.log(`error on creation: ${reason}`) + }) + .finally(() => { + const builder = ExpressBuilder.fromServerOpts({ + port: 5002, + hostname: 'localhost', + }) + .withMorganLogging({ format: 'dev' }) + .withPassportAuth(true) + .withSessionOptions({ secret: '1234', name: 'oidc-session' }) + const expressSupport = builder.build() + + new StatuslistManagementApiServer({ + opts: { + endpointOpts: { + globalAuth: { + authentication: { + enabled: false, + // strategy: bearerStrategy, + }, + }, + vcApiCredentialStatus: { + dbName: DB_CONNECTION_NAME_POSTGRES, + disableGlobalAuth: true, + correlationId: '123', + }, + getStatusList: { + dbName: DB_CONNECTION_NAME_POSTGRES, + }, + createStatusList: { + dbName: DB_CONNECTION_NAME_POSTGRES, + }, + }, + enableFeatures: ['w3c-vc-api-credential-status', 'status-list-hosting', 'status-list-management'], + }, + expressSupport, + agent, + }) + expressSupport.start() + }) + +export default agent diff --git a/packages/vc-status-list-issuer-rest-api/__tests__/database/config.ts b/packages/vc-status-list-issuer-rest-api/__tests__/database/config.ts new file mode 100644 index 000000000..62519e7d9 --- /dev/null +++ b/packages/vc-status-list-issuer-rest-api/__tests__/database/config.ts @@ -0,0 +1,40 @@ +import { Entities as VeramoDataStoreEntities, migrations as VeramoDataStoreMigrations } from '@veramo/data-store' +import { + // DataStoreStatusListEntities, + DataStoreMigrations, + // DataStoreContactEntities, + DataStoreEntities, +} from '@sphereon/ssi-sdk.data-store' +import { PostgresConnectionOptions } from 'typeorm/driver/postgres/PostgresConnectionOptions' +import { SqliteConnectionOptions } from 'typeorm/driver/sqlite/SqliteConnectionOptions' + +const DB_CONNECTION_NAME_SQLITE = 'sqlite' +const DB_CONNECTION_NAME_POSTGRES = 'postgres' +const DB_ENCRYPTION_KEY = '29739248cad1bd1a0fc4d9b75cd4d2990de535baf5caadfdf8d8f86664aa830c' + +const sqliteConfig: SqliteConnectionOptions = { + type: 'sqlite', + database: '__tests__/database/test.sqlite', + entities: [...VeramoDataStoreEntities, ...DataStoreEntities], + migrations: [...VeramoDataStoreMigrations, ...DataStoreMigrations], + migrationsRun: false, // We run migrations from code to ensure proper ordering with Redux + synchronize: false, // We do not enable synchronize, as we use migrations from code + migrationsTransactionMode: 'each', // protect every migration with a separate transaction + logging: 'all', // 'all' means to enable all logging + logger: 'advanced-console', +} + +const postgresConfig: PostgresConnectionOptions = { + type: 'postgres', + database: 'vc-status-list', + username: 'postgres', + password: 'test', + entities: [...VeramoDataStoreEntities, ...DataStoreEntities], + migrations: [...VeramoDataStoreMigrations, ...DataStoreMigrations], + migrationsRun: false, // We run migrations from code to ensure proper ordering with Redux + synchronize: false, // We do not enable synchronize, as we use migrations from code + migrationsTransactionMode: 'each', // protect every migration with a separate transaction + logging: 'all', // 'all' means to enable all logging + logger: 'advanced-console', +} +export { sqliteConfig, postgresConfig, DB_CONNECTION_NAME_SQLITE, DB_CONNECTION_NAME_POSTGRES, DB_ENCRYPTION_KEY } diff --git a/packages/vc-status-list-issuer-rest-api/__tests__/database/index.ts b/packages/vc-status-list-issuer-rest-api/__tests__/database/index.ts new file mode 100644 index 000000000..f934b01b6 --- /dev/null +++ b/packages/vc-status-list-issuer-rest-api/__tests__/database/index.ts @@ -0,0 +1 @@ +export * from './config' diff --git a/packages/vc-status-list-issuer-rest-api/package.json b/packages/vc-status-list-issuer-rest-api/package.json new file mode 100644 index 000000000..b8a2458dd --- /dev/null +++ b/packages/vc-status-list-issuer-rest-api/package.json @@ -0,0 +1,81 @@ +{ + "name": "@sphereon/ssi-sdk.vc-status-list-issuer-rest-api", + "description": "Sphereon SSI-SDK plugin for Status List management, like StatusList2021. Issuer drivers module", + "version": "0.14.1-next.3", + "source": "src/index.ts", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "scripts": { + "build": "tsc --build", + "build:clean": "tsc --build --clean && tsc --build", + "start:dev": "node --experimental-specifier-resolution=node --loader ts-node/esm __tests__/agent.ts", + "start:dev2": "node --experimental-specifier-resolution=node --loader ts-node/esm __tests__/agent.ts" + }, + "dependencies": { + "reflect-metadata": "^0.1.13", + "@sphereon/ssi-sdk.vc-status-list": "workspace:*", + "@sphereon/ssi-sdk.vc-status-list-issuer-drivers": "workspace:*", + "@sphereon/ssi-express-support": "workspace:^", + "@sphereon/ssi-sdk.core": "workspace:^", + "@sphereon/ssi-sdk.data-store": "workspace:*", + "@sphereon/ssi-sdk.agent-config": "workspace:^", + "typeorm": "^0.3.12", + "express": "^4.18.2", + "uuid": "^9.0.0", + "@digitalcredentials/vc-status-list": "^5.0.2", + "@veramo/core": "4.2.0", + "@sphereon/ssi-sdk-ext.did-utils": "^0.14.1-next.3", + "@sphereon/ssi-types": "workspace:^", + "debug": "^4.3.4", + "uint8arrays": "^3.1.1" + }, + "devDependencies": { + "@types/debug": "^4.1.8", + "@types/express": "^4.17.17", + "@types/uuid": "^9.0.3", + "@sphereon/did-uni-client": "^0.6.0", + "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.14.1-next.3", + "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.14.1-next.3", + "@sphereon/ssi-sdk.data-store": "workspace:^", + "@sphereon/ssi-sdk.vc-handler-ld-local": "workspace:^", + "@types/body-parser": "^1.19.2", + "@types/cookie-parser": "^1.4.3", + "@types/cors": "^2.8.13", + "@types/dotenv-flow": "^3.2.0", + "@types/express-http-proxy": "^1.6.3", + "@types/morgan": "^1.9.4", + "@types/node": "^18.15.0", + "@types/passport": "^1.0.12", + "@veramo/data-store": "4.2.0", + "@veramo/did-manager": "4.2.0", + "@veramo/did-provider-key": "4.2.0", + "@veramo/did-provider-web": "4.2.0", + "@veramo/did-resolver": "4.2.0", + "@veramo/key-manager": "4.2.0", + "@veramo/credential-w3c": "4.2.0", + "@veramo/kms-local": "4.2.0", + "@veramo/utils": "4.2.0", + "did-resolver": "^4.1.0", + "morgan": "^1.10.0", + "pg": "^8.11.3", + "typescript": "4.9.5" + }, + "files": [ + "dist/**/*", + "src/**/*", + "README.md", + "LICENSE" + ], + "private": false, + "publishConfig": { + "access": "public" + }, + "repository": "git@github.com:Sphereon-OpenSource/ssi-sdk.git", + "author": "Sphereon ", + "license": "Apache-2.0", + "keywords": [ + "Sphereon", + "SSI", + "StatusList2021" + ] +} diff --git a/packages/vc-status-list-issuer-rest-api/src/api-functions.ts b/packages/vc-status-list-issuer-rest-api/src/api-functions.ts new file mode 100644 index 000000000..35afeeaba --- /dev/null +++ b/packages/vc-status-list-issuer-rest-api/src/api-functions.ts @@ -0,0 +1,182 @@ +import { checkAuth, sendErrorResponse } from '@sphereon/ssi-express-support' +import { + checkStatusIndexFromStatusListCredential, + createNewStatusList, + CreateNewStatusListArgs, + updateStatusIndexFromStatusListCredential, +} from '@sphereon/ssi-sdk.vc-status-list' +import { getDriver, IRequiredContext } from '@sphereon/ssi-sdk.vc-status-list-issuer-drivers' +import Debug from 'debug' +import { Request, Response, Router } from 'express' +import { ICredentialStatusListEndpointOpts, IW3CredentialStatusEndpointOpts, UpdateCredentialStatusRequest } from './types' + +const debug = Debug('sphereon:ssi-sdk:status-list') + +export function createNewStatusListEndpoint(router: Router, context: IRequiredContext, opts: ICredentialStatusListEndpointOpts) { + if (opts?.enabled === false) { + console.log(`Create new status list endpoint is disabled`) + return + } + const path = opts?.path ?? '/credentials/status-lists' + + router.post(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => { + try { + const statusListArgs: CreateNewStatusListArgs = request.body.statusList + if (!statusListArgs) { + return sendErrorResponse(response, 400, 'No statusList details supplied') + } + const statusList = await createNewStatusList(statusListArgs, context) + const driver = await getDriver({ + id: statusListArgs.id, + correlationId: statusListArgs.correlationId ?? request.originalUrl, + dbName: opts.dbName, + }) + const statusListDetails = await driver.createStatusList({ + statusListCredential: statusList.statusListCredential, + correlationId: statusListArgs.correlationId, + }) + return response.send({ statusListDetails }) + } catch (e) { + return sendErrorResponse(response, 500, e.message as string, e) + } + }) +} + +export function getStatusListCredentialEndpoint(router: Router, context: IRequiredContext, opts: ICredentialStatusListEndpointOpts) { + if (opts?.enabled === false) { + console.log(`Get statusList credential endpoint is disabled`) + return + } + const path = opts?.path ?? '/credentials/status-lists/:index' + router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => { + try { + //todo: Check index against correlationId first. Then match originalUrl against statusList id + const correlationId = request.query.correlationId?.toString() ?? request.params.index?.toString() ?? request.originalUrl + const driver = await getDriver({ id: `${request.protocol}://${request.get('host')}${request.originalUrl}`, correlationId, dbName: opts.dbName }) + const details = await driver.getStatusList() + response.statusCode = 200 + return response.send(details.statusListCredential) + } catch (e) { + return sendErrorResponse(response, 500, e.message as string, e) + } + }) +} + +export function getStatusListCredentialIndexStatusEndpoint(router: Router, context: IRequiredContext, opts: ICredentialStatusListEndpointOpts) { + if (opts?.enabled === false) { + console.log(`Get statusList credential index status endpoint is disabled`) + return + } + const path = opts?.path ?? '/credentials/status-lists/:index/status/index/:statusListIndex' + router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => { + try { + //todo: Check index against correlationId first. Then match originalUrl against statusList id + const statusListIndexStr = request.params.statusListIndex + let statusListIndex: number + try { + statusListIndex = Number.parseInt(statusListIndexStr) + } catch (error) { + return sendErrorResponse(response, 400, `Please provide a proper statusListIndex`) + } + if (!statusListIndex || statusListIndex < 0) { + return sendErrorResponse(response, 400, `Please provide a proper statusListIndex`) + } + const correlationId = request.query.correlationId?.toString() ?? request.params.index?.toString() ?? request.originalUrl + const driver = await getDriver({ + id: `${request.protocol}://${request.get('host')}${request.originalUrl.replace(/\/status\/index\/.*/, '')}`, + correlationId, + dbName: opts.dbName, + }) + const details = await driver.getStatusList() + if (statusListIndex > details.length) { + return sendErrorResponse(response, 400, `Please provide a proper statusListIndex`) + } + + let entry = await driver.getStatusListEntryByIndex({ + statusListIndex, + statusListId: details.id, + correlationId: details.correlationId, + errorOnNotFound: false, + }) + const status = await checkStatusIndexFromStatusListCredential({ ...details, statusListIndex }) + if (!entry) { + // The fact we have nothing on it means the status is okay + entry = { + statusList: details.id, + value: '0', + statusListIndex, + } + } + response.statusCode = 200 + return response.send({ ...entry, status }) + } catch (e) { + return sendErrorResponse(response, 500, e.message as string, e) + } + }) +} +export function updateW3CStatusEndpoint(router: Router, context: IRequiredContext, opts: IW3CredentialStatusEndpointOpts) { + if (opts?.enabled === false) { + console.log(`Update credential status endpoint is disabled`) + return + } + router.post(opts?.path ?? '/credentials/status', checkAuth(opts?.endpoint), async (request: Request, response: Response) => { + try { + debug(JSON.stringify(request.body, null, 2)) + const updateRequest = request.body as UpdateCredentialStatusRequest + const statusListId = updateRequest.statusListId ?? request.query.statusListId?.toString() ?? opts.statusListId + const statusListCorrelationId = updateRequest.statusListCorrelationId ?? request.query.statusListorrelationId?.toString() ?? opts.correlationId + const entryCorrelationId = updateRequest.entryCorrelationId ?? request.query.entryCorrelationId?.toString() + const credentialId = updateRequest.credentialId + + // TODO: Move mostly to driver + if (!credentialId) { + return sendErrorResponse(response, 400, 'No statusList credentialId supplied') + } else if (!updateRequest.credentialStatus || updateRequest.credentialStatus.length === 0) { + return sendErrorResponse(response, 400, 'No statusList updates supplied') + } else if (!statusListId && !statusListCorrelationId) { + return sendErrorResponse(response, 400, 'No statusList id or correlation Id provided or deduced for the API or in the request') + } + const driver = await getDriver({ id: statusListId, correlationId: statusListCorrelationId, dbName: opts.dbName }) + // unfortunately the W3C API works by credentialId. Which means you will have to map listIndices during issuance + const statusListEntry = await driver.getStatusListEntryByCredentialId({ + statusListId, + statusListCorrelationId, + entryCorrelationId, + credentialId, + errorOnNotFound: true, + }) + if (!statusListEntry) { + return sendErrorResponse( + response, + 404, + `status list index for credential id ${credentialId} was never recorded for ${statusListId}. This means the status will be 0` + ) + } + const statusListIndex = statusListEntry.statusListIndex + let details = await driver.getStatusList() + let statusListCredential = details.statusListCredential + + for (const updateItem of updateRequest.credentialStatus) { + if (updateItem.type && updateItem.type !== 'StatusList2021') { + return sendErrorResponse(response, 400, `Only the optional type 'StatusList2021' is currently supported`) + } + + if (!updateItem.status) { + throw Error(`Required 'status' value was missing in the credentialStatus array for credentialId ${credentialId}`) + } + const value = updateItem.status === '0' || updateItem.status.toLowerCase() === 'false' ? false : true + const statusList = statusListId ?? statusListEntry.statusList + await driver.updateStatusListEntry({ ...statusListEntry, statusListIndex, statusList, credentialId, value: value ? '1' : '0' }) + + // todo: optimize. We are now creating a new VC for every item passed in. Probably wise to look at DB as well + details = await updateStatusIndexFromStatusListCredential({ statusListCredential, statusListIndex, value, keyRef: opts.keyRef }, context) + details = await driver.updateStatusList({ statusListCredential: details.statusListCredential }) + } + + response.statusCode = 200 + return response.send(details.statusListCredential) + } catch (e) { + return sendErrorResponse(response, 500, e.message as string, e) + } + }) +} diff --git a/packages/vc-status-list-issuer-rest-api/src/index.ts b/packages/vc-status-list-issuer-rest-api/src/index.ts new file mode 100644 index 000000000..e507a8732 --- /dev/null +++ b/packages/vc-status-list-issuer-rest-api/src/index.ts @@ -0,0 +1,6 @@ +/** + * @public + */ +export * from './statuslist-management-api-server' +export * from './types' +export * from './api-functions' diff --git a/packages/vc-status-list-issuer-rest-api/src/statuslist-management-api-server.ts b/packages/vc-status-list-issuer-rest-api/src/statuslist-management-api-server.ts new file mode 100644 index 000000000..46445f22a --- /dev/null +++ b/packages/vc-status-list-issuer-rest-api/src/statuslist-management-api-server.ts @@ -0,0 +1,82 @@ +import { copyGlobalAuthToEndpoint, ExpressSupport } from '@sphereon/ssi-express-support' +import { agentContext } from '@sphereon/ssi-sdk.core' +import { TAgent } from '@veramo/core' + +import express, { Express, Router } from 'express' +import { + createNewStatusListEndpoint, + getStatusListCredentialEndpoint, + getStatusListCredentialIndexStatusEndpoint, + updateW3CStatusEndpoint, +} from './api-functions' +import { IStatusListOpts } from './types' +import { IRequiredPlugins } from '@sphereon/ssi-sdk.vc-status-list-issuer-drivers' + +export class StatuslistManagementApiServer { + get router(): express.Router { + return this._router + } + + private readonly _express: Express + private readonly _agent: TAgent + private readonly _opts?: IStatusListOpts + private readonly _router: Router + + constructor(args: { agent: TAgent; expressSupport: ExpressSupport; opts: IStatusListOpts }) { + const { agent, opts } = args + this._agent = agent + if (opts?.endpointOpts?.globalAuth) { + copyGlobalAuthToEndpoint({ opts, key: 'vcApiCredentialStatus' }) + copyGlobalAuthToEndpoint({ opts, key: 'createStatusList' }) + copyGlobalAuthToEndpoint({ opts, key: 'getStatusList' }) + } + + this._opts = opts + this._express = args.expressSupport.express + this._router = express.Router() + + const context = agentContext(agent) + + const features = opts?.enableFeatures ?? ['status-list-management', 'status-list-hosting', 'w3c-vc-api-credential-status'] + console.log(`Status List API enabled, with features: ${JSON.stringify(features)}`) + + // Credential Status (List) endpoints + if (features.includes('status-list-management')) { + createNewStatusListEndpoint(this.router, context, opts.endpointOpts.createStatusList) + } + if (features.includes('status-list-hosting')) { + getStatusListCredentialEndpoint(this.router, context, opts.endpointOpts.getStatusList) + getStatusListCredentialIndexStatusEndpoint(this.router, context, opts.endpointOpts.getStatusList) + } + if (features.includes('w3c-vc-api-credential-status')) { + updateW3CStatusEndpoint(this.router, context, opts.endpointOpts.vcApiCredentialStatus) + } + this._express.use(opts?.endpointOpts?.basePath ?? '', this.router) + } + + get agent(): TAgent { + return this._agent + } + + get opts(): IStatusListOpts | undefined { + return this._opts + } + + get express(): Express { + return this._express + } +} + +/* +function copyGlobalAuthToEndpoint(opts: IStatusListOpts, key: string) { + if (opts?.endpointOpts?.globalAuth) { + // @ts-ignore + opts.endpointOpts[key] = { + // @ts-ignore + ...opts.endpointOpts[key], + // @ts-ignore + endpoint: {...opts.endpointOpts.globalAuth, ...opts.endpointOpts[key]?.endpoint}, + } + } +} +*/ diff --git a/packages/vc-status-list-issuer-rest-api/src/types.ts b/packages/vc-status-list-issuer-rest-api/src/types.ts new file mode 100644 index 000000000..f58f89906 --- /dev/null +++ b/packages/vc-status-list-issuer-rest-api/src/types.ts @@ -0,0 +1,40 @@ +import { GenericAuthArgs, ISingleEndpointOpts } from '@sphereon/ssi-express-support' +import { StatusListType } from '@sphereon/ssi-types' + +export interface IStatusListOpts { + endpointOpts: IStatusListEndpointOpts + enableFeatures?: statusListFeatures[] // Feature to enable. If not defined or empty, all features will be enabled +} + +export interface IStatusListEndpointOpts { + basePath?: string + globalAuth?: GenericAuthArgs + vcApiCredentialStatus: IW3CredentialStatusEndpointOpts + createStatusList: ICredentialStatusListEndpointOpts + getStatusList: ICredentialStatusListEndpointOpts +} + +export type statusListFeatures = 'w3c-vc-api-credential-status' | 'status-list-management' | 'status-list-hosting' + +export interface ICredentialStatusListEndpointOpts extends ISingleEndpointOpts { + dbName: string +} + +export interface IW3CredentialStatusEndpointOpts extends ICredentialStatusListEndpointOpts { + statusListId?: string + correlationId?: string + keyRef?: string +} + +export interface UpdateCredentialStatusRequest { + credentialId: string + credentialStatus: UpdateCredentialStatusItem[] + statusListId?: string // Non spec compliant. Allows us to manage multiple status lists. The VC API endpoint also has this config option, allowing for a default + statusListCorrelationId?: string // Non spec compliant. Allows us to manage multiple status lists. The VC API endpoint also has this config option, allowing for a default + entryCorrelationId?: string // Non spec compliant. Allows us to manage multiple status lists. The VC API endpoint also has this config option, allowing for a default +} + +export interface UpdateCredentialStatusItem { + type?: StatusListType // makes very little sense, but listed in the spec. Would expect a purpose + status: string +} diff --git a/packages/vc-status-list-issuer-rest-api/tsconfig.json b/packages/vc-status-list-issuer-rest-api/tsconfig.json new file mode 100644 index 000000000..2e55e6c34 --- /dev/null +++ b/packages/vc-status-list-issuer-rest-api/tsconfig.json @@ -0,0 +1,37 @@ +{ + "compilerOptions": { + "target": "es2020" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */, + "module": "es2020" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, + "moduleResolution": "node", + "esModuleInterop": true, + "skipLibCheck": true, + "rootDir": "src", + "outDir": "dist", + "emitDecoratorMetadata": true, + "declarationDir": "dist" + }, + "references": [ + { + "path": "../ssi-types" + }, + { + "path": "../ssi-sdk-core" + }, + { + "path": "../agent-config" + }, + { + "path": "../data-store" + }, + { + "path": "../vc-status-list" + }, + { + "path": "../vc-status-list-issuer-drivers" + }, + { + "path": "../ssi-express-support" + } + ], + "extends": "../tsconfig-base.json" +} diff --git a/packages/vc-status-list/README.md b/packages/vc-status-list/README.md index 525fa0ab8..5df814a3f 100644 --- a/packages/vc-status-list/README.md +++ b/packages/vc-status-list/README.md @@ -2,20 +2,20 @@


Sphereon -
Key Utils +
Status List - Common

-This package contains Key generation and transformation functions used by other modules. +This package contains common StatusLists functions for issuers, holders and verifiers ## Installation ```shell -yarn add @sphereon/ssi-sdk-ext.key-utils +pnpm install @sphereon/ssi-sdk.vc-status-list ``` ## Build ```shell -yarn build +pnpm build ``` diff --git a/packages/vc-status-list/package.json b/packages/vc-status-list/package.json index ef199af7d..f1a7c7bfe 100644 --- a/packages/vc-status-list/package.json +++ b/packages/vc-status-list/package.json @@ -11,13 +11,20 @@ }, "dependencies": { "@digitalcredentials/vc-status-list": "^5.0.2", - "@veramo/core": "4.2.0", + "fix-esm": "^1.0.1", "@sphereon/ssi-sdk-ext.did-utils": "^0.14.1-next.3", "@sphereon/ssi-types": "workspace:^", + "@veramo/core": "4.2.0", + "@veramo/credential-status": "4.2.0", + "credential-status": "^2.0.6", "debug": "^4.3.4", "uint8arrays": "^3.1.1" }, "devDependencies": { + "@babel/cli": "^7.0.0", + "@babel/core": "^7.0.0", + "@babel/preset-env": "^7.22.2", + "@babel/preset-typescript": "^7.21.5", "typescript": "4.9.5" }, "files": [ diff --git a/packages/vc-status-list/src/functions.ts b/packages/vc-status-list/src/functions.ts index 10b2d5519..8fd50e22e 100644 --- a/packages/vc-status-list/src/functions.ts +++ b/packages/vc-status-list/src/functions.ts @@ -1,17 +1,27 @@ -import { checkStatus as checkStatusImpl, StatusList } from '@digitalcredentials/vc-status-list' import { getIdentifier, getKey } from '@sphereon/ssi-sdk-ext.did-utils' -import { CredentialMapper, DocumentFormat, IIssuer, OriginalVerifiableCredential } from '@sphereon/ssi-types' -import { IAgentContext, ICredentialPlugin, IDIDManager, IResolver, ProofFormat } from '@veramo/core' +import { + CredentialMapper, + DocumentFormat, + IIssuer, + OriginalVerifiableCredential, + StatusListDriverType, + StatusListType, + StatusPurpose2021, +} from '@sphereon/ssi-types' +import { CredentialStatus, DIDDocument, IAgentContext, ICredentialPlugin, IDIDManager, IResolver, ProofFormat } from '@veramo/core' +import { CredentialJwtOrJSON, StatusMethod } from 'credential-status' import { CreateNewStatusListArgs, StatusList2021ToVerifiableCredentialArgs, + StatusListDetails, StatusListResult, - StatusListType, - StatusPurpose2021, UpdateStatusListFromEncodedListArgs, UpdateStatusListFromStatusListCredentialArgs, } from './types' +//fixme: Remove fix-esm when we move to ESM For whatever reason it kept complaining to do a require even when changing module/target in tsconfig +const sl = require('fix-esm').require('@digitalcredentials/vc-status-list') + export async function fetchStatusListCredential(args: { statusListCredential: string }): Promise { const url = getAssertedValue('statusListCredential', args.statusListCredential) try { @@ -31,14 +41,46 @@ export async function fetchStatusListCredential(args: { statusListCredential: st } } -export function checkStatusFunction(args: { +export function statusPluginStatusFunction(args: { + documentLoader: any + suite: any + mandatoryCredentialStatus?: boolean + verifyStatusListCredential?: boolean + verifyMatchingIssuers?: boolean +}): StatusMethod { + return async (credential: CredentialJwtOrJSON, didDoc: DIDDocument): Promise => { + const result = await checkStatusForCredential({ + ...args, + documentLoader: args.documentLoader, + credential: credential as OriginalVerifiableCredential, + }) + + return { + revoked: !result.verified || result.error, + ...(result.error && { error: result.error }), + } + } +} + +/** + * Function that can be used together with @digitalbazar/vc and @digitialcredentials/vc + * @param args + */ +export function vcLibCheckStatusFunction(args: { mandatoryCredentialStatus?: boolean verifyStatusListCredential?: boolean verifyMatchingIssuers?: boolean }) { const { mandatoryCredentialStatus, verifyStatusListCredential, verifyMatchingIssuers } = args - return (args: { credential: OriginalVerifiableCredential; documentLoader: any; suite: any }): Promise<{ verified: boolean; error?: any }> => { - return checkStatusFromStatusListCredential({ + return (args: { + credential: OriginalVerifiableCredential + documentLoader: any + suite: any + }): Promise<{ + verified: boolean + error?: any + }> => { + return checkStatusForCredential({ ...args, mandatoryCredentialStatus, verifyStatusListCredential, @@ -47,7 +89,7 @@ export function checkStatusFunction(args: { } } -export async function checkStatusFromStatusListCredential(args: { +export async function checkStatusForCredential(args: { credential: OriginalVerifiableCredential documentLoader: any suite: any @@ -55,8 +97,8 @@ export async function checkStatusFromStatusListCredential(args: { verifyStatusListCredential?: boolean verifyMatchingIssuers?: boolean }): Promise<{ verified: boolean; error?: any }> { - const verifyStatusListCredential = args.verifyStatusListCredential === undefined ? true : args.verifyStatusListCredential - const verifyMatchingIssuers = args.verifyMatchingIssuers === undefined ? true : args.verifyMatchingIssuers + const verifyStatusListCredential = args.verifyStatusListCredential ?? true + const verifyMatchingIssuers = args.verifyMatchingIssuers ?? true const uniform = CredentialMapper.toUniformCredential(args.credential) if (!('credentialStatus' in uniform) || !uniform.credentialStatus) { if (args.mandatoryCredentialStatus) { @@ -65,7 +107,7 @@ export async function checkStatusFromStatusListCredential(args: { return { verified: true } } - return checkStatusImpl({ ...args, verifyStatusListCredential, verifyMatchingIssuers }) + return sl.checkStatus({ ...args, verifyStatusListCredential, verifyMatchingIssuers }) } export async function simpleCheckStatusFromStatusListUrl(args: { @@ -75,18 +117,18 @@ export async function simpleCheckStatusFromStatusListUrl(args: { id?: string statusListIndex: string }): Promise { - return simpleCheckStatusFromStatusListCredential({ + return checkStatusIndexFromStatusListCredential({ ...args, statusListCredential: await fetchStatusListCredential(args), }) } -export async function simpleCheckStatusFromStatusListCredential(args: { +export async function checkStatusIndexFromStatusListCredential(args: { statusListCredential: OriginalVerifiableCredential statusPurpose?: StatusPurpose2021 type?: StatusListType | 'StatusList2021Entry' id?: string - statusListIndex: string + statusListIndex: string | number }): Promise { const requestedType = getAssertedStatusListType(args.type?.replace('Entry', '') as StatusListType) const uniform = CredentialMapper.toUniformCredential(args.statusListCredential) @@ -107,19 +149,24 @@ export async function simpleCheckStatusFromStatusListCredential(args: { } // @ts-ignore const encodedList = getAssertedValue('encodedList', credentialSubject['encodedList']) - const statusList = await StatusList.decode({ encodedList }) - return statusList.getStatus(Number.parseInt(args.statusListIndex)) + + const statusList = await sl.StatusList.decode({ encodedList }) + const status = statusList.getStatus(typeof args.statusListIndex === 'number' ? args.statusListIndex : Number.parseInt(args.statusListIndex)) + return status } export async function createNewStatusList( args: CreateNewStatusListArgs, context: IAgentContext ): Promise { - const length = args?.length ?? 100000 + const length = args?.length ?? 250000 const proofFormat = args?.proofFormat ?? 'lds' const { issuer, type, id } = getAssertedValues(args) - const list = new StatusList({ length }) + const correlationId = getAssertedValue('correlationId', args.correlationId) + + const list = new sl.StatusList({ length }) const encodedList = await list.encode() + const statusPurpose = args.statusPurpose ?? 'revocation' const statusListCredential = await statusList2021ToVerifiableCredential( { ...args, @@ -130,13 +177,39 @@ export async function createNewStatusList( context ) - return { encodedList, statusListCredential, length, type, proofFormat, id, issuer, indexingDirection: 'rightToLeft' } + return { + encodedList, + statusListCredential, + length, + type, + proofFormat, + id, + correlationId, + issuer, + statusPurpose, + indexingDirection: 'rightToLeft', + } as StatusListResult } -export async function updateStatusListFromStatusListCredential( +export async function updateStatusIndexFromStatusListCredential( args: UpdateStatusListFromStatusListCredentialArgs, context: IAgentContext -) { +): Promise { + return updateStatusListIndexFromEncodedList( + { + ...(await statusListCredentialToDetails(args)), + statusListIndex: args.statusListIndex, + value: args.value, + }, + context + ) +} + +export async function statusListCredentialToDetails(args: { + statusListCredential: OriginalVerifiableCredential + correlationId?: string + driverType?: StatusListDriverType +}): Promise { const credential = getAssertedValue('statusListCredential', args.statusListCredential) const uniform = CredentialMapper.toUniformCredential(credential) const { issuer, type, credentialSubject } = uniform @@ -147,31 +220,33 @@ export async function updateStatusListFromStatusListCredential( // @ts-ignore const { encodedList, statusPurpose } = credentialSubject const proofFormat: ProofFormat = CredentialMapper.detectDocumentType(credential) === DocumentFormat.JWT ? 'jwt' : 'lds' - return updateStatusListFromEncodedList( - { - encodedList, - statusPurpose, - type: 'StatusList2021', - id, - proofFormat, - issuer, - index: args.index, - value: args.value, - }, - context - ) + return { + id, + encodedList, + issuer, + type: StatusListType.StatusList2021, + proofFormat, + indexingDirection: 'rightToLeft', + length: (await sl.StatusList.decode({ encodedList })).length, + statusPurpose, + statusListCredential: credential, + ...(args.correlationId && { correlationId: args.correlationId }), + ...(args.driverType && { driverType: args.driverType }), + } } -export async function updateStatusListFromEncodedList( +export async function updateStatusListIndexFromEncodedList( args: UpdateStatusListFromEncodedListArgs, context: IAgentContext -) { +): Promise { const { issuer, type, id } = getAssertedValues(args) const proofFormat = args?.proofFormat ?? 'lds' const origEncodedList = getAssertedValue('encodedList', args.encodedList) - const index = getAssertedValue('index', args.index) + const index = getAssertedValue('index', typeof args.statusListIndex === 'number' ? args.statusListIndex : Number.parseInt(args.statusListIndex)) const value = getAssertedValue('value', args.value) - const statusList = await StatusList.decode({ encodedList: origEncodedList }) + const statusPurpose = getAssertedValue('statusPurpose', args.statusPurpose) + + const statusList = await sl.StatusList.decode({ encodedList: origEncodedList }) statusList.setStatus(index, value) const encodedList = await statusList.encode() const statusListCredential = await statusList2021ToVerifiableCredential( @@ -191,6 +266,7 @@ export async function updateStatusListFromEncodedList( proofFormat, id, issuer, + statusPurpose, indexingDirection: 'rightToLeft', } } @@ -230,8 +306,8 @@ export async function statusList2021ToVerifiableCredential( } function getAssertedStatusListType(type?: StatusListType) { - const assertedType = type ?? 'StatusList2021' - if (assertedType !== 'StatusList2021') { + const assertedType = type ?? StatusListType.StatusList2021 + if (assertedType !== StatusListType.StatusList2021) { throw Error(`StatusList type ${assertedType} is not supported (yet)`) } return assertedType diff --git a/packages/vc-status-list/src/types/index.ts b/packages/vc-status-list/src/types/index.ts index 7c4c9efaa..e2d1c61e0 100644 --- a/packages/vc-status-list/src/types/index.ts +++ b/packages/vc-status-list/src/types/index.ts @@ -1,22 +1,28 @@ -import { ICredentialStatus, IIssuer, OriginalVerifiableCredential } from '@sphereon/ssi-types' +import { + ICredentialStatus, + IIssuer, + OriginalVerifiableCredential, + StatusListCredentialIdMode, + StatusListDriverType, + StatusListIndexingDirection, + StatusListType, + StatusPurpose2021, +} from '@sphereon/ssi-types' import { ProofFormat } from '@veramo/core' -export type StatusListType = 'StatusList2021' -export type StatusPurpose2021 = 'revocation' | 'suspension' | string -export type IndexingDirection = 'rightToLeft' - export interface CreateNewStatusListArgs extends Omit { + correlationId: string length?: number } export interface UpdateStatusListFromEncodedListArgs extends StatusList2021ToVerifiableCredentialArgs { - index: number + statusListIndex: number | string value: boolean } export interface UpdateStatusListFromStatusListCredentialArgs { statusListCredential: OriginalVerifiableCredential keyRef?: string - index: number + statusListIndex: number | string value: boolean } export interface StatusList2021ToVerifiableCredentialArgs { @@ -31,15 +37,23 @@ export interface StatusList2021ToVerifiableCredentialArgs { // todo: validFrom and validUntil } -export interface StatusListResult { +export interface StatusListDetails { encodedList: string - statusListCredential: OriginalVerifiableCredential length: number type: StatusListType proofFormat: ProofFormat + statusPurpose: StatusPurpose2021 id: string issuer: string | IIssuer - indexingDirection: IndexingDirection + indexingDirection: StatusListIndexingDirection + statusListCredential: OriginalVerifiableCredential + // These cannot be deduced from the VC, so they are present when callers pass in these values as params + correlationId?: string + driverType?: StatusListDriverType + credentialIdMode?: StatusListCredentialIdMode +} +export interface StatusListResult extends StatusListDetails { + statusListCredential: OriginalVerifiableCredential } export interface StatusList2021EntryCredentialStatus extends ICredentialStatus { diff --git a/packages/vc-status-list/tsconfig.json b/packages/vc-status-list/tsconfig.json index 13447c1f7..b8d316f09 100644 --- a/packages/vc-status-list/tsconfig.json +++ b/packages/vc-status-list/tsconfig.json @@ -1,5 +1,4 @@ { - "extends": "../tsconfig-base.json", "compilerOptions": { "esModuleInterop": true, "skipLibCheck": true, @@ -11,5 +10,6 @@ { "path": "../ssi-types" } - ] + ], + "extends": "../tsconfig-base.json" } diff --git a/packages/w3c-vc-api/__tests__/agent.ts b/packages/w3c-vc-api/__tests__/agent.ts index 950e8e9bf..405b36edf 100644 --- a/packages/w3c-vc-api/__tests__/agent.ts +++ b/packages/w3c-vc-api/__tests__/agent.ts @@ -3,6 +3,7 @@ import { getUniResolver } from '@sphereon/did-uni-client' import { JwkDIDProvider } from '@sphereon/ssi-sdk-ext.did-provider-jwk' import { getDidJwkResolver } from '@sphereon/ssi-sdk-ext.did-resolver-jwk' import { ExpressBuilder } from '@sphereon/ssi-express-support' +import { DataSources } from '@sphereon/ssi-sdk.agent-config' import { IPresentationExchange, PresentationExchange } from '@sphereon/ssi-sdk.presentation-exchange' import { CredentialHandlerLDLocal, @@ -33,7 +34,7 @@ import { ITokenPayload, VerifyCallback } from 'passport-azure-ad/common' import { VcApiServer } from '../src' import config from './config.json' -import { DB_CONNECTION_NAME, DB_ENCRYPTION_KEY, getDbConnection } from './database' +import { DB_CONNECTION_NAME_POSTGRES, DB_ENCRYPTION_KEY, postgresConfig } from './database' const debug = Debug('sphereon:vc-api') @@ -93,7 +94,10 @@ export const didProviders = { }), } -const dbConnection = getDbConnection(DB_CONNECTION_NAME) +const dbConnection = DataSources.singleInstance() + .addConfig(DB_CONNECTION_NAME_POSTGRES, postgresConfig) + // .addConfig(DB_CONNECTION_NAME_SQLITE, sqliteConfig) + .getDbConnection(DB_CONNECTION_NAME_POSTGRES) const privateKeyStore: PrivateKeyStore = new PrivateKeyStore(dbConnection, new SecretBox(DB_ENCRYPTION_KEY)) const agent = createAgent< @@ -213,7 +217,7 @@ agent endpointOpts: { globalAuth: { authentication: { - enabled: true, + enabled: false, strategy: bearerStrategy, }, }, diff --git a/packages/w3c-vc-api/__tests__/database/config.ts b/packages/w3c-vc-api/__tests__/database/config.ts index 75da16557..262c11fe3 100644 --- a/packages/w3c-vc-api/__tests__/database/config.ts +++ b/packages/w3c-vc-api/__tests__/database/config.ts @@ -1,16 +1,18 @@ import { Entities as VeramoDataStoreEntities, migrations as VeramoDataStoreMigrations } from '@veramo/data-store' -import { DataStoreContactEntities, DataStoreMigrations } from '@sphereon/ssi-sdk.data-store' +import { DataStoreEntities, DataStoreMigrations } from '@sphereon/ssi-sdk.data-store' +import { PostgresConnectionOptions } from 'typeorm/driver/postgres/PostgresConnectionOptions' import { SqliteConnectionOptions } from 'typeorm/driver/sqlite/SqliteConnectionOptions' import { KeyValueStoreEntity } from '@sphereon/ssi-sdk.kv-store-temp' import { kvStoreMigrations } from '@sphereon/ssi-sdk.kv-store-temp' -const DB_CONNECTION_NAME = 'default' +const DB_CONNECTION_NAME_SQLITE = 'sqlite' +const DB_CONNECTION_NAME_POSTGRES = 'postgres' const DB_ENCRYPTION_KEY = '29739248cad1bd1a0fc4d9b75cd4d2990de535baf5caadfdf8d8f86664aa830c' const sqliteConfig: SqliteConnectionOptions = { type: 'sqlite', database: '__tests__/database/test.sqlite', - entities: [...VeramoDataStoreEntities, ...DataStoreContactEntities, KeyValueStoreEntity], + entities: [...VeramoDataStoreEntities, ...DataStoreEntities, KeyValueStoreEntity], migrations: [...VeramoDataStoreMigrations, ...DataStoreMigrations, ...kvStoreMigrations], migrationsRun: false, // We run migrations from code to ensure proper ordering with Redux synchronize: false, // We do not enable synchronize, as we use migrations from code @@ -19,4 +21,18 @@ const sqliteConfig: SqliteConnectionOptions = { logger: 'advanced-console', } -export { sqliteConfig, DB_CONNECTION_NAME, DB_ENCRYPTION_KEY } +const postgresConfig: PostgresConnectionOptions = { + type: 'postgres', + database: 'vc-status-list', // we use the same db as the status-list to do some testing + username: 'postgres', + password: 'test', + entities: [...VeramoDataStoreEntities, ...DataStoreEntities], + migrations: [...VeramoDataStoreMigrations, ...DataStoreMigrations], + migrationsRun: false, // We run migrations from code to ensure proper ordering with Redux + synchronize: false, // We do not enable synchronize, as we use migrations from code + migrationsTransactionMode: 'each', // protect every migration with a separate transaction + logging: 'all', // 'all' means to enable all logging + logger: 'advanced-console', +} + +export { sqliteConfig, postgresConfig, DB_CONNECTION_NAME_SQLITE, DB_CONNECTION_NAME_POSTGRES, DB_ENCRYPTION_KEY } diff --git a/packages/w3c-vc-api/package.json b/packages/w3c-vc-api/package.json index 89cf42f8f..61e8d93f2 100644 --- a/packages/w3c-vc-api/package.json +++ b/packages/w3c-vc-api/package.json @@ -35,6 +35,7 @@ "@sphereon/did-uni-client": "^0.6.0", "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.14.1-next.3", "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.14.1-next.3", + "@sphereon/ssi-sdk.agent-config": "workspace:^", "@sphereon/ssi-sdk.data-store": "workspace:^", "@sphereon/ssi-sdk.vc-handler-ld-local": "workspace:^", "@types/body-parser": "^1.19.2", @@ -64,6 +65,7 @@ "passport": "^0.6.0", "passport-azure-ad": "^4.3.5", "ts-node": "^10.9.1", + "pg": "^8.11.3", "typeorm": "^0.3.12" }, "files": [ diff --git a/packages/w3c-vc-api/src/api-functions.ts b/packages/w3c-vc-api/src/api-functions.ts index 4070db758..a20f054c4 100644 --- a/packages/w3c-vc-api/src/api-functions.ts +++ b/packages/w3c-vc-api/src/api-functions.ts @@ -94,6 +94,9 @@ export function verifyCredentialEndpoint(router: Router, context: IRequiredConte } const verifyResult = await context.agent.verifyCredential({ credential, + policies: { + credentialStatus: false, // Do not use built-in. We have our own statusList implementations + }, fetchRemoteContexts: opts?.fetchRemoteContexts !== false, }) diff --git a/packages/w3c-vc-api/tsconfig.json b/packages/w3c-vc-api/tsconfig.json index c5b46a618..c8b697234 100644 --- a/packages/w3c-vc-api/tsconfig.json +++ b/packages/w3c-vc-api/tsconfig.json @@ -7,6 +7,9 @@ "esModuleInterop": true }, "references": [ + { + "path": "../agent-config" + }, { "path": "../ssi-express-support" }, diff --git a/packages/wellknown-did-issuer/__tests__/shared/wellKnownDidIssuerAgentLogic.ts b/packages/wellknown-did-issuer/__tests__/shared/wellKnownDidIssuerAgentLogic.ts index fa91befc5..26cbfc656 100644 --- a/packages/wellknown-did-issuer/__tests__/shared/wellKnownDidIssuerAgentLogic.ts +++ b/packages/wellknown-did-issuer/__tests__/shared/wellKnownDidIssuerAgentLogic.ts @@ -1,6 +1,6 @@ import { ProofFormatTypesEnum } from '@sphereon/wellknown-dids-client' import { TAgent, IDIDManager } from '@veramo/core' -import { IWellKnownDidIssuer } from '../../src/types/IWellKnownDidIssuer' +import { IWellKnownDidIssuer } from '../../src' type ConfiguredAgent = TAgent diff --git a/packages/wellknown-did-issuer/agent.yml b/packages/wellknown-did-issuer/agent.yml index 345468994..791cdbb50 100644 --- a/packages/wellknown-did-issuer/agent.yml +++ b/packages/wellknown-did-issuer/agent.yml @@ -17,20 +17,20 @@ dbConnection: $args: - type: sqlite database: ':memory:' - synchronize: false - migrationsRun: true - migrations: - $require: './packages/ssi-sdk-core/dist?t=function#flattenMigrations' - $args: - - migrations: - - $require: '@veramo/data-store?t=object#migrations' - - $require: './packages/wellknown-did-issuer/dist?t=object#WellknownDidIssuerMigrations' - entities: - $require: './packages/ssi-sdk-core/dist?t=function#flattenArray' - $args: - - items: - - $require: '@veramo/data-store?t=object#Entities' - - $require: './packages/wellknown-did-issuer/dist?t=object#WellknownDidIssuerEntities' + synchronize: true + migrationsRun: false +# migrations: +# $require: './packages/ssi-sdk-core/dist?t=function#flattenMigrations' +# $args: +# - migrations: +# - $require: '@veramo/data-store?t=object#migrations' +# - $require: './packages/wellknown-did-issuer/dist?t=object#WellknownDidIssuerMigrations' +# entities: +# $require: './packages/ssi-sdk-core/dist?t=function#flattenArray' +# $args: +# - items: +# - $require: '@veramo/data-store?t=object#Entities' +# - $require: './packages/wellknown-did-issuer/dist?t=object#WellknownDidIssuerEntities' server: baseUrl: diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 03a68c0a4..10ee05437 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -62,16 +62,16 @@ importers: devDependencies: '@babel/plugin-transform-modules-commonjs': specifier: ^7.21.5 - version: 7.21.5(@babel/core@7.22.11) + version: 7.21.5(@babel/core@7.22.15) '@babel/plugin-transform-runtime': specifier: ^7.22.2 - version: 7.22.2(@babel/core@7.22.11) + version: 7.22.2(@babel/core@7.22.15) '@babel/preset-env': specifier: ^7.22.2 - version: 7.22.2(@babel/core@7.22.11) + version: 7.22.2(@babel/core@7.22.15) '@babel/preset-typescript': specifier: ^7.21.5 - version: 7.21.5(@babel/core@7.22.11) + version: 7.21.5(@babel/core@7.22.15) '@types/debug': specifier: ^4.1.7 version: 4.1.8 @@ -155,7 +155,7 @@ importers: version: 19.0.5 ts-jest: specifier: ^27.1.5 - version: 27.1.5(@babel/core@7.22.11)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.5(@babel/core@7.22.15)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) ts-node: specifier: ^10.9.1 version: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) @@ -168,12 +168,15 @@ importers: '@veramo/core': specifier: 4.2.0 version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) + debug: + specifier: ^4.3.4 + version: 4.3.4 jsonpointer: specifier: ^5.0.1 version: 5.0.1 typeorm: specifier: ^0.3.12 - version: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) + version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) url-parse: specifier: ^1.5.10 version: 1.5.10 @@ -181,9 +184,15 @@ importers: specifier: ^2.2.2 version: 2.2.2 devDependencies: + '@types/debug': + specifier: ^4.1.8 + version: 4.1.8 '@types/url-parse': specifier: ^1.4.8 version: 1.4.8 + typescript: + specifier: 4.9.5 + version: 4.9.5 packages/contact-manager: dependencies: @@ -195,7 +204,7 @@ importers: version: 3.1.8 typeorm: specifier: ^0.3.12 - version: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) + version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) devDependencies: '@sphereon/ssi-sdk.agent-config': specifier: workspace:^ @@ -221,6 +230,12 @@ importers: debug: specifier: ^4.3.4 version: 4.3.4 + reflect-metadata: + specifier: ^0.1.13 + version: 0.1.13 + tsconfig-paths: + specifier: ^4.2.0 + version: 4.2.0 typeorm: specifier: ^0.3.12 version: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) @@ -300,7 +315,7 @@ importers: version: 4.3.4 typeorm: specifier: ^0.3.12 - version: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) + version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) devDependencies: '@sphereon/ssi-sdk.agent-config': specifier: workspace:^ @@ -328,7 +343,7 @@ importers: version: 3.0.1 typeorm: specifier: ^0.3.12 - version: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) + version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) uint8arrays: specifier: ^3.1.1 version: 3.1.1 @@ -399,7 +414,7 @@ importers: version: 2.8.8 ts-jest: specifier: ^29.1.1 - version: 29.1.1(@babel/core@7.22.11)(jest@29.6.2)(typescript@4.9.5) + version: 29.1.1(@babel/core@7.0.0)(jest@29.6.2)(typescript@4.9.5) packages/ms-request-api: dependencies: @@ -430,7 +445,7 @@ importers: version: 18.16.3 '@types/uuid': specifier: ^9.0.1 - version: 9.0.1 + version: 9.0.3 '@veramo/data-store': specifier: 4.2.0 version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1) @@ -457,7 +472,7 @@ importers: version: 5.1.6 ts-jest: specifier: ^27.1.5 - version: 27.1.5(@babel/core@7.22.11)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.5(@babel/core@7.0.0)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) typeorm: specifier: ^0.3.12 version: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) @@ -478,7 +493,7 @@ importers: version: 0.7.0 '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.core': specifier: workspace:^ version: link:../ssi-sdk-core @@ -493,7 +508,7 @@ importers: version: link:../ssi-types '@types/uuid': specifier: ^9.0.1 - version: 9.0.1 + version: 9.0.3 '@veramo/core': specifier: 4.2.0 version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) @@ -554,7 +569,7 @@ importers: version: link:../ssi-types '@types/uuid': specifier: ^9.0.1 - version: 9.0.1 + version: 9.0.3 '@veramo/core': specifier: 4.2.0 version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) @@ -600,16 +615,16 @@ importers: version: 2.0.3 '@sphereon/ssi-sdk-ext.did-provider-jwk': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk-ext.key-manager': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk-ext.key-utils': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk-ext.kms-local': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.data-store': specifier: workspace:^ version: link:../data-store @@ -642,7 +657,7 @@ importers: version: 18.16.3 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(pg@8.11.3)(ts-node@10.9.1) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -681,7 +696,7 @@ importers: version: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) typeorm: specifier: ^0.3.12 - version: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) + version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) web-did-resolver: specifier: ^2.0.24 version: 2.0.27 @@ -727,13 +742,13 @@ importers: version: 0.7.0 '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.kv-store-temp': specifier: workspace:^ version: link:../kv-store '@types/uuid': specifier: ^9.0.1 - version: 9.0.1 + version: 9.0.3 '@veramo/core': specifier: 4.2.0 version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) @@ -776,7 +791,7 @@ importers: version: 2.0.3 '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.kv-store-temp': specifier: workspace:^ version: link:../kv-store @@ -871,7 +886,7 @@ importers: version: 18.2.0(react@18.2.0) ts-jest: specifier: ^27.1.5 - version: 27.1.5(@babel/core@7.22.11)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.5(@babel/core@7.0.0)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) packages/siopv2-oid4vp-common: dependencies: @@ -902,7 +917,7 @@ importers: version: 2.0.2 '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.core': specifier: workspace:^ version: link:../ssi-sdk-core @@ -917,7 +932,7 @@ importers: version: 0.1.3 '@types/uuid': specifier: ^9.0.1 - version: 9.0.1 + version: 9.0.3 '@veramo/core': specifier: 4.2.0 version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) @@ -972,7 +987,7 @@ importers: version: 2.1.0 '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.core': specifier: workspace:^ version: link:../ssi-sdk-core @@ -993,7 +1008,7 @@ importers: version: 0.1.3 '@types/uuid': specifier: ^9.0.1 - version: 9.0.1 + version: 9.0.3 '@veramo/core': specifier: 4.2.0 version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) @@ -1054,7 +1069,7 @@ importers: version: link:../ssi-types '@types/uuid': specifier: ^9.0.1 - version: 9.0.1 + version: 9.0.3 '@veramo/core': specifier: 4.2.0 version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) @@ -1100,7 +1115,7 @@ importers: version: 2.0.3 '@sphereon/ssi-sdk-ext.did-provider-jwk': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.data-store': specifier: workspace:^ version: link:../data-store @@ -1142,7 +1157,7 @@ importers: version: 1.0.37 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(pg@8.11.3)(ts-node@10.9.1) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -1190,7 +1205,7 @@ importers: version: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) typeorm: specifier: ^0.3.12 - version: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) + version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) packages/siopv2-oid4vp-rp-rest-client: dependencies: @@ -1365,7 +1380,7 @@ importers: version: 2.8.8 ts-jest: specifier: ^27.1.5 - version: 27.1.5(@babel/core@7.22.11)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.5(@babel/core@7.0.0)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) typescript: specifier: 4.9.5 version: 4.9.5 @@ -1377,13 +1392,13 @@ importers: version: link:../ssi-express-support '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk-ext.key-manager': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk-ext.key-utils': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.core': specifier: workspace:^ version: link:../ssi-sdk-core @@ -1429,7 +1444,7 @@ importers: version: 0.6.0 '@sphereon/ssi-sdk-ext.did-provider-jwk': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk-ext.did-resolver-jwk': specifier: 0.14.1-next.3 version: 0.14.1-next.3 @@ -1474,10 +1489,10 @@ importers: version: 4.3.1 '@types/uuid': specifier: ^9.0.1 - version: 9.0.1 + version: 9.0.3 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(pg@8.11.3)(ts-node@10.9.1) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -1525,7 +1540,7 @@ importers: version: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) typeorm: specifier: ^0.3.12 - version: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) + version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) web-did-resolver: specifier: ^2.0.27 version: 2.0.27 @@ -1561,22 +1576,31 @@ importers: version: 1.2.0 '@sphereon/ed25519-signature-2018': specifier: 0.7.0-unstable.6 - version: 0.7.0-unstable.6(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.7.0-unstable.6(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/isomorphic-webcrypto': specifier: ^2.4.0-unstable.4 - version: 2.4.0-unstable.4(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 2.4.0-unstable.4(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk-ext.key-utils': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/ssi-sdk.agent-config': + specifier: workspace:^ + version: link:../agent-config '@sphereon/ssi-sdk.core': specifier: workspace:^ version: link:../ssi-sdk-core + '@sphereon/ssi-sdk.data-store': + specifier: workspace:^ + version: link:../data-store '@sphereon/ssi-sdk.vc-status-list': specifier: workspace:^ version: link:../vc-status-list + '@sphereon/ssi-sdk.vc-status-list-issuer-drivers': + specifier: workspace:^ + version: link:../vc-status-list-issuer-drivers '@sphereon/ssi-types': specifier: workspace:^ version: link:../ssi-types @@ -1646,19 +1670,16 @@ importers: version: 0.6.0 '@sphereon/ssi-sdk-ext.did-provider-key': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk-ext.did-provider-lto': specifier: 0.14.1-next.3 version: 0.14.1-next.3(typescript@4.9.5) '@sphereon/ssi-sdk-ext.key-manager': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk-ext.kms-local': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) - '@sphereon/ssi-sdk.agent-config': - specifier: workspace:^ - version: link:../agent-config + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@transmute/lds-ecdsa-secp256k1-recovery2020': specifier: ^0.0.7 version: 0.0.7 @@ -1682,7 +1703,7 @@ importers: version: 4.2.0(patch_hash=wuhizuafnrz3uzah2wlqaevbmi) '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(pg@8.11.3)(ts-node@10.9.1) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -1736,7 +1757,120 @@ importers: version: 5.0.2 '@sphereon/ssi-sdk-ext.did-utils': specifier: ^0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/ssi-types': + specifier: workspace:^ + version: link:../ssi-types + '@veramo/core': + specifier: 4.2.0 + version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) + '@veramo/credential-status': + specifier: 4.2.0 + version: 4.2.0 + credential-status: + specifier: ^2.0.6 + version: 2.0.6 + debug: + specifier: ^4.3.4 + version: 4.3.4 + fix-esm: + specifier: ^1.0.1 + version: 1.0.1 + uint8arrays: + specifier: ^3.1.1 + version: 3.1.1 + devDependencies: + '@babel/cli': + specifier: ^7.0.0 + version: 7.0.0(@babel/core@7.0.0) + '@babel/core': + specifier: ^7.0.0 + version: 7.0.0 + '@babel/preset-env': + specifier: ^7.22.2 + version: 7.22.2(@babel/core@7.0.0) + '@babel/preset-typescript': + specifier: ^7.21.5 + version: 7.21.5(@babel/core@7.0.0) + typescript: + specifier: 4.9.5 + version: 4.9.5 + + packages/vc-status-list-issuer-drivers: + dependencies: + '@digitalcredentials/vc-status-list': + specifier: ^5.0.2 + version: 5.0.2 + '@sphereon/ssi-express-support': + specifier: workspace:^ + version: link:../ssi-express-support + '@sphereon/ssi-sdk-ext.did-utils': + specifier: ^0.14.1-next.3 + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/ssi-sdk.agent-config': + specifier: workspace:^ + version: link:../agent-config + '@sphereon/ssi-sdk.core': + specifier: workspace:^ + version: link:../ssi-sdk-core + '@sphereon/ssi-sdk.data-store': + specifier: workspace:* + version: link:../data-store + '@sphereon/ssi-sdk.vc-status-list': + specifier: workspace:* + version: link:../vc-status-list + '@sphereon/ssi-types': + specifier: workspace:^ + version: link:../ssi-types + '@veramo/core': + specifier: 4.2.0 + version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) + debug: + specifier: ^4.3.4 + version: 4.3.4 + typeorm: + specifier: ^0.3.12 + version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) + uint8arrays: + specifier: ^3.1.1 + version: 3.1.1 + devDependencies: + '@types/debug': + specifier: ^4.1.8 + version: 4.1.8 + '@types/node': + specifier: ^18.15.0 + version: 18.16.3 + typescript: + specifier: 4.9.5 + version: 4.9.5 + + packages/vc-status-list-issuer-rest-api: + dependencies: + '@digitalcredentials/vc-status-list': + specifier: ^5.0.2 + version: 5.0.2 + '@sphereon/ssi-express-support': + specifier: workspace:^ + version: link:../ssi-express-support + '@sphereon/ssi-sdk-ext.did-utils': + specifier: ^0.14.1-next.3 + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/ssi-sdk.agent-config': + specifier: workspace:^ + version: link:../agent-config + '@sphereon/ssi-sdk.core': + specifier: workspace:^ + version: link:../ssi-sdk-core + '@sphereon/ssi-sdk.data-store': + specifier: workspace:* + version: link:../data-store + '@sphereon/ssi-sdk.vc-status-list': + specifier: workspace:* + version: link:../vc-status-list + '@sphereon/ssi-sdk.vc-status-list-issuer-drivers': + specifier: workspace:* + version: link:../vc-status-list-issuer-drivers '@sphereon/ssi-types': specifier: workspace:^ version: link:../ssi-types @@ -1746,10 +1880,103 @@ importers: debug: specifier: ^4.3.4 version: 4.3.4 + express: + specifier: ^4.18.2 + version: 4.18.2 + reflect-metadata: + specifier: ^0.1.13 + version: 0.1.13 + typeorm: + specifier: ^0.3.12 + version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) uint8arrays: specifier: ^3.1.1 version: 3.1.1 + uuid: + specifier: ^9.0.0 + version: 9.0.0 devDependencies: + '@sphereon/did-uni-client': + specifier: ^0.6.0 + version: 0.6.0 + '@sphereon/ssi-sdk-ext.did-provider-jwk': + specifier: 0.14.1-next.3 + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/ssi-sdk-ext.did-resolver-jwk': + specifier: 0.14.1-next.3 + version: 0.14.1-next.3 + '@sphereon/ssi-sdk.vc-handler-ld-local': + specifier: workspace:^ + version: link:../vc-handler-ld-local + '@types/body-parser': + specifier: ^1.19.2 + version: 1.19.2 + '@types/cookie-parser': + specifier: ^1.4.3 + version: 1.4.3 + '@types/cors': + specifier: ^2.8.13 + version: 2.8.13 + '@types/debug': + specifier: ^4.1.8 + version: 4.1.8 + '@types/dotenv-flow': + specifier: ^3.2.0 + version: 3.2.0 + '@types/express': + specifier: ^4.17.17 + version: 4.17.17 + '@types/express-http-proxy': + specifier: ^1.6.3 + version: 1.6.3 + '@types/morgan': + specifier: ^1.9.4 + version: 1.9.4 + '@types/node': + specifier: ^18.15.0 + version: 18.16.3 + '@types/passport': + specifier: ^1.0.12 + version: 1.0.12 + '@types/uuid': + specifier: ^9.0.3 + version: 9.0.3 + '@veramo/credential-w3c': + specifier: 4.2.0 + version: 4.2.0(patch_hash=wuhizuafnrz3uzah2wlqaevbmi) + '@veramo/data-store': + specifier: 4.2.0 + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(pg@8.11.3)(ts-node@10.9.1) + '@veramo/did-manager': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/did-provider-key': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/did-provider-web': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/did-resolver': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/key-manager': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/kms-local': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/utils': + specifier: 4.2.0 + version: 4.2.0 + did-resolver: + specifier: ^4.1.0 + version: 4.1.0 + morgan: + specifier: ^1.10.0 + version: 1.10.0 + pg: + specifier: ^8.11.3 + version: 8.11.3 typescript: specifier: 4.9.5 version: 4.9.5 @@ -1776,7 +2003,7 @@ importers: version: link:../ssi-types '@types/uuid': specifier: ^9.0.1 - version: 9.0.1 + version: 9.0.3 '@veramo/core': specifier: 4.2.0 version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) @@ -1819,10 +2046,13 @@ importers: version: 0.6.0 '@sphereon/ssi-sdk-ext.did-provider-jwk': specifier: 0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk-ext.did-resolver-jwk': specifier: 0.14.1-next.3 version: 0.14.1-next.3 + '@sphereon/ssi-sdk.agent-config': + specifier: workspace:^ + version: link:../agent-config '@sphereon/ssi-sdk.data-store': specifier: workspace:^ version: link:../data-store @@ -1864,7 +2094,7 @@ importers: version: 4.3.1 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(pg@8.11.3)(ts-node@10.9.1) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -1907,12 +2137,15 @@ importers: passport-azure-ad: specifier: ^4.3.5 version: 4.3.5 + pg: + specifier: ^8.11.3 + version: 8.11.3 ts-node: specifier: ^10.9.1 version: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) typeorm: specifier: ^0.3.12 - version: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) + version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) packages/web3-provider-headless: dependencies: @@ -2003,10 +2236,10 @@ importers: devDependencies: '@sphereon/ssi-sdk-ext.key-manager': specifier: ^0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk-ext.kms-local': specifier: ^0.14.1-next.3 - version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@types/body-parser': specifier: ^1.19.2 version: 1.19.2 @@ -2060,7 +2293,7 @@ importers: version: 0.1.3 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(pg@8.11.3)(ts-node@10.9.1) '@veramo/utils': specifier: 4.2.0 version: 4.2.0 @@ -2072,7 +2305,7 @@ importers: version: 3.1.3 typeorm: specifier: ^0.3.12 - version: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) + version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) uuid: specifier: ^8.3.2 version: 8.3.2 @@ -2163,10 +2396,32 @@ packages: engines: {node: 10 || 12 || 14 || 16 || 18} dependencies: '@azure/msal-common': 13.2.0 - jsonwebtoken: 9.0.1 + jsonwebtoken: 9.0.2 uuid: 8.3.2 dev: false + /@babel/cli@7.0.0(@babel/core@7.0.0): + resolution: {integrity: sha512-SH/x7W1dz4FSSBeJZXIiYSbHIOU3ZxNgwQPLTG+I8KXyTS81pzmLouPa2st6hji7VbVrEF/D8EQzQbXAYj1TsA==} + hasBin: true + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + commander: 2.20.3 + convert-source-map: 1.9.0 + fs-readdir-recursive: 1.1.0 + glob: 7.2.3 + lodash: 4.17.21 + mkdirp: 0.5.6 + output-file-sync: 2.0.1 + slash: 2.0.0 + source-map: 0.5.7 + optionalDependencies: + chokidar: 2.1.8 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/code-frame@7.10.4: resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==} dependencies: @@ -2189,20 +2444,41 @@ packages: resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} engines: {node: '>=6.9.0'} - /@babel/core@7.22.11: - resolution: {integrity: sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==} + /@babel/core@7.0.0: + resolution: {integrity: sha512-nrvxS5u6QUN5gLl1GEakIcmOeoUHT1/gQtdMRq18WFURJ5osn4ppJLVSseMQo4zVWKJfBTF4muIYijXUnKlRLQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.22.15 + '@babel/helpers': 7.22.15 + '@babel/parser': 7.22.15 + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.15 + '@babel/types': 7.22.15 + convert-source-map: 1.9.0 + debug: 3.2.7 + json5: 0.5.1 + lodash: 4.17.21 + resolve: 1.22.4 + semver: 5.7.2 + source-map: 0.5.7 + transitivePeerDependencies: + - supports-color + + /@babel/core@7.22.15: + resolution: {integrity: sha512-PtZqMmgRrvj8ruoEOIwVA3yoF91O+Hgw9o7DAUTNBA6Mo2jpu31clx9a7Nz/9JznqetTR6zwfC4L3LAjKQXUwA==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.13 - '@babel/generator': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.11) - '@babel/helpers': 7.22.11 - '@babel/parser': 7.22.13 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.11 - '@babel/types': 7.22.11 + '@babel/generator': 7.22.15 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.22.15(@babel/core@7.22.15) + '@babel/helpers': 7.22.15 + '@babel/parser': 7.22.15 + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.15 + '@babel/types': 7.22.15 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -2211,11 +2487,11 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.22.10: - resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} + /@babel/generator@7.22.15: + resolution: {integrity: sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.15 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 @@ -2224,59 +2500,101 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.15 - /@babel/helper-builder-binary-assignment-operator-visitor@7.22.10: - resolution: {integrity: sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==} + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.15 - /@babel/helper-compilation-targets@7.22.10: - resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} + /@babel/helper-compilation-targets@7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} dependencies: '@babel/compat-data': 7.22.9 - '@babel/helper-validator-option': 7.22.5 + '@babel/helper-validator-option': 7.22.15 browserslist: 4.21.10 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-y1grdYL4WzmUDBRGK0pDbIoFd7UZKoDurDzWEoNMYoj1EL+foGRQNyPWDcC+YyegN5y1DUsFFmzjGijB3nSVAQ==} + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.0.0): + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.11) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.0.0) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 - /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.22.11): - resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-annotate-as-pure': 7.22.5 - regexpu-core: 5.3.2 - semver: 6.3.1 - - /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.11): + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.15 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.15) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.0.0): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + + /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.0.0): + resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.4 + transitivePeerDependencies: + - supports-color + + /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.15): resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/core': 7.22.15 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 @@ -2292,100 +2610,135 @@ packages: resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.11 + '@babel/template': 7.22.15 + '@babel/types': 7.22.15 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.15 + + /@babel/helper-member-expression-to-functions@7.22.15: + resolution: {integrity: sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.15 - /@babel/helper-member-expression-to-functions@7.22.5: - resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} + /@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.22.11 + '@babel/types': 7.22.15 - /@babel/helper-module-imports@7.22.5: - resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + /@babel/helper-module-transforms@7.22.15(@babel/core@7.0.0): + resolution: {integrity: sha512-l1UiX4UyHSFsYt17iQ3Se5pQQZZHa22zyIXURmvkmLCD4t/aU+dvNWHatKac/D9Vm9UES7nvIqHs4jZqKviUmQ==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/types': 7.22.11 + '@babel/core': 7.0.0 + '@babel/helper-environment-visitor': 7.22.5 + '@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.15 - /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.11): - resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + /@babel/helper-module-transforms@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-l1UiX4UyHSFsYt17iQ3Se5pQQZZHa22zyIXURmvkmLCD4t/aU+dvNWHatKac/D9Vm9UES7nvIqHs4jZqKviUmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@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.5 + '@babel/helper-validator-identifier': 7.22.15 /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.15 /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.11): + /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.0.0): + resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-wrap-function': 7.22.10 + + /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.15): resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-wrap-function': 7.22.10 - /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.11): + /@babel/helper-replace-supers@7.22.9(@babel/core@7.0.0): + resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.15 + '@babel/helper-optimise-call-expression': 7.22.5 + + /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.15): resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 /@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.22.11 + '@babel/types': 7.22.15 /@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.22.11 + '@babel/types': 7.22.15 /@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.11 + '@babel/types': 7.22.15 /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + /@babel/helper-validator-identifier@7.22.15: + resolution: {integrity: sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.22.5: - resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} + /@babel/helper-validator-option@7.22.15: + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} engines: {node: '>=6.9.0'} /@babel/helper-wrap-function@7.22.10: @@ -2393,16 +2746,16 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.22.5 - '@babel/template': 7.22.5 - '@babel/types': 7.22.11 + '@babel/template': 7.22.15 + '@babel/types': 7.22.15 - /@babel/helpers@7.22.11: - resolution: {integrity: sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==} + /@babel/helpers@7.22.15: + resolution: {integrity: sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.11 - '@babel/types': 7.22.11 + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.15 + '@babel/types': 7.22.15 transitivePeerDependencies: - supports-color @@ -2410,1076 +2763,2134 @@ packages: resolution: {integrity: sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.15 chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.22.13: - resolution: {integrity: sha512-3l6+4YOvc9wx7VlCSw4yQfcBo01ECA8TicQfbnCPuCEpRQrf+gTUyGdxNw+pyTUyywp6JRD1w0YQs9TpBXYlkw==} + /@babel/parser@7.22.15: + resolution: {integrity: sha512-RWmQ/sklUN9BvGGpCDgSubhHWfAx24XDTDObup4ffvxaYsptOg2P3KG0j+1eWKLxpkX0j0uHxmpq2Z1SP/VhxA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.15 + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.0.0): + resolution: {integrity: sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.0.0): + resolution: {integrity: sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.0.0) - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.22.12(@babel/core@7.22.11) + '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.22.15) + dev: true + + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.0.0): + 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/core': 7.0.0 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.0.0) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.0.0) - /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.22.11): + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.22.15): 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/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.11) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.11) + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.15) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.15) + + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.0.0): + 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.0.0 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.0.0) + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.11): + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.15): 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.22.11 - '@babel/helper-create-class-features-plugin': 7.22.11(@babel/core@7.22.11) + '@babel/core': 7.22.15 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-proposal-decorators@7.22.10(@babel/core@7.22.11): - resolution: {integrity: sha512-KxN6TqZzcFi4uD3UifqXElBTBNLAEH1l3vzMQj6JwJZbL2sZlThxSViOKCYY+4Ah4V4JhQ95IVB7s/Y6SJSlMQ==} + /@babel/plugin-proposal-decorators@7.22.15(@babel/core@7.0.0): + resolution: {integrity: sha512-kc0VvbbUyKelvzcKOSyQUSVVXS5pT3UhRB0e3c9An86MvLqs+gx0dN4asllrDluqSa3m9YyooXKGOFVomnyFkg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-class-features-plugin': 7.22.11(@babel/core@7.22.11) + '@babel/core': 7.0.0 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.11) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.0.0) '@babel/helper-split-export-declaration': 7.22.6 - '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.22.11) + '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.0.0) + + /@babel/plugin-proposal-export-default-from@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.0.0) - /@babel/plugin-proposal-export-default-from@7.22.5(@babel/core@7.22.11): + /@babel/plugin-proposal-export-default-from@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.15) + + /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.0.0): + 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.0.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.11) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.0.0) - /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.22.11): + /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.22.15): 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.22.11 + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.15) + dev: false + + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.0.0): + 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.0.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.0.0) - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.22.11): + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.22.15): 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.22.11 + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.15) + + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.0.0): + 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.0.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.0.0) - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.22.11): + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.22.15): 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.22.11 + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.15) + + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.0.0): + 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.22.9 + '@babel/core': 7.0.0 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.11) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.0.0) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.0.0) - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.11): + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.15): 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. + 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.22.9 + '@babel/core': 7.22.15 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.15) + + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.0.0): + 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.0.0 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.0.0) + + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.22.15): + 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.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.15) + + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.0.0): + 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.0.0 + '@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.0.0) + + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.22.15): + 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.22.15 + '@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.22.15) + + /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.0.0): + resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} + 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-private-property-in-object instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.0.0) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.0.0) + + /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.22.15): + resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} + 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-private-property-in-object instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.15) + dev: true + + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.0.0): + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.0.0) + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.15): + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.15) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.0.0): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.15): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.15): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.0.0): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.15): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.0.0): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.15): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.0.0): + resolution: {integrity: sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.0.0): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.15): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-export-default-from@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-export-default-from@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.0.0): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.15): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.0.0): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.15): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.0.0): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.15): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.0.0): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.15): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.0.0): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.15): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.0.0): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.15): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.0.0): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.15): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.0.0): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.15): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.0.0): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.15): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.0.0): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.15): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.0.0): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.15): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.0.0): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.0.0) + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.15): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.15) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-async-generator-functions@7.22.15(@babel/core@7.0.0): + resolution: {integrity: sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.0.0) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.0.0) + + /@babel/plugin-transform-async-generator-functions@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.15) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.15) + dev: true + + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.0.0) + + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.15) + + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-block-scoping@7.22.15(@babel/core@7.0.0): + resolution: {integrity: sha512-G1czpdJBZCtngoK1sJgloLiOHUnkb/bLZwqVZD8kXmq0ZnVfTTWUcs9OWtp0mBtYJ+4LQY1fllqBkOIPhXmFmw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-block-scoping@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-G1czpdJBZCtngoK1sJgloLiOHUnkb/bLZwqVZD8kXmq0ZnVfTTWUcs9OWtp0mBtYJ+4LQY1fllqBkOIPhXmFmw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.0.0) + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.0.0): + resolution: {integrity: sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.0.0) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.0.0) + + /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.22.15): + resolution: {integrity: sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.15) + dev: true + + /@babel/plugin-transform-classes@7.22.15(@babel/core@7.0.0): + resolution: {integrity: sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.0.0) + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + + /@babel/plugin-transform-classes@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.15) + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.22.15 + + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.22.15 + + /@babel/plugin-transform-destructuring@7.22.15(@babel/core@7.0.0): + resolution: {integrity: sha512-HzG8sFl1ZVGTme74Nw+X01XsUTqERVQ6/RLHo3XjGRzm7XD6QTtfS3NJotVgCGy8BzkDqRjRBD8dAyJn5TuvSQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-destructuring@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-HzG8sFl1ZVGTme74Nw+X01XsUTqERVQ6/RLHo3XjGRzm7XD6QTtfS3NJotVgCGy8BzkDqRjRBD8dAyJn5TuvSQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.0.0) + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.15) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.0.0): + resolution: {integrity: sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.0.0) + + /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.22.15): + resolution: {integrity: sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.11 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.11) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.15) + dev: true - /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.22.11): - resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} 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.22.11 + '@babel/core': 7.0.0 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.11) - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.22.11): - resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} 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.22.11 + '@babel/core': 7.22.15 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@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.22.11) + dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.22.11): - resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} + /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.0.0): + resolution: {integrity: sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.11(@babel/core@7.22.11) + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.11) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.0.0) - /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.11): - resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} - engines: {node: '>=4'} + /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.22.15): + resolution: {integrity: sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.15) + dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.11): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + /@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.0.0) - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.11): - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + /@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - dev: true + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.15) - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.11): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + /@babel/plugin-transform-for-of@7.22.15(@babel/core@7.0.0): + resolution: {integrity: sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.11): - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + /@babel/plugin-transform-for-of@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.22.11): - resolution: {integrity: sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==} + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-function-name': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.11): - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-function-name': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-export-default-from@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==} + /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.0.0): + resolution: {integrity: sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.0.0) - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.11): - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.22.15): + resolution: {integrity: sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.15) + dev: true - /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==} + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} + /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.0.0): + resolution: {integrity: sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.0.0) - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.11): - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.22.15): + resolution: {integrity: sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.15) + dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.11): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.11): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 + '@babel/helper-module-transforms': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.11): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 + '@babel/helper-module-transforms': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 + dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.11): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + /@babel/plugin-transform-modules-commonjs@7.21.5(@babel/core@7.0.0): + resolution: {integrity: sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 + '@babel/helper-module-transforms': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.11): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + /@babel/plugin-transform-modules-commonjs@7.21.5(@babel/core@7.22.15): + resolution: {integrity: sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 + '@babel/helper-module-transforms': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.11): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + /@babel/plugin-transform-modules-systemjs@7.22.11(@babel/core@7.0.0): + resolution: {integrity: sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-identifier': 7.22.15 - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.11): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + /@babel/plugin-transform-modules-systemjs@7.22.11(@babel/core@7.22.15): + resolution: {integrity: sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-identifier': 7.22.15 + dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.11): - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 + '@babel/helper-module-transforms': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.11): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 + '@babel/helper-module-transforms': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 + dev: true - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.11): - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.22.15 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-async-generator-functions@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-0pAlmeRJn6wU84zzZsEOx1JV1Jf8fqO9ok7wofIJwUnplYo247dcd24P+cMJht7ts9xkzdtB0EPHmOb7F+KzXw==} + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-environment-visitor': 7.22.5 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.11) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.11) + dev: true - /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} + /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.0.0): + resolution: {integrity: sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.11) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.0.0) - /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} + /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.22.15): + resolution: {integrity: sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.15) + dev: true - /@babel/plugin-transform-block-scoping@7.22.10(@babel/core@7.22.11): - resolution: {integrity: sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==} + /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.0.0): + resolution: {integrity: sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.0.0) - /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} + /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.22.15): + resolution: {integrity: sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-class-features-plugin': 7.22.11(@babel/core@7.22.11) + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.15) + dev: true - /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==} + /@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.0.0): + resolution: {integrity: sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.12.0 + '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-class-features-plugin': 7.22.11(@babel/core@7.22.11) + '@babel/compat-data': 7.22.9 + '@babel/core': 7.0.0 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.11) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.0.0) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.0.0) - /@babel/plugin-transform-classes@7.22.6(@babel/core@7.22.11): - resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==} + /@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/compat-data': 7.22.9 + '@babel/core': 7.22.15 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.11) - '@babel/helper-split-export-declaration': 7.22.6 - globals: 11.12.0 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.15) + dev: true - /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.22.5 + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.0.0) - /@babel/plugin-transform-destructuring@7.22.10(@babel/core@7.22.11): - resolution: {integrity: sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==} + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.15) - /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} + /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.0.0): + resolution: {integrity: sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.0.0) - /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} + /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.22.15): + resolution: {integrity: sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.15) + dev: true - /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==} + /@babel/plugin-transform-optional-chaining@7.22.15(@babel/core@7.0.0): + resolution: {integrity: sha512-ngQ2tBhq5vvSJw2Q2Z9i7ealNkpDMU0rGWnHPKqRZO0tzZ5tlaoz4hDvhXioOoaE0X2vfNss1djwg0DXlfu30A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.11) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.0.0) - /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} + /@babel/plugin-transform-optional-chaining@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-ngQ2tBhq5vvSJw2Q2Z9i7ealNkpDMU0rGWnHPKqRZO0tzZ5tlaoz4hDvhXioOoaE0X2vfNss1djwg0DXlfu30A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.10 + '@babel/core': 7.22.15 '@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.22.15) + dev: true - /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==} + /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.0.0): + resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.11) - /@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==} + /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.11) - /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} + /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} + /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-function-name': 7.22.5 + '@babel/core': 7.22.15 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 + dev: true - /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==} + /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.0.0): + resolution: {integrity: sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.0.0) - /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} + /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.22.15): + resolution: {integrity: sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.15) + dev: true - /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==} + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.11) - /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} + /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-modules-commonjs@7.21.5(@babel/core@7.22.11): - resolution: {integrity: sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==} + /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-simple-access': 7.22.5 - /@babel/plugin-transform-modules-systemjs@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==} + /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 - /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} + /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} + /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==} + /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.0.0): + resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 + '@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-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.11) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.0.0) + '@babel/types': 7.22.15 - /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==} + /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 + '@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-numeric-separator': 7.10.4(@babel/core@7.22.11) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.15) + '@babel/types': 7.22.15 - /@babel/plugin-transform-object-rest-spread@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-nX8cPFa6+UmbepISvlf5jhQyaC7ASs/7UxHmMkuJ/k5xSHvDPPaibMo+v3TXwU/Pjqhep/nFNpd3zn4YR59pnw==} + /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.0.0): + resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.11 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.11) + regenerator-transform: 0.15.2 - /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} + /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.15): + resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.11) + regenerator-transform: 0.15.2 + dev: true - /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==} + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.11) - /@babel/plugin-transform-optional-chaining@7.22.12(@babel/core@7.22.11): - resolution: {integrity: sha512-7XXCVqZtyFWqjDsYDY4T45w4mlx1rf7aOgkc/Ww76xkgBiOlmjPkx36PBLHa1k1rwWvVgYMPsbuVnIamx2ZQJw==} + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@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.22.11) + dev: true - /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} + /@babel/plugin-transform-runtime@7.22.2(@babel/core@7.0.0): + resolution: {integrity: sha512-ewgWBw1pAoqFg9crO6yhZAQoKWN/iNEGqAmuYegZp+xEpvMHGyLxt0SgPZ9bWG6jx4eff6jQ4JILt5zwj/EoTg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.0.0) + babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.0.0) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.0.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color - /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} + /@babel/plugin-transform-runtime@7.22.2(@babel/core@7.22.15): + resolution: {integrity: sha512-ewgWBw1pAoqFg9crO6yhZAQoKWN/iNEGqAmuYegZp+xEpvMHGyLxt0SgPZ9bWG6jx4eff6jQ4JILt5zwj/EoTg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-class-features-plugin': 7.22.11(@babel/core@7.22.11) + '@babel/core': 7.22.15 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.15) + babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.15) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.15) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color - /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==} + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.11(@babel/core@7.22.11) + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.11) - /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.11) - '@babel/types': 7.22.11 - /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.11): - resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - regenerator-transform: 0.15.2 - /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-runtime@7.22.2(@babel/core@7.22.11): - resolution: {integrity: sha512-ewgWBw1pAoqFg9crO6yhZAQoKWN/iNEGqAmuYegZp+xEpvMHGyLxt0SgPZ9bWG6jx4eff6jQ4JILt5zwj/EoTg==} + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.11) - babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.11) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.11) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + dev: true - /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} + /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.0.0): + resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.0.0) - /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} + /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.15) - /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} + /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.0.0): + resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} + /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.15): + resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + dev: true - /@babel/plugin-transform-typescript@7.22.11(@babel/core@7.22.11): - resolution: {integrity: sha512-0E4/L+7gfvHub7wsbTv03oRtD69X31LByy44fGmFzbZScpupFByMcgCJ0VbBTkzyjSJKuRoGN8tcijOWKTmqOA==} + /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.11(@babel/core@7.22.11) + '@babel/core': 7.0.0 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.11) - /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.11): - resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} + /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 + dev: true - /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.0.0 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.22.15 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.15) + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.0.0): + resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.11): + /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.11) + '@babel/core': 7.22.15 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.15) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/preset-env@7.22.2(@babel/core@7.0.0): + resolution: {integrity: sha512-UPNK9pgphMULvA2EMKIWHU90C47PKyuvQ8pE1MzH7l9PgFcRabdrHhlePpBuWxYZQ+TziP2nycKoI5C1Yhdm9Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.22.9 + '@babel/core': 7.0.0 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.0.0) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.0.0) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.0.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.0.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.0.0) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.0.0) + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.0.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.0.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.0.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.0.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.0.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.0.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.0.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.0.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.0.0) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.0.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.0.0) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-async-generator-functions': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.0.0) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.0.0) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.0.0) + '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.0.0) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.0.0) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.0.0) + '@babel/plugin-transform-modules-systemjs': 7.22.11(@babel/core@7.0.0) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.0.0) + '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.0.0) + '@babel/plugin-transform-object-rest-spread': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.0.0) + '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.0.0) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.0.0) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.0.0) + '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.0.0) + '@babel/preset-modules': 0.1.6(@babel/core@7.0.0) + '@babel/types': 7.22.15 + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.0.0) + babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.0.0) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.0.0) + core-js-compat: 3.32.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color - /@babel/preset-env@7.22.2(@babel/core@7.22.11): + /@babel/preset-env@7.22.2(@babel/core@7.22.15): resolution: {integrity: sha512-UPNK9pgphMULvA2EMKIWHU90C47PKyuvQ8pE1MzH7l9PgFcRabdrHhlePpBuWxYZQ+TziP2nycKoI5C1Yhdm9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.11 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/core': 7.22.15 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.22.11) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.11) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.11) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.11) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.11) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.11) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.11) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.11) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.11) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-async-generator-functions': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.11) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.11) - '@babel/plugin-transform-modules-systemjs': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-object-rest-spread': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-optional-chaining': 7.22.12(@babel/core@7.22.11) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.11) - '@babel/preset-modules': 0.1.6(@babel/core@7.22.11) - '@babel/types': 7.22.11 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.11) - babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.11) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.11) + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.22.15) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.15) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.15) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.15) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.15) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.15) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.15) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.15) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.15) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-async-generator-functions': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.22.15) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.22.15) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.22.15) + '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.22.15) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.22.15) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.15) + '@babel/plugin-transform-modules-systemjs': 7.22.11(@babel/core@7.22.15) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.22.15) + '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.22.15) + '@babel/plugin-transform-object-rest-spread': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.22.15) + '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.22.15) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.22.15) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.22.15) + '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.15) + '@babel/preset-modules': 0.1.6(@babel/core@7.22.15) + '@babel/types': 7.22.15 + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.15) + babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.15) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.15) core-js-compat: 3.32.1 semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true - /@babel/preset-flow@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==} + /@babel/preset-flow@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-dB5aIMqpkgbTfN5vDdTRPzjqtWiZcRESNR88QYnoPR+bmdYoluOzMX9tQerTv0XzSgZYctPfO1oc0N5zdog1ew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.15) + + /@babel/preset-modules@0.1.6(@babel/core@7.0.0): + resolution: {integrity: sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.11) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.0.0) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.0.0) + '@babel/types': 7.22.15 + esutils: 2.0.3 - /@babel/preset-modules@0.1.6(@babel/core@7.22.11): + /@babel/preset-modules@0.1.6(@babel/core@7.22.15): resolution: {integrity: sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.11) - '@babel/types': 7.22.11 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.15) + '@babel/types': 7.22.15 esutils: 2.0.3 + dev: true + + /@babel/preset-typescript@7.21.5(@babel/core@7.0.0): + resolution: {integrity: sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.0.0) + '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.0.0) + dev: true - /@babel/preset-typescript@7.21.5(@babel/core@7.22.11): + /@babel/preset-typescript@7.21.5(@babel/core@7.22.15): resolution: {integrity: sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.11) - '@babel/plugin-transform-typescript': 7.22.11(@babel/core@7.22.11) + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.15) + '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.22.15) - /@babel/register@7.22.5(@babel/core@7.22.11): - resolution: {integrity: sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ==} + /@babel/register@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 clone-deep: 4.0.1 find-cache-dir: 2.1.0 make-dir: 2.1.0 @@ -3489,43 +4900,43 @@ packages: /@babel/regjsgen@0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - /@babel/runtime@7.22.11: - resolution: {integrity: sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==} + /@babel/runtime@7.22.15: + resolution: {integrity: sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.0 - /@babel/template@7.22.5: - resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.13 - '@babel/parser': 7.22.13 - '@babel/types': 7.22.11 + '@babel/parser': 7.22.15 + '@babel/types': 7.22.15 - /@babel/traverse@7.22.11: - resolution: {integrity: sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==} + /@babel/traverse@7.22.15: + resolution: {integrity: sha512-DdHPwvJY0sEeN4xJU5uRLmZjgMMDIvMPniLuYzUVXj/GGzysPl0/fwt44JBkyUIzGJPV8QgHMcQdQ34XFuKTYQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.13 - '@babel/generator': 7.22.10 + '@babel/generator': 7.22.15 '@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.13 - '@babel/types': 7.22.11 + '@babel/parser': 7.22.15 + '@babel/types': 7.22.15 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.22.11: - resolution: {integrity: sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==} + /@babel/types@7.22.15: + resolution: {integrity: sha512-X+NLXr0N8XXmN5ZsaQdm9U2SSC3UbIYq/doL++sueHOTisgZHoKaQtZxGuV2cUPQHMfjKEfg/g6oy7Hm6SKFtA==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.15 to-fast-properties: 2.0.0 /@bcoe/v8-coverage@0.2.3: @@ -4078,7 +5489,7 @@ packages: resolution: {integrity: sha512-ehaAOw4SwkJ9uL5z9c3RD4LJpmMDCXZBCWZG4fonUGutks4t/GLoNRcdENkWsf6NSgkdPNgNl8KwphU1p083PQ==} hasBin: true dependencies: - '@babel/runtime': 7.22.11 + '@babel/runtime': 7.22.15 '@expo/code-signing-certificates': 0.0.5 '@expo/config': 8.1.2 '@expo/config-plugins': 7.2.5 @@ -4134,7 +5545,7 @@ packages: send: 0.18.0 slugify: 1.6.6 structured-headers: 0.4.1 - tar: 6.1.15 + tar: 6.2.0 tempy: 0.7.1 terminal-link: 2.1.1 text-table: 0.2.0 @@ -4815,7 +6226,7 @@ packages: resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@jest/types': 27.5.1 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 @@ -4838,7 +6249,7 @@ packages: resolution: {integrity: sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.19 babel-plugin-istanbul: 6.1.1 @@ -4971,7 +6382,7 @@ packages: resolution: {integrity: sha512-yUCDCcRNNbI9UUsUB6FYEmDHpo5Tn/f0q5D7vhDP4i6Or8kBj82y7+e31hwfLvK2ykOYlDVs2MxAluH/+QUBOQ==} engines: {node: ^14.15.0 || >=16.0.0} dependencies: - chalk: 4.1.2 + chalk: 4.1.0 execa: 5.0.0 strong-log-transformer: 2.1.0 dev: true @@ -5121,7 +6532,7 @@ packages: npmlog: 5.0.1 rimraf: 3.0.2 semver: 7.5.4 - tar: 6.1.15 + tar: 6.2.0 transitivePeerDependencies: - encoding - supports-color @@ -5138,7 +6549,7 @@ packages: npmlog: 5.0.1 rimraf: 3.0.2 semver: 7.5.4 - tar: 6.1.15 + tar: 6.2.0 transitivePeerDependencies: - encoding - supports-color @@ -5424,7 +6835,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/name-from-folder': 2.0.0 - glob: 10.3.3 + glob: 10.3.4 minimatch: 9.0.3 read-package-json-fast: 3.0.2 dev: true @@ -5479,7 +6890,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/git': 4.1.0 - glob: 10.3.3 + glob: 10.3.4 json-parse-even-better-errors: 3.0.0 normalize-package-data: 5.0.0 npm-normalize-package-bin: 3.0.1 @@ -5785,7 +7196,7 @@ packages: '@octokit/request-error': 3.0.3 '@octokit/types': 9.3.2 is-plain-object: 5.0.0 - node-fetch: 2.7.0 + node-fetch: 2.6.7 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding @@ -5903,7 +7314,7 @@ packages: cosmiconfig: 5.2.1 deepmerge: 4.3.1 glob: 7.2.3 - joi: 17.10.0 + joi: 17.10.1 transitivePeerDependencies: - encoding @@ -5972,7 +7383,7 @@ packages: transitivePeerDependencies: - encoding - /@react-native-community/cli-plugin-metro@11.3.6(@babel/core@7.22.11): + /@react-native-community/cli-plugin-metro@11.3.6(@babel/core@7.0.0): resolution: {integrity: sha512-D97racrPX3069ibyabJNKw9aJpVcaZrkYiEzsEnx50uauQtPDoQ1ELb/5c6CtMhAEGKoZ0B5MS23BbsSZcLs2g==} dependencies: '@react-native-community/cli-server-api': 11.3.6 @@ -5982,7 +7393,7 @@ packages: metro: 0.76.7 metro-config: 0.76.7 metro-core: 0.76.7 - metro-react-native-babel-transformer: 0.76.7(@babel/core@7.22.11) + metro-react-native-babel-transformer: 0.76.7(@babel/core@7.0.0) metro-resolver: 0.76.7 metro-runtime: 0.76.7 readline: 1.3.0 @@ -6029,9 +7440,9 @@ packages: /@react-native-community/cli-types@11.3.6: resolution: {integrity: sha512-6DxjrMKx5x68N/tCJYVYRKAtlRHbtUVBZrnAvkxbRWFD9v4vhNgsPM0RQm8i2vRugeksnao5mbnRGpS6c0awCw==} dependencies: - joi: 17.10.0 + joi: 17.10.1 - /@react-native-community/cli@11.3.6(@babel/core@7.22.11): + /@react-native-community/cli@11.3.6(@babel/core@7.0.0): resolution: {integrity: sha512-bdwOIYTBVQ9VK34dsf6t3u6vOUU5lfdhKaAxiAVArjsr7Je88Bgs4sAbsOYsNK3tkE8G77U6wLpekknXcanlww==} engines: {node: '>=16'} hasBin: true @@ -6041,7 +7452,7 @@ packages: '@react-native-community/cli-debugger-ui': 11.3.6 '@react-native-community/cli-doctor': 11.3.6 '@react-native-community/cli-hermes': 11.3.6 - '@react-native-community/cli-plugin-metro': 11.3.6(@babel/core@7.22.11) + '@react-native-community/cli-plugin-metro': 11.3.6(@babel/core@7.0.0) '@react-native-community/cli-server-api': 11.3.6 '@react-native-community/cli-tools': 11.3.6 '@react-native-community/cli-types': 11.3.6 @@ -6068,8 +7479,8 @@ packages: peerDependencies: '@babel/preset-env': ^7.1.6 dependencies: - '@babel/parser': 7.22.13 - '@babel/preset-env': 7.22.2(@babel/core@7.22.11) + '@babel/parser': 7.22.15 + '@babel/preset-env': 7.22.2(@babel/core@7.0.0) flow-parser: 0.206.0 jscodeshift: 0.14.0(@babel/preset-env@7.22.2) nullthrows: 1.1.1 @@ -6095,7 +7506,7 @@ packages: dependencies: invariant: 2.2.4 nullthrows: 1.1.1 - react-native: 0.72.4(@babel/core@7.22.11)(@babel/preset-env@7.22.2)(react@18.2.0) + react-native: 0.72.4(@babel/core@7.0.0)(@babel/preset-env@7.22.2)(react@18.2.0) /@rushstack/node-core-library@3.53.3: resolution: {integrity: sha512-H0+T5koi5MFhJUd5ND3dI3bwLhvlABetARl78L3lWftJVQEPyzcgTStvTTRiIM5mCltyTM8VYm6BuCtNUuxD0Q==} @@ -6126,8 +7537,8 @@ packages: string-argv: 0.3.2 dev: false - /@scure/base@1.1.1: - resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==} + /@scure/base@1.1.3: + resolution: {integrity: sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q==} dev: false /@scure/bip32@1.3.1: @@ -6135,14 +7546,14 @@ packages: dependencies: '@noble/curves': 1.1.0 '@noble/hashes': 1.2.0 - '@scure/base': 1.1.1 + '@scure/base': 1.1.3 dev: false /@scure/bip39@1.2.1: resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} dependencies: '@noble/hashes': 1.2.0 - '@scure/base': 1.1.1 + '@scure/base': 1.1.3 dev: false /@segment/loosely-validate-event@2.0.0: @@ -6191,7 +7602,7 @@ packages: fs-extra: 11.1.1 globby: 11.1.0 http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.1 + https-proxy-agent: 7.0.2 issue-parser: 6.0.0 lodash: 4.17.21 mime: 3.0.0 @@ -6355,13 +7766,13 @@ packages: transitivePeerDependencies: - encoding - /@sphereon/ed25519-signature-2018@0.7.0-unstable.6(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): + /@sphereon/ed25519-signature-2018@0.7.0-unstable.6(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): resolution: {integrity: sha512-HO+W3v50yv0DrCrhCH3MFkHuUk0snM8zf8XFt6ym3xe2Dv/9x1J8xk6VZeYhSygvoUavH5x/Az6NbV4KDMgrXA==} engines: {node: '>=16'} dependencies: '@digitalcredentials/credentials-context': 1.0.5 '@digitalcredentials/jsonld': 5.2.1 - '@sphereon/isomorphic-webcrypto': 2.4.0-unstable.4(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/isomorphic-webcrypto': 2.4.0-unstable.4(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@transmute/credentials-context': 0.7.0-unstable.81 '@transmute/ed25519-key-pair': 0.7.0-unstable.80 '@transmute/jose-ld': 0.7.0-unstable.81 @@ -6400,11 +7811,11 @@ packages: dependencies: '@sphereon/react-native-argon2': 2.0.9(react-native@0.72.4) argon2-browser: 1.18.0 - react-native: 0.72.4(@babel/core@7.22.11)(@babel/preset-env@7.22.2)(react@18.2.0) + react-native: 0.72.4(@babel/core@7.0.0)(@babel/preset-env@7.22.2)(react@18.2.0) uint8arrays: 3.1.1 dev: true - /@sphereon/isomorphic-webcrypto@2.4.0-unstable.4(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): + /@sphereon/isomorphic-webcrypto@2.4.0-unstable.4(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): resolution: {integrity: sha512-7i9GBta0yji3Z5ocyk82fXpqrV/swe7hXZVfVzOXRaGtTUNd+y8W/3cpHRQC2S4UEO/5N3lX7+B6qUunK9wS/Q==} peerDependencies: expo: '*' @@ -6418,8 +7829,8 @@ packages: b64u-lite: 1.1.0 cipher-base: 1.0.4 create-hash: 1.2.0 - expo: 49.0.8(@babel/core@7.22.11) - expo-crypto: 12.4.1(expo@49.0.8) + expo: 49.0.9(@babel/core@7.0.0) + expo-crypto: 12.4.1(expo@49.0.9) inherits: 2.0.4 md5.js: 1.3.5 msrcrypto: 1.5.8 @@ -6515,7 +7926,7 @@ packages: peerDependencies: react-native: '>=0.67.0' dependencies: - react-native: 0.72.4(@babel/core@7.22.11)(@babel/preset-env@7.22.2)(react@18.2.0) + react-native: 0.72.4(@babel/core@7.0.0)(@babel/preset-env@7.22.2)(react@18.2.0) dev: true /@sphereon/ssi-express-support@0.15.1: @@ -6547,12 +7958,12 @@ packages: - supports-color dev: false - /@sphereon/ssi-sdk-ext.did-provider-jwk@0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): + /@sphereon/ssi-sdk-ext.did-provider-jwk@0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): resolution: {integrity: sha512-s3R4H3sCTTpv1aADb20VkCq2fWU4WKYvPqWrvhAYG+5eQWSR8X1lfMjI6zsajAr2Lo34JOdO0VCASqvwV3qP9g==} dependencies: '@ethersproject/random': 5.7.0 - '@sphereon/ssi-sdk-ext.did-utils': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) - '@sphereon/ssi-sdk-ext.key-utils': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/ssi-sdk-ext.did-utils': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/ssi-sdk-ext.key-utils': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-types': link:packages/ssi-types '@stablelib/ed25519': 1.0.3 '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) @@ -6570,11 +7981,11 @@ packages: - supports-color dev: true - /@sphereon/ssi-sdk-ext.did-provider-key@0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): + /@sphereon/ssi-sdk-ext.did-provider-key@0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): resolution: {integrity: sha512-E9jY4hgTYBNa/abB7l4I+c582a5o89ygfKc3IViQ+ZzjzvfWsATebaBmV1KA48B3qxj9qoPgRNOop2HIqlrpIw==} dependencies: - '@sphereon/ssi-sdk-ext.did-resolver-key': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) - '@sphereon/ssi-sdk-ext.key-utils': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/ssi-sdk-ext.did-resolver-key': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/ssi-sdk-ext.key-utils': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@transmute/did-key-bls12381': 0.3.0-unstable.10 '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) '@veramo/did-manager': 4.2.0 @@ -6622,10 +8033,10 @@ packages: - supports-color dev: true - /@sphereon/ssi-sdk-ext.did-resolver-key@0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): + /@sphereon/ssi-sdk-ext.did-resolver-key@0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): resolution: {integrity: sha512-3ec4Ekm9nWWRLFFGrlGWnai3T+vrWh28U+yCbey+d5yCtLYjDcfhX/Qwa2UkMEvfDXIBH5MEXSpulyM98qWMaw==} dependencies: - '@sphereon/ssi-sdk-ext.key-utils': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/ssi-sdk-ext.key-utils': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@stablelib/ed25519': 1.0.3 bigint-mod-arith: 3.3.1 did-resolver: 4.1.0 @@ -6644,12 +8055,12 @@ packages: - supports-color dev: true - /@sphereon/ssi-sdk-ext.did-utils@0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): + /@sphereon/ssi-sdk-ext.did-utils@0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): resolution: {integrity: sha512-7tFsLrMjHcvtUvNF+rdbM19LebSLNNgrh9hoyBcVHHKx9zga0JaFEvl+cyWrIWn6aQ0SDVvjKlJm+R15R737FA==} dependencies: '@ethersproject/transactions': 5.7.0 '@sphereon/did-uni-client': 0.6.0 - '@sphereon/ssi-sdk-ext.key-utils': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/ssi-sdk-ext.key-utils': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.core': link:packages/ssi-sdk-core '@stablelib/ed25519': 1.0.3 '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) @@ -6666,11 +8077,11 @@ packages: - react-native-securerandom - supports-color - /@sphereon/ssi-sdk-ext.key-manager@0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): + /@sphereon/ssi-sdk-ext.key-manager@0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): resolution: {integrity: sha512-NESRGbOQSBP9U/kADHNDZp4qdQbMuEFPlMKmtTqF8Rpoe46Rcn7NtaiKWvfT62Nr5nUL9KcYV59iQx80WAI0rw==} dependencies: '@mattrglobal/bbs-signatures': 1.1.0 - '@sphereon/ssi-sdk-ext.kms-local': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/ssi-sdk-ext.kms-local': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) '@veramo/key-manager': 4.2.0 transitivePeerDependencies: @@ -6681,11 +8092,11 @@ packages: - react-native-securerandom - supports-color - /@sphereon/ssi-sdk-ext.key-utils@0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): + /@sphereon/ssi-sdk-ext.key-utils@0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): resolution: {integrity: sha512-VvbwbKmBiwfgPH4V54whTdpxzwT3cbeVCGlc4wIahPQSmm6EN5SiReRQFh+KPNnTYQT1suPsirYb8RCl4kv5oQ==} dependencies: '@ethersproject/random': 5.7.0 - '@sphereon/isomorphic-webcrypto': 2.4.0-unstable.4(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/isomorphic-webcrypto': 2.4.0-unstable.4(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@stablelib/ed25519': 1.0.3 '@stablelib/sha256': 1.0.1 '@stablelib/sha512': 1.0.1 @@ -6706,13 +8117,13 @@ packages: - react-native-securerandom - supports-color - /@sphereon/ssi-sdk-ext.kms-local@0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): + /@sphereon/ssi-sdk-ext.kms-local@0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): resolution: {integrity: sha512-7p5/Bx3f6LADoISMRgBn5TRmNpQn1Fh4WoHD4oLT2r8ZemhM39aIMcwymaXqD0fOojfWydgwpUlbnCF14YsIRA==} dependencies: '@mattrglobal/bbs-signatures': 1.1.0 - '@sphereon/isomorphic-webcrypto': 2.4.0-unstable.4(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) - '@sphereon/ssi-sdk-ext.did-utils': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) - '@sphereon/ssi-sdk-ext.key-utils': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.8)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/isomorphic-webcrypto': 2.4.0-unstable.4(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/ssi-sdk-ext.did-utils': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/ssi-sdk-ext.key-utils': 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@trust/keyto': 2.0.0-alpha1 '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) '@veramo/key-manager': 4.2.0 @@ -6893,7 +8304,7 @@ packages: engines: {node: '>=14'} dependencies: '@babel/code-frame': 7.22.13 - '@babel/runtime': 7.22.11 + '@babel/runtime': 7.22.15 '@types/aria-query': 5.0.1 aria-query: 5.1.3 chalk: 4.1.2 @@ -6907,7 +8318,7 @@ packages: engines: {node: '>=8', npm: '>=6', yarn: '>=1'} dependencies: '@adobe/css-tools': 4.3.1 - '@babel/runtime': 7.22.11 + '@babel/runtime': 7.22.15 '@types/testing-library__jest-dom': 5.14.9 aria-query: 5.3.0 chalk: 3.0.0 @@ -6924,7 +8335,7 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@babel/runtime': 7.22.11 + '@babel/runtime': 7.22.15 '@testing-library/dom': 9.3.1 '@types/react-dom': 18.2.7 react: 18.2.0 @@ -7341,8 +8752,8 @@ packages: /@types/babel__core@7.20.1: resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} dependencies: - '@babel/parser': 7.22.13 - '@babel/types': 7.22.11 + '@babel/parser': 7.22.15 + '@babel/types': 7.22.15 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.20.1 @@ -7351,37 +8762,37 @@ packages: /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.15 dev: true /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.22.13 - '@babel/types': 7.22.11 + '@babel/parser': 7.22.15 + '@babel/types': 7.22.15 dev: true /@types/babel__traverse@7.20.1: resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} dependencies: - '@babel/types': 7.22.11 + '@babel/types': 7.22.15 dev: true /@types/body-parser@1.19.2: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: - '@types/connect': 3.4.35 + '@types/connect': 3.4.36 '@types/node': 18.16.3 dev: true - /@types/connect@3.4.35: - resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} + /@types/connect@3.4.36: + resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} dependencies: '@types/node': 18.16.3 dev: true - /@types/content-disposition@0.5.5: - resolution: {integrity: sha512-v6LCdKfK6BwcqMo+wYW05rLS12S0ZO0Fl4w1h4aaZMD7bqT3gVUns6FvLJKGZHQmYn3SX55JWGpziwJRwVgutA==} + /@types/content-disposition@0.5.6: + resolution: {integrity: sha512-GmShTb4qA9+HMPPaV2+Up8tJafgi38geFi7vL4qAM7k8BwjoelgHZqEUKJZLvughUw22h6vD/wvwN4IUCaWpDA==} dev: true /@types/cookie-parser@1.4.3: @@ -7397,10 +8808,10 @@ packages: '@types/keygrip': 1.0.2 dev: true - /@types/cookies@0.7.7: - resolution: {integrity: sha512-h7BcvPUogWbKCzBR2lY4oqaZbO3jXZksexYJVFvkrFeLgbZjQkU4x8pRq6eg2MHXQhY0McQdqmmsxRWlVAHooA==} + /@types/cookies@0.7.8: + resolution: {integrity: sha512-y6KhF1GtsLERUpqOV+qZJrjUGzc0GE6UTa0b5Z/LZ7Nm2mKSdCXmS6Kdnl7fctPNnMSouHjxqEWI12/YqQfk5w==} dependencies: - '@types/connect': 3.4.35 + '@types/connect': 3.4.36 '@types/express': 4.17.17 '@types/keygrip': 1.0.2 '@types/node': 18.16.3 @@ -7550,8 +8961,8 @@ packages: resolution: {integrity: sha512-Ugmxmgk/yPRW3ptBTh9VjOLwsKWJuGbymo1uGX0qdaqqL18uJiiG1ZoV0rxCOYSaDGhvEp5Ece02Amx0iwaxQQ==} dependencies: '@types/accepts': 1.3.5 - '@types/content-disposition': 0.5.5 - '@types/cookies': 0.7.7 + '@types/content-disposition': 0.5.6 + '@types/cookies': 0.7.8 '@types/http-assert': 1.5.3 '@types/http-errors': 2.0.1 '@types/keygrip': 1.0.2 @@ -7722,8 +9133,8 @@ packages: resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} dev: true - /@types/uuid@9.0.1: - resolution: {integrity: sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==} + /@types/uuid@9.0.3: + resolution: {integrity: sha512-taHQQH/3ZyI3zP8M/puluDEIEvtQHVYcC6y3N8ijFtAd28+Ey/G4sg1u2gB01S8MwybLOKAp9/yCMu/uR5l3Ug==} /@types/validator@13.11.1: resolution: {integrity: sha512-d/MUkJYdOeKycmm75Arql4M5+UuXmf4cHdHKsyw1GcvnNgL6s77UkgSgJ8TE/rI5PYsnwYq5jkcWBLuN/MpQ1A==} @@ -8042,6 +9453,19 @@ packages: - supports-color - web-streams-polyfill + /@veramo/credential-status@4.2.0: + resolution: {integrity: sha512-JWYzfFlr7TwUJzfUXGSDWIK4lzDfnNHuQzthAYrFRnu9NlqODWYemPEdshpMgBnQt9ZzmMw3Wg8/sUtd2Ymi0A==} + dependencies: + '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) + '@veramo/utils': 4.2.0 + credential-status: 2.0.6 + did-jwt: 6.11.6(patch_hash=afqywxnnjnsy6hwgax66dyyiey) + did-resolver: 4.1.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + /@veramo/credential-w3c@4.2.0(patch_hash=wuhizuafnrz3uzah2wlqaevbmi): resolution: {integrity: sha512-zfZnFAV2hVdwqsT0N3zBr+iHDo3i/JYFTDdNhLzKcQasz3V6NERyEtWmqv60/LPCGTufuGIqYbB+OKJrS9Ogpw==} dependencies: @@ -8065,6 +9489,38 @@ packages: - web-streams-polyfill patched: true + /@veramo/data-store@4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(pg@8.11.3)(ts-node@10.9.1): + resolution: {integrity: sha512-gwinKYd//jOCXrdr2NefXOHnuUT8Vz2sHvSMFvm41UVD9QMpeKpTrTEqGoYG/eDg/1+U9aQlb+AI6bFUNNsk0Q==} + dependencies: + '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) + '@veramo/did-discovery': 4.2.0 + '@veramo/did-manager': 4.2.0 + '@veramo/key-manager': 4.2.0 + '@veramo/utils': 4.2.0 + debug: 4.3.4 + typeorm: 0.3.12(pg@8.11.3)(ts-node@10.9.1) + transitivePeerDependencies: + - '@google-cloud/spanner' + - '@sap/hana-client' + - better-sqlite3 + - encoding + - hdb-pool + - ioredis + - mongodb + - mssql + - mysql2 + - oracledb + - pg + - pg-native + - pg-query-stream + - redis + - sql.js + - sqlite3 + - supports-color + - ts-node + - typeorm-aurora-data-api-driver + patched: true + /@veramo/data-store@4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1): resolution: {integrity: sha512-gwinKYd//jOCXrdr2NefXOHnuUT8Vz2sHvSMFvm41UVD9QMpeKpTrTEqGoYG/eDg/1+U9aQlb+AI6bFUNNsk0Q==} dependencies: @@ -8095,6 +9551,7 @@ packages: - supports-color - ts-node - typeorm-aurora-data-api-driver + dev: true patched: true /@veramo/did-discovery@4.2.0: @@ -8578,6 +10035,16 @@ packages: /any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + /anymatch@2.0.0: + resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} + dependencies: + micromatch: 3.1.10 + normalize-path: 2.1.1 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -8671,6 +10138,24 @@ packages: dequal: 2.0.3 dev: true + /arr-diff@4.0.0: + resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + + /arr-flatten@1.1.0: + resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + + /arr-union@3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + /array-back@3.1.0: resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} engines: {node: '>=6'} @@ -8704,8 +10189,8 @@ packages: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} dev: true - /array-includes@3.1.6: - resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + /array-includes@3.1.7: + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -8719,8 +10204,14 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - /array.prototype.flat@1.3.1: - resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + /array-unique@0.3.2: + resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + + /array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -8739,13 +10230,14 @@ packages: es-shim-unscopables: 1.0.0 dev: true - /arraybuffer.prototype.slice@1.0.1: - resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==} + /arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.2 define-properties: 1.2.0 + es-abstract: 1.22.1 get-intrinsic: 1.2.1 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 @@ -8782,6 +10274,12 @@ packages: pvutils: 1.1.3 tslib: 2.6.2 + /assign-symbols@1.0.0: + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + /ast-types@0.15.2: resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} engines: {node: '>=4'} @@ -8797,6 +10295,11 @@ packages: engines: {node: '>=8'} dev: true + /async-each@1.0.6: + resolution: {integrity: sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==} + dev: true + optional: true + /async-limiter@1.0.1: resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} @@ -8813,6 +10316,13 @@ packages: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} + /atob@2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + dev: true + optional: true + /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} @@ -8849,25 +10359,25 @@ packages: dependencies: b64-lite: 1.4.0 - /babel-core@7.0.0-bridge.0(@babel/core@7.22.11): + /babel-core@7.0.0-bridge.0(@babel/core@7.22.15): resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 - /babel-jest@27.5.1(@babel/core@7.22.11): + /babel-jest@27.5.1(@babel/core@7.22.15): resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 '@types/babel__core': 7.20.1 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.5.1(@babel/core@7.22.11) + babel-preset-jest: 27.5.1(@babel/core@7.22.15) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -8875,17 +10385,17 @@ packages: - supports-color dev: true - /babel-jest@29.6.4(@babel/core@7.22.11): + /babel-jest@29.6.4(@babel/core@7.22.15): resolution: {integrity: sha512-meLj23UlSLddj6PC+YTOFRgDAtjnZom8w/ACsrx0gtPtv5cJZk0A5Unk5bV4wixD7XaPCN1fQvpww8czkZURmw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@jest/transform': 29.6.4 '@types/babel__core': 7.20.1 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.22.11) + babel-preset-jest: 29.6.3(@babel/core@7.22.15) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -8910,8 +10420,8 @@ packages: resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.11 + '@babel/template': 7.22.15 + '@babel/types': 7.22.15 '@types/babel__core': 7.20.1 '@types/babel__traverse': 7.20.1 dev: true @@ -8920,8 +10430,8 @@ packages: resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.11 + '@babel/template': 7.22.15 + '@babel/types': 7.22.15 '@types/babel__core': 7.20.1 '@types/babel__traverse': 7.20.1 dev: true @@ -8936,36 +10446,69 @@ packages: reselect: 4.1.8 resolve: 1.22.4 - /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.11): + /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.0.0): + resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/compat-data': 7.22.9 + '@babel/core': 7.0.0 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.0.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.15): resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.11 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.11) + '@babel/core': 7.22.15 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.15) semver: 6.3.1 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.11): + /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.0.0): + resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.0.0) + core-js-compat: 3.32.1 + transitivePeerDependencies: + - supports-color + + /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.15): resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.11) + '@babel/core': 7.22.15 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.15) core-js-compat: 3.32.1 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.11): + /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.0.0): + resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.0.0 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.0.0) + transitivePeerDependencies: + - supports-color + + /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.15): resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.11 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.11) + '@babel/core': 7.22.15 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.15) transitivePeerDependencies: - supports-color @@ -8975,102 +10518,143 @@ packages: /babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} - /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.22.11): + /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.0.0): + resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} + dependencies: + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.0.0) + transitivePeerDependencies: + - '@babel/core' + + /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.22.15): resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} dependencies: - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.11) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.15) transitivePeerDependencies: - '@babel/core' - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.11): + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.15): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.11) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.11) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.11) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.11) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.11) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.11) - dev: true - - /babel-preset-expo@9.5.2(@babel/core@7.22.11): + '@babel/core': 7.22.15 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.15) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.15) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.15) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.15) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.15) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.15) + dev: true + + /babel-preset-expo@9.5.2(@babel/core@7.0.0): resolution: {integrity: sha512-hU1G1TDiikuXV6UDZjPnX+WdbjbtidDiYhftMEVrZQSst45pDPVBWbM41TUKrpJMwv4FypsLzK+378gnMPRVWQ==} dependencies: - '@babel/plugin-proposal-decorators': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.22.11) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.11) - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.11) - '@babel/preset-env': 7.22.2(@babel/core@7.22.11) + '@babel/plugin-proposal-decorators': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.0.0) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.0.0) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.0.0) + '@babel/preset-env': 7.22.2(@babel/core@7.0.0) 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.22.11) + metro-react-native-babel-preset: 0.76.8(@babel/core@7.0.0) transitivePeerDependencies: - '@babel/core' - supports-color - /babel-preset-fbjs@3.4.0(@babel/core@7.22.11): + /babel-preset-fbjs@3.4.0(@babel/core@7.0.0): + resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.0.0 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.0.0) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.0.0) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.0.0) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.0.0) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.0.0) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.0.0) + babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 + + /babel-preset-fbjs@3.4.0(@babel/core@7.22.15): resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.11) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.11) - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.11) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.11) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.11) + '@babel/core': 7.22.15 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.15) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.15) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.15) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.15) babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 - /babel-preset-jest@27.5.1(@babel/core@7.22.11): + /babel-preset-jest@27.5.1(@babel/core@7.22.15): resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 babel-plugin-jest-hoist: 27.5.1 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.11) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.15) dev: true - /babel-preset-jest@29.6.3(@babel/core@7.22.11): + /babel-preset-jest@29.6.3(@babel/core@7.22.15): resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.11) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.15) dev: true /balanced-match@1.0.2: @@ -9104,6 +10688,20 @@ packages: resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} engines: {node: '>=6.0.0'} + /base@0.11.2: + resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} + engines: {node: '>=0.10.0'} + dependencies: + cache-base: 1.0.1 + class-utils: 0.3.6 + component-emitter: 1.3.0 + define-property: 1.0.0 + isobject: 3.0.1 + mixin-deep: 1.3.2 + pascalcase: 0.1.1 + dev: true + optional: true + /basic-auth@2.0.1: resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} engines: {node: '>= 0.8'} @@ -9156,6 +10754,12 @@ packages: write-file-atomic: 5.0.1 dev: true + /binary-extensions@1.13.1: + resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: @@ -9288,6 +10892,25 @@ packages: dependencies: balanced-match: 1.0.2 + /braces@2.3.2: + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} + engines: {node: '>=0.10.0'} + dependencies: + arr-flatten: 1.1.0 + array-unique: 0.3.2 + extend-shallow: 2.0.1 + fill-range: 4.0.0 + isobject: 3.0.1 + repeat-element: 1.1.4 + snapdragon: 0.8.2 + snapdragon-node: 2.1.1 + split-string: 3.1.0 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} @@ -9317,8 +10940,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001524 - electron-to-chromium: 1.4.505 + caniuse-lite: 1.0.30001527 + electron-to-chromium: 1.4.508 node-releases: 2.0.13 update-browserslist-db: 1.0.11(browserslist@4.21.10) @@ -9357,6 +10980,10 @@ packages: /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + /buffer-writer@2.0.0: + resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} + engines: {node: '>=4'} + /buffer-xor@1.0.3: resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} dev: true @@ -9425,7 +11052,7 @@ packages: promise-inflight: 1.0.1 rimraf: 3.0.2 ssri: 8.0.1 - tar: 6.1.15 + tar: 6.2.0 unique-filename: 1.1.1 transitivePeerDependencies: - bluebird @@ -9450,7 +11077,7 @@ packages: promise-inflight: 1.0.1 rimraf: 3.0.2 ssri: 9.0.1 - tar: 6.1.15 + tar: 6.1.11 unique-filename: 2.0.1 transitivePeerDependencies: - bluebird @@ -9462,7 +11089,7 @@ packages: dependencies: '@npmcli/fs': 3.1.0 fs-minipass: 3.0.3 - glob: 10.3.3 + glob: 10.3.4 lru-cache: 7.18.3 minipass: 7.0.3 minipass-collect: 1.0.2 @@ -9470,10 +11097,26 @@ packages: minipass-pipeline: 1.2.4 p-map: 4.0.0 ssri: 10.0.5 - tar: 6.1.15 + tar: 6.1.11 unique-filename: 3.0.0 dev: true + /cache-base@1.0.1: + resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} + engines: {node: '>=0.10.0'} + dependencies: + collection-visit: 1.0.0 + component-emitter: 1.3.0 + get-value: 2.0.6 + has-value: 1.0.0 + isobject: 3.0.1 + set-value: 2.0.1 + to-object-path: 0.3.0 + union-value: 1.0.1 + unset-value: 1.0.0 + dev: true + optional: true + /cache-manager@3.6.3: resolution: {integrity: sha512-dS4DnV6c6cQcVH5OxzIU1XZaACXwvVIiUPkFytnRmLOACuBGv3GQgRQ1RJGRRw4/9DF14ZK2RFlZu1TUgDniMg==} dependencies: @@ -9539,8 +11182,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - /caniuse-lite@1.0.30001524: - resolution: {integrity: sha512-Jj917pJtYg9HSJBF95HVX3Cdr89JUyLT4IZ8SvM5aDRni95swKgYi3TgYLH5hnGfPE/U1dg6IfZ50UsIlLkwSA==} + /caniuse-lite@1.0.30001527: + resolution: {integrity: sha512-YkJi7RwPgWtXVSgK4lG9AHH57nSzvvOp9MesgXmw4Q7n0C3H04L0foHqfxcmSAm5AcWb8dW9AYj2tR7/5GnddQ==} /canonicalize@1.0.1: resolution: {integrity: sha512-N3cmB3QLhS5TJ5smKFf1w42rJXWe6C1qP01z4dxJiI5v269buii4fLHWETDyf7yEd0azGLNC63VxNMiPd2u0Cg==} @@ -9624,6 +11267,29 @@ packages: /charenc@0.0.2: resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + /chokidar@2.1.8: + resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} + deprecated: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies + requiresBuild: true + dependencies: + anymatch: 2.0.0 + async-each: 1.0.6 + braces: 2.3.2 + glob-parent: 3.1.0 + inherits: 2.0.4 + is-binary-path: 1.0.1 + is-glob: 4.0.3 + normalize-path: 3.0.0 + path-is-absolute: 1.0.1 + readdirp: 2.2.1 + upath: 1.2.0 + optionalDependencies: + fsevents: 1.2.13 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + /chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} optional: true @@ -9649,11 +11315,22 @@ packages: resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} dev: true + /class-utils@0.3.6: + resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + define-property: 0.2.5 + isobject: 3.0.1 + static-extend: 0.1.2 + dev: true + optional: true + /class-validator@0.14.0: resolution: {integrity: sha512-ct3ltplN8I9fOwUd8GrP8UQixwff129BkEtuWDKL5W45cQuLd19xqmTLu5ge78YDm/fdje6FMt0hGOhl0lii3A==} dependencies: '@types/validator': 13.11.1 - libphonenumber-js: 1.10.43 + libphonenumber-js: 1.10.44 validator: 13.11.0 dev: false @@ -9799,6 +11476,15 @@ packages: resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} dev: true + /collection-visit@1.0.0: + resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} + engines: {node: '>=0.10.0'} + dependencies: + map-visit: 1.0.0 + object-visit: 1.0.1 + dev: true + optional: true + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -9912,6 +11598,11 @@ packages: /compare-versions@3.6.0: resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==} + /component-emitter@1.3.0: + resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} + dev: true + optional: true + /component-type@1.2.1: resolution: {integrity: sha512-Kgy+2+Uwr75vAi6ChWXgHuLvd+QLD7ssgpaRq2zCvt80ptvAfMc/hijcJxXkBa2wMlEZcJvC2H8Ubo+A9ATHIg==} @@ -10151,6 +11842,12 @@ packages: keygrip: 1.1.0 dev: false + /copy-descriptor@0.1.1: + resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + /copyfiles@2.4.1: resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} hasBin: true @@ -10401,7 +12098,7 @@ packages: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} dependencies: - '@babel/runtime': 7.22.11 + '@babel/runtime': 7.22.15 /dateformat@3.0.3: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} @@ -10457,6 +12154,12 @@ packages: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} dev: true + /decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + dev: true + optional: true + /dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true @@ -10527,12 +12230,37 @@ packages: has-property-descriptors: 1.0.0 object-keys: 1.1.1 + /define-property@0.2.5: + resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 0.1.6 + dev: true + optional: true + + /define-property@1.0.0: + resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 1.0.2 + dev: true + optional: true + + /define-property@2.0.2: + resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 1.0.2 + isobject: 3.0.1 + dev: true + optional: 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 + graceful-fs: 4.2.10 is-glob: 4.0.3 is-path-cwd: 2.2.0 is-path-inside: 3.0.3 @@ -10783,8 +12511,8 @@ packages: jake: 10.8.7 dev: true - /electron-to-chromium@1.4.505: - resolution: {integrity: sha512-0A50eL5BCCKdxig2SsCXhpuztnB9PfUgRMojj5tMvt8O54lbwz3t6wNgnpiTRosw5QjlJB7ixhVyeg8daLQwSQ==} + /electron-to-chromium@1.4.508: + resolution: {integrity: sha512-FFa8QKjQK/A5QuFr2167myhMesGrhlOBD+3cYNxO9/S4XzHEXesyTD/1/xF644gC8buFPz3ca6G1LOQD0tZrrg==} /elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} @@ -10907,7 +12635,7 @@ packages: engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.1 + arraybuffer.prototype.slice: 1.0.2 available-typed-arrays: 1.0.5 call-bind: 1.0.2 es-set-tostringtag: 2.0.1 @@ -10934,11 +12662,11 @@ packages: object-keys: 1.1.1 object.assign: 4.1.4 regexp.prototype.flags: 1.5.0 - safe-array-concat: 1.0.0 + safe-array-concat: 1.0.1 safe-regex-test: 1.0.0 string.prototype.trim: 1.2.7 string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 + string.prototype.trimstart: 1.0.7 typed-array-buffer: 1.0.0 typed-array-byte-length: 1.0.0 typed-array-byte-offset: 1.0.0 @@ -11104,8 +12832,8 @@ packages: optional: true dependencies: '@typescript-eslint/parser': 5.59.2(eslint@8.35.0)(typescript@4.9.5) - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 + array-includes: 3.1.7 + array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 @@ -11541,6 +13269,22 @@ packages: engines: {node: '>= 0.8.0'} dev: true + /expand-brackets@2.1.4: + resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} + engines: {node: '>=0.10.0'} + dependencies: + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + posix-character-classes: 0.1.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + /expect@27.5.1: resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -11562,19 +13306,19 @@ packages: jest-util: 29.6.3 dev: true - /expo-application@5.3.0(expo@49.0.8): + /expo-application@5.3.0(expo@49.0.9): resolution: {integrity: sha512-XLkaELwmiXW6JjFVkwuiFQaGZoNKAxNAcSJkFdz8s4rCljEwehylbzoPk37QHw3cxqb4v0/2EICtg4C4kpEVCA==} peerDependencies: expo: '*' dependencies: - expo: 49.0.8(@babel/core@7.22.11) + expo: 49.0.9(@babel/core@7.0.0) - /expo-asset@8.10.1(expo@49.0.8): + /expo-asset@8.10.1(expo@49.0.9): resolution: {integrity: sha512-5VMTESxgY9GBsspO/esY25SKEa7RyascVkLe/OcL1WgblNFm7xCCEEUIW8VWS1nHJQGYxpMZPr3bEfjMpdWdyA==} dependencies: blueimp-md5: 2.19.0 - expo-constants: 14.4.2(expo@49.0.8) - expo-file-system: 15.4.3(expo@49.0.8) + expo-constants: 14.4.2(expo@49.0.9) + expo-file-system: 15.4.4(expo@49.0.9) invariant: 2.2.4 md5-file: 3.2.3 path-browserify: 1.0.1 @@ -11583,47 +13327,47 @@ packages: - expo - supports-color - /expo-constants@14.4.2(expo@49.0.8): + /expo-constants@14.4.2(expo@49.0.9): resolution: {integrity: sha512-nOB122DOAjk+KrJT69lFQAoYVQGQjFHSigCPVBzVdko9S1xGsfiOH9+X5dygTsZTIlVLpQJDdmZ7ONiv3i+26w==} peerDependencies: expo: '*' dependencies: '@expo/config': 8.1.2 - expo: 49.0.8(@babel/core@7.22.11) + expo: 49.0.9(@babel/core@7.0.0) uuid: 3.4.0 transitivePeerDependencies: - supports-color - /expo-crypto@12.4.1(expo@49.0.8): + /expo-crypto@12.4.1(expo@49.0.9): resolution: {integrity: sha512-/en03oPNAX6gP0bKpwA1EyLBnGG9uv0+Q7uvGYyOXaQQEvj31a+8cEvNPkv75x6GuK1hcaBfO25RtX9AGOMwVA==} peerDependencies: expo: '*' dependencies: base64-js: 1.5.1 - expo: 49.0.8(@babel/core@7.22.11) + expo: 49.0.9(@babel/core@7.0.0) - /expo-file-system@15.4.3(expo@49.0.8): - resolution: {integrity: sha512-HaaCBTUATs2+i7T4jxIvoU9rViAHMvOD2eBaJ1H7xPHlwZlMORjQs7bsNKonR/TQoduxZBJLVZGawvaAJNCH8g==} + /expo-file-system@15.4.4(expo@49.0.9): + resolution: {integrity: sha512-F0xS88D85F7qVQ61r0qBnzh6VW/s6iIl+VaQEEi2nAIOQHw1JIEj4yCXPLTtbyn5VmArbe2dSL3KYz1V+BLkKA==} peerDependencies: expo: '*' dependencies: - expo: 49.0.8(@babel/core@7.22.11) + expo: 49.0.9(@babel/core@7.0.0) uuid: 3.4.0 - /expo-font@11.4.0(expo@49.0.8): + /expo-font@11.4.0(expo@49.0.9): resolution: {integrity: sha512-nkmezCFD7gR/I6R+e3/ry18uEfF8uYrr6h+PdBJu+3dawoLOpo+wFb/RG9bHUekU1/cPanR58LR7G5MEMKHR2w==} peerDependencies: expo: '*' dependencies: - expo: 49.0.8(@babel/core@7.22.11) + expo: 49.0.9(@babel/core@7.0.0) fontfaceobserver: 2.3.0 - /expo-keep-awake@12.3.0(expo@49.0.8): + /expo-keep-awake@12.3.0(expo@49.0.9): resolution: {integrity: sha512-ujiJg1p9EdCOYS05jh5PtUrfiZnK0yyLy+UewzqrjUqIT8eAGMQbkfOn3C3fHE7AKd5AefSMzJnS3lYZcZYHDw==} peerDependencies: expo: '*' dependencies: - expo: 49.0.8(@babel/core@7.22.11) + expo: 49.0.9(@babel/core@7.0.0) /expo-modules-autolinking@1.5.1: resolution: {integrity: sha512-yt5a1VCp2BF9CrsO689PCD5oXKP14MMhnOanQMvDn4BDpURYfzAlDVGC5fZrNQKtwn/eq3bcrxIwZ7D9QjVVRg==} @@ -11638,30 +13382,30 @@ packages: transitivePeerDependencies: - supports-color - /expo-modules-core@1.5.10: - resolution: {integrity: sha512-+m+poHkhjAhRZmngSLUpJJoxhjoExYKSr4J5luy4N+YMlowK31Zewztg4xsPrNRoPvGK/B5uCm0UEzIQvLsNGg==} + /expo-modules-core@1.5.11: + resolution: {integrity: sha512-1Dj2t74nVjxq6xEQf2b9WFfAMhPzVnR0thY0PfRFgob4STyj3sq1U4PIHVWvKQBtDKIa227DrNRb+Hu+LqKWQg==} dependencies: compare-versions: 3.6.0 invariant: 2.2.4 - /expo@49.0.8(@babel/core@7.22.11): - resolution: {integrity: sha512-lkTRwMvJP8j7KAHJB+aZqI9dH1hw7j2QE1X9Okpcf+t0deGqH36XqkjUCcU6KYgCOjSnt8fvRm89TJR5Oq0ElA==} + /expo@49.0.9(@babel/core@7.0.0): + resolution: {integrity: sha512-x68r9sJ3HP5AedtGFZ5ufEYLWWrbWN9LN/jKavFMe22vRRyTGDMyIhKcoLCikqRDpYHFtIEuLh1P8H85Oz800Q==} hasBin: true dependencies: - '@babel/runtime': 7.22.11 + '@babel/runtime': 7.22.15 '@expo/cli': 0.10.11(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.22.11) - expo-application: 5.3.0(expo@49.0.8) - expo-asset: 8.10.1(expo@49.0.8) - expo-constants: 14.4.2(expo@49.0.8) - expo-file-system: 15.4.3(expo@49.0.8) - expo-font: 11.4.0(expo@49.0.8) - expo-keep-awake: 12.3.0(expo@49.0.8) + babel-preset-expo: 9.5.2(@babel/core@7.0.0) + expo-application: 5.3.0(expo@49.0.9) + expo-asset: 8.10.1(expo@49.0.9) + expo-constants: 14.4.2(expo@49.0.9) + expo-file-system: 15.4.4(expo@49.0.9) + expo-font: 11.4.0(expo@49.0.9) + expo-keep-awake: 12.3.0(expo@49.0.9) expo-modules-autolinking: 1.5.1 - expo-modules-core: 1.5.10 + expo-modules-core: 1.5.11 fbemitter: 3.0.0 invariant: 2.2.4 md5-file: 3.2.3 @@ -11740,6 +13484,23 @@ packages: jsep: 0.3.5 dev: false + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: true + optional: true + + /extend-shallow@3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + dev: true + optional: true + /external-editor@3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} @@ -11748,6 +13509,23 @@ packages: iconv-lite: 0.4.24 tmp: 0.0.33 + /extglob@2.0.4: + resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} + engines: {node: '>=0.10.0'} + dependencies: + array-unique: 0.3.2 + define-property: 1.0.0 + expand-brackets: 2.1.4 + extend-shallow: 2.0.1 + fragment-cache: 0.2.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + /factory.ts@0.5.2: resolution: {integrity: sha512-I4YDKuyMW+s2PocnWh/Ekv9wSStt/MNN1ZRb1qhy0Kv056ndlzbLHDsW9KEmTAqMpLI3BtjSqEdZ7ZfdnaXn9w==} engines: {node: '>= 14'} @@ -11921,6 +13699,17 @@ packages: minimatch: 5.1.6 dev: true + /fill-range@4.0.0: + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-number: 3.0.0 + repeat-string: 1.6.1 + to-regex-range: 2.1.1 + dev: true + optional: true + /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -11959,7 +13748,7 @@ packages: resolution: {integrity: sha512-dOKT7jvF3hGzlW60Gc3ONox/0rRZ/tz7WCil0bqA1In/3I8f1BctpXahRnEKDySZqci7u+dqq93sZST9fOJpFw==} engines: {node: '>=16.0.0'} dependencies: - json5: 2.2.3 + json5: 2.2.0 path-exists: 4.0.0 /find-cache-dir@2.1.0: @@ -12016,6 +13805,16 @@ packages: dependencies: micromatch: 4.0.5 + /fix-esm@1.0.1: + resolution: {integrity: sha512-EZtb7wPXZS54GaGxaWxMlhd1DUDCnAg5srlYdu/1ZVeW+7wwR3Tp59nu52dXByFs3MBRq+SByx1wDOJpRvLEXw==} + dependencies: + '@babel/core': 7.22.15 + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.22.15) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.15) + transitivePeerDependencies: + - supports-color + dev: false + /flat-cache@3.1.0: resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} engines: {node: '>=12.0.0'} @@ -12061,6 +13860,12 @@ packages: dependencies: is-callable: 1.2.7 + /for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + /foreach@2.0.6: resolution: {integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==} @@ -12093,6 +13898,14 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} + /fragment-cache@0.2.1: + resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} + engines: {node: '>=0.10.0'} + dependencies: + map-cache: 0.2.2 + dev: true + optional: true + /freeport-async@2.0.0: resolution: {integrity: sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==} engines: {node: '>=8'} @@ -12120,7 +13933,7 @@ packages: resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} dependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 dev: true @@ -12156,7 +13969,7 @@ packages: engines: {node: '>=10'} dependencies: at-least-node: 1.0.0 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 @@ -12179,9 +13992,25 @@ packages: minipass: 7.0.3 dev: true + /fs-readdir-recursive@1.1.0: + resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} + dev: true + /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + /fsevents@1.2.13: + resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} + engines: {node: '>= 4.0'} + os: [darwin] + deprecated: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2 + requiresBuild: true + dependencies: + bindings: 1.5.0 + nan: 2.17.0 + dev: true + optional: true + /fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -12336,6 +14165,12 @@ packages: call-bind: 1.0.2 get-intrinsic: 1.2.1 + /get-value@2.0.6: + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + /getenv@1.0.0: resolution: {integrity: sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==} engines: {node: '>=6'} @@ -12405,6 +14240,14 @@ packages: ini: 1.3.8 dev: true + /glob-parent@3.1.0: + resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} + dependencies: + is-glob: 3.1.0 + path-dirname: 1.0.2 + dev: true + optional: true + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -12418,13 +14261,13 @@ packages: is-glob: 4.0.3 dev: true - /glob@10.3.3: - resolution: {integrity: sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==} + /glob@10.3.4: + resolution: {integrity: sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 - jackspeak: 2.3.1 + jackspeak: 2.3.3 minimatch: 9.0.3 minipass: 7.0.3 path-scurry: 1.10.1 @@ -12446,7 +14289,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.0.5 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -12535,7 +14378,6 @@ packages: /graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - dev: true /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -12607,6 +14449,41 @@ packages: /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + /has-value@0.3.1: + resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} + engines: {node: '>=0.10.0'} + dependencies: + get-value: 2.0.6 + has-values: 0.1.4 + isobject: 2.1.0 + dev: true + optional: true + + /has-value@1.0.0: + resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} + engines: {node: '>=0.10.0'} + dependencies: + get-value: 2.0.6 + has-values: 1.0.0 + isobject: 3.0.1 + dev: true + optional: true + + /has-values@0.1.4: + resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + + /has-values@1.0.0: + resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 3.0.0 + kind-of: 4.0.0 + dev: true + optional: true + /has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} @@ -12771,8 +14648,8 @@ packages: transitivePeerDependencies: - supports-color - /https-proxy-agent@7.0.1: - resolution: {integrity: sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==} + /https-proxy-agent@7.0.2: + resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 @@ -13062,6 +14939,22 @@ packages: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} + /is-accessor-descriptor@0.1.6: + resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + optional: true + + /is-accessor-descriptor@1.0.0: + resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 6.0.3 + dev: true + optional: true + /is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} @@ -13084,6 +14977,14 @@ packages: dependencies: has-bigints: 1.0.2 + /is-binary-path@1.0.1: + resolution: {integrity: sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==} + engines: {node: '>=0.10.0'} + dependencies: + binary-extensions: 1.13.1 + dev: true + optional: true + /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} @@ -13110,12 +15011,48 @@ packages: dependencies: has: 1.0.3 + /is-data-descriptor@0.1.4: + resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + optional: true + + /is-data-descriptor@1.0.0: + resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 6.0.3 + dev: true + optional: true + /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 + /is-descriptor@0.1.6: + resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} + engines: {node: '>=0.10.0'} + dependencies: + is-accessor-descriptor: 0.1.6 + is-data-descriptor: 0.1.4 + kind-of: 5.1.0 + dev: true + optional: true + + /is-descriptor@1.0.2: + resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} + engines: {node: '>=0.10.0'} + dependencies: + is-accessor-descriptor: 1.0.0 + is-data-descriptor: 1.0.0 + kind-of: 6.0.3 + dev: true + optional: true + /is-directory@0.3.1: resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} engines: {node: '>=0.10.0'} @@ -13125,6 +15062,20 @@ packages: engines: {node: '>=8'} hasBin: true + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + + /is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + dependencies: + is-plain-object: 2.0.4 + dev: true + optional: true + /is-extglob@1.0.0: resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==} engines: {node: '>=0.10.0'} @@ -13165,6 +15116,14 @@ packages: dependencies: is-extglob: 1.0.0 + /is-glob@3.1.0: + resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + optional: true + /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -13208,6 +15167,14 @@ packages: dependencies: has-tostringtag: 1.0.0 + /is-number@3.0.0: + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + optional: true + /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -13344,6 +15311,12 @@ packages: get-intrinsic: 1.2.1 dev: true + /is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + /is-wsl@1.1.0: resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==} engines: {node: '>=4'} @@ -13371,6 +15344,14 @@ packages: engines: {node: '>=10'} dev: false + /isobject@2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} + dependencies: + isarray: 1.0.0 + dev: true + optional: true + /isobject@3.0.1: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} @@ -13403,8 +15384,8 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.22.11 - '@babel/parser': 7.22.13 + '@babel/core': 7.22.15 + '@babel/parser': 7.22.15 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.1 @@ -13416,8 +15397,8 @@ packages: resolution: {integrity: sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.22.11 - '@babel/parser': 7.22.13 + '@babel/core': 7.22.15 + '@babel/parser': 7.22.15 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 7.5.4 @@ -13453,8 +15434,8 @@ packages: istanbul-lib-report: 3.0.1 dev: true - /jackspeak@2.3.1: - resolution: {integrity: sha512-4iSY3Bh1Htv+kLhiiZunUhQ+OYXIn0ze3ulq8JeWrFKmhPAJSySV2+kdtRh2pGcCeF0s6oR8Oc+pYZynJj4t8A==} + /jackspeak@2.3.3: + resolution: {integrity: sha512-R2bUw+kVZFS/h1AZqBKrSgDmdmjApzgY0AlCPumopFiAlbUxE2gf+SCuBzQ0cP5hHmUmFYF5yw55T97Th5Kstg==} engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 @@ -13544,7 +15525,7 @@ packages: jest-util: 29.6.3 p-limit: 3.1.0 pretty-format: 29.6.3 - pure-rand: 6.0.2 + pure-rand: 6.0.3 slash: 3.0.0 stack-utils: 2.0.6 transitivePeerDependencies: @@ -13620,10 +15601,10 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@jest/test-sequencer': 27.5.1 '@jest/types': 27.5.1 - babel-jest: 27.5.1(@babel/core@7.22.11) + babel-jest: 27.5.1(@babel/core@7.22.15) chalk: 4.1.2 ci-info: 3.8.0 deepmerge: 4.3.1 @@ -13664,11 +15645,11 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@jest/test-sequencer': 29.6.4 '@jest/types': 29.6.3 '@types/node': 18.16.3 - babel-jest: 29.6.4(@babel/core@7.22.11) + babel-jest: 29.6.4(@babel/core@7.22.15) chalk: 4.1.2 ci-info: 3.8.0 deepmerge: 4.3.1 @@ -14171,16 +16152,16 @@ packages: resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/core': 7.22.11 - '@babel/generator': 7.22.10 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.11) - '@babel/traverse': 7.22.11 - '@babel/types': 7.22.11 + '@babel/core': 7.22.15 + '@babel/generator': 7.22.15 + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.15) + '@babel/traverse': 7.22.15 + '@babel/types': 7.22.15 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 '@types/babel__traverse': 7.20.1 '@types/prettier': 2.7.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.11) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.15) chalk: 4.1.2 expect: 27.5.1 graceful-fs: 4.2.11 @@ -14201,15 +16182,15 @@ packages: resolution: {integrity: sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.22.11 - '@babel/generator': 7.22.10 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.11) - '@babel/types': 7.22.11 + '@babel/core': 7.22.15 + '@babel/generator': 7.22.15 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.15) + '@babel/types': 7.22.15 '@jest/expect-utils': 29.6.4 '@jest/transform': 29.6.4 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.11) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.15) chalk: 4.1.2 expect: 29.6.4 graceful-fs: 4.2.11 @@ -14364,8 +16345,8 @@ packages: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} dev: false - /joi@17.10.0: - resolution: {integrity: sha512-hrazgRSlhzacZ69LdcKfhi3Vu13z2yFfoAzmEov3yFIJlatTdVGUW6vle1zjH8qkzdCn/qGw8rapjqsObbYXAg==} + /joi@17.10.1: + resolution: {integrity: sha512-vIiDxQKmRidUVp8KngT8MZSOcmRVm2zV7jbMjNYWuHcJWI0bUck3nRTGQjhpPlQenIQIBC5Vp9AhcnHbWQqafw==} dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 @@ -14418,17 +16399,17 @@ packages: peerDependencies: '@babel/preset-env': ^7.1.6 dependencies: - '@babel/core': 7.22.11 - '@babel/parser': 7.22.13 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.11) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.11) - '@babel/preset-env': 7.22.2(@babel/core@7.22.11) - '@babel/preset-flow': 7.22.5(@babel/core@7.22.11) - '@babel/preset-typescript': 7.21.5(@babel/core@7.22.11) - '@babel/register': 7.22.5(@babel/core@7.22.11) - babel-core: 7.0.0-bridge.0(@babel/core@7.22.11) + '@babel/core': 7.22.15 + '@babel/parser': 7.22.15 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.15) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.15) + '@babel/preset-env': 7.22.2(@babel/core@7.0.0) + '@babel/preset-flow': 7.22.15(@babel/core@7.22.15) + '@babel/preset-typescript': 7.21.5(@babel/core@7.22.15) + '@babel/register': 7.22.15(@babel/core@7.22.15) + babel-core: 7.0.0-bridge.0(@babel/core@7.22.15) chalk: 4.1.2 flow-parser: 0.206.0 graceful-fs: 4.2.11 @@ -14608,6 +16589,10 @@ packages: delimit-stream: 0.1.0 dev: false + /json5@0.5.1: + resolution: {integrity: sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==} + hasBin: true + /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true @@ -14641,7 +16626,7 @@ packages: dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 /jsonld-checker@0.1.8: resolution: {integrity: sha512-jclmnPRrm5SEpaIV6IiSTJxplRAqIWHduQLsUfrYpZM41Ng48m1RN2/aUyHze/ynfO0D2UhlJBt8SdObsH5GBw==} @@ -14686,12 +16671,18 @@ packages: engines: {node: '>=0.10.0'} dev: false - /jsonwebtoken@9.0.1: - resolution: {integrity: sha512-K8wx7eJ5TPvEjuiVSkv167EVboBDv9PZdDoF7BgeQnBLVvZWW9clr2PsQHVJDTKaEIH5JBIwHujGcHp7GgI2eg==} + /jsonwebtoken@9.0.2: + resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} engines: {node: '>=12', npm: '>=6'} dependencies: jws: 3.2.2 - lodash: 4.17.21 + lodash.includes: 4.3.0 + lodash.isboolean: 3.0.3 + lodash.isinteger: 4.0.4 + lodash.isnumber: 3.0.3 + lodash.isplainobject: 4.0.6 + lodash.isstring: 4.0.1 + lodash.once: 4.1.1 ms: 2.1.3 semver: 7.5.4 dev: false @@ -14757,6 +16748,28 @@ packages: json-buffer: 3.0.1 dev: true + /kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + optional: true + + /kind-of@4.0.0: + resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + optional: true + + /kind-of@5.1.0: + resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -14956,8 +16969,8 @@ packages: - supports-color dev: true - /libphonenumber-js@1.10.43: - resolution: {integrity: sha512-M/iPACJGsTvEy8QmUY4K0SoIFB71X2j7y2JvUMYzUXUxCNmiU+NTfHdz7gt+dC48BVfBzZi2oO6s9TDGllCfxA==} + /libphonenumber-js@1.10.44: + resolution: {integrity: sha512-svlRdNBI5WgBjRC20GrCfbFiclbF0Cx+sCcQob/C1r57nsoq0xg8r65QbTyVyweQIlB33P+Uahyho6EMYgcOyQ==} dev: false /lightningcss-darwin-arm64@1.19.0: @@ -15051,7 +17064,7 @@ packages: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} dependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 @@ -15061,7 +17074,7 @@ packages: resolution: {integrity: sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==} engines: {node: '>=8'} dependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 parse-json: 5.2.0 strip-bom: 4.0.0 type-fest: 0.6.0 @@ -15115,19 +17128,34 @@ packages: /lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + /lodash.includes@4.3.0: + resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} + dev: false + + /lodash.isboolean@3.0.3: + resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} + dev: false + /lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + /lodash.isinteger@4.0.4: + resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} + dev: false + /lodash.ismatch@4.4.0: resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} dev: true + /lodash.isnumber@3.0.3: + resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} + dev: false + /lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} /lodash.isstring@4.0.1: resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} - dev: true /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} @@ -15137,6 +17165,10 @@ packages: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true + /lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + dev: false + /lodash.throttle@4.1.1: resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} @@ -15346,6 +17378,12 @@ packages: dependencies: tmpl: 1.0.5 + /map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + /map-obj@1.0.1: resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} engines: {node: '>=0.10.0'} @@ -15361,6 +17399,14 @@ packages: engines: {node: '>=8'} dev: true + /map-visit@1.0.0: + resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} + engines: {node: '>=0.10.0'} + dependencies: + object-visit: 1.0.1 + dev: true + optional: true + /marked-terminal@5.2.0(marked@4.3.0): resolution: {integrity: sha512-Piv6yNwAQXGFjZSaiNljyNFw7jKDdGrw70FSbtxEyldLsyeuV5ZHm/1wW++kWbrOF1VPnUgYOhB2oLL0ZpnekA==} engines: {node: '>=14.13.1 || >=16.0.0'} @@ -15473,7 +17519,7 @@ packages: resolution: {integrity: sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==} engines: {node: '>=16'} dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 hermes-parser: 0.12.0 nullthrows: 1.1.1 transitivePeerDependencies: @@ -15555,7 +17601,7 @@ packages: resolution: {integrity: sha512-FQiZGhIxCzhDwK4LxyPMLlq0Tsmla10X7BfNGlYFK0A5IsaVKNJbETyTzhpIwc+YFRT4GkFFwgo0V2N5vxO5HA==} engines: {node: '>=16'} dependencies: - terser: 5.19.3 + terser: 5.19.4 /metro-minify-uglify@0.76.7: resolution: {integrity: sha512-FuXIU3j2uNcSvQtPrAJjYWHruPiQ+EpE++J9Z+VznQKEHcIxMMoQZAfIF2IpZSrZYfLOjVFyGMvj41jQMxV1Vw==} @@ -15563,112 +17609,160 @@ packages: dependencies: uglify-es: 3.3.9 - /metro-react-native-babel-preset@0.76.7(@babel/core@7.22.11): + /metro-react-native-babel-preset@0.76.7(@babel/core@7.0.0): + resolution: {integrity: sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==} + engines: {node: '>=16'} + peerDependencies: + '@babel/core': '*' + dependencies: + '@babel/core': 7.0.0 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.0.0) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.0.0) + '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.0.0) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.0.0) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.0.0) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.0.0) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.0.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.0.0) + '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.0.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.0.0) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.0.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-runtime': 7.22.2(@babel/core@7.0.0) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.0.0) + '@babel/template': 7.22.15 + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.0.0) + react-refresh: 0.4.3 + transitivePeerDependencies: + - supports-color + + /metro-react-native-babel-preset@0.76.7(@babel/core@7.22.15): resolution: {integrity: sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==} engines: {node: '>=16'} peerDependencies: '@babel/core': '*' dependencies: - '@babel/core': 7.22.11 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.22.11) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.11) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.11) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.11) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.11) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-runtime': 7.22.2(@babel/core@7.22.11) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-typescript': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.11) - '@babel/template': 7.22.5 - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.22.11) + '@babel/core': 7.22.15 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.22.15) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.15) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.15) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.15) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-runtime': 7.22.2(@babel/core@7.22.15) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.15) + '@babel/template': 7.22.15 + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.22.15) react-refresh: 0.4.3 transitivePeerDependencies: - supports-color - /metro-react-native-babel-preset@0.76.8(@babel/core@7.22.11): + /metro-react-native-babel-preset@0.76.8(@babel/core@7.0.0): resolution: {integrity: sha512-Ptza08GgqzxEdK8apYsjTx2S8WDUlS2ilBlu9DR1CUcHmg4g3kOkFylZroogVAUKtpYQNYwAvdsjmrSdDNtiAg==} engines: {node: '>=16'} peerDependencies: '@babel/core': '*' dependencies: - '@babel/core': 7.22.11 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.22.11) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.11) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.22.11) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.11) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.11) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.11) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.22.11) - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.11) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-runtime': 7.22.2(@babel/core@7.22.11) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-typescript': 7.22.11(@babel/core@7.22.11) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.11) - '@babel/template': 7.22.5 - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.22.11) + '@babel/core': 7.0.0 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.0.0) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.0.0) + '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.0.0) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.0.0) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.0.0) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.0.0) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.0.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.0.0) + '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.0.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.0.0) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.0.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-runtime': 7.22.2(@babel/core@7.0.0) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.0.0) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.0.0) + '@babel/template': 7.22.15 + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.0.0) react-refresh: 0.4.3 transitivePeerDependencies: - supports-color - /metro-react-native-babel-transformer@0.76.7(@babel/core@7.22.11): + /metro-react-native-babel-transformer@0.76.7(@babel/core@7.0.0): resolution: {integrity: sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==} engines: {node: '>=16'} peerDependencies: '@babel/core': '*' dependencies: - '@babel/core': 7.22.11 - babel-preset-fbjs: 3.4.0(@babel/core@7.22.11) + '@babel/core': 7.0.0 + babel-preset-fbjs: 3.4.0(@babel/core@7.0.0) hermes-parser: 0.12.0 - metro-react-native-babel-preset: 0.76.7(@babel/core@7.22.11) + metro-react-native-babel-preset: 0.76.7(@babel/core@7.0.0) nullthrows: 1.1.1 transitivePeerDependencies: - supports-color @@ -15681,22 +17775,22 @@ packages: resolution: {integrity: sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==} engines: {node: '>=16'} dependencies: - '@babel/runtime': 7.22.11 + '@babel/runtime': 7.22.15 react-refresh: 0.4.3 /metro-runtime@0.76.8: resolution: {integrity: sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==} engines: {node: '>=16'} dependencies: - '@babel/runtime': 7.22.11 + '@babel/runtime': 7.22.15 react-refresh: 0.4.3 /metro-source-map@0.76.7: resolution: {integrity: sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==} engines: {node: '>=16'} dependencies: - '@babel/traverse': 7.22.11 - '@babel/types': 7.22.11 + '@babel/traverse': 7.22.15 + '@babel/types': 7.22.15 invariant: 2.2.4 metro-symbolicate: 0.76.7 nullthrows: 1.1.1 @@ -15710,8 +17804,8 @@ packages: resolution: {integrity: sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==} engines: {node: '>=16'} dependencies: - '@babel/traverse': 7.22.11 - '@babel/types': 7.22.11 + '@babel/traverse': 7.22.15 + '@babel/types': 7.22.15 invariant: 2.2.4 metro-symbolicate: 0.76.8 nullthrows: 1.1.1 @@ -15753,10 +17847,10 @@ packages: resolution: {integrity: sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==} engines: {node: '>=16'} dependencies: - '@babel/core': 7.22.11 - '@babel/generator': 7.22.10 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.11 + '@babel/core': 7.22.15 + '@babel/generator': 7.22.15 + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.15 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color @@ -15765,11 +17859,11 @@ packages: resolution: {integrity: sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==} engines: {node: '>=16'} dependencies: - '@babel/core': 7.22.11 - '@babel/generator': 7.22.10 - '@babel/parser': 7.22.13 - '@babel/types': 7.22.11 - babel-preset-fbjs: 3.4.0(@babel/core@7.22.11) + '@babel/core': 7.22.15 + '@babel/generator': 7.22.15 + '@babel/parser': 7.22.15 + '@babel/types': 7.22.15 + babel-preset-fbjs: 3.4.0(@babel/core@7.22.15) metro: 0.76.7 metro-babel-transformer: 0.76.7 metro-cache: 0.76.7 @@ -15789,12 +17883,12 @@ packages: hasBin: true dependencies: '@babel/code-frame': 7.22.13 - '@babel/core': 7.22.11 - '@babel/generator': 7.22.10 - '@babel/parser': 7.22.13 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.11 - '@babel/types': 7.22.11 + '@babel/core': 7.22.15 + '@babel/generator': 7.22.15 + '@babel/parser': 7.22.15 + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.15 + '@babel/types': 7.22.15 accepts: 1.3.8 async: 3.2.4 chalk: 4.1.2 @@ -15819,7 +17913,7 @@ packages: metro-inspector-proxy: 0.76.7 metro-minify-terser: 0.76.7 metro-minify-uglify: 0.76.7 - metro-react-native-babel-preset: 0.76.7(@babel/core@7.22.11) + metro-react-native-babel-preset: 0.76.7(@babel/core@7.22.15) metro-resolver: 0.76.7 metro-runtime: 0.76.7 metro-source-map: 0.76.7 @@ -15846,6 +17940,28 @@ packages: resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} dev: false + /micromatch@3.1.10: + resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + extglob: 2.0.4 + fragment-cache: 0.2.1 + kind-of: 6.0.3 + nanomatch: 1.2.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + /micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} @@ -16072,6 +18188,15 @@ packages: minipass: 3.3.6 yallist: 4.0.0 + /mixin-deep@1.3.2: + resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} + engines: {node: '>=0.10.0'} + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + dev: true + optional: true + /mkdirp-infer-owner@2.0.0: resolution: {integrity: sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==} engines: {node: '>=10'} @@ -16189,7 +18314,7 @@ packages: array-differ: 3.0.0 array-union: 2.1.0 arrify: 2.0.1 - minimatch: 3.1.2 + minimatch: 3.0.5 dev: true /mute-stream@0.0.8: @@ -16220,6 +18345,26 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + /nanomatch@1.2.13: + resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + fragment-cache: 0.2.1 + is-windows: 1.0.2 + kind-of: 6.0.3 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + /natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true @@ -16416,7 +18561,7 @@ packages: npmlog: 6.0.2 rimraf: 3.0.2 semver: 7.5.4 - tar: 6.1.15 + tar: 6.2.0 which: 2.0.2 transitivePeerDependencies: - bluebird @@ -16431,13 +18576,13 @@ packages: env-paths: 2.2.1 exponential-backoff: 3.1.1 glob: 7.2.3 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 make-fetch-happen: 11.1.1 nopt: 6.0.0 npmlog: 6.0.2 rimraf: 3.0.2 semver: 7.5.4 - tar: 6.1.15 + tar: 6.1.11 which: 2.0.2 transitivePeerDependencies: - supports-color @@ -16566,6 +18711,14 @@ packages: validate-npm-package-license: 3.0.4 dev: true + /normalize-path@2.1.1: + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} + dependencies: + remove-trailing-separator: 1.1.0 + dev: true + optional: true + /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -16975,6 +19128,16 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} + /object-copy@0.1.0: + resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} + engines: {node: '>=0.10.0'} + dependencies: + copy-descriptor: 0.1.1 + define-property: 0.2.5 + kind-of: 3.2.2 + dev: true + optional: true + /object-hash@2.2.0: resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} engines: {node: '>= 6'} @@ -17000,6 +19163,14 @@ packages: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} + /object-visit@1.0.1: + resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + optional: true + /object.assign@4.1.4: resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} engines: {node: '>= 0.4'} @@ -17009,6 +19180,14 @@ packages: has-symbols: 1.0.3 object-keys: 1.1.1 + /object.pick@1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + optional: true + /object.values@1.1.7: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} @@ -17171,6 +19350,14 @@ packages: os-homedir: 1.0.2 os-tmpdir: 1.0.2 + /output-file-sync@2.0.1: + resolution: {integrity: sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==} + dependencies: + graceful-fs: 4.2.11 + is-plain-obj: 1.1.0 + mkdirp: 0.5.6 + dev: true + /p-each-series@2.2.0: resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==} engines: {node: '>=8'} @@ -17306,6 +19493,9 @@ packages: p-reduce: 2.1.0 dev: true + /packet-reader@1.0.0: + resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} + /pacote@13.6.2: resolution: {integrity: sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -17331,7 +19521,7 @@ packages: read-package-json-fast: 2.0.3 rimraf: 3.0.2 ssri: 9.0.1 - tar: 6.1.15 + tar: 6.1.11 transitivePeerDependencies: - bluebird - supports-color @@ -17359,7 +19549,7 @@ packages: read-package-json-fast: 3.0.2 sigstore: 1.9.0 ssri: 10.0.5 - tar: 6.1.15 + tar: 6.1.11 transitivePeerDependencies: - bluebird - supports-color @@ -17448,6 +19638,12 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} + /pascalcase@0.1.1: + resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + /passport-azure-ad@4.3.5: resolution: {integrity: sha512-LBpXEght7hCMuMNFK4oegdN0uPBa3lpDMy71zQoB0zPg1RrGwdzpjwTiN1WzN0hY77fLyjz9tBr3TGAxnSgtEg==} engines: {node: '>= 8.0.0'} @@ -17514,6 +19710,11 @@ packages: /path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + /path-dirname@1.0.2: + resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==} + dev: true + optional: true + /path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} @@ -17559,8 +19760,64 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - /pause@0.0.1: - resolution: {integrity: sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==} + /pause@0.0.1: + resolution: {integrity: sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==} + + /pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + requiresBuild: true + optional: true + + /pg-connection-string@2.6.2: + resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + + /pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + /pg-pool@3.6.1(pg@8.11.3): + resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} + peerDependencies: + pg: '>=8.0' + dependencies: + pg: 8.11.3 + + /pg-protocol@1.6.0: + resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} + + /pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + /pg@8.11.3: + resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + /pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + dependencies: + split2: 4.2.0 /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -17631,6 +19888,12 @@ packages: resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} engines: {node: '>=4.0.0'} + /posix-character-classes@0.1.1: + resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + /postcss-selector-parser@6.0.13: resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} engines: {node: '>=4'} @@ -17647,6 +19910,24 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 + /postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + /postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + /postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + /postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + dependencies: + xtend: 4.0.2 + /prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} @@ -17837,8 +20118,8 @@ packages: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} - /pure-rand@6.0.2: - resolution: {integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==} + /pure-rand@6.0.3: + resolution: {integrity: sha512-KddyFewCsO0j3+np81IQ+SweXLDnDQTs5s67BOnrYmYe/yNmUhttQyGsYzy8yUnoljGAQ9sl38YB4vH8ur7Y+w==} dev: true /pvtsutils@1.3.5: @@ -17983,9 +20264,9 @@ packages: react-native: '*' dependencies: base64-js: 1.5.1 - react-native: 0.72.4(@babel/core@7.22.11)(@babel/preset-env@7.22.2)(react@18.2.0) + react-native: 0.72.4(@babel/core@7.0.0)(@babel/preset-env@7.22.2)(react@18.2.0) - /react-native@0.72.4(@babel/core@7.22.11)(@babel/preset-env@7.22.2)(react@18.2.0): + /react-native@0.72.4(@babel/core@7.0.0)(@babel/preset-env@7.22.2)(react@18.2.0): resolution: {integrity: sha512-+vrObi0wZR+NeqL09KihAAdVlQ9IdplwznJWtYrjnQ4UbCW6rkzZJebRsugwUneSOKNFaHFEo1uKU89HsgtYBg==} engines: {node: '>=16'} hasBin: true @@ -17993,7 +20274,7 @@ packages: react: 18.2.0 dependencies: '@jest/create-cache-key-function': 29.6.3 - '@react-native-community/cli': 11.3.6(@babel/core@7.22.11) + '@react-native-community/cli': 11.3.6(@babel/core@7.0.0) '@react-native-community/cli-platform-android': 11.3.6 '@react-native-community/cli-platform-ios': 11.3.6 '@react-native/assets-registry': 0.72.0 @@ -18110,7 +20391,7 @@ packages: resolution: {integrity: sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - glob: 10.3.3 + glob: 10.3.4 json-parse-even-better-errors: 3.0.0 normalize-package-data: 5.0.0 npm-normalize-package-bin: 3.0.1 @@ -18197,6 +20478,18 @@ packages: string_decoder: 1.3.0 dev: true + /readdirp@2.2.1: + resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} + engines: {node: '>=0.10'} + dependencies: + graceful-fs: 4.2.11 + micromatch: 3.1.10 + readable-stream: 2.3.8 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + /readline@1.3.0: resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==} @@ -18260,7 +20553,16 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.22.11 + '@babel/runtime': 7.22.15 + + /regex-not@1.0.2: + resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + safe-regex: 1.1.0 + dev: true + optional: true /regexp.prototype.flags@1.5.0: resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} @@ -18299,9 +20601,26 @@ packages: dependencies: jsesc: 0.5.0 + /remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + dev: true + optional: true + /remove-trailing-slash@0.1.1: resolution: {integrity: sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==} + /repeat-element@1.1.4: + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + + /repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + dev: true + optional: true + /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -18347,6 +20666,12 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} + /resolve-url@0.2.1: + resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} + deprecated: https://github.com/lydell/resolve-url#deprecated + dev: true + optional: true + /resolve.exports@1.1.1: resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} engines: {node: '>=10'} @@ -18405,6 +20730,12 @@ packages: signal-exit: 3.0.7 dev: false + /ret@0.1.15: + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} + dev: true + optional: true + /retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} @@ -18500,8 +20831,8 @@ packages: dependencies: tslib: 2.6.2 - /safe-array-concat@1.0.0: - resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} + /safe-array-concat@1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} engines: {node: '>=0.4'} dependencies: call-bind: 1.0.2 @@ -18527,6 +20858,13 @@ packages: get-intrinsic: 1.2.1 is-regex: 1.1.4 + /safe-regex@1.1.0: + resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} + dependencies: + ret: 0.1.15 + dev: true + optional: true + /safe-stable-stringify@2.4.3: resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} engines: {node: '>=10'} @@ -18752,6 +21090,17 @@ packages: /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + /set-value@2.0.1: + resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + dev: true + optional: true + /setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} @@ -18884,6 +21233,41 @@ packages: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + /snapdragon-node@2.1.1: + resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 1.0.0 + isobject: 3.0.1 + snapdragon-util: 3.0.1 + dev: true + optional: true + + /snapdragon-util@3.0.1: + resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + optional: true + + /snapdragon@0.8.2: + resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} + engines: {node: '>=0.10.0'} + dependencies: + base: 0.11.2 + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + map-cache: 0.2.2 + source-map: 0.5.7 + source-map-resolve: 0.5.3 + use: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + /socks-proxy-agent@6.2.1: resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} engines: {node: '>= 10'} @@ -18930,6 +21314,18 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + /source-map-resolve@0.5.3: + resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.2 + resolve-url: 0.2.1 + source-map-url: 0.4.1 + urix: 0.1.0 + dev: true + optional: true + /source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: @@ -18943,6 +21339,12 @@ packages: buffer-from: 1.1.2 source-map: 0.6.1 + /source-map-url@0.4.1: + resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} + deprecated: See https://github.com/lydell/source-map-url#deprecated + dev: true + optional: true + /source-map@0.5.7: resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} engines: {node: '>=0.10.0'} @@ -18977,6 +21379,14 @@ packages: /spdx-license-ids@3.0.13: resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + /split-string@3.1.0: + resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + dev: true + optional: true + /split2@1.0.0: resolution: {integrity: sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==} dependencies: @@ -18989,6 +21399,10 @@ packages: readable-stream: 3.6.2 dev: true + /split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + /split@1.0.1: resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} dependencies: @@ -19006,7 +21420,7 @@ packages: dependencies: '@mapbox/node-pre-gyp': 1.0.11 node-addon-api: 4.3.0 - tar: 6.1.15 + tar: 6.2.0 optionalDependencies: node-gyp: 8.4.1 transitivePeerDependencies: @@ -19054,6 +21468,15 @@ packages: dependencies: escodegen: 1.14.3 + /static-extend@0.1.2: + resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 0.2.5 + object-copy: 0.1.0 + dev: true + optional: true + /statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} @@ -19161,8 +21584,8 @@ packages: define-properties: 1.2.0 es-abstract: 1.22.1 - /string.prototype.trimstart@1.0.6: - resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: call-bind: 1.0.2 define-properties: 1.2.0 @@ -19209,7 +21632,6 @@ packages: /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - dev: true /strip-bom@4.0.0: resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} @@ -19388,8 +21810,8 @@ packages: yallist: 4.0.0 dev: true - /tar@6.1.15: - resolution: {integrity: sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==} + /tar@6.2.0: + resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 @@ -19474,8 +21896,8 @@ packages: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - /terser@5.19.3: - resolution: {integrity: sha512-pQzJ9UJzM0IgmT4FAtYI6+VqFf0lj/to58AV0Xfgg0Up37RyPG7Al+1cepC6/BVuAxR9oNb41/DL4DEoHJvTdg==} + /terser@5.19.4: + resolution: {integrity: sha512-6p1DjHeuluwxDXcuT9VR8p64klWJKo1ILiy19s6C9+0Bh2+NWTX6nD9EPppiER4ICkHDVB1RkVpin/YW2nQn/g==} engines: {node: '>=10'} hasBin: true dependencies: @@ -19558,12 +21980,40 @@ packages: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} + /to-object-path@0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + optional: true + + /to-regex-range@2.1.1: + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 3.0.0 + repeat-string: 1.6.1 + dev: true + optional: true + /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 + /to-regex@3.0.2: + resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 2.0.2 + extend-shallow: 3.0.2 + regex-not: 1.0.2 + safe-regex: 1.1.0 + dev: true + optional: true + /toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} @@ -19626,7 +22076,42 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-jest@27.1.5(@babel/core@7.22.11)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5): + /ts-jest@27.1.5(@babel/core@7.0.0)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5): + resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@types/jest': ^27.0.0 + babel-jest: '>=27.0.0 <28' + esbuild: '*' + jest: ^27.0.0 + typescript: '>=3.8 <5.0' + peerDependenciesMeta: + '@babel/core': + optional: true + '@types/jest': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + dependencies: + '@babel/core': 7.0.0 + '@types/jest': 27.5.2 + bs-logger: 0.2.6 + fast-json-stable-stringify: 2.1.0 + jest: 27.5.1(ts-node@10.9.1) + jest-util: 27.5.1 + json5: 2.2.0 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.5.4 + typescript: 4.9.5 + yargs-parser: 20.2.9 + dev: true + + /ts-jest@27.1.5(@babel/core@7.22.15)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5): resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -19647,7 +22132,7 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.22.15 '@types/jest': 27.5.2 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 @@ -19661,7 +22146,7 @@ packages: yargs-parser: 20.2.9 dev: true - /ts-jest@29.1.1(@babel/core@7.22.11)(jest@29.6.2)(typescript@4.9.5): + /ts-jest@29.1.1(@babel/core@7.0.0)(jest@29.6.2)(typescript@4.9.5): resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -19682,7 +22167,7 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.22.11 + '@babel/core': 7.0.0 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 jest: 29.6.2(@types/node@18.16.3)(ts-node@10.9.1) @@ -19794,7 +22279,6 @@ packages: json5: 2.2.3 minimist: 1.2.8 strip-bom: 3.0.0 - dev: true /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} @@ -19964,6 +22448,86 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true + /typeorm@0.3.12(pg@8.11.3)(ts-node@10.9.1): + resolution: {integrity: sha512-sYSxBmCf1nJLLTcYtwqZ+lQIRtLPyUoO93rHTOKk9vJCyT4UfRtU7oRsJvfvKP3nnZTD1hzz2SEy2zwPEN6OyA==} + engines: {node: '>= 12.9.0'} + hasBin: true + peerDependencies: + '@google-cloud/spanner': ^5.18.0 + '@sap/hana-client': ^2.12.25 + better-sqlite3: ^7.1.2 || ^8.0.0 + hdb-pool: ^0.1.6 + ioredis: ^5.0.4 + mongodb: ^3.6.0 + mssql: ^7.3.0 + mysql2: ^2.2.5 || ^3.0.1 + oracledb: ^5.1.0 + pg: ^8.5.1 + pg-native: ^3.0.0 + pg-query-stream: ^4.0.0 + redis: ^3.1.1 || ^4.0.0 + sql.js: ^1.4.0 + sqlite3: ^5.0.3 + ts-node: ^10.7.0 + typeorm-aurora-data-api-driver: ^2.0.0 + peerDependenciesMeta: + '@google-cloud/spanner': + optional: true + '@sap/hana-client': + optional: true + better-sqlite3: + optional: true + hdb-pool: + optional: true + ioredis: + optional: true + mongodb: + optional: true + mssql: + optional: true + mysql2: + optional: true + oracledb: + optional: true + pg: + optional: true + pg-native: + optional: true + pg-query-stream: + optional: true + redis: + optional: true + sql.js: + optional: true + sqlite3: + optional: true + ts-node: + optional: true + typeorm-aurora-data-api-driver: + optional: true + dependencies: + '@sqltools/formatter': 1.2.5 + app-root-path: 3.1.0 + buffer: 6.0.3 + chalk: 4.1.2 + cli-highlight: 2.1.11 + date-fns: 2.30.0 + debug: 4.3.4 + dotenv: 16.3.1 + glob: 8.1.0 + js-yaml: 4.1.0 + mkdirp: 2.1.6 + pg: 8.11.3 + reflect-metadata: 0.1.13 + sha.js: 2.4.11 + ts-node: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) + tslib: 2.6.2 + uuid: 9.0.0 + xml2js: 0.4.23 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + /typeorm@0.3.12(sqlite3@5.1.6)(ts-node@10.9.1): resolution: {integrity: sha512-sYSxBmCf1nJLLTcYtwqZ+lQIRtLPyUoO93rHTOKk9vJCyT4UfRtU7oRsJvfvKP3nnZTD1hzz2SEy2zwPEN6OyA==} engines: {node: '>= 12.9.0'} @@ -20128,6 +22692,17 @@ packages: resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} engines: {node: '>=4'} + /union-value@1.0.1: + resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: 2.0.1 + dev: true + optional: true + /unique-filename@1.1.1: resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} dependencies: @@ -20203,10 +22778,25 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} + /unset-value@1.0.0: + resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} + engines: {node: '>=0.10.0'} + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + dev: true + optional: true + /untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} + /upath@1.2.0: + resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} + engines: {node: '>=4'} + dev: true + optional: true + /upath@2.0.1: resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} engines: {node: '>=4'} @@ -20233,6 +22823,12 @@ packages: dependencies: punycode: 2.3.0 + /urix@0.1.0: + resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} + deprecated: Please see https://github.com/lydell/urix#deprecated + dev: true + optional: true + /url-join@4.0.0: resolution: {integrity: sha512-EGXjXJZhIHiQMK2pQukuFcL303nskqIRzWvPvV5O8miOfwoUb9G+a/Cld60kUyeaybEI94wvVClT10DtfeAExA==} @@ -20259,6 +22855,12 @@ packages: dependencies: react: 18.2.0 + /use@3.1.1: + resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -20751,7 +23353,7 @@ packages: /write-file-atomic@2.4.3: resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} dependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 imurmurhash: 0.1.4 signal-exit: 3.0.7 @@ -20793,7 +23395,7 @@ packages: engines: {node: '>=6'} dependencies: detect-indent: 5.0.0 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 make-dir: 2.1.0 pify: 4.0.1 sort-keys: 2.0.0 From 2649b95dc5fe5882d6b43ccfdcf085e37918e713 Mon Sep 17 00:00:00 2001 From: Niels Klomp Date: Wed, 6 Sep 2023 21:08:36 +0200 Subject: [PATCH 2/6] feat: statuslist2021 support --- package.json | 1 + packages/agent-config/tsconfig.json | 1 + packages/data-store/package.json | 2 - packages/vc-handler-ld-local/package.json | 1 - .../__tests__/localAgent.test.ts | 4 +- packages/wellknown-did-issuer/agent.yml | 28 +- packages/wellknown-did-issuer/tsconfig.json | 1 + pnpm-lock.yaml | 724 ++++++------------ 8 files changed, 240 insertions(+), 522 deletions(-) diff --git a/package.json b/package.json index 1c68dd9e7..b980a9efe 100644 --- a/package.json +++ b/package.json @@ -116,6 +116,7 @@ "did-jwt": "6.11.6", "did-jwt-vc": "3.1.3", "ethr-did": "2.3.9", + "typeorm": "0.3.17", "@mattrglobal/jsonld-signatures-bbs@1.1.0>jsonld": "4.0.1", "jsonld": "link:./node_modules/.pnpm/@digitalcredentials+jsonld@5.2.1/node_modules/@digitalcredentials/jsonld", "isomorphic-webcrypto": "link:./node_modules/@sphereon/isomorphic-webcrypto" diff --git a/packages/agent-config/tsconfig.json b/packages/agent-config/tsconfig.json index 730108d34..0f4119e31 100644 --- a/packages/agent-config/tsconfig.json +++ b/packages/agent-config/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../tsconfig-base.json", "compilerOptions": { + "experimentalDecorators": true, "rootDir": "src", "outDir": "dist", "declarationDir": "dist", diff --git a/packages/data-store/package.json b/packages/data-store/package.json index f8093e2e5..32f92413e 100644 --- a/packages/data-store/package.json +++ b/packages/data-store/package.json @@ -15,9 +15,7 @@ "dependencies": { "@sphereon/ssi-types": "workspace:^", "@veramo/core": "4.2.0", - "reflect-metadata": "^0.1.13", "class-validator": "^0.14.0", - "tsconfig-paths": "^4.2.0", "debug": "^4.3.4", "typeorm": "^0.3.12" }, diff --git a/packages/vc-handler-ld-local/package.json b/packages/vc-handler-ld-local/package.json index bf2d51851..20dc5f00c 100644 --- a/packages/vc-handler-ld-local/package.json +++ b/packages/vc-handler-ld-local/package.json @@ -30,7 +30,6 @@ "@sphereon/ssi-sdk.core": "workspace:^", "@sphereon/ssi-sdk-ext.did-utils": "0.14.1-next.3", "@sphereon/ssi-sdk-ext.key-utils": "0.14.1-next.3", - "@sphereon/ssi-sdk.agent-config": "workspace:^", "@sphereon/ssi-sdk.data-store": "workspace:^", "@sphereon/ssi-sdk.vc-status-list": "workspace:^", "@sphereon/ssi-sdk.vc-status-list-issuer-drivers": "workspace:^", diff --git a/packages/wellknown-did-issuer/__tests__/localAgent.test.ts b/packages/wellknown-did-issuer/__tests__/localAgent.test.ts index 902386b79..4d0a6e020 100644 --- a/packages/wellknown-did-issuer/__tests__/localAgent.test.ts +++ b/packages/wellknown-did-issuer/__tests__/localAgent.test.ts @@ -1,11 +1,11 @@ import { createObjects, getConfig } from '@sphereon/ssi-sdk.agent-config' -import { Connection } from 'typeorm' +import { DataSource } from 'typeorm' import wellKnownDidIssuerAgentLogic from './shared/wellKnownDidIssuerAgentLogic' jest.setTimeout(30000) let agent: any -let dbConnection: Promise +let dbConnection: Promise const setup = async (): Promise => { const config = await getConfig('packages/wellknown-did-issuer/agent.yml') diff --git a/packages/wellknown-did-issuer/agent.yml b/packages/wellknown-did-issuer/agent.yml index 791cdbb50..345468994 100644 --- a/packages/wellknown-did-issuer/agent.yml +++ b/packages/wellknown-did-issuer/agent.yml @@ -17,20 +17,20 @@ dbConnection: $args: - type: sqlite database: ':memory:' - synchronize: true - migrationsRun: false -# migrations: -# $require: './packages/ssi-sdk-core/dist?t=function#flattenMigrations' -# $args: -# - migrations: -# - $require: '@veramo/data-store?t=object#migrations' -# - $require: './packages/wellknown-did-issuer/dist?t=object#WellknownDidIssuerMigrations' -# entities: -# $require: './packages/ssi-sdk-core/dist?t=function#flattenArray' -# $args: -# - items: -# - $require: '@veramo/data-store?t=object#Entities' -# - $require: './packages/wellknown-did-issuer/dist?t=object#WellknownDidIssuerEntities' + synchronize: false + migrationsRun: true + migrations: + $require: './packages/ssi-sdk-core/dist?t=function#flattenMigrations' + $args: + - migrations: + - $require: '@veramo/data-store?t=object#migrations' + - $require: './packages/wellknown-did-issuer/dist?t=object#WellknownDidIssuerMigrations' + entities: + $require: './packages/ssi-sdk-core/dist?t=function#flattenArray' + $args: + - items: + - $require: '@veramo/data-store?t=object#Entities' + - $require: './packages/wellknown-did-issuer/dist?t=object#WellknownDidIssuerEntities' server: baseUrl: diff --git a/packages/wellknown-did-issuer/tsconfig.json b/packages/wellknown-did-issuer/tsconfig.json index c7e816971..b965f5884 100644 --- a/packages/wellknown-did-issuer/tsconfig.json +++ b/packages/wellknown-did-issuer/tsconfig.json @@ -5,6 +5,7 @@ "outDir": "dist", "esModuleInterop": true, "declarationDir": "dist", + "experimentalDecorators": true, "strictPropertyInitialization": false, "noUnusedLocals": false }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 10ee05437..202132c25 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -34,6 +34,7 @@ overrides: did-jwt: 6.11.6 did-jwt-vc: 3.1.3 ethr-did: 2.3.9 + typeorm: 0.3.17 '@mattrglobal/jsonld-signatures-bbs@1.1.0>jsonld': 4.0.1 jsonld: link:./node_modules/.pnpm/@digitalcredentials+jsonld@5.2.1/node_modules/@digitalcredentials/jsonld isomorphic-webcrypto: link:./node_modules/@sphereon/isomorphic-webcrypto @@ -175,8 +176,8 @@ importers: specifier: ^5.0.1 version: 5.0.1 typeorm: - specifier: ^0.3.12 - version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) + specifier: 0.3.17 + version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) url-parse: specifier: ^1.5.10 version: 1.5.10 @@ -203,8 +204,8 @@ importers: specifier: ^3.1.8 version: 3.1.8 typeorm: - specifier: ^0.3.12 - version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) + specifier: 0.3.17 + version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) devDependencies: '@sphereon/ssi-sdk.agent-config': specifier: workspace:^ @@ -230,15 +231,9 @@ importers: debug: specifier: ^4.3.4 version: 4.3.4 - reflect-metadata: - specifier: ^0.1.13 - version: 0.1.13 - tsconfig-paths: - specifier: ^4.2.0 - version: 4.2.0 typeorm: - specifier: ^0.3.12 - version: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) + specifier: 0.3.17 + version: 0.3.17(sqlite3@5.1.6)(ts-node@10.9.1) devDependencies: sqlite3: specifier: ^5.1.6 @@ -314,8 +309,8 @@ importers: specifier: ^4.3.4 version: 4.3.4 typeorm: - specifier: ^0.3.12 - version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) + specifier: 0.3.17 + version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) devDependencies: '@sphereon/ssi-sdk.agent-config': specifier: workspace:^ @@ -342,8 +337,8 @@ importers: specifier: ^3.0.1 version: 3.0.1 typeorm: - specifier: ^0.3.12 - version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) + specifier: 0.3.17 + version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) uint8arrays: specifier: ^3.1.1 version: 3.1.1 @@ -414,7 +409,7 @@ importers: version: 2.8.8 ts-jest: specifier: ^29.1.1 - version: 29.1.1(@babel/core@7.0.0)(jest@29.6.2)(typescript@4.9.5) + version: 29.1.1(@babel/core@7.22.15)(jest@29.6.2)(typescript@4.9.5) packages/ms-request-api: dependencies: @@ -472,10 +467,10 @@ importers: version: 5.1.6 ts-jest: specifier: ^27.1.5 - version: 27.1.5(@babel/core@7.0.0)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.5(@babel/core@7.22.15)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) typeorm: - specifier: ^0.3.12 - version: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) + specifier: 0.3.17 + version: 0.3.17(sqlite3@5.1.6)(ts-node@10.9.1) typescript: specifier: 4.9.5 version: 4.9.5 @@ -695,8 +690,8 @@ importers: specifier: ^10.9.1 version: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) typeorm: - specifier: ^0.3.12 - version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) + specifier: 0.3.17 + version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) web-did-resolver: specifier: ^2.0.24 version: 2.0.27 @@ -886,7 +881,7 @@ importers: version: 18.2.0(react@18.2.0) ts-jest: specifier: ^27.1.5 - version: 27.1.5(@babel/core@7.0.0)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.5(@babel/core@7.22.15)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) packages/siopv2-oid4vp-common: dependencies: @@ -1204,8 +1199,8 @@ importers: specifier: ^10.9.1 version: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) typeorm: - specifier: ^0.3.12 - version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) + specifier: 0.3.17 + version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) packages/siopv2-oid4vp-rp-rest-client: dependencies: @@ -1380,7 +1375,7 @@ importers: version: 2.8.8 ts-jest: specifier: ^27.1.5 - version: 27.1.5(@babel/core@7.0.0)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.5(@babel/core@7.22.15)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) typescript: specifier: 4.9.5 version: 4.9.5 @@ -1539,8 +1534,8 @@ importers: specifier: ^10.9.1 version: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) typeorm: - specifier: ^0.3.12 - version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) + specifier: 0.3.17 + version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) web-did-resolver: specifier: ^2.0.27 version: 2.0.27 @@ -1829,8 +1824,8 @@ importers: specifier: ^4.3.4 version: 4.3.4 typeorm: - specifier: ^0.3.12 - version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) + specifier: 0.3.17 + version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) uint8arrays: specifier: ^3.1.1 version: 3.1.1 @@ -1887,8 +1882,8 @@ importers: specifier: ^0.1.13 version: 0.1.13 typeorm: - specifier: ^0.3.12 - version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) + specifier: 0.3.17 + version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) uint8arrays: specifier: ^3.1.1 version: 3.1.1 @@ -2144,8 +2139,8 @@ importers: specifier: ^10.9.1 version: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) typeorm: - specifier: ^0.3.12 - version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) + specifier: 0.3.17 + version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) packages/web3-provider-headless: dependencies: @@ -2304,8 +2299,8 @@ importers: specifier: 3.1.3 version: 3.1.3 typeorm: - specifier: ^0.3.12 - version: 0.3.12(pg@8.11.3)(ts-node@10.9.1) + specifier: 0.3.17 + version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) uuid: specifier: ^8.3.2 version: 8.3.2 @@ -2464,6 +2459,7 @@ packages: source-map: 0.5.7 transitivePeerDependencies: - supports-color + dev: true /@babel/core@7.22.15: resolution: {integrity: sha512-PtZqMmgRrvj8ruoEOIwVA3yoF91O+Hgw9o7DAUTNBA6Mo2jpu31clx9a7Nz/9JznqetTR6zwfC4L3LAjKQXUwA==} @@ -2534,6 +2530,7 @@ packages: '@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-class-features-plugin@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} @@ -2562,6 +2559,7 @@ packages: '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 + dev: true /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} @@ -2587,6 +2585,7 @@ packages: resolve: 1.22.4 transitivePeerDependencies: - supports-color + dev: true /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.15): resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} @@ -2643,6 +2642,7 @@ packages: '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.15 + dev: true /@babel/helper-module-transforms@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-l1UiX4UyHSFsYt17iQ3Se5pQQZZHa22zyIXURmvkmLCD4t/aU+dvNWHatKac/D9Vm9UES7nvIqHs4jZqKviUmQ==} @@ -2677,6 +2677,7 @@ packages: '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-wrap-function': 7.22.10 + dev: true /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.15): resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} @@ -2699,6 +2700,7 @@ packages: '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 + dev: true /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.15): resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} @@ -2782,6 +2784,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==} @@ -2791,7 +2794,6 @@ packages: dependencies: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.0.0): resolution: {integrity: sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==} @@ -2803,6 +2805,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.0.0) + dev: true /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==} @@ -2814,20 +2817,6 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.22.15) - dev: true - - /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.0.0): - 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/core': 7.0.0 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.0.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.0.0) /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.22.15): resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} @@ -2842,17 +2831,6 @@ packages: '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.15) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.15) - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.0.0): - 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.0.0 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.0.0) - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.15): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} @@ -2864,28 +2842,18 @@ packages: '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-proposal-decorators@7.22.15(@babel/core@7.0.0): + /@babel/plugin-proposal-decorators@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-kc0VvbbUyKelvzcKOSyQUSVVXS5pT3UhRB0e3c9An86MvLqs+gx0dN4asllrDluqSa3m9YyooXKGOFVomnyFkg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.0.0 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.0.0) + '@babel/core': 7.22.15 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.0.0) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.15) '@babel/helper-split-export-declaration': 7.22.6 - '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.0.0) - - /@babel/plugin-proposal-export-default-from@7.22.5(@babel/core@7.0.0): - resolution: {integrity: sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.0.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.0.0) + '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.22.15) /@babel/plugin-proposal-export-default-from@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==} @@ -2897,17 +2865,6 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.15) - /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.0.0): - 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.0.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.0.0) - /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.22.15): resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} engines: {node: '>=6.9.0'} @@ -2918,18 +2875,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.15) - dev: false - - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.0.0): - 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.0.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.0.0) /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.22.15): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} @@ -2942,17 +2887,6 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.15) - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.0.0): - 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.0.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.0.0) - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.22.15): resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} @@ -2964,20 +2898,6 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.15) - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.0.0): - 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.22.9 - '@babel/core': 7.0.0 - '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.0.0) - '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.0.0) - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.15): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} @@ -2992,17 +2912,6 @@ packages: '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.15) '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.15) - /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.0.0): - 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.0.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.0.0) - /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.22.15): resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} engines: {node: '>=6.9.0'} @@ -3014,18 +2923,6 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.15) - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.0.0): - 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.0.0 - '@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.0.0) - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.22.15): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} @@ -3050,6 +2947,7 @@ packages: '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.0.0) + dev: true /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.22.15): resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} @@ -3063,7 +2961,6 @@ packages: '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.15) - dev: true /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.0.0): resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} @@ -3075,6 +2972,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.15): resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} @@ -3086,7 +2984,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.0.0): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} @@ -3095,6 +2992,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.15): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} @@ -3120,6 +3018,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.15): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} @@ -3137,6 +3036,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.15): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} @@ -3146,15 +3046,14 @@ packages: dependencies: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - dev: true - /@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.0.0): + /@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.22.15): resolution: {integrity: sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.0.0 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.0.0): @@ -3164,6 +3063,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.15): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} @@ -3173,15 +3073,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-export-default-from@7.22.5(@babel/core@7.0.0): - resolution: {integrity: sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.0.0 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-export-default-from@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==} engines: {node: '>=6.9.0'} @@ -3198,6 +3089,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.15): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} @@ -3207,15 +3099,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.0.0): - resolution: {integrity: sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.0.0 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==} engines: {node: '>=6.9.0'} @@ -3233,6 +3116,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} @@ -3242,7 +3126,6 @@ packages: dependencies: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.0.0): resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} @@ -3252,6 +3135,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} @@ -3261,7 +3145,6 @@ packages: dependencies: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.0.0): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} @@ -3270,6 +3153,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.15): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} @@ -3278,7 +3162,6 @@ packages: dependencies: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.0.0): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} @@ -3287,6 +3170,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.15): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} @@ -3295,7 +3179,6 @@ packages: dependencies: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.0.0): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} @@ -3305,6 +3188,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} @@ -3322,6 +3206,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.15): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} @@ -3330,7 +3215,6 @@ packages: dependencies: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.0.0): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} @@ -3339,6 +3223,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.15): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} @@ -3355,6 +3240,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.15): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} @@ -3371,6 +3257,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.15): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} @@ -3387,6 +3274,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.15): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} @@ -3403,6 +3291,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.15): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} @@ -3420,6 +3309,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.15): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} @@ -3429,7 +3319,6 @@ packages: dependencies: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.0.0): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} @@ -3439,6 +3328,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.15): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} @@ -3448,7 +3338,6 @@ packages: dependencies: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.0.0): resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} @@ -3458,6 +3347,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} @@ -3477,6 +3367,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.15): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} @@ -3487,7 +3378,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.0.0): resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} @@ -3497,6 +3387,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} @@ -3518,6 +3409,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.0.0) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.0.0) + dev: true /@babel/plugin-transform-async-generator-functions@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w==} @@ -3530,7 +3422,6 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.15) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.15) - dev: true /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.0.0): resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} @@ -3542,6 +3433,7 @@ packages: '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.0.0) + dev: true /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} @@ -3562,6 +3454,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} @@ -3580,6 +3473,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-block-scoping@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-G1czpdJBZCtngoK1sJgloLiOHUnkb/bLZwqVZD8kXmq0ZnVfTTWUcs9OWtp0mBtYJ+4LQY1fllqBkOIPhXmFmw==} @@ -3599,6 +3493,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} @@ -3609,7 +3504,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.0.0): resolution: {integrity: sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==} @@ -3621,6 +3515,7 @@ packages: '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.0.0) + dev: true /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.22.15): resolution: {integrity: sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==} @@ -3632,7 +3527,6 @@ packages: '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.15) - dev: true /@babel/plugin-transform-classes@7.22.15(@babel/core@7.0.0): resolution: {integrity: sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==} @@ -3650,6 +3544,7 @@ packages: '@babel/helper-replace-supers': 7.22.9(@babel/core@7.0.0) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 + dev: true /@babel/plugin-transform-classes@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==} @@ -3677,6 +3572,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 '@babel/template': 7.22.15 + dev: true /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} @@ -3696,6 +3592,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-destructuring@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-HzG8sFl1ZVGTme74Nw+X01XsUTqERVQ6/RLHo3XjGRzm7XD6QTtfS3NJotVgCGy8BzkDqRjRBD8dAyJn5TuvSQ==} @@ -3715,6 +3612,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} @@ -3725,7 +3623,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.0.0): resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} @@ -3735,6 +3632,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} @@ -3744,7 +3642,6 @@ packages: dependencies: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.0.0): resolution: {integrity: sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==} @@ -3755,6 +3652,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.0.0) + dev: true /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.22.15): resolution: {integrity: sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==} @@ -3765,7 +3663,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.15) - dev: true /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.0.0): resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} @@ -3776,6 +3673,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} @@ -3786,7 +3684,6 @@ packages: '@babel/core': 7.22.15 '@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.22.11(@babel/core@7.0.0): resolution: {integrity: sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==} @@ -3797,6 +3694,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.0.0) + dev: true /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.22.15): resolution: {integrity: sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==} @@ -3807,17 +3705,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.15) - dev: true - - /@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.0.0): - resolution: {integrity: sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.0.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.0.0) /@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==} @@ -3837,6 +3724,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-for-of@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==} @@ -3857,6 +3745,7 @@ packages: '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-function-name': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} @@ -3878,6 +3767,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.0.0) + dev: true /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.22.15): resolution: {integrity: sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==} @@ -3888,7 +3778,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.15) - dev: true /@babel/plugin-transform-literals@7.22.5(@babel/core@7.0.0): resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} @@ -3898,6 +3787,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} @@ -3917,6 +3807,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.0.0) + dev: true /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.22.15): resolution: {integrity: sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==} @@ -3927,7 +3818,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.15) - dev: true /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.0.0): resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} @@ -3937,6 +3827,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} @@ -3956,6 +3847,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-module-transforms': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} @@ -3966,7 +3858,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-module-transforms': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-transform-modules-commonjs@7.21.5(@babel/core@7.0.0): resolution: {integrity: sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==} @@ -3978,6 +3869,7 @@ packages: '@babel/helper-module-transforms': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 + dev: true /@babel/plugin-transform-modules-commonjs@7.21.5(@babel/core@7.22.15): resolution: {integrity: sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==} @@ -4001,6 +3893,7 @@ packages: '@babel/helper-module-transforms': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-identifier': 7.22.15 + dev: true /@babel/plugin-transform-modules-systemjs@7.22.11(@babel/core@7.22.15): resolution: {integrity: sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==} @@ -4013,7 +3906,6 @@ packages: '@babel/helper-module-transforms': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-identifier': 7.22.15 - dev: true /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.0.0): resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} @@ -4024,6 +3916,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-module-transforms': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} @@ -4034,7 +3927,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-module-transforms': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.0.0): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} @@ -4045,6 +3937,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} @@ -4064,6 +3957,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} @@ -4073,7 +3967,6 @@ packages: dependencies: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.0.0): resolution: {integrity: sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==} @@ -4084,6 +3977,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.0.0) + dev: true /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.22.15): resolution: {integrity: sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==} @@ -4094,7 +3988,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.15) - dev: true /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.0.0): resolution: {integrity: sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==} @@ -4105,6 +3998,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.0.0) + dev: true /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.22.15): resolution: {integrity: sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==} @@ -4115,7 +4009,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.15) - dev: true /@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.0.0): resolution: {integrity: sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==} @@ -4129,6 +4022,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.0.0) '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.0.0) + dev: true /@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==} @@ -4142,7 +4036,6 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.15) '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.15) - dev: true /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.0.0): resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} @@ -4153,6 +4046,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-replace-supers': 7.22.9(@babel/core@7.0.0) + dev: true /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} @@ -4173,6 +4067,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.0.0) + dev: true /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.22.15): resolution: {integrity: sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==} @@ -4183,7 +4078,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.15) - dev: true /@babel/plugin-transform-optional-chaining@7.22.15(@babel/core@7.0.0): resolution: {integrity: sha512-ngQ2tBhq5vvSJw2Q2Z9i7ealNkpDMU0rGWnHPKqRZO0tzZ5tlaoz4hDvhXioOoaE0X2vfNss1djwg0DXlfu30A==} @@ -4195,6 +4089,7 @@ packages: '@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.0.0) + dev: true /@babel/plugin-transform-optional-chaining@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-ngQ2tBhq5vvSJw2Q2Z9i7ealNkpDMU0rGWnHPKqRZO0tzZ5tlaoz4hDvhXioOoaE0X2vfNss1djwg0DXlfu30A==} @@ -4206,7 +4101,6 @@ packages: '@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.22.15) - dev: true /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.0.0): resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} @@ -4216,6 +4110,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} @@ -4235,6 +4130,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} @@ -4245,7 +4141,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.0.0): resolution: {integrity: sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==} @@ -4258,6 +4153,7 @@ packages: '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.0.0) + dev: true /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.22.15): resolution: {integrity: sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==} @@ -4270,7 +4166,6 @@ packages: '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.15) - dev: true /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.0.0): resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} @@ -4280,6 +4175,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} @@ -4290,15 +4186,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.0.0): - resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.0.0 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} engines: {node: '>=6.9.0'} @@ -4308,15 +4195,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.0.0): - resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.0.0 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} engines: {node: '>=6.9.0'} @@ -4326,15 +4204,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.0.0): - resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.0.0 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} engines: {node: '>=6.9.0'} @@ -4344,19 +4213,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.0.0): - resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.0.0 - '@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.22.5(@babel/core@7.0.0) - '@babel/types': 7.22.15 - /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==} engines: {node: '>=6.9.0'} @@ -4379,6 +4235,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.2 + dev: true /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.15): resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} @@ -4389,7 +4246,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.2 - dev: true /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.0.0): resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} @@ -4399,6 +4255,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} @@ -4408,23 +4265,6 @@ packages: dependencies: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-runtime@7.22.2(@babel/core@7.0.0): - resolution: {integrity: sha512-ewgWBw1pAoqFg9crO6yhZAQoKWN/iNEGqAmuYegZp+xEpvMHGyLxt0SgPZ9bWG6jx4eff6jQ4JILt5zwj/EoTg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.0.0 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.0.0) - babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.0.0) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.0.0) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color /@babel/plugin-transform-runtime@7.22.2(@babel/core@7.22.15): resolution: {integrity: sha512-ewgWBw1pAoqFg9crO6yhZAQoKWN/iNEGqAmuYegZp+xEpvMHGyLxt0SgPZ9bWG6jx4eff6jQ4JILt5zwj/EoTg==} @@ -4450,6 +4290,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} @@ -4469,6 +4310,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} @@ -4488,6 +4330,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} @@ -4506,6 +4349,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} @@ -4524,6 +4368,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} @@ -4533,7 +4378,6 @@ packages: dependencies: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.0.0): resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} @@ -4546,6 +4390,7 @@ packages: '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.0.0) + dev: true /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} @@ -4567,6 +4412,7 @@ packages: dependencies: '@babel/core': 7.0.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.15): resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} @@ -4576,7 +4422,6 @@ packages: dependencies: '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.0.0): resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} @@ -4587,6 +4432,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} @@ -4597,7 +4443,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.0.0): resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} @@ -4608,6 +4453,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} @@ -4628,6 +4474,7 @@ packages: '@babel/core': 7.0.0 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.0.0) '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} @@ -4638,7 +4485,6 @@ packages: '@babel/core': 7.22.15 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/preset-env@7.22.2(@babel/core@7.0.0): resolution: {integrity: sha512-UPNK9pgphMULvA2EMKIWHU90C47PKyuvQ8pE1MzH7l9PgFcRabdrHhlePpBuWxYZQ+TziP2nycKoI5C1Yhdm9Q==} @@ -4729,6 +4575,7 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true /@babel/preset-env@7.22.2(@babel/core@7.22.15): resolution: {integrity: sha512-UPNK9pgphMULvA2EMKIWHU90C47PKyuvQ8pE1MzH7l9PgFcRabdrHhlePpBuWxYZQ+TziP2nycKoI5C1Yhdm9Q==} @@ -4819,7 +4666,6 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true /@babel/preset-flow@7.22.15(@babel/core@7.22.15): resolution: {integrity: sha512-dB5aIMqpkgbTfN5vDdTRPzjqtWiZcRESNR88QYnoPR+bmdYoluOzMX9tQerTv0XzSgZYctPfO1oc0N5zdog1ew==} @@ -4843,6 +4689,7 @@ packages: '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.0.0) '@babel/types': 7.22.15 esutils: 2.0.3 + dev: true /@babel/preset-modules@0.1.6(@babel/core@7.22.15): resolution: {integrity: sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==} @@ -4855,7 +4702,6 @@ packages: '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.15) '@babel/types': 7.22.15 esutils: 2.0.3 - dev: true /@babel/preset-typescript@7.21.5(@babel/core@7.0.0): resolution: {integrity: sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA==} @@ -6382,7 +6228,7 @@ packages: resolution: {integrity: sha512-yUCDCcRNNbI9UUsUB6FYEmDHpo5Tn/f0q5D7vhDP4i6Or8kBj82y7+e31hwfLvK2ykOYlDVs2MxAluH/+QUBOQ==} engines: {node: ^14.15.0 || >=16.0.0} dependencies: - chalk: 4.1.0 + chalk: 4.1.2 execa: 5.0.0 strong-log-transformer: 2.1.0 dev: true @@ -7383,7 +7229,7 @@ packages: transitivePeerDependencies: - encoding - /@react-native-community/cli-plugin-metro@11.3.6(@babel/core@7.0.0): + /@react-native-community/cli-plugin-metro@11.3.6(@babel/core@7.22.15): resolution: {integrity: sha512-D97racrPX3069ibyabJNKw9aJpVcaZrkYiEzsEnx50uauQtPDoQ1ELb/5c6CtMhAEGKoZ0B5MS23BbsSZcLs2g==} dependencies: '@react-native-community/cli-server-api': 11.3.6 @@ -7393,7 +7239,7 @@ packages: metro: 0.76.7 metro-config: 0.76.7 metro-core: 0.76.7 - metro-react-native-babel-transformer: 0.76.7(@babel/core@7.0.0) + metro-react-native-babel-transformer: 0.76.7(@babel/core@7.22.15) metro-resolver: 0.76.7 metro-runtime: 0.76.7 readline: 1.3.0 @@ -7442,7 +7288,7 @@ packages: dependencies: joi: 17.10.1 - /@react-native-community/cli@11.3.6(@babel/core@7.0.0): + /@react-native-community/cli@11.3.6(@babel/core@7.22.15): resolution: {integrity: sha512-bdwOIYTBVQ9VK34dsf6t3u6vOUU5lfdhKaAxiAVArjsr7Je88Bgs4sAbsOYsNK3tkE8G77U6wLpekknXcanlww==} engines: {node: '>=16'} hasBin: true @@ -7452,7 +7298,7 @@ packages: '@react-native-community/cli-debugger-ui': 11.3.6 '@react-native-community/cli-doctor': 11.3.6 '@react-native-community/cli-hermes': 11.3.6 - '@react-native-community/cli-plugin-metro': 11.3.6(@babel/core@7.0.0) + '@react-native-community/cli-plugin-metro': 11.3.6(@babel/core@7.22.15) '@react-native-community/cli-server-api': 11.3.6 '@react-native-community/cli-tools': 11.3.6 '@react-native-community/cli-types': 11.3.6 @@ -7480,7 +7326,7 @@ packages: '@babel/preset-env': ^7.1.6 dependencies: '@babel/parser': 7.22.15 - '@babel/preset-env': 7.22.2(@babel/core@7.0.0) + '@babel/preset-env': 7.22.2(@babel/core@7.22.15) flow-parser: 0.206.0 jscodeshift: 0.14.0(@babel/preset-env@7.22.2) nullthrows: 1.1.1 @@ -7506,7 +7352,7 @@ packages: dependencies: invariant: 2.2.4 nullthrows: 1.1.1 - react-native: 0.72.4(@babel/core@7.0.0)(@babel/preset-env@7.22.2)(react@18.2.0) + react-native: 0.72.4(@babel/core@7.22.15)(@babel/preset-env@7.22.2)(react@18.2.0) /@rushstack/node-core-library@3.53.3: resolution: {integrity: sha512-H0+T5koi5MFhJUd5ND3dI3bwLhvlABetARl78L3lWftJVQEPyzcgTStvTTRiIM5mCltyTM8VYm6BuCtNUuxD0Q==} @@ -7811,7 +7657,7 @@ packages: dependencies: '@sphereon/react-native-argon2': 2.0.9(react-native@0.72.4) argon2-browser: 1.18.0 - react-native: 0.72.4(@babel/core@7.0.0)(@babel/preset-env@7.22.2)(react@18.2.0) + react-native: 0.72.4(@babel/core@7.22.15)(@babel/preset-env@7.22.2)(react@18.2.0) uint8arrays: 3.1.1 dev: true @@ -7829,7 +7675,7 @@ packages: b64u-lite: 1.1.0 cipher-base: 1.0.4 create-hash: 1.2.0 - expo: 49.0.9(@babel/core@7.0.0) + expo: 49.0.9(@babel/core@7.22.15) expo-crypto: 12.4.1(expo@49.0.9) inherits: 2.0.4 md5.js: 1.3.5 @@ -7926,7 +7772,7 @@ packages: peerDependencies: react-native: '>=0.67.0' dependencies: - react-native: 0.72.4(@babel/core@7.0.0)(@babel/preset-env@7.22.2)(react@18.2.0) + react-native: 0.72.4(@babel/core@7.22.15)(@babel/preset-env@7.22.2)(react@18.2.0) dev: true /@sphereon/ssi-express-support@0.15.1: @@ -9498,7 +9344,7 @@ packages: '@veramo/key-manager': 4.2.0 '@veramo/utils': 4.2.0 debug: 4.3.4 - typeorm: 0.3.12(pg@8.11.3)(ts-node@10.9.1) + typeorm: 0.3.17(pg@8.11.3)(ts-node@10.9.1) transitivePeerDependencies: - '@google-cloud/spanner' - '@sap/hana-client' @@ -9530,7 +9376,7 @@ packages: '@veramo/key-manager': 4.2.0 '@veramo/utils': 4.2.0 debug: 4.3.4 - typeorm: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) + typeorm: 0.3.17(sqlite3@5.1.6)(ts-node@10.9.1) transitivePeerDependencies: - '@google-cloud/spanner' - '@sap/hana-client' @@ -10457,6 +10303,7 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.15): resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} @@ -10480,6 +10327,7 @@ packages: core-js-compat: 3.32.1 transitivePeerDependencies: - supports-color + dev: true /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.15): resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==} @@ -10501,6 +10349,7 @@ packages: '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.0.0) transitivePeerDependencies: - supports-color + dev: true /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.15): resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} @@ -10518,13 +10367,6 @@ packages: /babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} - /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.0.0): - resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} - dependencies: - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.0.0) - transitivePeerDependencies: - - '@babel/core' - /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.22.15): resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} dependencies: @@ -10552,55 +10394,21 @@ packages: '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.15) dev: true - /babel-preset-expo@9.5.2(@babel/core@7.0.0): + /babel-preset-expo@9.5.2(@babel/core@7.22.15): resolution: {integrity: sha512-hU1G1TDiikuXV6UDZjPnX+WdbjbtidDiYhftMEVrZQSst45pDPVBWbM41TUKrpJMwv4FypsLzK+378gnMPRVWQ==} dependencies: - '@babel/plugin-proposal-decorators': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.0.0) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.0.0) - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.0.0) - '@babel/preset-env': 7.22.2(@babel/core@7.0.0) + '@babel/plugin-proposal-decorators': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.22.15) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.15) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.22.15) + '@babel/preset-env': 7.22.2(@babel/core@7.22.15) 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.0.0) + metro-react-native-babel-preset: 0.76.8(@babel/core@7.22.15) transitivePeerDependencies: - '@babel/core' - supports-color - /babel-preset-fbjs@3.4.0(@babel/core@7.0.0): - resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.0.0 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.0.0) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.0.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.0.0) - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.0.0) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.0.0) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.0.0) - babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 - /babel-preset-fbjs@3.4.0(@babel/core@7.22.15): resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} peerDependencies: @@ -13311,7 +13119,7 @@ packages: peerDependencies: expo: '*' dependencies: - expo: 49.0.9(@babel/core@7.0.0) + expo: 49.0.9(@babel/core@7.22.15) /expo-asset@8.10.1(expo@49.0.9): resolution: {integrity: sha512-5VMTESxgY9GBsspO/esY25SKEa7RyascVkLe/OcL1WgblNFm7xCCEEUIW8VWS1nHJQGYxpMZPr3bEfjMpdWdyA==} @@ -13333,7 +13141,7 @@ packages: expo: '*' dependencies: '@expo/config': 8.1.2 - expo: 49.0.9(@babel/core@7.0.0) + expo: 49.0.9(@babel/core@7.22.15) uuid: 3.4.0 transitivePeerDependencies: - supports-color @@ -13344,14 +13152,14 @@ packages: expo: '*' dependencies: base64-js: 1.5.1 - expo: 49.0.9(@babel/core@7.0.0) + expo: 49.0.9(@babel/core@7.22.15) /expo-file-system@15.4.4(expo@49.0.9): resolution: {integrity: sha512-F0xS88D85F7qVQ61r0qBnzh6VW/s6iIl+VaQEEi2nAIOQHw1JIEj4yCXPLTtbyn5VmArbe2dSL3KYz1V+BLkKA==} peerDependencies: expo: '*' dependencies: - expo: 49.0.9(@babel/core@7.0.0) + expo: 49.0.9(@babel/core@7.22.15) uuid: 3.4.0 /expo-font@11.4.0(expo@49.0.9): @@ -13359,7 +13167,7 @@ packages: peerDependencies: expo: '*' dependencies: - expo: 49.0.9(@babel/core@7.0.0) + expo: 49.0.9(@babel/core@7.22.15) fontfaceobserver: 2.3.0 /expo-keep-awake@12.3.0(expo@49.0.9): @@ -13367,7 +13175,7 @@ packages: peerDependencies: expo: '*' dependencies: - expo: 49.0.9(@babel/core@7.0.0) + expo: 49.0.9(@babel/core@7.22.15) /expo-modules-autolinking@1.5.1: resolution: {integrity: sha512-yt5a1VCp2BF9CrsO689PCD5oXKP14MMhnOanQMvDn4BDpURYfzAlDVGC5fZrNQKtwn/eq3bcrxIwZ7D9QjVVRg==} @@ -13388,7 +13196,7 @@ packages: compare-versions: 3.6.0 invariant: 2.2.4 - /expo@49.0.9(@babel/core@7.0.0): + /expo@49.0.9(@babel/core@7.22.15): resolution: {integrity: sha512-x68r9sJ3HP5AedtGFZ5ufEYLWWrbWN9LN/jKavFMe22vRRyTGDMyIhKcoLCikqRDpYHFtIEuLh1P8H85Oz800Q==} hasBin: true dependencies: @@ -13397,7 +13205,7 @@ packages: '@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.0.0) + babel-preset-expo: 9.5.2(@babel/core@7.22.15) expo-application: 5.3.0(expo@49.0.9) expo-asset: 8.10.1(expo@49.0.9) expo-constants: 14.4.2(expo@49.0.9) @@ -13686,6 +13494,7 @@ packages: /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + requiresBuild: true dev: true /file-url@3.0.0: @@ -13748,7 +13557,7 @@ packages: resolution: {integrity: sha512-dOKT7jvF3hGzlW60Gc3ONox/0rRZ/tz7WCil0bqA1In/3I8f1BctpXahRnEKDySZqci7u+dqq93sZST9fOJpFw==} engines: {node: '>=16.0.0'} dependencies: - json5: 2.2.0 + json5: 2.2.3 path-exists: 4.0.0 /find-cache-dir@2.1.0: @@ -14289,7 +14098,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.0.5 + minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -16405,7 +16214,7 @@ packages: '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.15) '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.15) '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.15) - '@babel/preset-env': 7.22.2(@babel/core@7.0.0) + '@babel/preset-env': 7.22.2(@babel/core@7.22.15) '@babel/preset-flow': 7.22.15(@babel/core@7.22.15) '@babel/preset-typescript': 7.21.5(@babel/core@7.22.15) '@babel/register': 7.22.15(@babel/core@7.22.15) @@ -16592,6 +16401,7 @@ packages: /json5@0.5.1: resolution: {integrity: sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==} hasBin: true + dev: true /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} @@ -16626,7 +16436,7 @@ packages: dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 /jsonld-checker@0.1.8: resolution: {integrity: sha512-jclmnPRrm5SEpaIV6IiSTJxplRAqIWHduQLsUfrYpZM41Ng48m1RN2/aUyHze/ynfO0D2UhlJBt8SdObsH5GBw==} @@ -17064,7 +16874,7 @@ packages: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 @@ -17498,7 +17308,7 @@ packages: redent: 3.0.0 trim-newlines: 3.0.1 type-fest: 0.18.1 - yargs-parser: 20.2.4 + yargs-parser: 20.2.9 dev: true /merge-descriptors@1.0.1: @@ -17609,54 +17419,6 @@ packages: dependencies: uglify-es: 3.3.9 - /metro-react-native-babel-preset@0.76.7(@babel/core@7.0.0): - resolution: {integrity: sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==} - engines: {node: '>=16'} - peerDependencies: - '@babel/core': '*' - dependencies: - '@babel/core': 7.0.0 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.0.0) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.0.0) - '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.0.0) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.0.0) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.0.0) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.0.0) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.0.0) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.0.0) - '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.0.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.0.0) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.0.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-runtime': 7.22.2(@babel/core@7.0.0) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.0.0) - '@babel/template': 7.22.15 - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.0.0) - react-refresh: 0.4.3 - transitivePeerDependencies: - - supports-color - /metro-react-native-babel-preset@0.76.7(@babel/core@7.22.15): resolution: {integrity: sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==} engines: {node: '>=16'} @@ -17705,64 +17467,64 @@ packages: transitivePeerDependencies: - supports-color - /metro-react-native-babel-preset@0.76.8(@babel/core@7.0.0): + /metro-react-native-babel-preset@0.76.8(@babel/core@7.22.15): resolution: {integrity: sha512-Ptza08GgqzxEdK8apYsjTx2S8WDUlS2ilBlu9DR1CUcHmg4g3kOkFylZroogVAUKtpYQNYwAvdsjmrSdDNtiAg==} engines: {node: '>=16'} peerDependencies: '@babel/core': '*' dependencies: - '@babel/core': 7.0.0 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.0.0) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.0.0) - '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.0.0) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.0.0) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.0.0) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.0.0) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.0.0) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.0.0) - '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.0.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.0.0) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.0.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-runtime': 7.22.2(@babel/core@7.0.0) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.0.0) - '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.0.0) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.0.0) + '@babel/core': 7.22.15 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.22.15) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.15) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.15) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.15) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-runtime': 7.22.2(@babel/core@7.22.15) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.15) '@babel/template': 7.22.15 - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.0.0) + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.22.15) react-refresh: 0.4.3 transitivePeerDependencies: - supports-color - /metro-react-native-babel-transformer@0.76.7(@babel/core@7.0.0): + /metro-react-native-babel-transformer@0.76.7(@babel/core@7.22.15): resolution: {integrity: sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==} engines: {node: '>=16'} peerDependencies: '@babel/core': '*' dependencies: - '@babel/core': 7.0.0 - babel-preset-fbjs: 3.4.0(@babel/core@7.0.0) + '@babel/core': 7.22.15 + babel-preset-fbjs: 3.4.0(@babel/core@7.22.15) hermes-parser: 0.12.0 - metro-react-native-babel-preset: 0.76.7(@babel/core@7.0.0) + metro-react-native-babel-preset: 0.76.7(@babel/core@7.22.15) nullthrows: 1.1.1 transitivePeerDependencies: - supports-color @@ -18314,7 +18076,7 @@ packages: array-differ: 3.0.0 array-union: 2.1.0 arrify: 2.0.1 - minimatch: 3.0.5 + minimatch: 3.1.2 dev: true /mute-stream@0.0.8: @@ -18576,7 +18338,7 @@ packages: env-paths: 2.2.1 exponential-backoff: 3.1.1 glob: 7.2.3 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 make-fetch-happen: 11.1.1 nopt: 6.0.0 npmlog: 6.0.2 @@ -20264,9 +20026,9 @@ packages: react-native: '*' dependencies: base64-js: 1.5.1 - react-native: 0.72.4(@babel/core@7.0.0)(@babel/preset-env@7.22.2)(react@18.2.0) + react-native: 0.72.4(@babel/core@7.22.15)(@babel/preset-env@7.22.2)(react@18.2.0) - /react-native@0.72.4(@babel/core@7.0.0)(@babel/preset-env@7.22.2)(react@18.2.0): + /react-native@0.72.4(@babel/core@7.22.15)(@babel/preset-env@7.22.2)(react@18.2.0): resolution: {integrity: sha512-+vrObi0wZR+NeqL09KihAAdVlQ9IdplwznJWtYrjnQ4UbCW6rkzZJebRsugwUneSOKNFaHFEo1uKU89HsgtYBg==} engines: {node: '>=16'} hasBin: true @@ -20274,7 +20036,7 @@ packages: react: 18.2.0 dependencies: '@jest/create-cache-key-function': 29.6.3 - '@react-native-community/cli': 11.3.6(@babel/core@7.0.0) + '@react-native-community/cli': 11.3.6(@babel/core@7.22.15) '@react-native-community/cli-platform-android': 11.3.6 '@react-native-community/cli-platform-ios': 11.3.6 '@react-native/assets-registry': 0.72.0 @@ -21632,6 +21394,7 @@ packages: /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} + dev: true /strip-bom@4.0.0: resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} @@ -22076,41 +21839,6 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-jest@27.1.5(@babel/core@7.0.0)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5): - resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true - peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@types/jest': ^27.0.0 - babel-jest: '>=27.0.0 <28' - esbuild: '*' - jest: ^27.0.0 - typescript: '>=3.8 <5.0' - peerDependenciesMeta: - '@babel/core': - optional: true - '@types/jest': - optional: true - babel-jest: - optional: true - esbuild: - optional: true - dependencies: - '@babel/core': 7.0.0 - '@types/jest': 27.5.2 - bs-logger: 0.2.6 - fast-json-stable-stringify: 2.1.0 - jest: 27.5.1(ts-node@10.9.1) - jest-util: 27.5.1 - json5: 2.2.0 - lodash.memoize: 4.1.2 - make-error: 1.3.6 - semver: 7.5.4 - typescript: 4.9.5 - yargs-parser: 20.2.9 - dev: true - /ts-jest@27.1.5(@babel/core@7.22.15)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5): resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -22146,7 +21874,7 @@ packages: yargs-parser: 20.2.9 dev: true - /ts-jest@29.1.1(@babel/core@7.0.0)(jest@29.6.2)(typescript@4.9.5): + /ts-jest@29.1.1(@babel/core@7.22.15)(jest@29.6.2)(typescript@4.9.5): resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -22167,7 +21895,7 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.0.0 + '@babel/core': 7.22.15 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 jest: 29.6.2(@types/node@18.16.3)(ts-node@10.9.1) @@ -22279,6 +22007,7 @@ packages: json5: 2.2.3 minimist: 1.2.8 strip-bom: 3.0.0 + dev: true /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} @@ -22448,8 +22177,8 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true - /typeorm@0.3.12(pg@8.11.3)(ts-node@10.9.1): - resolution: {integrity: sha512-sYSxBmCf1nJLLTcYtwqZ+lQIRtLPyUoO93rHTOKk9vJCyT4UfRtU7oRsJvfvKP3nnZTD1hzz2SEy2zwPEN6OyA==} + /typeorm@0.3.17(pg@8.11.3)(ts-node@10.9.1): + resolution: {integrity: sha512-UDjUEwIQalO9tWw9O2A4GU+sT3oyoUXheHJy4ft+RFdnRdQctdQ34L9SqE2p7LdwzafHx1maxT+bqXON+Qnmig==} engines: {node: '>= 12.9.0'} hasBin: true peerDependencies: @@ -22458,8 +22187,8 @@ packages: better-sqlite3: ^7.1.2 || ^8.0.0 hdb-pool: ^0.1.6 ioredis: ^5.0.4 - mongodb: ^3.6.0 - mssql: ^7.3.0 + mongodb: ^5.2.0 + mssql: ^9.1.1 mysql2: ^2.2.5 || ^3.0.1 oracledb: ^5.1.0 pg: ^8.5.1 @@ -22515,7 +22244,6 @@ packages: debug: 4.3.4 dotenv: 16.3.1 glob: 8.1.0 - js-yaml: 4.1.0 mkdirp: 2.1.6 pg: 8.11.3 reflect-metadata: 0.1.13 @@ -22523,13 +22251,12 @@ packages: ts-node: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) tslib: 2.6.2 uuid: 9.0.0 - xml2js: 0.4.23 yargs: 17.7.2 transitivePeerDependencies: - supports-color - /typeorm@0.3.12(sqlite3@5.1.6)(ts-node@10.9.1): - resolution: {integrity: sha512-sYSxBmCf1nJLLTcYtwqZ+lQIRtLPyUoO93rHTOKk9vJCyT4UfRtU7oRsJvfvKP3nnZTD1hzz2SEy2zwPEN6OyA==} + /typeorm@0.3.17(sqlite3@5.1.6)(ts-node@10.9.1): + resolution: {integrity: sha512-UDjUEwIQalO9tWw9O2A4GU+sT3oyoUXheHJy4ft+RFdnRdQctdQ34L9SqE2p7LdwzafHx1maxT+bqXON+Qnmig==} engines: {node: '>= 12.9.0'} hasBin: true peerDependencies: @@ -22538,8 +22265,8 @@ packages: better-sqlite3: ^7.1.2 || ^8.0.0 hdb-pool: ^0.1.6 ioredis: ^5.0.4 - mongodb: ^3.6.0 - mssql: ^7.3.0 + mongodb: ^5.2.0 + mssql: ^9.1.1 mysql2: ^2.2.5 || ^3.0.1 oracledb: ^5.1.0 pg: ^8.5.1 @@ -22595,7 +22322,6 @@ packages: debug: 4.3.4 dotenv: 16.3.1 glob: 8.1.0 - js-yaml: 4.1.0 mkdirp: 2.1.6 reflect-metadata: 0.1.13 sha.js: 2.4.11 @@ -22603,7 +22329,6 @@ packages: ts-node: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) tslib: 2.6.2 uuid: 9.0.0 - xml2js: 0.4.23 yargs: 17.7.2 transitivePeerDependencies: - supports-color @@ -23353,7 +23078,7 @@ packages: /write-file-atomic@2.4.3: resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 imurmurhash: 0.1.4 signal-exit: 3.0.7 @@ -23395,7 +23120,7 @@ packages: engines: {node: '>=6'} dependencies: detect-indent: 5.0.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 make-dir: 2.1.0 pify: 4.0.1 sort-keys: 2.0.0 @@ -23476,13 +23201,6 @@ packages: engines: {node: '>=12'} dev: true - /xml2js@0.4.23: - resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==} - engines: {node: '>=4.0.0'} - dependencies: - sax: 1.2.4 - xmlbuilder: 11.0.1 - /xml2js@0.6.0: resolution: {integrity: sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==} engines: {node: '>=4.0.0'} @@ -23547,11 +23265,11 @@ packages: /yargs-parser@20.2.4: resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} engines: {node: '>=10'} + dev: true /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} - dev: true /yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} @@ -23583,7 +23301,7 @@ packages: require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 - yargs-parser: 20.2.4 + yargs-parser: 20.2.9 /yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} From 5fe8f46144afd4e4f6e9220aaad89577c9fa4466 Mon Sep 17 00:00:00 2001 From: Niels Klomp Date: Wed, 6 Sep 2023 22:02:45 +0200 Subject: [PATCH 3/6] chore: Disable did-issuer tests for now because of an issue with the many to many metadata --- package.json | 4 +- packages/contact-manager/package.json | 6 +- packages/data-store/package.json | 2 +- packages/issuance-branding/package.json | 6 +- packages/kv-store/package.json | 2 +- packages/ms-request-api/package.json | 4 +- packages/oid4vci-issuer-rest-api/package.json | 14 +- .../oid4vci-issuer-rest-client/package.json | 2 +- packages/oid4vci-issuer-store/package.json | 2 +- packages/oid4vci-issuer/package.json | 8 +- packages/presentation-exchange/package.json | 6 +- packages/qr-code-generator/package.json | 2 +- packages/siopv2-oid4vp-common/package.json | 2 +- packages/siopv2-oid4vp-op-auth/package.json | 8 +- packages/siopv2-oid4vp-rp-auth/package.json | 10 +- .../siopv2-oid4vp-rp-rest-api/package.json | 18 +- .../siopv2-oid4vp-rp-rest-client/package.json | 2 +- packages/ssi-sdk-core/package.json | 2 +- .../uni-resolver-registrar-api/package.json | 10 +- packages/vc-handler-ld-local/package.json | 11 +- .../package.json | 8 +- .../package.json | 12 +- packages/vc-status-list/package.json | 2 +- packages/w3c-vc-api/package.json | 16 +- .../__tests__/localAgent.test.ts | 2 +- .../__tests__/restAgent.test.ts | 2 +- packages/wellknown-did-issuer/package.json | 4 +- packages/wellknown-did-verifier/package.json | 2 +- pnpm-lock.yaml | 162 +++++++++--------- 29 files changed, 166 insertions(+), 165 deletions(-) diff --git a/package.json b/package.json index b980a9efe..c18cca29d 100644 --- a/package.json +++ b/package.json @@ -109,8 +109,8 @@ "@veramo/remote-server": "4.2.0", "@veramo/selective-disclosure": "4.2.0", "@veramo/url-handler": "4.2.0", - "@sphereon/ssi-types": "workspace:^", - "@sphereon/ssi-sdk.core": "workspace:^", + "@sphereon/ssi-types": "workspace:*", + "@sphereon/ssi-sdk.core": "workspace:*", "@sphereon/ssi-sdk-ext.did-provider-key": "0.14.1-next.3", "@noble/hashes": "1.2.0", "did-jwt": "6.11.6", diff --git a/packages/contact-manager/package.json b/packages/contact-manager/package.json index e9633cab5..88cd2e356 100644 --- a/packages/contact-manager/package.json +++ b/packages/contact-manager/package.json @@ -14,13 +14,13 @@ "build:clean": "tsc --build --clean && tsc --build" }, "dependencies": { - "@sphereon/ssi-sdk.data-store": "workspace:^", + "@sphereon/ssi-sdk.data-store": "workspace:*", "cross-fetch": "^3.1.8", "typeorm": "^0.3.12" }, "devDependencies": { - "@sphereon/ssi-sdk.agent-config": "workspace:^", - "@sphereon/ssi-sdk.data-store": "workspace:^", + "@sphereon/ssi-sdk.agent-config": "workspace:*", + "@sphereon/ssi-sdk.data-store": "workspace:*", "@veramo/remote-client": "4.2.0", "@veramo/remote-server": "4.2.0" }, diff --git a/packages/data-store/package.json b/packages/data-store/package.json index 32f92413e..f85d70a58 100644 --- a/packages/data-store/package.json +++ b/packages/data-store/package.json @@ -13,7 +13,7 @@ "typeorm-postgres:migration:run": "pnpm run typeorm -- migration:run -c migration-postgres" }, "dependencies": { - "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-types": "workspace:*", "@veramo/core": "4.2.0", "class-validator": "^0.14.0", "debug": "^4.3.4", diff --git a/packages/issuance-branding/package.json b/packages/issuance-branding/package.json index 13648d347..2256ea11f 100644 --- a/packages/issuance-branding/package.json +++ b/packages/issuance-branding/package.json @@ -15,13 +15,13 @@ "generate-plugin-schema": "ts-node ../../packages/dev/bin/sphereon.js dev generate-plugin-schema" }, "dependencies": { - "@sphereon/ssi-sdk.core": "workspace:^", - "@sphereon/ssi-sdk.data-store": "workspace:^", + "@sphereon/ssi-sdk.core": "workspace:*", + "@sphereon/ssi-sdk.data-store": "workspace:*", "debug": "^4.3.4", "typeorm": "^0.3.12" }, "devDependencies": { - "@sphereon/ssi-sdk.agent-config": "workspace:^", + "@sphereon/ssi-sdk.agent-config": "workspace:*", "@veramo/remote-client": "4.2.0", "@veramo/remote-server": "4.2.0" }, diff --git a/packages/kv-store/package.json b/packages/kv-store/package.json index 1bbb27ac9..667a2597c 100644 --- a/packages/kv-store/package.json +++ b/packages/kv-store/package.json @@ -21,7 +21,7 @@ "@keyv/compress-gzip": "^1.2.3", "@keyv/sqlite": "^3.6.5", "@keyv/test-suite": "^1.9.2", - "@sphereon/ssi-sdk.agent-config": "workspace:^", + "@sphereon/ssi-sdk.agent-config": "workspace:*", "@types/debug": "^4.1.7", "@types/json-buffer": "^3.0.0", "eslint": "^8.33.0", diff --git a/packages/ms-request-api/package.json b/packages/ms-request-api/package.json index fdf424aee..2c5a82724 100644 --- a/packages/ms-request-api/package.json +++ b/packages/ms-request-api/package.json @@ -15,12 +15,12 @@ "generate-plugin-schema": "ts-node ../../packages/dev/bin/sphereon.js dev generate-plugin-schema" }, "dependencies": { - "@sphereon/ssi-sdk.ms-authenticator": "workspace:^", + "@sphereon/ssi-sdk.ms-authenticator": "workspace:*", "@veramo/core": "4.2.0", "cross-fetch": "^3.1.8" }, "devDependencies": { - "@sphereon/ssi-sdk.agent-config": "workspace:^", + "@sphereon/ssi-sdk.agent-config": "workspace:*", "@types/express": "^4.17.17", "@types/express-session": "^1.17.4", "@types/jest": "^27.5.2", diff --git a/packages/oid4vci-issuer-rest-api/package.json b/packages/oid4vci-issuer-rest-api/package.json index 86d97ad7a..790aacc9a 100644 --- a/packages/oid4vci-issuer-rest-api/package.json +++ b/packages/oid4vci-issuer-rest-api/package.json @@ -14,11 +14,11 @@ "@sphereon/oid4vci-common": "0.7.0", "@sphereon/oid4vci-issuer": "0.7.0", "@sphereon/oid4vci-issuer-server": "0.7.0", - "@sphereon/ssi-express-support": "workspace:^", - "@sphereon/ssi-sdk.kv-store-temp": "workspace:^", - "@sphereon/ssi-sdk.oid4vci-issuer": "workspace:^", - "@sphereon/ssi-sdk.oid4vci-issuer-store": "workspace:^", - "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-express-support": "workspace:*", + "@sphereon/ssi-sdk.kv-store-temp": "workspace:*", + "@sphereon/ssi-sdk.oid4vci-issuer": "workspace:*", + "@sphereon/ssi-sdk.oid4vci-issuer-store": "workspace:*", + "@sphereon/ssi-types": "workspace:*", "@types/uuid": "^9.0.1", "@veramo/core": "4.2.0", "@veramo/credential-w3c": "4.2.0", @@ -40,8 +40,8 @@ "@sphereon/ssi-sdk-ext.key-manager": "0.14.1-next.3", "@sphereon/ssi-sdk-ext.key-utils": "0.14.1-next.3", "@sphereon/ssi-sdk-ext.kms-local": "0.14.1-next.3", - "@sphereon/ssi-sdk.data-store": "workspace:^", - "@sphereon/ssi-sdk.vc-handler-ld-local": "workspace:^", + "@sphereon/ssi-sdk.data-store": "workspace:*", + "@sphereon/ssi-sdk.vc-handler-ld-local": "workspace:*", "@types/body-parser": "^1.19.2", "@types/cookie-parser": "^1.4.3", "@types/cors": "^2.8.13", diff --git a/packages/oid4vci-issuer-rest-client/package.json b/packages/oid4vci-issuer-rest-client/package.json index 6be90bb09..05c62381b 100644 --- a/packages/oid4vci-issuer-rest-client/package.json +++ b/packages/oid4vci-issuer-rest-client/package.json @@ -21,7 +21,7 @@ "cross-fetch": "^3.1.8" }, "devDependencies": { - "@sphereon/ssi-sdk.dev": "workspace:^", + "@sphereon/ssi-sdk.dev": "workspace:*", "@types/node": "^18.16.3", "@veramo/remote-client": "4.2.0", "@veramo/remote-server": "4.2.0", diff --git a/packages/oid4vci-issuer-store/package.json b/packages/oid4vci-issuer-store/package.json index 63f1c39ec..b07e63583 100644 --- a/packages/oid4vci-issuer-store/package.json +++ b/packages/oid4vci-issuer-store/package.json @@ -16,7 +16,7 @@ "dependencies": { "@sphereon/oid4vci-common": "0.7.0", "@sphereon/ssi-sdk-ext.did-utils": "0.14.1-next.3", - "@sphereon/ssi-sdk.kv-store-temp": "workspace:^", + "@sphereon/ssi-sdk.kv-store-temp": "workspace:*", "@types/uuid": "^9.0.1", "@veramo/core": "4.2.0", "@veramo/credential-w3c": "4.2.0", diff --git a/packages/oid4vci-issuer/package.json b/packages/oid4vci-issuer/package.json index 228c927fe..52d8c484b 100644 --- a/packages/oid4vci-issuer/package.json +++ b/packages/oid4vci-issuer/package.json @@ -17,10 +17,10 @@ "@sphereon/oid4vci-common": "0.7.0", "@sphereon/oid4vci-issuer": "0.7.0", "@sphereon/ssi-sdk-ext.did-utils": "0.14.1-next.3", - "@sphereon/ssi-sdk.core": "workspace:^", - "@sphereon/ssi-sdk.kv-store-temp": "workspace:^", - "@sphereon/ssi-sdk.oid4vci-issuer-store": "workspace:^", - "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-sdk.core": "workspace:*", + "@sphereon/ssi-sdk.kv-store-temp": "workspace:*", + "@sphereon/ssi-sdk.oid4vci-issuer-store": "workspace:*", + "@sphereon/ssi-types": "workspace:*", "@types/uuid": "^9.0.1", "@veramo/core": "4.2.0", "@veramo/credential-w3c": "4.2.0", diff --git a/packages/presentation-exchange/package.json b/packages/presentation-exchange/package.json index e70a05f71..b75583b85 100644 --- a/packages/presentation-exchange/package.json +++ b/packages/presentation-exchange/package.json @@ -17,13 +17,13 @@ "@sphereon/pex": "2.1.0", "@sphereon/pex-models": "^2.0.3", "@sphereon/ssi-sdk-ext.did-utils": "0.14.1-next.3", - "@sphereon/ssi-sdk.kv-store-temp": "workspace:^", - "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-sdk.kv-store-temp": "workspace:*", + "@sphereon/ssi-types": "workspace:*", "@veramo/core": "4.2.0" }, "devDependencies": { "@sphereon/did-uni-client": "^0.6.0", - "@sphereon/ssi-sdk.agent-config": "workspace:^", + "@sphereon/ssi-sdk.agent-config": "workspace:*", "@types/json-buffer": "^3.0.0", "@veramo/did-provider-key": "4.2.0", "@veramo/did-resolver": "4.2.0", diff --git a/packages/qr-code-generator/package.json b/packages/qr-code-generator/package.json index f696f69de..a310d950e 100644 --- a/packages/qr-code-generator/package.json +++ b/packages/qr-code-generator/package.json @@ -22,7 +22,7 @@ }, "devDependencies": { "@inrupt/jest-jsdom-polyfills": "^1.5.5", - "@sphereon/ssi-sdk.agent-config": "workspace:^", + "@sphereon/ssi-sdk.agent-config": "workspace:*", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^14.0.0", "@types/jest": "^27.5.2", diff --git a/packages/siopv2-oid4vp-common/package.json b/packages/siopv2-oid4vp-common/package.json index 2a267c199..2d57f09db 100644 --- a/packages/siopv2-oid4vp-common/package.json +++ b/packages/siopv2-oid4vp-common/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@sphereon/did-auth-siop": "0.3.2-unstable.8", - "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-types": "workspace:*", "uint8arrays": "3.1.1" }, "scripts": { diff --git a/packages/siopv2-oid4vp-op-auth/package.json b/packages/siopv2-oid4vp-op-auth/package.json index 6516eabac..919c4948f 100644 --- a/packages/siopv2-oid4vp-op-auth/package.json +++ b/packages/siopv2-oid4vp-op-auth/package.json @@ -18,9 +18,9 @@ "@sphereon/pex": "2.1.0", "@sphereon/pex-models": "2.0.2", "@sphereon/ssi-sdk-ext.did-utils": "0.14.1-next.3", - "@sphereon/ssi-sdk.core": "workspace:^", - "@sphereon/ssi-sdk.presentation-exchange": "workspace:^", - "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-sdk.core": "workspace:*", + "@sphereon/ssi-sdk.presentation-exchange": "workspace:*", + "@sphereon/ssi-types": "workspace:*", "@sphereon/wellknown-dids-client": "^0.1.3", "@types/uuid": "^9.0.1", "@veramo/core": "4.2.0", @@ -31,7 +31,7 @@ }, "devDependencies": { "@sphereon/did-uni-client": "^0.6.0", - "@sphereon/ssi-sdk.agent-config": "workspace:^", + "@sphereon/ssi-sdk.agent-config": "workspace:*", "@veramo/did-provider-key": "4.2.0", "@veramo/did-resolver": "4.2.0", "@veramo/remote-client": "4.2.0", diff --git a/packages/siopv2-oid4vp-rp-auth/package.json b/packages/siopv2-oid4vp-rp-auth/package.json index b49cd52d3..4f7926342 100644 --- a/packages/siopv2-oid4vp-rp-auth/package.json +++ b/packages/siopv2-oid4vp-rp-auth/package.json @@ -17,11 +17,11 @@ "@sphereon/did-auth-siop": "0.3.2-unstable.8", "@sphereon/pex": "2.1.0", "@sphereon/ssi-sdk-ext.did-utils": "0.14.1-next.3", - "@sphereon/ssi-sdk.core": "workspace:^", - "@sphereon/ssi-sdk.kv-store-temp": "workspace:^", - "@sphereon/ssi-sdk.presentation-exchange": "workspace:^", - "@sphereon/ssi-sdk.siopv2-oid4vp-common": "workspace:^", - "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-sdk.core": "workspace:*", + "@sphereon/ssi-sdk.kv-store-temp": "workspace:*", + "@sphereon/ssi-sdk.presentation-exchange": "workspace:*", + "@sphereon/ssi-sdk.siopv2-oid4vp-common": "workspace:*", + "@sphereon/ssi-types": "workspace:*", "@sphereon/wellknown-dids-client": "^0.1.3", "@types/uuid": "^9.0.1", "@veramo/core": "4.2.0", diff --git a/packages/siopv2-oid4vp-rp-rest-api/package.json b/packages/siopv2-oid4vp-rp-rest-api/package.json index a5f14a720..316987a93 100644 --- a/packages/siopv2-oid4vp-rp-rest-api/package.json +++ b/packages/siopv2-oid4vp-rp-rest-api/package.json @@ -12,13 +12,13 @@ }, "dependencies": { "@sphereon/did-auth-siop": "0.3.2-unstable.8", - "@sphereon/ssi-express-support": "workspace:^", - "@sphereon/ssi-sdk.core": "workspace:^", - "@sphereon/ssi-sdk.kv-store-temp": "workspace:^", - "@sphereon/ssi-sdk.presentation-exchange": "workspace:^", - "@sphereon/ssi-sdk.siopv2-oid4vp-common": "workspace:^", - "@sphereon/ssi-sdk.siopv2-oid4vp-rp-auth": "workspace:^", - "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-express-support": "workspace:*", + "@sphereon/ssi-sdk.core": "workspace:*", + "@sphereon/ssi-sdk.kv-store-temp": "workspace:*", + "@sphereon/ssi-sdk.presentation-exchange": "workspace:*", + "@sphereon/ssi-sdk.siopv2-oid4vp-common": "workspace:*", + "@sphereon/ssi-sdk.siopv2-oid4vp-rp-auth": "workspace:*", + "@sphereon/ssi-types": "workspace:*", "@types/uuid": "^9.0.1", "@veramo/core": "4.2.0", "@veramo/credential-w3c": "4.2.0", @@ -37,8 +37,8 @@ "@sphereon/pex": "2.1.0", "@sphereon/pex-models": "^2.0.3", "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.14.1-next.3", - "@sphereon/ssi-sdk.data-store": "workspace:^", - "@sphereon/ssi-sdk.vc-handler-ld-local": "workspace:^", + "@sphereon/ssi-sdk.data-store": "workspace:*", + "@sphereon/ssi-sdk.vc-handler-ld-local": "workspace:*", "@types/body-parser": "^1.19.2", "@types/cookie-parser": "^1.4.3", "@types/cors": "^2.8.13", diff --git a/packages/siopv2-oid4vp-rp-rest-client/package.json b/packages/siopv2-oid4vp-rp-rest-client/package.json index b21a479b3..de72532ea 100644 --- a/packages/siopv2-oid4vp-rp-rest-client/package.json +++ b/packages/siopv2-oid4vp-rp-rest-client/package.json @@ -15,7 +15,7 @@ "build:clean": "tsc --build --clean && tsc --build" }, "dependencies": { - "@sphereon/ssi-sdk.siopv2-oid4vp-common": "workspace:^", + "@sphereon/ssi-sdk.siopv2-oid4vp-common": "workspace:*", "@veramo/core": "4.2.0", "cross-fetch": "^3.1.8" }, diff --git a/packages/ssi-sdk-core/package.json b/packages/ssi-sdk-core/package.json index 416777ae9..40c586f3e 100644 --- a/packages/ssi-sdk-core/package.json +++ b/packages/ssi-sdk-core/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "uint8arrays": "3.1.1", - "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-types": "workspace:*", "@veramo/core": "4.2.0", "cross-fetch": "^3.1.8", "image-size": "^1.0.2" diff --git a/packages/uni-resolver-registrar-api/package.json b/packages/uni-resolver-registrar-api/package.json index ed6c61c2c..464711e06 100644 --- a/packages/uni-resolver-registrar-api/package.json +++ b/packages/uni-resolver-registrar-api/package.json @@ -11,12 +11,12 @@ "start:dev": "ts-node __tests__/agent.ts" }, "dependencies": { - "@sphereon/ssi-express-support": "workspace:^", + "@sphereon/ssi-express-support": "workspace:*", "@sphereon/ssi-sdk-ext.did-utils": "0.14.1-next.3", "@sphereon/ssi-sdk-ext.key-manager": "0.14.1-next.3", "@sphereon/ssi-sdk-ext.key-utils": "0.14.1-next.3", - "@sphereon/ssi-sdk.core": "workspace:^", - "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-sdk.core": "workspace:*", + "@sphereon/ssi-types": "workspace:*", "@veramo/core": "4.2.0", "body-parser": "^1.19.0", "casbin": "^5.26.1", @@ -33,8 +33,8 @@ "@sphereon/did-uni-client": "^0.6.0", "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.14.1-next.3", "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.14.1-next.3", - "@sphereon/ssi-sdk.data-store": "workspace:^", - "@sphereon/ssi-sdk.vc-handler-ld-local": "workspace:^", + "@sphereon/ssi-sdk.data-store": "workspace:*", + "@sphereon/ssi-sdk.vc-handler-ld-local": "workspace:*", "@types/body-parser": "^1.19.2", "@types/cookie-parser": "^1.4.3", "@types/cors": "^2.8.13", diff --git a/packages/vc-handler-ld-local/package.json b/packages/vc-handler-ld-local/package.json index 20dc5f00c..352966aeb 100644 --- a/packages/vc-handler-ld-local/package.json +++ b/packages/vc-handler-ld-local/package.json @@ -26,13 +26,14 @@ "@noble/hashes": "^1.2.0", "@sphereon/ed25519-signature-2018": "0.7.0-unstable.6", "@sphereon/isomorphic-webcrypto": "^2.4.0-unstable.4", - "@sphereon/ssi-types": "workspace:^", - "@sphereon/ssi-sdk.core": "workspace:^", + "@sphereon/ssi-types": "workspace:*", + "@sphereon/ssi-sdk.core": "workspace:*", "@sphereon/ssi-sdk-ext.did-utils": "0.14.1-next.3", "@sphereon/ssi-sdk-ext.key-utils": "0.14.1-next.3", - "@sphereon/ssi-sdk.data-store": "workspace:^", - "@sphereon/ssi-sdk.vc-status-list": "workspace:^", - "@sphereon/ssi-sdk.vc-status-list-issuer-drivers": "workspace:^", + "@sphereon/ssi-sdk.data-store": "workspace:*", + "@sphereon/ssi-sdk.agent-config": "workspace:*", + "@sphereon/ssi-sdk.vc-status-list": "workspace:*", + "@sphereon/ssi-sdk.vc-status-list-issuer-drivers": "workspace:*", "@transmute/ed25519-key-pair": "0.7.0-unstable.81", "@transmute/jose-ld": "0.7.0-unstable.81", "@transmute/json-web-signature": "0.7.0-unstable.81", diff --git a/packages/vc-status-list-issuer-drivers/package.json b/packages/vc-status-list-issuer-drivers/package.json index 5beecfda2..f939138e2 100644 --- a/packages/vc-status-list-issuer-drivers/package.json +++ b/packages/vc-status-list-issuer-drivers/package.json @@ -11,15 +11,15 @@ }, "dependencies": { "@sphereon/ssi-sdk.vc-status-list": "workspace:*", - "@sphereon/ssi-express-support": "workspace:^", - "@sphereon/ssi-sdk.core": "workspace:^", + "@sphereon/ssi-express-support": "workspace:*", + "@sphereon/ssi-sdk.core": "workspace:*", "@sphereon/ssi-sdk.data-store": "workspace:*", - "@sphereon/ssi-sdk.agent-config": "workspace:^", + "@sphereon/ssi-sdk.agent-config": "workspace:*", "typeorm": "^0.3.12", "@digitalcredentials/vc-status-list": "^5.0.2", "@veramo/core": "4.2.0", "@sphereon/ssi-sdk-ext.did-utils": "^0.14.1-next.3", - "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-types": "workspace:*", "debug": "^4.3.4", "uint8arrays": "^3.1.1" }, diff --git a/packages/vc-status-list-issuer-rest-api/package.json b/packages/vc-status-list-issuer-rest-api/package.json index b8a2458dd..3b0572319 100644 --- a/packages/vc-status-list-issuer-rest-api/package.json +++ b/packages/vc-status-list-issuer-rest-api/package.json @@ -15,17 +15,17 @@ "reflect-metadata": "^0.1.13", "@sphereon/ssi-sdk.vc-status-list": "workspace:*", "@sphereon/ssi-sdk.vc-status-list-issuer-drivers": "workspace:*", - "@sphereon/ssi-express-support": "workspace:^", - "@sphereon/ssi-sdk.core": "workspace:^", + "@sphereon/ssi-express-support": "workspace:*", + "@sphereon/ssi-sdk.core": "workspace:*", "@sphereon/ssi-sdk.data-store": "workspace:*", - "@sphereon/ssi-sdk.agent-config": "workspace:^", + "@sphereon/ssi-sdk.agent-config": "workspace:*", "typeorm": "^0.3.12", "express": "^4.18.2", "uuid": "^9.0.0", "@digitalcredentials/vc-status-list": "^5.0.2", "@veramo/core": "4.2.0", "@sphereon/ssi-sdk-ext.did-utils": "^0.14.1-next.3", - "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-types": "workspace:*", "debug": "^4.3.4", "uint8arrays": "^3.1.1" }, @@ -36,8 +36,8 @@ "@sphereon/did-uni-client": "^0.6.0", "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.14.1-next.3", "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.14.1-next.3", - "@sphereon/ssi-sdk.data-store": "workspace:^", - "@sphereon/ssi-sdk.vc-handler-ld-local": "workspace:^", + "@sphereon/ssi-sdk.data-store": "workspace:*", + "@sphereon/ssi-sdk.vc-handler-ld-local": "workspace:*", "@types/body-parser": "^1.19.2", "@types/cookie-parser": "^1.4.3", "@types/cors": "^2.8.13", diff --git a/packages/vc-status-list/package.json b/packages/vc-status-list/package.json index f1a7c7bfe..4aafb7579 100644 --- a/packages/vc-status-list/package.json +++ b/packages/vc-status-list/package.json @@ -13,7 +13,7 @@ "@digitalcredentials/vc-status-list": "^5.0.2", "fix-esm": "^1.0.1", "@sphereon/ssi-sdk-ext.did-utils": "^0.14.1-next.3", - "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-types": "workspace:*", "@veramo/core": "4.2.0", "@veramo/credential-status": "4.2.0", "credential-status": "^2.0.6", diff --git a/packages/w3c-vc-api/package.json b/packages/w3c-vc-api/package.json index 61e8d93f2..ba0c63234 100644 --- a/packages/w3c-vc-api/package.json +++ b/packages/w3c-vc-api/package.json @@ -12,11 +12,11 @@ }, "dependencies": { "@sphereon/did-auth-siop": "0.3.2-unstable.8", - "@sphereon/ssi-express-support": "workspace:^", - "@sphereon/ssi-sdk.core": "workspace:^", - "@sphereon/ssi-sdk.kv-store-temp": "workspace:^", - "@sphereon/ssi-sdk.presentation-exchange": "workspace:^", - "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-express-support": "workspace:*", + "@sphereon/ssi-sdk.core": "workspace:*", + "@sphereon/ssi-sdk.kv-store-temp": "workspace:*", + "@sphereon/ssi-sdk.presentation-exchange": "workspace:*", + "@sphereon/ssi-types": "workspace:*", "@types/uuid": "^9.0.1", "@veramo/core": "4.2.0", "@veramo/credential-w3c": "4.2.0", @@ -35,9 +35,9 @@ "@sphereon/did-uni-client": "^0.6.0", "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.14.1-next.3", "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.14.1-next.3", - "@sphereon/ssi-sdk.agent-config": "workspace:^", - "@sphereon/ssi-sdk.data-store": "workspace:^", - "@sphereon/ssi-sdk.vc-handler-ld-local": "workspace:^", + "@sphereon/ssi-sdk.agent-config": "workspace:*", + "@sphereon/ssi-sdk.data-store": "workspace:*", + "@sphereon/ssi-sdk.vc-handler-ld-local": "workspace:*", "@types/body-parser": "^1.19.2", "@types/cookie-parser": "^1.4.3", "@types/cors": "^2.8.13", diff --git a/packages/wellknown-did-issuer/__tests__/localAgent.test.ts b/packages/wellknown-did-issuer/__tests__/localAgent.test.ts index 4d0a6e020..491c85f69 100644 --- a/packages/wellknown-did-issuer/__tests__/localAgent.test.ts +++ b/packages/wellknown-did-issuer/__tests__/localAgent.test.ts @@ -82,6 +82,6 @@ const testContext = { isRestTest: false, } -describe('Local integration tests', () => { +describe.skip('Local integration tests', () => { wellKnownDidIssuerAgentLogic(testContext) }) diff --git a/packages/wellknown-did-issuer/__tests__/restAgent.test.ts b/packages/wellknown-did-issuer/__tests__/restAgent.test.ts index bc80fc584..d4f543cd3 100644 --- a/packages/wellknown-did-issuer/__tests__/restAgent.test.ts +++ b/packages/wellknown-did-issuer/__tests__/restAgent.test.ts @@ -121,6 +121,6 @@ const testContext = { isRestTest: true, } -describe('REST integration tests', () => { +describe.skip('REST integration tests', () => { wellKnownDidIssuerAgentLogic(testContext) }) diff --git a/packages/wellknown-did-issuer/package.json b/packages/wellknown-did-issuer/package.json index 1c4deee6a..448015cdc 100644 --- a/packages/wellknown-did-issuer/package.json +++ b/packages/wellknown-did-issuer/package.json @@ -14,7 +14,7 @@ "build:clean": "tsc --build --clean && tsc --build" }, "dependencies": { - "@sphereon/ssi-types": "workspace:^", + "@sphereon/ssi-types": "workspace:*", "@sphereon/wellknown-dids-client": "^0.1.3", "@veramo/data-store": "4.2.0", "@veramo/utils": "4.2.0", @@ -24,7 +24,7 @@ "uuid": "^8.3.2" }, "devDependencies": { - "@sphereon/ssi-sdk.agent-config": "workspace:^", + "@sphereon/ssi-sdk.agent-config": "workspace:*", "@types/express": "4.17.13", "@types/uuid": "^8.3.4", "@veramo/remote-client": "4.2.0", diff --git a/packages/wellknown-did-verifier/package.json b/packages/wellknown-did-verifier/package.json index 7a7608b14..9796b7a16 100644 --- a/packages/wellknown-did-verifier/package.json +++ b/packages/wellknown-did-verifier/package.json @@ -18,7 +18,7 @@ "@veramo/core": "4.2.0" }, "devDependencies": { - "@sphereon/ssi-sdk.agent-config": "workspace:^", + "@sphereon/ssi-sdk.agent-config": "workspace:*", "@veramo/remote-client": "4.2.0", "@veramo/remote-server": "4.2.0", "nock": "^13.2.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 202132c25..5a670964f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,8 +27,8 @@ overrides: '@veramo/remote-server': 4.2.0 '@veramo/selective-disclosure': 4.2.0 '@veramo/url-handler': 4.2.0 - '@sphereon/ssi-types': workspace:^ - '@sphereon/ssi-sdk.core': workspace:^ + '@sphereon/ssi-types': workspace:* + '@sphereon/ssi-sdk.core': workspace:* '@sphereon/ssi-sdk-ext.did-provider-key': 0.14.1-next.3 '@noble/hashes': 1.2.0 did-jwt: 6.11.6 @@ -198,7 +198,7 @@ importers: packages/contact-manager: dependencies: '@sphereon/ssi-sdk.data-store': - specifier: workspace:^ + specifier: workspace:* version: link:../data-store cross-fetch: specifier: ^3.1.8 @@ -208,7 +208,7 @@ importers: version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) devDependencies: '@sphereon/ssi-sdk.agent-config': - specifier: workspace:^ + specifier: workspace:* version: link:../agent-config '@veramo/remote-client': specifier: 4.2.0 @@ -220,7 +220,7 @@ importers: packages/data-store: dependencies: '@sphereon/ssi-types': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-types '@veramo/core': specifier: 4.2.0 @@ -300,10 +300,10 @@ importers: packages/issuance-branding: dependencies: '@sphereon/ssi-sdk.core': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-sdk-core '@sphereon/ssi-sdk.data-store': - specifier: workspace:^ + specifier: workspace:* version: link:../data-store debug: specifier: ^4.3.4 @@ -313,7 +313,7 @@ importers: version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) devDependencies: '@sphereon/ssi-sdk.agent-config': - specifier: workspace:^ + specifier: workspace:* version: link:../agent-config '@veramo/remote-client': specifier: 4.2.0 @@ -356,7 +356,7 @@ importers: specifier: ^1.9.2 version: 1.9.2 '@sphereon/ssi-sdk.agent-config': - specifier: workspace:^ + specifier: workspace:* version: link:../agent-config '@types/debug': specifier: ^4.1.7 @@ -414,7 +414,7 @@ importers: packages/ms-request-api: dependencies: '@sphereon/ssi-sdk.ms-authenticator': - specifier: workspace:^ + specifier: workspace:* version: link:../ms-authenticator '@veramo/core': specifier: 4.2.0 @@ -424,7 +424,7 @@ importers: version: 3.1.8 devDependencies: '@sphereon/ssi-sdk.agent-config': - specifier: workspace:^ + specifier: workspace:* version: link:../agent-config '@types/express': specifier: ^4.17.17 @@ -490,16 +490,16 @@ importers: specifier: 0.14.1-next.3 version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.core': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-sdk-core '@sphereon/ssi-sdk.kv-store-temp': - specifier: workspace:^ + specifier: workspace:* version: link:../kv-store '@sphereon/ssi-sdk.oid4vci-issuer-store': - specifier: workspace:^ + specifier: workspace:* version: link:../oid4vci-issuer-store '@sphereon/ssi-types': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-types '@types/uuid': specifier: ^9.0.1 @@ -548,19 +548,19 @@ importers: specifier: 0.7.0 version: 0.7.0 '@sphereon/ssi-express-support': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-express-support '@sphereon/ssi-sdk.kv-store-temp': - specifier: workspace:^ + specifier: workspace:* version: link:../kv-store '@sphereon/ssi-sdk.oid4vci-issuer': - specifier: workspace:^ + specifier: workspace:* version: link:../oid4vci-issuer '@sphereon/ssi-sdk.oid4vci-issuer-store': - specifier: workspace:^ + specifier: workspace:* version: link:../oid4vci-issuer-store '@sphereon/ssi-types': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-types '@types/uuid': specifier: ^9.0.1 @@ -621,10 +621,10 @@ importers: specifier: 0.14.1-next.3 version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.data-store': - specifier: workspace:^ + specifier: workspace:* version: link:../data-store '@sphereon/ssi-sdk.vc-handler-ld-local': - specifier: workspace:^ + specifier: workspace:* version: link:../vc-handler-ld-local '@types/body-parser': specifier: ^1.19.2 @@ -709,7 +709,7 @@ importers: version: 3.1.8 devDependencies: '@sphereon/ssi-sdk.dev': - specifier: workspace:^ + specifier: workspace:* version: link:../dev '@types/node': specifier: ^18.16.3 @@ -739,7 +739,7 @@ importers: specifier: 0.14.1-next.3 version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.kv-store-temp': - specifier: workspace:^ + specifier: workspace:* version: link:../kv-store '@types/uuid': specifier: ^9.0.1 @@ -788,10 +788,10 @@ importers: specifier: 0.14.1-next.3 version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.kv-store-temp': - specifier: workspace:^ + specifier: workspace:* version: link:../kv-store '@sphereon/ssi-types': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-types '@veramo/core': specifier: 4.2.0 @@ -801,7 +801,7 @@ importers: specifier: ^0.6.0 version: 0.6.0 '@sphereon/ssi-sdk.agent-config': - specifier: workspace:^ + specifier: workspace:* version: link:../agent-config '@types/json-buffer': specifier: ^3.0.0 @@ -847,7 +847,7 @@ importers: specifier: ^1.5.5 version: 1.5.5 '@sphereon/ssi-sdk.agent-config': - specifier: workspace:^ + specifier: workspace:* version: link:../agent-config '@testing-library/jest-dom': specifier: ^5.16.5 @@ -889,7 +889,7 @@ importers: specifier: 0.3.2-unstable.8 version: 0.3.2-unstable.8 '@sphereon/ssi-types': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-types uint8arrays: specifier: 3.1.1 @@ -914,13 +914,13 @@ importers: specifier: 0.14.1-next.3 version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.core': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-sdk-core '@sphereon/ssi-sdk.presentation-exchange': - specifier: workspace:^ + specifier: workspace:* version: link:../presentation-exchange '@sphereon/ssi-types': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-types '@sphereon/wellknown-dids-client': specifier: ^0.1.3 @@ -948,7 +948,7 @@ importers: specifier: ^0.6.0 version: 0.6.0 '@sphereon/ssi-sdk.agent-config': - specifier: workspace:^ + specifier: workspace:* version: link:../agent-config '@veramo/did-provider-key': specifier: 4.2.0 @@ -984,19 +984,19 @@ importers: specifier: 0.14.1-next.3 version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.core': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-sdk-core '@sphereon/ssi-sdk.kv-store-temp': - specifier: workspace:^ + specifier: workspace:* version: link:../kv-store '@sphereon/ssi-sdk.presentation-exchange': - specifier: workspace:^ + specifier: workspace:* version: link:../presentation-exchange '@sphereon/ssi-sdk.siopv2-oid4vp-common': - specifier: workspace:^ + specifier: workspace:* version: link:../siopv2-oid4vp-common '@sphereon/ssi-types': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-types '@sphereon/wellknown-dids-client': specifier: ^0.1.3 @@ -1042,25 +1042,25 @@ importers: specifier: 0.3.2-unstable.8 version: 0.3.2-unstable.8 '@sphereon/ssi-express-support': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-express-support '@sphereon/ssi-sdk.core': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-sdk-core '@sphereon/ssi-sdk.kv-store-temp': - specifier: workspace:^ + specifier: workspace:* version: link:../kv-store '@sphereon/ssi-sdk.presentation-exchange': - specifier: workspace:^ + specifier: workspace:* version: link:../presentation-exchange '@sphereon/ssi-sdk.siopv2-oid4vp-common': - specifier: workspace:^ + specifier: workspace:* version: link:../siopv2-oid4vp-common '@sphereon/ssi-sdk.siopv2-oid4vp-rp-auth': - specifier: workspace:^ + specifier: workspace:* version: link:../siopv2-oid4vp-rp-auth '@sphereon/ssi-types': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-types '@types/uuid': specifier: ^9.0.1 @@ -1112,10 +1112,10 @@ importers: specifier: 0.14.1-next.3 version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.data-store': - specifier: workspace:^ + specifier: workspace:* version: link:../data-store '@sphereon/ssi-sdk.vc-handler-ld-local': - specifier: workspace:^ + specifier: workspace:* version: link:../vc-handler-ld-local '@types/body-parser': specifier: ^1.19.2 @@ -1205,7 +1205,7 @@ importers: packages/siopv2-oid4vp-rp-rest-client: dependencies: '@sphereon/ssi-sdk.siopv2-oid4vp-common': - specifier: workspace:^ + specifier: workspace:* version: link:../siopv2-oid4vp-common '@veramo/core': specifier: 4.2.0 @@ -1333,7 +1333,7 @@ importers: packages/ssi-sdk-core: dependencies: '@sphereon/ssi-types': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-types '@veramo/core': specifier: 4.2.0 @@ -1383,7 +1383,7 @@ importers: packages/uni-resolver-registrar-api: dependencies: '@sphereon/ssi-express-support': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-express-support '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.14.1-next.3 @@ -1395,10 +1395,10 @@ importers: specifier: 0.14.1-next.3 version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.core': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-sdk-core '@sphereon/ssi-types': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-types '@veramo/core': specifier: 4.2.0 @@ -1444,10 +1444,10 @@ importers: specifier: 0.14.1-next.3 version: 0.14.1-next.3 '@sphereon/ssi-sdk.data-store': - specifier: workspace:^ + specifier: workspace:* version: link:../data-store '@sphereon/ssi-sdk.vc-handler-ld-local': - specifier: workspace:^ + specifier: workspace:* version: link:../vc-handler-ld-local '@types/body-parser': specifier: ^1.19.2 @@ -1582,22 +1582,22 @@ importers: specifier: 0.14.1-next.3 version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.agent-config': - specifier: workspace:^ + specifier: workspace:* version: link:../agent-config '@sphereon/ssi-sdk.core': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-sdk-core '@sphereon/ssi-sdk.data-store': - specifier: workspace:^ + specifier: workspace:* version: link:../data-store '@sphereon/ssi-sdk.vc-status-list': - specifier: workspace:^ + specifier: workspace:* version: link:../vc-status-list '@sphereon/ssi-sdk.vc-status-list-issuer-drivers': - specifier: workspace:^ + specifier: workspace:* version: link:../vc-status-list-issuer-drivers '@sphereon/ssi-types': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-types '@transmute/ed25519-key-pair': specifier: 0.7.0-unstable.81 @@ -1754,7 +1754,7 @@ importers: specifier: ^0.14.1-next.3 version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-types': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-types '@veramo/core': specifier: 4.2.0 @@ -1797,16 +1797,16 @@ importers: specifier: ^5.0.2 version: 5.0.2 '@sphereon/ssi-express-support': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-express-support '@sphereon/ssi-sdk-ext.did-utils': specifier: ^0.14.1-next.3 version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.agent-config': - specifier: workspace:^ + specifier: workspace:* version: link:../agent-config '@sphereon/ssi-sdk.core': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-sdk-core '@sphereon/ssi-sdk.data-store': specifier: workspace:* @@ -1815,7 +1815,7 @@ importers: specifier: workspace:* version: link:../vc-status-list '@sphereon/ssi-types': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-types '@veramo/core': specifier: 4.2.0 @@ -1846,16 +1846,16 @@ importers: specifier: ^5.0.2 version: 5.0.2 '@sphereon/ssi-express-support': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-express-support '@sphereon/ssi-sdk-ext.did-utils': specifier: ^0.14.1-next.3 version: 0.14.1-next.3(expo-crypto@12.4.1)(expo@49.0.9)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.agent-config': - specifier: workspace:^ + specifier: workspace:* version: link:../agent-config '@sphereon/ssi-sdk.core': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-sdk-core '@sphereon/ssi-sdk.data-store': specifier: workspace:* @@ -1867,7 +1867,7 @@ importers: specifier: workspace:* version: link:../vc-status-list-issuer-drivers '@sphereon/ssi-types': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-types '@veramo/core': specifier: 4.2.0 @@ -1901,7 +1901,7 @@ importers: specifier: 0.14.1-next.3 version: 0.14.1-next.3 '@sphereon/ssi-sdk.vc-handler-ld-local': - specifier: workspace:^ + specifier: workspace:* version: link:../vc-handler-ld-local '@types/body-parser': specifier: ^1.19.2 @@ -1982,19 +1982,19 @@ importers: specifier: 0.3.2-unstable.8 version: 0.3.2-unstable.8 '@sphereon/ssi-express-support': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-express-support '@sphereon/ssi-sdk.core': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-sdk-core '@sphereon/ssi-sdk.kv-store-temp': - specifier: workspace:^ + specifier: workspace:* version: link:../kv-store '@sphereon/ssi-sdk.presentation-exchange': - specifier: workspace:^ + specifier: workspace:* version: link:../presentation-exchange '@sphereon/ssi-types': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-types '@types/uuid': specifier: ^9.0.1 @@ -2046,13 +2046,13 @@ importers: specifier: 0.14.1-next.3 version: 0.14.1-next.3 '@sphereon/ssi-sdk.agent-config': - specifier: workspace:^ + specifier: workspace:* version: link:../agent-config '@sphereon/ssi-sdk.data-store': - specifier: workspace:^ + specifier: workspace:* version: link:../data-store '@sphereon/ssi-sdk.vc-handler-ld-local': - specifier: workspace:^ + specifier: workspace:* version: link:../vc-handler-ld-local '@types/body-parser': specifier: ^1.19.2 @@ -2281,7 +2281,7 @@ importers: packages/wellknown-did-issuer: dependencies: '@sphereon/ssi-types': - specifier: workspace:^ + specifier: workspace:* version: link:../ssi-types '@sphereon/wellknown-dids-client': specifier: ^0.1.3 @@ -2306,7 +2306,7 @@ importers: version: 8.3.2 devDependencies: '@sphereon/ssi-sdk.agent-config': - specifier: workspace:^ + specifier: workspace:* version: link:../agent-config '@types/express': specifier: 4.17.13 @@ -2343,7 +2343,7 @@ importers: version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) devDependencies: '@sphereon/ssi-sdk.agent-config': - specifier: workspace:^ + specifier: workspace:* version: link:../agent-config '@veramo/remote-client': specifier: 4.2.0 From 19afb42652113124f4847aafede93cc4b75d1ebb Mon Sep 17 00:00:00 2001 From: Niels Klomp Date: Wed, 6 Sep 2023 22:13:50 +0200 Subject: [PATCH 4/6] chore: Enable did-issuer tests again. Has to do with including the pg driver in some folders together with PNPM --- .../package.json | 1 - packages/w3c-vc-api/package.json | 1 - .../__tests__/localAgent.test.ts | 2 +- .../__tests__/restAgent.test.ts | 2 +- pnpm-lock.yaml | 238 ++---------------- 5 files changed, 20 insertions(+), 224 deletions(-) diff --git a/packages/vc-status-list-issuer-rest-api/package.json b/packages/vc-status-list-issuer-rest-api/package.json index 3b0572319..c284b8524 100644 --- a/packages/vc-status-list-issuer-rest-api/package.json +++ b/packages/vc-status-list-issuer-rest-api/package.json @@ -57,7 +57,6 @@ "@veramo/utils": "4.2.0", "did-resolver": "^4.1.0", "morgan": "^1.10.0", - "pg": "^8.11.3", "typescript": "4.9.5" }, "files": [ diff --git a/packages/w3c-vc-api/package.json b/packages/w3c-vc-api/package.json index ba0c63234..d373f7ccd 100644 --- a/packages/w3c-vc-api/package.json +++ b/packages/w3c-vc-api/package.json @@ -65,7 +65,6 @@ "passport": "^0.6.0", "passport-azure-ad": "^4.3.5", "ts-node": "^10.9.1", - "pg": "^8.11.3", "typeorm": "^0.3.12" }, "files": [ diff --git a/packages/wellknown-did-issuer/__tests__/localAgent.test.ts b/packages/wellknown-did-issuer/__tests__/localAgent.test.ts index 491c85f69..4d0a6e020 100644 --- a/packages/wellknown-did-issuer/__tests__/localAgent.test.ts +++ b/packages/wellknown-did-issuer/__tests__/localAgent.test.ts @@ -82,6 +82,6 @@ const testContext = { isRestTest: false, } -describe.skip('Local integration tests', () => { +describe('Local integration tests', () => { wellKnownDidIssuerAgentLogic(testContext) }) diff --git a/packages/wellknown-did-issuer/__tests__/restAgent.test.ts b/packages/wellknown-did-issuer/__tests__/restAgent.test.ts index d4f543cd3..bc80fc584 100644 --- a/packages/wellknown-did-issuer/__tests__/restAgent.test.ts +++ b/packages/wellknown-did-issuer/__tests__/restAgent.test.ts @@ -121,6 +121,6 @@ const testContext = { isRestTest: true, } -describe.skip('REST integration tests', () => { +describe('REST integration tests', () => { wellKnownDidIssuerAgentLogic(testContext) }) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5a670964f..4f8d91928 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -177,7 +177,7 @@ importers: version: 5.0.1 typeorm: specifier: 0.3.17 - version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) + version: 0.3.17(sqlite3@5.1.6)(ts-node@10.9.1) url-parse: specifier: ^1.5.10 version: 1.5.10 @@ -205,7 +205,7 @@ importers: version: 3.1.8 typeorm: specifier: 0.3.17 - version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) + version: 0.3.17(sqlite3@5.1.6)(ts-node@10.9.1) devDependencies: '@sphereon/ssi-sdk.agent-config': specifier: workspace:* @@ -310,7 +310,7 @@ importers: version: 4.3.4 typeorm: specifier: 0.3.17 - version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) + version: 0.3.17(sqlite3@5.1.6)(ts-node@10.9.1) devDependencies: '@sphereon/ssi-sdk.agent-config': specifier: workspace:* @@ -338,7 +338,7 @@ importers: version: 3.0.1 typeorm: specifier: 0.3.17 - version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) + version: 0.3.17(sqlite3@5.1.6)(ts-node@10.9.1) uint8arrays: specifier: ^3.1.1 version: 3.1.1 @@ -652,7 +652,7 @@ importers: version: 18.16.3 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(pg@8.11.3)(ts-node@10.9.1) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -691,7 +691,7 @@ importers: version: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) typeorm: specifier: 0.3.17 - version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) + version: 0.3.17(sqlite3@5.1.6)(ts-node@10.9.1) web-did-resolver: specifier: ^2.0.24 version: 2.0.27 @@ -1152,7 +1152,7 @@ importers: version: 1.0.37 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(pg@8.11.3)(ts-node@10.9.1) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -1200,7 +1200,7 @@ importers: version: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) typeorm: specifier: 0.3.17 - version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) + version: 0.3.17(sqlite3@5.1.6)(ts-node@10.9.1) packages/siopv2-oid4vp-rp-rest-client: dependencies: @@ -1487,7 +1487,7 @@ importers: version: 9.0.3 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(pg@8.11.3)(ts-node@10.9.1) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -1535,7 +1535,7 @@ importers: version: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) typeorm: specifier: 0.3.17 - version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) + version: 0.3.17(sqlite3@5.1.6)(ts-node@10.9.1) web-did-resolver: specifier: ^2.0.27 version: 2.0.27 @@ -1698,7 +1698,7 @@ importers: version: 4.2.0(patch_hash=wuhizuafnrz3uzah2wlqaevbmi) '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(pg@8.11.3)(ts-node@10.9.1) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -1825,7 +1825,7 @@ importers: version: 4.3.4 typeorm: specifier: 0.3.17 - version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) + version: 0.3.17(sqlite3@5.1.6)(ts-node@10.9.1) uint8arrays: specifier: ^3.1.1 version: 3.1.1 @@ -1883,7 +1883,7 @@ importers: version: 0.1.13 typeorm: specifier: 0.3.17 - version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) + version: 0.3.17(sqlite3@5.1.6)(ts-node@10.9.1) uint8arrays: specifier: ^3.1.1 version: 3.1.1 @@ -1941,7 +1941,7 @@ importers: version: 4.2.0(patch_hash=wuhizuafnrz3uzah2wlqaevbmi) '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(pg@8.11.3)(ts-node@10.9.1) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -1969,9 +1969,6 @@ importers: morgan: specifier: ^1.10.0 version: 1.10.0 - pg: - specifier: ^8.11.3 - version: 8.11.3 typescript: specifier: 4.9.5 version: 4.9.5 @@ -2089,7 +2086,7 @@ importers: version: 4.3.1 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(pg@8.11.3)(ts-node@10.9.1) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -2132,15 +2129,12 @@ importers: passport-azure-ad: specifier: ^4.3.5 version: 4.3.5 - pg: - specifier: ^8.11.3 - version: 8.11.3 ts-node: specifier: ^10.9.1 version: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) typeorm: specifier: 0.3.17 - version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) + version: 0.3.17(sqlite3@5.1.6)(ts-node@10.9.1) packages/web3-provider-headless: dependencies: @@ -2288,7 +2282,7 @@ importers: version: 0.1.3 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(pg@8.11.3)(ts-node@10.9.1) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1) '@veramo/utils': specifier: 4.2.0 version: 4.2.0 @@ -2300,7 +2294,7 @@ importers: version: 3.1.3 typeorm: specifier: 0.3.17 - version: 0.3.17(pg@8.11.3)(ts-node@10.9.1) + version: 0.3.17(sqlite3@5.1.6)(ts-node@10.9.1) uuid: specifier: ^8.3.2 version: 8.3.2 @@ -9335,38 +9329,6 @@ packages: - web-streams-polyfill patched: true - /@veramo/data-store@4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(pg@8.11.3)(ts-node@10.9.1): - resolution: {integrity: sha512-gwinKYd//jOCXrdr2NefXOHnuUT8Vz2sHvSMFvm41UVD9QMpeKpTrTEqGoYG/eDg/1+U9aQlb+AI6bFUNNsk0Q==} - dependencies: - '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) - '@veramo/did-discovery': 4.2.0 - '@veramo/did-manager': 4.2.0 - '@veramo/key-manager': 4.2.0 - '@veramo/utils': 4.2.0 - debug: 4.3.4 - typeorm: 0.3.17(pg@8.11.3)(ts-node@10.9.1) - transitivePeerDependencies: - - '@google-cloud/spanner' - - '@sap/hana-client' - - better-sqlite3 - - encoding - - hdb-pool - - ioredis - - mongodb - - mssql - - mysql2 - - oracledb - - pg - - pg-native - - pg-query-stream - - redis - - sql.js - - sqlite3 - - supports-color - - ts-node - - typeorm-aurora-data-api-driver - patched: true - /@veramo/data-store@4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1): resolution: {integrity: sha512-gwinKYd//jOCXrdr2NefXOHnuUT8Vz2sHvSMFvm41UVD9QMpeKpTrTEqGoYG/eDg/1+U9aQlb+AI6bFUNNsk0Q==} dependencies: @@ -9397,7 +9359,6 @@ packages: - supports-color - ts-node - typeorm-aurora-data-api-driver - dev: true patched: true /@veramo/did-discovery@4.2.0: @@ -10788,10 +10749,6 @@ packages: /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - /buffer-writer@2.0.0: - resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} - engines: {node: '>=4'} - /buffer-xor@1.0.3: resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} dev: true @@ -19255,9 +19212,6 @@ packages: p-reduce: 2.1.0 dev: true - /packet-reader@1.0.0: - resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} - /pacote@13.6.2: resolution: {integrity: sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -19525,62 +19479,6 @@ packages: /pause@0.0.1: resolution: {integrity: sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==} - /pg-cloudflare@1.1.1: - resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - requiresBuild: true - optional: true - - /pg-connection-string@2.6.2: - resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} - - /pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} - - /pg-pool@3.6.1(pg@8.11.3): - resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} - peerDependencies: - pg: '>=8.0' - dependencies: - pg: 8.11.3 - - /pg-protocol@1.6.0: - resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} - - /pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.0 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 - - /pg@8.11.3: - resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} - engines: {node: '>= 8.0.0'} - peerDependencies: - pg-native: '>=3.0.1' - peerDependenciesMeta: - pg-native: - optional: true - dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 - pg-types: 2.2.0 - pgpass: 1.0.5 - optionalDependencies: - pg-cloudflare: 1.1.1 - - /pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} - dependencies: - split2: 4.2.0 - /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -19672,24 +19570,6 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} - - /postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} - - /postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} - - /postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} - dependencies: - xtend: 4.0.2 - /prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} @@ -21161,10 +21041,6 @@ packages: readable-stream: 3.6.2 dev: true - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - /split@1.0.1: resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} dependencies: @@ -22177,84 +22053,6 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true - /typeorm@0.3.17(pg@8.11.3)(ts-node@10.9.1): - resolution: {integrity: sha512-UDjUEwIQalO9tWw9O2A4GU+sT3oyoUXheHJy4ft+RFdnRdQctdQ34L9SqE2p7LdwzafHx1maxT+bqXON+Qnmig==} - engines: {node: '>= 12.9.0'} - hasBin: true - peerDependencies: - '@google-cloud/spanner': ^5.18.0 - '@sap/hana-client': ^2.12.25 - better-sqlite3: ^7.1.2 || ^8.0.0 - hdb-pool: ^0.1.6 - ioredis: ^5.0.4 - mongodb: ^5.2.0 - mssql: ^9.1.1 - mysql2: ^2.2.5 || ^3.0.1 - oracledb: ^5.1.0 - pg: ^8.5.1 - pg-native: ^3.0.0 - pg-query-stream: ^4.0.0 - redis: ^3.1.1 || ^4.0.0 - sql.js: ^1.4.0 - sqlite3: ^5.0.3 - ts-node: ^10.7.0 - typeorm-aurora-data-api-driver: ^2.0.0 - peerDependenciesMeta: - '@google-cloud/spanner': - optional: true - '@sap/hana-client': - optional: true - better-sqlite3: - optional: true - hdb-pool: - optional: true - ioredis: - optional: true - mongodb: - optional: true - mssql: - optional: true - mysql2: - optional: true - oracledb: - optional: true - pg: - optional: true - pg-native: - optional: true - pg-query-stream: - optional: true - redis: - optional: true - sql.js: - optional: true - sqlite3: - optional: true - ts-node: - optional: true - typeorm-aurora-data-api-driver: - optional: true - dependencies: - '@sqltools/formatter': 1.2.5 - app-root-path: 3.1.0 - buffer: 6.0.3 - chalk: 4.1.2 - cli-highlight: 2.1.11 - date-fns: 2.30.0 - debug: 4.3.4 - dotenv: 16.3.1 - glob: 8.1.0 - mkdirp: 2.1.6 - pg: 8.11.3 - reflect-metadata: 0.1.13 - sha.js: 2.4.11 - ts-node: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) - tslib: 2.6.2 - uuid: 9.0.0 - yargs: 17.7.2 - transitivePeerDependencies: - - supports-color - /typeorm@0.3.17(sqlite3@5.1.6)(ts-node@10.9.1): resolution: {integrity: sha512-UDjUEwIQalO9tWw9O2A4GU+sT3oyoUXheHJy4ft+RFdnRdQctdQ34L9SqE2p7LdwzafHx1maxT+bqXON+Qnmig==} engines: {node: '>= 12.9.0'} From ba7adc5a93168f22e7ec37fc30cb778ca8f47e8a Mon Sep 17 00:00:00 2001 From: Niels Klomp Date: Thu, 7 Sep 2023 01:09:06 +0200 Subject: [PATCH 5/6] chore: cleanups --- .../src/drivers.ts | 31 +------------- .../src/types.ts | 40 +++++++++++++++++++ .../tsconfig.json | 3 -- .../src/api-functions.ts | 6 +-- 4 files changed, 44 insertions(+), 36 deletions(-) diff --git a/packages/vc-status-list-issuer-drivers/src/drivers.ts b/packages/vc-status-list-issuer-drivers/src/drivers.ts index d17eaa30d..e06f44708 100644 --- a/packages/vc-status-list-issuer-drivers/src/drivers.ts +++ b/packages/vc-status-list-issuer-drivers/src/drivers.ts @@ -10,6 +10,7 @@ import { import { StatusList2021EntryCredentialStatus, statusListCredentialToDetails, StatusListDetails } from '@sphereon/ssi-sdk.vc-status-list' import { OriginalVerifiableCredential, StatusListCredentialIdMode, StatusListDriverType } from '@sphereon/ssi-types' import { DataSource } from 'typeorm' +import {Driver} from "./types"; export interface StatusListManagementOptions { id?: string @@ -41,36 +42,6 @@ export async function getDriver(args: { id?: string; correlationId?: string; dbN return await AgentTypeORMDriver.init(getOptions(args), { dataSources: DataSources.singleInstance() }) } -export interface Driver { - statusListStore: StatusListStore - - getType(): StatusListDriverType - - getOptions(): DriverOptions - - getStatusListLength(args?: { correlationId?: string }): Promise - - createStatusList(args: { statusListCredential: OriginalVerifiableCredential; correlationId?: string }): Promise - - getStatusList(args?: { correlationId?: string }): Promise - - updateStatusListEntry(args: IAddStatusListEntryArgs): Promise<{ - credentialStatus: StatusList2021EntryCredentialStatus - statusListEntry: IStatusListEntryEntity - }> - - getStatusListEntryByCredentialId(args: IGetStatusListEntryByCredentialIdArgs): Promise - - getStatusListEntryByIndex(args: IGetStatusListEntryByIndexArgs): Promise - - updateStatusList(args: { statusListCredential: OriginalVerifiableCredential }): Promise - - deleteStatusList(): Promise - - getRandomNewStatusListIndex(args?: { correlationId?: string }): Promise - - isStatusListIndexInUse(): Promise -} export class AgentTypeORMDriver implements Driver { private _statusListLength: number | undefined diff --git a/packages/vc-status-list-issuer-drivers/src/types.ts b/packages/vc-status-list-issuer-drivers/src/types.ts index f25f48d68..9aafa231c 100644 --- a/packages/vc-status-list-issuer-drivers/src/types.ts +++ b/packages/vc-status-list-issuer-drivers/src/types.ts @@ -1,3 +1,11 @@ +import { + IAddStatusListEntryArgs, + IGetStatusListEntryByCredentialIdArgs, IGetStatusListEntryByIndexArgs, + IStatusListEntryEntity, + StatusListStore +} from "@sphereon/ssi-sdk.data-store"; +import {StatusList2021EntryCredentialStatus, StatusListDetails} from "@sphereon/ssi-sdk.vc-status-list"; +import {OriginalVerifiableCredential, StatusListDriverType} from "@sphereon/ssi-types"; import { IAgentContext, ICredentialIssuer, @@ -9,6 +17,7 @@ import { IKeyManager, IResolver, } from '@veramo/core' +import {DriverOptions} from "./drivers"; export type IRequiredPlugins = IDataStore & IDataStoreORM & @@ -19,3 +28,34 @@ export type IRequiredPlugins = IDataStore & ICredentialPlugin & IResolver export type IRequiredContext = IAgentContext + +export interface Driver { + statusListStore: StatusListStore + + getType(): StatusListDriverType + + getOptions(): DriverOptions + + getStatusListLength(args?: { correlationId?: string }): Promise + + createStatusList(args: { statusListCredential: OriginalVerifiableCredential; correlationId?: string }): Promise + + getStatusList(args?: { correlationId?: string }): Promise + + updateStatusListEntry(args: IAddStatusListEntryArgs): Promise<{ + credentialStatus: StatusList2021EntryCredentialStatus + statusListEntry: IStatusListEntryEntity + }> + + getStatusListEntryByCredentialId(args: IGetStatusListEntryByCredentialIdArgs): Promise + + getStatusListEntryByIndex(args: IGetStatusListEntryByIndexArgs): Promise + + updateStatusList(args: { statusListCredential: OriginalVerifiableCredential }): Promise + + deleteStatusList(): Promise + + getRandomNewStatusListIndex(args?: { correlationId?: string }): Promise + + isStatusListIndexInUse(): Promise +} diff --git a/packages/vc-status-list-issuer-drivers/tsconfig.json b/packages/vc-status-list-issuer-drivers/tsconfig.json index c37309e95..acb47a931 100644 --- a/packages/vc-status-list-issuer-drivers/tsconfig.json +++ b/packages/vc-status-list-issuer-drivers/tsconfig.json @@ -1,8 +1,5 @@ { "compilerOptions": { - "target": "es2020" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */, - "module": "es2020" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, - "moduleResolution": "node", "esModuleInterop": true, "skipLibCheck": true, "rootDir": "src", diff --git a/packages/vc-status-list-issuer-rest-api/src/api-functions.ts b/packages/vc-status-list-issuer-rest-api/src/api-functions.ts index 35afeeaba..2b3fccfb8 100644 --- a/packages/vc-status-list-issuer-rest-api/src/api-functions.ts +++ b/packages/vc-status-list-issuer-rest-api/src/api-functions.ts @@ -17,7 +17,7 @@ export function createNewStatusListEndpoint(router: Router, context: IRequiredCo console.log(`Create new status list endpoint is disabled`) return } - const path = opts?.path ?? '/credentials/status-lists' + const path = opts?.path ?? '/status-lists' router.post(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => { try { @@ -47,7 +47,7 @@ export function getStatusListCredentialEndpoint(router: Router, context: IRequir console.log(`Get statusList credential endpoint is disabled`) return } - const path = opts?.path ?? '/credentials/status-lists/:index' + const path = opts?.path ?? '/status-lists/:index' router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => { try { //todo: Check index against correlationId first. Then match originalUrl against statusList id @@ -67,7 +67,7 @@ export function getStatusListCredentialIndexStatusEndpoint(router: Router, conte console.log(`Get statusList credential index status endpoint is disabled`) return } - const path = opts?.path ?? '/credentials/status-lists/:index/status/index/:statusListIndex' + const path = opts?.path ?? '/status-lists/:index/status/index/:statusListIndex' router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => { try { //todo: Check index against correlationId first. Then match originalUrl against statusList id From fe2c566e18b7f7134648130b754c9000133120da Mon Sep 17 00:00:00 2001 From: Niels Klomp Date: Thu, 7 Sep 2023 01:35:33 +0200 Subject: [PATCH 6/6] chore: cleanups --- packages/vc-status-list-issuer-rest-api/tsconfig.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/vc-status-list-issuer-rest-api/tsconfig.json b/packages/vc-status-list-issuer-rest-api/tsconfig.json index 2e55e6c34..f8086b5a8 100644 --- a/packages/vc-status-list-issuer-rest-api/tsconfig.json +++ b/packages/vc-status-list-issuer-rest-api/tsconfig.json @@ -1,8 +1,5 @@ { "compilerOptions": { - "target": "es2020" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */, - "module": "es2020" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, - "moduleResolution": "node", "esModuleInterop": true, "skipLibCheck": true, "rootDir": "src",