From 13d56e50ae27235e8390414e1fc8c8404d24ed3b Mon Sep 17 00:00:00 2001 From: CoderNadir Date: Sat, 25 Nov 2023 15:28:36 +0100 Subject: [PATCH 1/3] feat: feat/#7175-translate-date translate date when language change --- apps/gauzy/src/app/app.component.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/gauzy/src/app/app.component.ts b/apps/gauzy/src/app/app.component.ts index acbbf118f23..6bd8fcb2339 100644 --- a/apps/gauzy/src/app/app.component.ts +++ b/apps/gauzy/src/app/app.component.ts @@ -6,7 +6,7 @@ import { AfterViewInit, Component, OnInit } from '@angular/core'; import { Router, ActivatedRoute, NavigationEnd } from '@angular/router'; import { SeoService } from './@core/utils/seo.service'; -import { TranslateService } from '@ngx-translate/core'; +import { LangChangeEvent, TranslateService } from '@ngx-translate/core'; import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy'; import { IDateRangePicker, ILanguage, LanguagesEnum } from '@gauzy/contracts'; import { isNotEmpty } from '@gauzy/common-angular'; @@ -26,6 +26,7 @@ import { import { environment } from '../environments/environment'; import { JitsuService } from './@core/services/analytics/jitsu.service'; import { union } from 'underscore'; +import { moment } from './@core/moment-extend'; @UntilDestroy({ checkProperties: true }) @Component({ @@ -59,6 +60,11 @@ export class AppComponent implements OnInit, AfterViewInit { this.jitsuService.trackPageViews(); this.seoService.trackCanonicalChanges(); + // -- Translate date when language change + this.translate.onLangChange.subscribe( + (langChangeEvent: LangChangeEvent) => moment.locale(langChangeEvent.lang) + ) + this.store.systemLanguages$ .pipe(untilDestroyed(this)) .subscribe((languages) => { @@ -66,7 +72,7 @@ export class AppComponent implements OnInit, AfterViewInit { const browserLang = this.translate.getBrowserLang(); //Gets default enum languages, e.g. "en", "bg", "he", "ru" - const defaultLanguages = Object.values(LanguagesEnum); + const defaultLanguages: string[] = Object.values(LanguagesEnum); //Gets system languages let systemLanguages: string[] = _.pluck(languages, 'code'); From 2531b02ef18ee35f55631f87c4985c88fcd223e5 Mon Sep 17 00:00:00 2001 From: RAHUL RATHORE <41804588+rahul-rocket@users.noreply.github.com> Date: Tue, 28 Nov 2023 18:32:26 +0530 Subject: [PATCH 2/3] fix: improved social logins configs types --- packages/config/src/config/facebook.ts | 4 ++-- packages/config/src/config/github.ts | 4 ++-- packages/config/src/config/google.ts | 4 ++-- packages/config/src/config/linkedin.ts | 4 ++-- packages/config/src/config/microsoft.ts | 4 ++-- packages/config/src/config/twitter.ts | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/config/src/config/facebook.ts b/packages/config/src/config/facebook.ts index d6177606b35..da0c995692b 100644 --- a/packages/config/src/config/facebook.ts +++ b/packages/config/src/config/facebook.ts @@ -4,7 +4,7 @@ import { IFacebookConfig } from '@gauzy/common'; /** * Register Facebook OAuth configuration using @nestjs/config */ -export default registerAs('facebook', () => ({ +export default registerAs('facebook', (): IFacebookConfig => ({ // Facebook OAuth Client ID clientId: process.env.FACEBOOK_CLIENT_ID, @@ -13,4 +13,4 @@ export default registerAs('facebook', () => ({ // Callback URL for handling the OAuth response after authentication callbackURL: process.env.FACEBOOK_CALLBACK_URL || `${process.env.API_BASE_URL}/api/auth/facebook/callback` -}) as IFacebookConfig); +})); diff --git a/packages/config/src/config/github.ts b/packages/config/src/config/github.ts index 97f937eeebf..39511df6453 100644 --- a/packages/config/src/config/github.ts +++ b/packages/config/src/config/github.ts @@ -4,7 +4,7 @@ import { IGithubConfig } from '@gauzy/common'; /** * Register GitHub OAuth configuration using @nestjs/config */ -export default registerAs('github', () => ({ +export default registerAs('github', (): IGithubConfig => ({ // GitHub OAuth Client ID clientId: process.env.GAUZY_GITHUB_OAUTH_CLIENT_ID, @@ -16,4 +16,4 @@ export default registerAs('github', () => ({ // User Agent for GitHub API requests userAgent: process.env.CLIENT_BASE_URL -}) as IGithubConfig); +})); diff --git a/packages/config/src/config/google.ts b/packages/config/src/config/google.ts index a622c537f0c..1b2cd063c65 100644 --- a/packages/config/src/config/google.ts +++ b/packages/config/src/config/google.ts @@ -4,7 +4,7 @@ import { IGoogleConfig } from '@gauzy/common'; /** * Register Google OAuth configuration using @nestjs/config */ -export default registerAs('google', () => ({ +export default registerAs('google', (): IGoogleConfig => ({ // Google OAuth Client ID clientId: process.env.GOOGLE_CLIENT_ID, @@ -13,4 +13,4 @@ export default registerAs('google', () => ({ // Callback URL for handling the OAuth response after authentication callbackURL: process.env.GOOGLE_CALLBACK_URL || `${process.env.API_BASE_URL}/api/auth/google/callback` -}) as IGoogleConfig); +})); diff --git a/packages/config/src/config/linkedin.ts b/packages/config/src/config/linkedin.ts index fc3e18c4139..d39a3dc1cdb 100644 --- a/packages/config/src/config/linkedin.ts +++ b/packages/config/src/config/linkedin.ts @@ -4,7 +4,7 @@ import { ILinkedinConfig } from '@gauzy/common'; /** * Register LinkedIn OAuth configuration using @nestjs/config */ -export default registerAs('linkedin', () => ({ +export default registerAs('linkedin', (): ILinkedinConfig => ({ // LinkedIn OAuth Client ID clientId: process.env.LINKEDIN_CLIENT_ID, @@ -13,4 +13,4 @@ export default registerAs('linkedin', () => ({ // Callback URL for handling the OAuth response after authentication callbackURL: process.env.LINKEDIN_CALLBACK_URL || `${process.env.API_BASE_URL}/api/auth/linkedin/callback` -}) as ILinkedinConfig); +})); diff --git a/packages/config/src/config/microsoft.ts b/packages/config/src/config/microsoft.ts index 3f27713b65b..666c5e2cf5f 100644 --- a/packages/config/src/config/microsoft.ts +++ b/packages/config/src/config/microsoft.ts @@ -4,7 +4,7 @@ import { IMicrosoftConfig } from '@gauzy/common'; /** * Register Microsoft OAuth configuration using @nestjs/config */ -export default registerAs('microsoft', () => ({ +export default registerAs('microsoft', (): IMicrosoftConfig => ({ /** The URL for the Microsoft Graph API */ graphApiURL: process.env.MICROSOFT_GRAPH_API_URL || 'https://graph.microsoft.com/v1.0', @@ -22,4 +22,4 @@ export default registerAs('microsoft', () => ({ /** Callback URL for handling the OAuth response after authentication */ callbackURL: process.env.MICROSOFT_CALLBACK_URL || `${process.env.API_BASE_URL}/api/auth/microsoft/callback` -}) as IMicrosoftConfig); +})); diff --git a/packages/config/src/config/twitter.ts b/packages/config/src/config/twitter.ts index 7a093038c6f..356d2bec0e6 100644 --- a/packages/config/src/config/twitter.ts +++ b/packages/config/src/config/twitter.ts @@ -4,7 +4,7 @@ import { ITwitterConfig } from '@gauzy/common'; /** * Register Twitter OAuth configuration using @nestjs/config */ -export default registerAs('twitter', () => ({ +export default registerAs('twitter', (): ITwitterConfig => ({ // Twitter API Key (Consumer Key) consumerKey: process.env.TWITTER_CLIENT_ID, @@ -13,4 +13,4 @@ export default registerAs('twitter', () => ({ // Callback URL for handling the OAuth response after authentication callbackURL: process.env.TWITTER_CALLBACK_URL || `${process.env.API_BASE_URL}/api/auth/twitter/callback` -}) as ITwitterConfig); +})); From 5d01e4020dc3d01a678982428ab5f37d838e0f7a Mon Sep 17 00:00:00 2001 From: Badal Khatri <81486442+badalkhatri0924@users.noreply.github.com> Date: Tue, 28 Nov 2023 23:02:25 +0530 Subject: [PATCH 3/3] Feat/#7192 jira integration (#7196) * WIP: JIRA Integration * WIP: JIRA Integration * Updated Jira Integration * Removed Unused Code * fix: Deepscan issues * Updated Jira config file --------- Co-authored-by: Ruslan K --- .../src/interfaces/IJiraIntegrationConfig.ts | 11 + packages/common/src/interfaces/index.ts | 1 + packages/config/src/config/index.ts | 12 +- packages/config/src/config/jira.ts | 17 + .../src/environments/environment.prod.ts | 10 + .../config/src/environments/environment.ts | 10 + .../config/src/environments/ienvironment.ts | 2 + packages/core/package.json | 1 + packages/core/src/app.module.ts | 113 +- packages/core/src/bootstrap/index.ts | 70 +- .../plugins/integration-jira/src/index.ts | 3 + .../integration-jira/src/jira.controller.ts | 284 +++++ .../integration-jira/src/jira.module.ts | 50 + .../integration-jira/src/jira.types.ts | 34 + yarn.lock | 1126 ++++++++++++++++- 15 files changed, 1623 insertions(+), 121 deletions(-) create mode 100644 packages/common/src/interfaces/IJiraIntegrationConfig.ts create mode 100644 packages/config/src/config/jira.ts create mode 100644 packages/plugins/integration-jira/src/jira.controller.ts create mode 100644 packages/plugins/integration-jira/src/jira.module.ts create mode 100644 packages/plugins/integration-jira/src/jira.types.ts diff --git a/packages/common/src/interfaces/IJiraIntegrationConfig.ts b/packages/common/src/interfaces/IJiraIntegrationConfig.ts new file mode 100644 index 00000000000..0d171c2ff56 --- /dev/null +++ b/packages/common/src/interfaces/IJiraIntegrationConfig.ts @@ -0,0 +1,11 @@ +/** + * Configuration options for Jira integration. + */ +export interface IJiraIntegrationConfig { + readonly appName: string; + readonly appDescription: string; + readonly appKey: string; + readonly baseUrl: string; + readonly vendorName: string; + readonly vendorUrl: string; +} diff --git a/packages/common/src/interfaces/index.ts b/packages/common/src/interfaces/index.ts index aca3abd8cd3..539fbb7a3b5 100644 --- a/packages/common/src/interfaces/index.ts +++ b/packages/common/src/interfaces/index.ts @@ -23,3 +23,4 @@ export * from './IUpworkConfig'; export * from './IWasabiConfig'; export * from './IHubstaffConfig'; export * from './IJitsuConfig'; +export * from './IJiraIntegrationConfig'; diff --git a/packages/config/src/config/index.ts b/packages/config/src/config/index.ts index 48e1163bb59..50c03b67450 100644 --- a/packages/config/src/config/index.ts +++ b/packages/config/src/config/index.ts @@ -6,17 +6,9 @@ import linkedin from './linkedin'; import microsoft from './microsoft'; import setting from './setting'; import twitter from './twitter'; +import jira from './jira'; /** * This array contains individual configuration modules for different social login providers. */ -export default [ - app, - facebook, - github, - google, - linkedin, - microsoft, - setting, - twitter -]; +export default [app, facebook, github, google, linkedin, microsoft, setting, twitter, jira]; diff --git a/packages/config/src/config/jira.ts b/packages/config/src/config/jira.ts new file mode 100644 index 00000000000..867ca43774d --- /dev/null +++ b/packages/config/src/config/jira.ts @@ -0,0 +1,17 @@ +import { registerAs } from '@nestjs/config'; +import { IJiraIntegrationConfig } from '@gauzy/common'; + +/** + * Register Jira configuration using @nestjs/config + */ +export default registerAs( + 'jira', + (): IJiraIntegrationConfig => ({ + appName: process.env.GAUZY_JIRA_APP_NAME, + appDescription: process.env.GAUZY_JIRA_APP_DESCRIPTION, + appKey: process.env.GAUZY_JIRA_APP_KEY, + baseUrl: process.env.GAUZY_JIRA_APP_BASE_URL, + vendorName: process.env.GAUZY_JIRA_APP_BASE_VENDOR_NAME, + vendorUrl: process.env.GAUZY_JIRA_APP_BASE_VENDOR_URL + }) +); diff --git a/packages/config/src/environments/environment.prod.ts b/packages/config/src/environments/environment.prod.ts index eaa62afae9d..91d3291d597 100644 --- a/packages/config/src/environments/environment.prod.ts +++ b/packages/config/src/environments/environment.prod.ts @@ -118,6 +118,16 @@ export const environment: IEnvironment = { webhookUrl: process.env.GAUZY_GITHUB_WEBHOOK_URL || `${process.env.API_BASE_URL}/api/integration/github/webhook` }, + jira: { + /** Jira Integration Configuration */ + appName: process.env.GAUZY_JIRA_APP_NAME, + appDescription: process.env.GAUZY_JIRA_APP_DESCRIPTION, + appKey: process.env.GAUZY_JIRA_APP_KEY, + baseUrl: process.env.GAUZY_JIRA_APP_BASE_URL, + vendorName: process.env.GAUZY_JIRA_APP_BASE_VENDOR_NAME, + vendorUrl: process.env.GAUZY_JIRA_APP_BASE_VENDOR_URL + }, + fiverrConfig: { clientId: process.env.FIVERR_CLIENT_ID, clientSecret: process.env.FIVERR_CLIENT_SECRET diff --git a/packages/config/src/environments/environment.ts b/packages/config/src/environments/environment.ts index 7892a2cf40a..68cae6b987b 100644 --- a/packages/config/src/environments/environment.ts +++ b/packages/config/src/environments/environment.ts @@ -122,6 +122,16 @@ export const environment: IEnvironment = { webhookUrl: process.env.GAUZY_GITHUB_WEBHOOK_URL || `${process.env.API_BASE_URL}/api/integration/github/webhook` }, + jira: { + /** Jira Integration Configuration */ + appName: process.env.GAUZY_JIRA_APP_NAME, + appDescription: process.env.GAUZY_JIRA_APP_DESCRIPTION, + appKey: process.env.GAUZY_JIRA_APP_KEY, + baseUrl: process.env.GAUZY_JIRA_APP_BASE_URL, + vendorName: process.env.GAUZY_JIRA_APP_BASE_VENDOR_NAME, + vendorUrl: process.env.GAUZY_JIRA_APP_BASE_VENDOR_URL + }, + fiverrConfig: { clientId: process.env.FIVERR_CLIENT_ID, clientSecret: process.env.FIVERR_CLIENT_SECRET diff --git a/packages/config/src/environments/ienvironment.ts b/packages/config/src/environments/ienvironment.ts index 84b6c0ce029..3feb72063f2 100644 --- a/packages/config/src/environments/ienvironment.ts +++ b/packages/config/src/environments/ienvironment.ts @@ -17,6 +17,7 @@ import { IUnleashConfig, IUpworkConfig, IWasabiConfig, + IJiraIntegrationConfig } from '@gauzy/common'; export type LogLevel = 'debug' | 'info' | 'warn' | 'error'; @@ -97,6 +98,7 @@ export interface IEnvironment { wasabiConfig?: IWasabiConfig; cloudinaryConfig?: ICloudinaryConfig; github: IGithubIntegrationConfig /** Github Configuration */; + jira: IJiraIntegrationConfig /** Jira Configuration */; fiverrConfig: IFiverrConfig; keycloakConfig: IKeycloakConfig; auth0Config: IAuth0Config; diff --git a/packages/core/package.json b/packages/core/package.json index 7c0f1f3bc5a..7a7ad14a25b 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -81,6 +81,7 @@ "apollo-server-core": "^3.10.1", "apollo-server-express": "^3.5.0", "apollo-server-fastify": "^3.5.0", + "atlassian-connect-express": "^8.5.0", "app-root-path": "^3.0.0", "archiver": "^5.3.0", "aws-sdk": "^2.1082.0", diff --git a/packages/core/src/app.module.ts b/packages/core/src/app.module.ts index 579228a7c2c..1194cea75fd 100644 --- a/packages/core/src/app.module.ts +++ b/packages/core/src/app.module.ts @@ -1,29 +1,19 @@ import { HttpException, Module } from '@nestjs/common'; import { APP_GUARD, APP_INTERCEPTOR } from '@nestjs/core'; import { MulterModule } from '@nestjs/platform-express'; -import { - ThrottlerGuard, - ThrottlerModule, - ThrottlerModuleOptions, -} from '@nestjs/throttler'; +import { ThrottlerGuard, ThrottlerModule, ThrottlerModuleOptions } from '@nestjs/throttler'; import { SentryInterceptor, SentryModule } from '@ntegral/nestjs-sentry'; -import { - ServeStaticModule, - ServeStaticModuleOptions, -} from '@nestjs/serve-static'; +import { ServeStaticModule, ServeStaticModuleOptions } from '@nestjs/serve-static'; import { HeaderResolver, I18nModule } from 'nestjs-i18n'; import { Integrations as SentryIntegrations } from '@sentry/node'; import { Integrations as TrackingIntegrations } from '@sentry/tracing'; -import { - initialize as initializeUnleash, - InMemStorageProvider, - UnleashConfig, -} from 'unleash-client'; +import { initialize as initializeUnleash, InMemStorageProvider, UnleashConfig } from 'unleash-client'; import { LanguagesEnum } from '@gauzy/contracts'; import { ConfigService, environment } from '@gauzy/config'; import * as path from 'path'; import * as moment from 'moment'; import { ProbotModule } from '@gauzy/integration-github'; +import { JiraModule } from '@gauzy/integration-jira'; import { CandidateInterviewersModule } from './candidate-interviewers/candidate-interviewers.module'; import { CandidateSkillModule } from './candidate-skill/candidate-skill.module'; import { InvoiceModule } from './invoice/invoice.module'; @@ -153,7 +143,7 @@ import { TaskLinkedIssueModule } from './tasks/linked-issue/task-linked-issue.mo import { OrganizationTaskSettingModule } from './organization-task-setting/organization-task-setting.module'; import { TaskEstimationModule } from './tasks/estimation/task-estimation.module'; import { JitsuAnalyticsModule } from './jitsu-analytics/jitsu-analytics.module'; -const { unleashConfig, github, jitsu } = environment; +const { unleashConfig, github, jitsu, jira } = environment; if (unleashConfig.url) { const unleashInstanceConfig: UnleashConfig = { @@ -167,18 +157,16 @@ if (unleashConfig.url) { disableMetrics: false, // we may use Redis storage provider instead of in memory - storageProvider: new InMemStorageProvider(), + storageProvider: new InMemStorageProvider() }; if (unleashConfig.apiKey) { unleashInstanceConfig.customHeaders = { - Authorization: unleashConfig.apiKey, + Authorization: unleashConfig.apiKey }; } - console.log( - `Using Unleash Config: ${JSON.stringify(unleashInstanceConfig)}` - ); + console.log(`Using Unleash Config: ${JSON.stringify(unleashInstanceConfig)}`); const instance = initializeUnleash(unleashInstanceConfig); @@ -190,9 +178,7 @@ if (unleashConfig.url) { instance.on('error', console.error); instance.on('warn', console.log); } else { - console.log( - 'Unleash Client Not Registered. UNLEASH_API_URL configuration is not provided.' - ); + console.log('Unleash Client Not Registered. UNLEASH_API_URL configuration is not provided.'); } const sentryIntegrations = []; @@ -215,40 +201,36 @@ if (environment.sentry && environment.sentry.dsn) { @Module({ imports: [ ServeStaticModule.forRootAsync({ - useFactory: async ( - configService: ConfigService - ): Promise => { + useFactory: async (configService: ConfigService): Promise => { return await resolveServeStaticPath(configService); }, inject: [ConfigService], - imports: [], + imports: [] }), MulterModule.register(), I18nModule.forRoot({ fallbackLanguage: LanguagesEnum.ENGLISH, loaderOptions: { path: path.resolve(__dirname, 'i18n/'), - watch: !environment.production, + watch: !environment.production }, - resolvers: [new HeaderResolver(['language'])], + resolvers: [new HeaderResolver(['language'])] }), ...(environment.sentry && environment.sentry.dsn ? [ - SentryModule.forRoot({ - dsn: environment.sentry.dsn, - debug: !environment.production, - environment: environment.production - ? 'production' - : 'development', - // TODO: we should use some internal function which returns version of Gauzy - release: 'gauzy@' + process.env.npm_package_version, - logLevels: ['error'], - integrations: sentryIntegrations, - tracesSampleRate: process.env.SENTRY_TRACES_SAMPLE_RATE - ? parseInt(process.env.SENTRY_TRACES_SAMPLE_RATE) - : 0.01, - }), - ] + SentryModule.forRoot({ + dsn: environment.sentry.dsn, + debug: !environment.production, + environment: environment.production ? 'production' : 'development', + // TODO: we should use some internal function which returns version of Gauzy + release: 'gauzy@' + process.env.npm_package_version, + logLevels: ['error'], + integrations: sentryIntegrations, + tracesSampleRate: process.env.SENTRY_TRACES_SAMPLE_RATE + ? parseInt(process.env.SENTRY_TRACES_SAMPLE_RATE) + : 0.01 + }) + ] : []), // Probot Configuration ProbotModule.forRoot({ @@ -261,7 +243,18 @@ if (environment.sentry && environment.sentry.dsn) { appId: github.appId, privateKey: github.appPrivateKey, webhookSecret: github.webhookSecret - }, + } + }), + JiraModule.forRoot({ + isGlobal: true, + config: { + appName: jira.appName, + appDescription: jira.appDescription, + appKey: jira.appKey, + baseUrl: jira.baseUrl, + vendorName: jira.vendorName, + vendorUrl: jira.vendorUrl + } }), /** Jitsu Configuration */ JitsuAnalyticsModule.forRoot({ @@ -275,10 +268,10 @@ if (environment.sentry && environment.sentry.dsn) { ThrottlerModule.forRootAsync({ inject: [ConfigService], useFactory: (config: ConfigService): ThrottlerModuleOptions => - ({ - ttl: config.get('THROTTLE_TTL'), - limit: config.get('THROTTLE_LIMIT'), - } as ThrottlerModuleOptions), + ({ + ttl: config.get('THROTTLE_TTL'), + limit: config.get('THROTTLE_LIMIT') + } as ThrottlerModuleOptions) }), CoreModule, AuthModule, @@ -403,18 +396,18 @@ if (environment.sentry && environment.sentry.dsn) { IssueTypeModule, TaskLinkedIssueModule, OrganizationTaskSettingModule, - TaskEstimationModule, + TaskEstimationModule ], controllers: [AppController], providers: [ AppService, { provide: APP_GUARD, - useClass: ThrottlerGuard, + useClass: ThrottlerGuard }, { provide: APP_INTERCEPTOR, - useClass: TransformInterceptor, + useClass: TransformInterceptor }, { provide: APP_INTERCEPTOR, @@ -423,21 +416,21 @@ if (environment.sentry && environment.sentry.dsn) { filters: [ { type: HttpException, - filter: (exception: HttpException) => 500 > exception.getStatus(), // Only report 500 errors - }, - ], - }), - }, + filter: (exception: HttpException) => 500 > exception.getStatus() // Only report 500 errors + } + ] + }) + } ], - exports: [], + exports: [] }) export class AppModule { constructor() { // Set Monday as start of the week moment.locale(LanguagesEnum.ENGLISH, { week: { - dow: 1, - }, + dow: 1 + } }); moment.locale(LanguagesEnum.ENGLISH); } diff --git a/packages/core/src/bootstrap/index.ts b/packages/core/src/bootstrap/index.ts index 32498fe611d..f06143eb9e8 100644 --- a/packages/core/src/bootstrap/index.ts +++ b/packages/core/src/bootstrap/index.ts @@ -21,18 +21,13 @@ import { AppModule } from '../app.module'; import { AuthGuard } from './../shared/guards'; import { SharedModule } from './../shared/shared.module'; -export async function bootstrap( - pluginConfig?: Partial -): Promise { +export async function bootstrap(pluginConfig?: Partial): Promise { const config = await registerPluginConfig(pluginConfig); const { BootstrapModule } = await import('./bootstrap.module'); - const app = await NestFactory.create( - BootstrapModule, - { - logger: ['log', 'error', 'warn', 'debug', 'verbose'], - } - ); + const app = await NestFactory.create(BootstrapModule, { + logger: ['log', 'error', 'warn', 'debug', 'verbose'] + }); // This will lock all routes and make them accessible by authenticated users only. const reflector = app.get(Reflector); @@ -54,7 +49,8 @@ export async function bootstrap( origin: '*', methods: 'GET,HEAD,PUT,PATCH,POST,DELETE,OPTIONS', credentials: true, - allowedHeaders: 'Authorization, Language, Tenant-Id, Organization-Id, X-Requested-With, X-Auth-Token, X-HTTP-Method-Override, Content-Type, Content-Language, Accept, Accept-Language, Observe' + allowedHeaders: + 'Authorization, Language, Tenant-Id, Organization-Id, X-Requested-With, X-Auth-Token, X-HTTP-Method-Override, Content-Type, Content-Language, Accept, Accept-Language, Observe' }); // TODO: enable csurf @@ -66,7 +62,7 @@ export async function bootstrap( expressSession({ secret: env.EXPRESS_SESSION_SECRET, resave: true, - saveUninitialized: true, + saveUninitialized: true }) ); @@ -77,11 +73,7 @@ export async function bootstrap( const service = app.select(AppModule).get(AppService); await service.seedDBIfEmpty(); - const options = new DocumentBuilder() - .setTitle('Gauzy API') - .setVersion('1.0') - .addBearerAuth() - .build(); + const options = new DocumentBuilder().setTitle('Gauzy API').setVersion('1.0').addBearerAuth().build(); const document = SwaggerModule.createDocument(app, options); SwaggerModule.setup('swg', app, document); @@ -97,20 +89,20 @@ export async function bootstrap( console.log(chalk.green(`Configured Host: ${host}`)); console.log(chalk.green(`Configured Port: ${port}`)); - console.log( - chalk.green(`Swagger UI available at http://${host}:${port}/swg`) - ); + console.log(chalk.green(`Swagger UI available at http://${host}:${port}/swg`)); /** * Dependency injection with class-validator */ useContainer(app.select(SharedModule), { fallbackOnErrors: true }); + // Configure Atlassian Connect Express + // const addon = ac(express()); + // app.use(addon.middleware()); + await app.listen(port, host, () => { - const message = `Listening at http://${host}:${port}/${globalPrefix}` - console.log( - chalk.magenta(message) - ); + const message = `Listening at http://${host}:${port}/${globalPrefix}`; + console.log(chalk.magenta(message)); // Send message to parent process (desktop app) if (process.send) { process.send(message); @@ -127,9 +119,7 @@ export async function bootstrap( /** * Setting the global config must be done prior to loading the Bootstrap Module. */ -export async function registerPluginConfig( - pluginConfig: Partial -) { +export async function registerPluginConfig(pluginConfig: Partial) { if (Object.keys(pluginConfig).length > 0) { setConfig(pluginConfig); } @@ -139,15 +129,11 @@ export async function registerPluginConfig( */ setConfig({ dbConnectionOptions: { - ...getMigrationsSetting(), - }, + ...getMigrationsSetting() + } }); - console.log( - chalk.green( - `DB Config: ${JSON.stringify(getConfig().dbConnectionOptions)}` - ) - ); + console.log(chalk.green(`DB Config: ${JSON.stringify(getConfig().dbConnectionOptions)}`)); /** * Registered core & plugins entities @@ -156,10 +142,8 @@ export async function registerPluginConfig( setConfig({ dbConnectionOptions: { entities, - subscribers: coreSubscribers as Array< - Type - >, - }, + subscribers: coreSubscribers as Array> + } }); let registeredConfig = getConfig(); @@ -169,16 +153,14 @@ export async function registerPluginConfig( /** * Returns an array of core entities and any additional entities defined in plugins. */ -export async function registerAllEntities( - pluginConfig: Partial -) { +export async function registerAllEntities(pluginConfig: Partial) { const allEntities = coreEntities as Array>; const pluginEntities = getEntitiesFromPlugins(pluginConfig.plugins); for (const pluginEntity of pluginEntities) { if (allEntities.find((e) => e.name === pluginEntity.name)) { throw new ConflictException({ - message: `error.${pluginEntity.name} conflict by default entities`, + message: `error.${pluginEntity.name} conflict by default entities` }); } else { allEntities.push(pluginEntity); @@ -199,10 +181,10 @@ export function getMigrationsSetting() { return { migrations: [ // join(__dirname, '../../src/database/migrations/*{.ts,.js}'), - join(__dirname, '../database/migrations/*{.ts,.js}'), + join(__dirname, '../database/migrations/*{.ts,.js}') ], cli: { - migrationsDir: join(__dirname, '../../src/database/migrations'), - }, + migrationsDir: join(__dirname, '../../src/database/migrations') + } }; } diff --git a/packages/plugins/integration-jira/src/index.ts b/packages/plugins/integration-jira/src/index.ts index e69de29bb2d..c37465d2b38 100644 --- a/packages/plugins/integration-jira/src/index.ts +++ b/packages/plugins/integration-jira/src/index.ts @@ -0,0 +1,3 @@ +export * from './jira.controller'; +export * from './jira.module'; +export * from './jira.types'; diff --git a/packages/plugins/integration-jira/src/jira.controller.ts b/packages/plugins/integration-jira/src/jira.controller.ts new file mode 100644 index 00000000000..a2979fd7380 --- /dev/null +++ b/packages/plugins/integration-jira/src/jira.controller.ts @@ -0,0 +1,284 @@ +import { Public } from '@gauzy/common'; +import { Body, Controller, Get, Post, Type } from '@nestjs/common'; +import { JiraConfig } from './jira.types'; + +/** + * Factory function to create a NestJS controller class for handling webhook hooks. + * @param path The path at which the controller should listen for webhook requests. + */ +export function getControllerClass(config: JiraConfig): Type { + @Public() + @Controller('jira') + class HookController { + /** + * General schema can be seen here: https://bitbucket.org/atlassian/connect-schemas/raw/master/jira-global-schema.json + */ + connectAppDescriptor = { + /** + * Name of the Connect app + */ + name: config.appName || 'Atlassian Connect Example Node App', + + /** + * Description for the Connect app + */ + description: config.appDescription || 'Atlassian Connect Example Node App', + + /** + * A unique key to identify your Connect app. This key must be <= 64 characters. + */ + // key: envVars.APP_KEY, + key: config.appKey || 'com.example.node-connect-app', + + /** + * The base url of the server, which is used for all communications between Connect and the app. + * + * The tunneled URL which is set in the `prestart.ts` + */ + baseUrl: config.baseUrl, + + /** + * The vendor who is offering this Connect app. + */ + vendor: { + name: config.vendorName, + url: config.vendorUrl + }, + + /** + * Defines the authentication type to use when signing requests between the host application and the Connect app. + * Types include: `jwt`, `JWT`, `none`, `NONE` + * + * Pages defined in the Connect app(by default) run within the iframe inside Jira, + * Defining this authentication will pass the JWT token for each page running within the iframe. + */ + authentication: { + type: 'jwt' + }, + + /** + * Sets the scopes requested by the app + * https://developer.atlassian.com/cloud/jira/platform/scopes-for-connect-apps/ + */ + scopes: ['READ', 'WRITE'], + + /** + * The API version is an OPTIONAL integer. If omitted we will infer an API version of 1. + */ + apiVersion: 1, + + /** + * Allows an app to register callbacks for events that occur in the lifecycle of an installation. + * When a lifecycle event is fired, a POST request will be made to the appropriate URL registered for the event. + * + * https://developer.atlassian.com/cloud/jira/platform/connect-app-descriptor/#lifecycle + * + */ + lifecycle: { + installed: '/api/jira/installed', + uninstalled: '/api/jira/uninstalled' + }, + + /** + * Extensions for the different parts of Jira + * like links, panels, pages, permissions, workflows etc. + */ + modules: { + /** + * This is the first page where the user lands after clicking on the `Get Started` link after installing the app + * You can think of this page as the main index page for the app. + */ + postInstallPage: { + url: '/pages/get-started', + key: 'get-started', + name: { + value: 'Get Started' + } + }, + + /** + * Defines the new sections in the application menus. + * + * https://developer.atlassian.com/cloud/jira/platform/modules/web-section/ + */ + webSections: [ + { + key: 'connect-node-app-section', + location: 'admin_plugins_menu', + weight: 0, + name: { + value: 'Connect Example Node App' + } + } + ], + + /** + * The list of pages/views within the app. + * https://developer.atlassian.com/cloud/jira/software/modules/page/ + */ + generalPages: [ + { + /** + * The url to retrieve the content from. This must be relative to the add-on's baseUrl. + */ + url: '/pages/introduction', + /** + * A key to identify this module. + * The key is used to generate the url to your add-on's module. + * The url is generated as a combination of your add-on key and module key. + * + * For instance: + * The node app URL `https:///config` is now mapped to `https:///plugins/servlet/ac/com.example.node-connect-app/config` + */ + key: 'introduction', + + /** + * Defines the location in the application interface where the page's link should appear. + * For finding locations, please use these web fragment finders: + * Jira -> https://marketplace.atlassian.com/apps/1211656/web-fragment-finder?hosting=cloud&tab=overview + * Confluence -> https://marketplace.atlassian.com/apps/1215092/web-fragment-finder-for-confluence?hosting=cloud&tab=overview + */ + location: 'admin_plugins_menu/connect-node-app-section', + /** + * A human-readable name for the page. + */ + name: { + value: 'Introduction' + } + }, + { + url: '/pages/config', + key: 'config', + location: 'admin_plugins_menu/connect-node-app-section', + name: { + value: 'Connect JSON Manifest' + } + }, + { + url: '/pages/lifecycle-events', + key: 'lifecycle-events', + location: 'admin_plugins_menu/connect-node-app-section', + name: { + value: 'Lifecycle Events' + } + }, + { + url: '/pages/modules', + key: 'modules', + location: 'admin_plugins_menu/connect-node-app-section', + name: { + value: 'Connect Modules' + } + }, + { + url: '/pages/connect-library', + key: 'js-library', + location: 'admin_plugins_menu/connect-node-app-section', + name: { + value: 'Connect JS library' + } + }, + { + url: `/pages/context?input={ac.input}`, + key: 'context', + location: 'admin_plugins_menu/connect-node-app-section', + name: { + value: 'Context Parameters' + } + }, + { + url: '/pages/authentication', + key: 'authentication', + location: 'admin_plugins_menu/connect-node-app-section', + name: { + value: 'Iframe JWT Authentication' + } + }, + { + url: '/pages/making-api-requests', + key: 'api-requests', + location: 'admin_plugins_menu/connect-node-app-section', + name: { + value: 'Making API Requests' + } + }, + { + url: '/pages/webhooks', + key: 'webhooks', + location: 'admin_plugins_menu/connect-node-app-section', + name: { + value: 'Webhooks' + } + }, + { + url: '/pages/marketplace', + key: 'marketplace', + location: 'admin_plugins_menu/connect-node-app-section', + name: { + value: 'Atlassian Marketplace' + } + } + ], + + /** + * List of all the webhooks for the Connect app. + * For this example, we've added some Jira webhooks events. + * + * https://developer.atlassian.com/cloud/jira/platform/webhooks/ + */ + webhooks: [ + { + event: 'jira:issue_created', + url: '/api/jira/issue-created' + }, + { + event: 'jira:issue_deleted', + url: '/api/jira/issue-deleted' + }, + { + event: 'jira:issue_updated', + url: '/api/jira/issue-updated' + } + ] + } + }; + + @Post('issue-created') + issueCreated(@Body() body: any) { + // TODO handle Issue Created + console.log(JSON.stringify(body)); + return; + } + @Post('issue-deleted') + issueDeleted(@Body() body: any) { + // TODO handle Issue Deleted + console.log(JSON.stringify(body)); + return; + } + @Post('issue-updated') + issueUpdated(@Body() body: any) { + // TODO handle Issue Updated + console.log(JSON.stringify(body)); + return; + } + + @Post('installed') + installed(@Body() body: any) { + // This function is needed to install the App + console.log(JSON.stringify(body)); + return; + } + @Post('uninstalled') + uninstalled(@Body() body: any) { + console.log(JSON.stringify(body)); + return; + } + + @Get('atlassian-connect.json') + atlassianConnect() { + return this.connectAppDescriptor; + } + } + + return HookController; +} diff --git a/packages/plugins/integration-jira/src/jira.module.ts b/packages/plugins/integration-jira/src/jira.module.ts new file mode 100644 index 00000000000..137b5c9b354 --- /dev/null +++ b/packages/plugins/integration-jira/src/jira.module.ts @@ -0,0 +1,50 @@ +import { DiscoveryModule } from '@nestjs/core'; +import { DynamicModule, Module } from '@nestjs/common'; +import { getControllerClass } from './jira.controller'; +import { JiraModuleAsyncOptions, JiraModuleOptions, ModuleProviders } from './jira.types'; + +@Module({ + imports: [DiscoveryModule] +}) +export class JiraModule { + /** + * Register the Jira module. + * @param options - Configuration options for the Jira module. + * @returns A dynamic module configuration. + */ + static forRoot(options: JiraModuleOptions): DynamicModule { + const HookController = getControllerClass(options.config); + return { + global: options.isGlobal || true, + module: JiraModule, + controllers: [HookController], + providers: [ + { + provide: ModuleProviders.JiraConfig, + useFactory: () => options.config + } + ] + }; + } + + /** + * Register the Jira module asynchronously. + * @param options - Configuration options for the Jira module. + * @returns A dynamic module configuration. + */ + static forRootAsync(options: JiraModuleAsyncOptions): DynamicModule { + const HookController = getControllerClass(options.config); + return { + module: JiraModule, + global: options.isGlobal || true, + controllers: [HookController], + providers: [ + { + provide: ModuleProviders.JiraConfig, + useFactory: options.useFactory, + inject: options.inject || [] + } + ] + }; + } +} diff --git a/packages/plugins/integration-jira/src/jira.types.ts b/packages/plugins/integration-jira/src/jira.types.ts new file mode 100644 index 00000000000..00fa91f5d94 --- /dev/null +++ b/packages/plugins/integration-jira/src/jira.types.ts @@ -0,0 +1,34 @@ +import { ModuleMetadata } from '@nestjs/common'; + +export interface JiraConfig { + // Jira App configuration options + appName: string; + appDescription: string; + appKey: string; + baseUrl: string; + vendorName: string; + vendorUrl: string; +} + +export interface JiraModuleOptions { + // Specifies if the Jira module should be global + isGlobal?: boolean; + // Jira configuration options + config: JiraConfig; +} + +export interface JiraModuleAsyncOptions extends Pick { + // Specifies if the Jira module should be global + isGlobal?: boolean; + // Jira configuration options + config: JiraConfig; + // Factory function to asynchronously provide Jira configuration + useFactory: (...args: any[]) => Promise | JiraConfig; + // Optional list of dependencies to inject into the factory function + inject?: any[]; +} + +export enum ModuleProviders { + // Provider key for Jira configuration + JiraConfig = 'jira/provider/config' +} diff --git a/yarn.lock b/yarn.lock index d690648dcdc..382a7f4293a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -618,6 +618,470 @@ dependencies: tslib "^2.3.0" +"@aws-crypto/crc32@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-3.0.0.tgz#07300eca214409c33e3ff769cd5697b57fdd38fa" + integrity sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA== + dependencies: + "@aws-crypto/util" "^3.0.0" + "@aws-sdk/types" "^3.222.0" + tslib "^1.11.1" + +"@aws-crypto/ie11-detection@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz#640ae66b4ec3395cee6a8e94ebcd9f80c24cd688" + integrity sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/sha256-browser@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz#05f160138ab893f1c6ba5be57cfd108f05827766" + integrity sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== + dependencies: + "@aws-crypto/ie11-detection" "^3.0.0" + "@aws-crypto/sha256-js" "^3.0.0" + "@aws-crypto/supports-web-crypto" "^3.0.0" + "@aws-crypto/util" "^3.0.0" + "@aws-sdk/types" "^3.222.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-js@3.0.0", "@aws-crypto/sha256-js@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz#f06b84d550d25521e60d2a0e2a90139341e007c2" + integrity sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== + dependencies: + "@aws-crypto/util" "^3.0.0" + "@aws-sdk/types" "^3.222.0" + tslib "^1.11.1" + +"@aws-crypto/supports-web-crypto@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz#5d1bf825afa8072af2717c3e455f35cda0103ec2" + integrity sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/util@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-3.0.0.tgz#1c7ca90c29293f0883468ad48117937f0fe5bfb0" + integrity sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w== + dependencies: + "@aws-sdk/types" "^3.222.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-sdk/client-dynamodb@^3.398.0": + version "3.454.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-dynamodb/-/client-dynamodb-3.454.0.tgz#6eca10b090922bfaa757016f876fdd15cd6d4cc6" + integrity sha512-GztsAk/OwhksDYclc0JoqhoXGqowzfyqJ6405L6m1x3ydS0B0csul/1xnCmmyVEIr9aLJZK7dk0DgdfKsyj3KA== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/client-sts" "3.454.0" + "@aws-sdk/core" "3.451.0" + "@aws-sdk/credential-provider-node" "3.451.0" + "@aws-sdk/middleware-endpoint-discovery" "3.451.0" + "@aws-sdk/middleware-host-header" "3.451.0" + "@aws-sdk/middleware-logger" "3.451.0" + "@aws-sdk/middleware-recursion-detection" "3.451.0" + "@aws-sdk/middleware-signing" "3.451.0" + "@aws-sdk/middleware-user-agent" "3.451.0" + "@aws-sdk/region-config-resolver" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@aws-sdk/util-endpoints" "3.451.0" + "@aws-sdk/util-user-agent-browser" "3.451.0" + "@aws-sdk/util-user-agent-node" "3.451.0" + "@smithy/config-resolver" "^2.0.18" + "@smithy/fetch-http-handler" "^2.2.6" + "@smithy/hash-node" "^2.0.15" + "@smithy/invalid-dependency" "^2.0.13" + "@smithy/middleware-content-length" "^2.0.15" + "@smithy/middleware-endpoint" "^2.2.0" + "@smithy/middleware-retry" "^2.0.20" + "@smithy/middleware-serde" "^2.0.13" + "@smithy/middleware-stack" "^2.0.7" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/node-http-handler" "^2.1.9" + "@smithy/protocol-http" "^3.0.9" + "@smithy/smithy-client" "^2.1.15" + "@smithy/types" "^2.5.0" + "@smithy/url-parser" "^2.0.13" + "@smithy/util-base64" "^2.0.1" + "@smithy/util-body-length-browser" "^2.0.0" + "@smithy/util-body-length-node" "^2.1.0" + "@smithy/util-defaults-mode-browser" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.25" + "@smithy/util-endpoints" "^1.0.4" + "@smithy/util-retry" "^2.0.6" + "@smithy/util-utf8" "^2.0.2" + "@smithy/util-waiter" "^2.0.13" + tslib "^2.5.0" + uuid "^8.3.2" + +"@aws-sdk/client-sso@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.451.0.tgz#d52b961efa707b6579821942801145a2e1be8121" + integrity sha512-KkYSke3Pdv3MfVH/5fT528+MKjMyPKlcLcd4zQb0x6/7Bl7EHrPh1JZYjzPLHelb+UY5X0qN8+cb8iSu1eiwIQ== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/core" "3.451.0" + "@aws-sdk/middleware-host-header" "3.451.0" + "@aws-sdk/middleware-logger" "3.451.0" + "@aws-sdk/middleware-recursion-detection" "3.451.0" + "@aws-sdk/middleware-user-agent" "3.451.0" + "@aws-sdk/region-config-resolver" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@aws-sdk/util-endpoints" "3.451.0" + "@aws-sdk/util-user-agent-browser" "3.451.0" + "@aws-sdk/util-user-agent-node" "3.451.0" + "@smithy/config-resolver" "^2.0.18" + "@smithy/fetch-http-handler" "^2.2.6" + "@smithy/hash-node" "^2.0.15" + "@smithy/invalid-dependency" "^2.0.13" + "@smithy/middleware-content-length" "^2.0.15" + "@smithy/middleware-endpoint" "^2.2.0" + "@smithy/middleware-retry" "^2.0.20" + "@smithy/middleware-serde" "^2.0.13" + "@smithy/middleware-stack" "^2.0.7" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/node-http-handler" "^2.1.9" + "@smithy/protocol-http" "^3.0.9" + "@smithy/smithy-client" "^2.1.15" + "@smithy/types" "^2.5.0" + "@smithy/url-parser" "^2.0.13" + "@smithy/util-base64" "^2.0.1" + "@smithy/util-body-length-browser" "^2.0.0" + "@smithy/util-body-length-node" "^2.1.0" + "@smithy/util-defaults-mode-browser" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.25" + "@smithy/util-endpoints" "^1.0.4" + "@smithy/util-retry" "^2.0.6" + "@smithy/util-utf8" "^2.0.2" + tslib "^2.5.0" + +"@aws-sdk/client-sts@3.454.0": + version "3.454.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.454.0.tgz#6106999e393c264a485fc76add374b375a2da8d5" + integrity sha512-0fDvr8WeB6IYO8BUCzcivWmahgGl/zDbaYfakzGnt4mrl5ztYaXE875WI6b7+oFcKMRvN+KLvwu5TtyFuNY+GQ== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/core" "3.451.0" + "@aws-sdk/credential-provider-node" "3.451.0" + "@aws-sdk/middleware-host-header" "3.451.0" + "@aws-sdk/middleware-logger" "3.451.0" + "@aws-sdk/middleware-recursion-detection" "3.451.0" + "@aws-sdk/middleware-sdk-sts" "3.451.0" + "@aws-sdk/middleware-signing" "3.451.0" + "@aws-sdk/middleware-user-agent" "3.451.0" + "@aws-sdk/region-config-resolver" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@aws-sdk/util-endpoints" "3.451.0" + "@aws-sdk/util-user-agent-browser" "3.451.0" + "@aws-sdk/util-user-agent-node" "3.451.0" + "@smithy/config-resolver" "^2.0.18" + "@smithy/fetch-http-handler" "^2.2.6" + "@smithy/hash-node" "^2.0.15" + "@smithy/invalid-dependency" "^2.0.13" + "@smithy/middleware-content-length" "^2.0.15" + "@smithy/middleware-endpoint" "^2.2.0" + "@smithy/middleware-retry" "^2.0.20" + "@smithy/middleware-serde" "^2.0.13" + "@smithy/middleware-stack" "^2.0.7" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/node-http-handler" "^2.1.9" + "@smithy/protocol-http" "^3.0.9" + "@smithy/smithy-client" "^2.1.15" + "@smithy/types" "^2.5.0" + "@smithy/url-parser" "^2.0.13" + "@smithy/util-base64" "^2.0.1" + "@smithy/util-body-length-browser" "^2.0.0" + "@smithy/util-body-length-node" "^2.1.0" + "@smithy/util-defaults-mode-browser" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.25" + "@smithy/util-endpoints" "^1.0.4" + "@smithy/util-retry" "^2.0.6" + "@smithy/util-utf8" "^2.0.2" + fast-xml-parser "4.2.5" + tslib "^2.5.0" + +"@aws-sdk/core@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.451.0.tgz#ecd30da40d8e02050a772920485f450ea2a1b804" + integrity sha512-SamWW2zHEf1ZKe3j1w0Piauryl8BQIlej0TBS18A4ACzhjhWXhCs13bO1S88LvPR5mBFXok3XOT6zPOnKDFktw== + dependencies: + "@smithy/smithy-client" "^2.1.15" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-env@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.451.0.tgz#7b7429bd2e3fdebf914a88269274190781aeeab2" + integrity sha512-9dAav7DcRgaF7xCJEQR5ER9ErXxnu/tdnVJ+UPmb1NPeIZdESv1A3lxFDEq1Fs8c4/lzAj9BpshGyJVIZwZDKg== + dependencies: + "@aws-sdk/types" "3.451.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/types" "^2.5.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-ini@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.451.0.tgz#e38315611f70700ad9803316d7030e3472c9789c" + integrity sha512-TySt64Ci5/ZbqFw1F9Z0FIGvYx5JSC9e6gqDnizIYd8eMnn8wFRUscRrD7pIHKfrhvVKN5h0GdYovmMO/FMCBw== + dependencies: + "@aws-sdk/credential-provider-env" "3.451.0" + "@aws-sdk/credential-provider-process" "3.451.0" + "@aws-sdk/credential-provider-sso" "3.451.0" + "@aws-sdk/credential-provider-web-identity" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@smithy/credential-provider-imds" "^2.0.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/shared-ini-file-loader" "^2.0.6" + "@smithy/types" "^2.5.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-node@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.451.0.tgz#72ccdef2199104379977dc06ea84c8d2a356d545" + integrity sha512-AEwM1WPyxUdKrKyUsKyFqqRFGU70e4qlDyrtBxJnSU9NRLZI8tfEZ67bN7fHSxBUBODgDXpMSlSvJiBLh5/3pw== + dependencies: + "@aws-sdk/credential-provider-env" "3.451.0" + "@aws-sdk/credential-provider-ini" "3.451.0" + "@aws-sdk/credential-provider-process" "3.451.0" + "@aws-sdk/credential-provider-sso" "3.451.0" + "@aws-sdk/credential-provider-web-identity" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@smithy/credential-provider-imds" "^2.0.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/shared-ini-file-loader" "^2.0.6" + "@smithy/types" "^2.5.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-process@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.451.0.tgz#3dd1d7df235f4eeb99d7e0f16b0e8cd61d555a73" + integrity sha512-HQywSdKeD5PErcLLnZfSyCJO+6T+ZyzF+Lm/QgscSC+CbSUSIPi//s15qhBRVely/3KBV6AywxwNH+5eYgt4lQ== + dependencies: + "@aws-sdk/types" "3.451.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/shared-ini-file-loader" "^2.0.6" + "@smithy/types" "^2.5.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-sso@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.451.0.tgz#f2482985a80f1da78e6b50ffaebbf2297d0f366f" + integrity sha512-Usm/N51+unOt8ID4HnQzxIjUJDrkAQ1vyTOC0gSEEJ7h64NSSPGD5yhN7il5WcErtRd3EEtT1a8/GTC5TdBctg== + dependencies: + "@aws-sdk/client-sso" "3.451.0" + "@aws-sdk/token-providers" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/shared-ini-file-loader" "^2.0.6" + "@smithy/types" "^2.5.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-web-identity@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.451.0.tgz#5dc40768869d5887888c6f178c7831dd2c74cfbe" + integrity sha512-Xtg3Qw65EfDjWNG7o2xD6sEmumPfsy3WDGjk2phEzVg8s7hcZGxf5wYwe6UY7RJvlEKrU0rFA+AMn6Hfj5oOzg== + dependencies: + "@aws-sdk/types" "3.451.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/types" "^2.5.0" + tslib "^2.5.0" + +"@aws-sdk/endpoint-cache@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/endpoint-cache/-/endpoint-cache-3.310.0.tgz#e6f84bfcd55462966811390ef797145559bab15a" + integrity sha512-y3wipforet41EDTI0vnzxILqwAGll1KfI5qcdX9pXF/WF1f+3frcOtPiWtQEZQpy4czRogKm3BHo70QBYAZxlQ== + dependencies: + mnemonist "0.38.3" + tslib "^2.5.0" + +"@aws-sdk/middleware-endpoint-discovery@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.451.0.tgz#203f91336e128435a2cf437ffd365723be4a1e1e" + integrity sha512-OvRb9M12JZaxjpdwPqTndAexjp/s4Ub/GumxED2uy7KDzo95f2A4CA3yRB03ExBERWtKtCShpJG87oTERkDiaQ== + dependencies: + "@aws-sdk/endpoint-cache" "3.310.0" + "@aws-sdk/types" "3.451.0" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/protocol-http" "^3.0.9" + "@smithy/types" "^2.5.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-host-header@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.451.0.tgz#016fcd2b0ec58f26ce62c7ff792174bdf580972b" + integrity sha512-j8a5jAfhWmsK99i2k8oR8zzQgXrsJtgrLxc3js6U+525mcZytoiDndkWTmD5fjJ1byU1U2E5TaPq+QJeDip05Q== + dependencies: + "@aws-sdk/types" "3.451.0" + "@smithy/protocol-http" "^3.0.9" + "@smithy/types" "^2.5.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-logger@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.451.0.tgz#9ef8ac916199f92ea1bb6c153279727ffa2b0b36" + integrity sha512-0kHrYEyVeB2QBfP6TfbI240aRtatLZtcErJbhpiNUb+CQPgEL3crIjgVE8yYiJumZ7f0jyjo8HLPkwD1/2APaw== + dependencies: + "@aws-sdk/types" "3.451.0" + "@smithy/types" "^2.5.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-recursion-detection@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.451.0.tgz#333a12d4792788bfcc3cab1028868cf37fb17e76" + integrity sha512-J6jL6gJ7orjHGM70KDRcCP7so/J2SnkN4vZ9YRLTeeZY6zvBuHDjX8GCIgSqPn/nXFXckZO8XSnA7u6+3TAT0w== + dependencies: + "@aws-sdk/types" "3.451.0" + "@smithy/protocol-http" "^3.0.9" + "@smithy/types" "^2.5.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-sdk-sts@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.451.0.tgz#0c70b57523386fe12357b4471cd20b681a27f9aa" + integrity sha512-UJ6UfVUEgp0KIztxpAeelPXI5MLj9wUtUCqYeIMP7C1ZhoEMNm3G39VLkGN43dNhBf1LqjsV9jkKMZbVfYXuwg== + dependencies: + "@aws-sdk/middleware-signing" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@smithy/types" "^2.5.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-signing@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.451.0.tgz#ed7f5665dd048228e00f8e7e5925db32901a7886" + integrity sha512-s5ZlcIoLNg1Huj4Qp06iKniE8nJt/Pj1B/fjhWc6cCPCM7XJYUCejCnRh6C5ZJoBEYodjuwZBejPc1Wh3j+znA== + dependencies: + "@aws-sdk/types" "3.451.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/protocol-http" "^3.0.9" + "@smithy/signature-v4" "^2.0.0" + "@smithy/types" "^2.5.0" + "@smithy/util-middleware" "^2.0.6" + tslib "^2.5.0" + +"@aws-sdk/middleware-user-agent@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.451.0.tgz#33d168e8411be4561eeef69e16c31e41b6f9a0cf" + integrity sha512-8NM/0JiKLNvT9wtAQVl1DFW0cEO7OvZyLSUBLNLTHqyvOZxKaZ8YFk7d8PL6l76LeUKRxq4NMxfZQlUIRe0eSA== + dependencies: + "@aws-sdk/types" "3.451.0" + "@aws-sdk/util-endpoints" "3.451.0" + "@smithy/protocol-http" "^3.0.9" + "@smithy/types" "^2.5.0" + tslib "^2.5.0" + +"@aws-sdk/region-config-resolver@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.451.0.tgz#f4de34ebe435832dd6bcdc0a7b9fae14a42fc6de" + integrity sha512-3iMf4OwzrFb4tAAmoROXaiORUk2FvSejnHIw/XHvf/jjR4EqGGF95NZP/n/MeFZMizJWVssrwS412GmoEyoqhg== + dependencies: + "@smithy/node-config-provider" "^2.1.5" + "@smithy/types" "^2.5.0" + "@smithy/util-config-provider" "^2.0.0" + "@smithy/util-middleware" "^2.0.6" + tslib "^2.5.0" + +"@aws-sdk/token-providers@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.451.0.tgz#fb80e2fa39bb277fb77040a59c88312a115c35bd" + integrity sha512-ij1L5iUbn6CwxVOT1PG4NFjsrsKN9c4N1YEM0lkl6DwmaNOscjLKGSNyj9M118vSWsOs1ZDbTwtj++h0O/BWrQ== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/middleware-host-header" "3.451.0" + "@aws-sdk/middleware-logger" "3.451.0" + "@aws-sdk/middleware-recursion-detection" "3.451.0" + "@aws-sdk/middleware-user-agent" "3.451.0" + "@aws-sdk/region-config-resolver" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@aws-sdk/util-endpoints" "3.451.0" + "@aws-sdk/util-user-agent-browser" "3.451.0" + "@aws-sdk/util-user-agent-node" "3.451.0" + "@smithy/config-resolver" "^2.0.18" + "@smithy/fetch-http-handler" "^2.2.6" + "@smithy/hash-node" "^2.0.15" + "@smithy/invalid-dependency" "^2.0.13" + "@smithy/middleware-content-length" "^2.0.15" + "@smithy/middleware-endpoint" "^2.2.0" + "@smithy/middleware-retry" "^2.0.20" + "@smithy/middleware-serde" "^2.0.13" + "@smithy/middleware-stack" "^2.0.7" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/node-http-handler" "^2.1.9" + "@smithy/property-provider" "^2.0.0" + "@smithy/protocol-http" "^3.0.9" + "@smithy/shared-ini-file-loader" "^2.0.6" + "@smithy/smithy-client" "^2.1.15" + "@smithy/types" "^2.5.0" + "@smithy/url-parser" "^2.0.13" + "@smithy/util-base64" "^2.0.1" + "@smithy/util-body-length-browser" "^2.0.0" + "@smithy/util-body-length-node" "^2.1.0" + "@smithy/util-defaults-mode-browser" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.25" + "@smithy/util-endpoints" "^1.0.4" + "@smithy/util-retry" "^2.0.6" + "@smithy/util-utf8" "^2.0.2" + tslib "^2.5.0" + +"@aws-sdk/types@3.451.0", "@aws-sdk/types@^3.222.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.451.0.tgz#37ab4b25074c6a36152eb36abb7399b3768c2e7b" + integrity sha512-rhK+qeYwCIs+laJfWCcrYEjay2FR/9VABZJ2NRM89jV/fKqGVQR52E5DQqrI+oEIL5JHMhhnr4N4fyECMS35lw== + dependencies: + "@smithy/types" "^2.5.0" + tslib "^2.5.0" + +"@aws-sdk/util-endpoints@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.451.0.tgz#8719977c3535c6fec719a2854ffe037e02412ddb" + integrity sha512-giqLGBTnRIcKkDqwU7+GQhKbtJ5Ku35cjGQIfMyOga6pwTBUbaK0xW1Sdd8sBQ1GhApscnChzI9o/R9x0368vw== + dependencies: + "@aws-sdk/types" "3.451.0" + "@smithy/util-endpoints" "^1.0.4" + tslib "^2.5.0" + +"@aws-sdk/util-locate-window@^3.0.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz#b071baf050301adee89051032bd4139bba32cc40" + integrity sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/util-user-agent-browser@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.451.0.tgz#0b511703c3304a5c2fdaa864589246c93ad63dce" + integrity sha512-Ws5mG3J0TQifH7OTcMrCTexo7HeSAc3cBgjfhS/ofzPUzVCtsyg0G7I6T7wl7vJJETix2Kst2cpOsxygPgPD9w== + dependencies: + "@aws-sdk/types" "3.451.0" + "@smithy/types" "^2.5.0" + bowser "^2.11.0" + tslib "^2.5.0" + +"@aws-sdk/util-user-agent-node@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.451.0.tgz#f2af3f0d3f0389a14a7dbbc835dc94c705c0a39a" + integrity sha512-TBzm6P+ql4mkGFAjPlO1CI+w3yUT+NulaiALjl/jNX/nnUp6HsJsVxJf4nVFQTG5KRV0iqMypcs7I3KIhH+LmA== + dependencies: + "@aws-sdk/types" "3.451.0" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/types" "^2.5.0" + tslib "^2.5.0" + +"@aws-sdk/util-utf8-browser@^3.0.0": + version "3.259.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff" + integrity sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== + dependencies: + tslib "^2.3.1" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.8.3": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" @@ -4849,6 +5313,13 @@ dependencies: make-plural "^7.0.0" +"@mongodb-js/saslprep@^1.1.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@mongodb-js/saslprep/-/saslprep-1.1.1.tgz#9a6c2516bc9188672c4d953ec99760ba49970da7" + integrity sha512-t7c5K033joZZMspnHg/gWPE4kandgc2OxE74aYOtGKfgB9VPuVJPix0H6fhmm2erj5PBJ21mqcx34lpIGtUCsQ== + dependencies: + sparse-bitfield "^3.0.3" + "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" @@ -7117,6 +7588,375 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@smithy/abort-controller@^2.0.14": + version "2.0.14" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-2.0.14.tgz#0608c34e35289e66ba839bbdda0c2ccd971e8d26" + integrity sha512-zXtteuYLWbSXnzI3O6xq3FYvigYZFW8mdytGibfarLL2lxHto9L3ILtGVnVGmFZa7SDh62l39EnU5hesLN87Fw== + dependencies: + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + +"@smithy/config-resolver@^2.0.18", "@smithy/config-resolver@^2.0.19": + version "2.0.19" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-2.0.19.tgz#d246fff11bdf8089e85de2e26172ba27a5ff7980" + integrity sha512-JsghnQ5zjWmjEVY8TFOulLdEOCj09SjRLugrHlkPZTIBBm7PQitCFVLThbsKPZQOP7N3ME1DU1nKUc1UaVnBog== + dependencies: + "@smithy/node-config-provider" "^2.1.6" + "@smithy/types" "^2.6.0" + "@smithy/util-config-provider" "^2.0.0" + "@smithy/util-middleware" "^2.0.7" + tslib "^2.5.0" + +"@smithy/credential-provider-imds@^2.0.0", "@smithy/credential-provider-imds@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.1.2.tgz#b0225e2f514c5394558f702184feac94453ec9d1" + integrity sha512-Y62jBWdoLPSYjr9fFvJf+KwTa1EunjVr6NryTEWCnwIY93OJxwV4t0qxjwdPl/XMsUkq79ppNJSEQN6Ohnhxjw== + dependencies: + "@smithy/node-config-provider" "^2.1.6" + "@smithy/property-provider" "^2.0.15" + "@smithy/types" "^2.6.0" + "@smithy/url-parser" "^2.0.14" + tslib "^2.5.0" + +"@smithy/eventstream-codec@^2.0.14": + version "2.0.14" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-2.0.14.tgz#e56434ae34be6682c7e9f12bb2f50e73b301914a" + integrity sha512-g/OU/MeWGfHDygoXgMWfG/Xb0QqDnAGcM9t2FRrVAhleXYRddGOEnfanR5cmHgB9ue52MJsyorqFjckzXsylaA== + dependencies: + "@aws-crypto/crc32" "3.0.0" + "@smithy/types" "^2.6.0" + "@smithy/util-hex-encoding" "^2.0.0" + tslib "^2.5.0" + +"@smithy/fetch-http-handler@^2.2.6", "@smithy/fetch-http-handler@^2.2.7": + version "2.2.7" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.7.tgz#7e06aa774ea86f6529365e439256f17979c18445" + integrity sha512-iSDBjxuH9TgrtMYAr7j5evjvkvgwLY3y+9D547uep+JNkZ1ZT+BaeU20j6I/bO/i26ilCWFImrlXTPsfQtZdIQ== + dependencies: + "@smithy/protocol-http" "^3.0.10" + "@smithy/querystring-builder" "^2.0.14" + "@smithy/types" "^2.6.0" + "@smithy/util-base64" "^2.0.1" + tslib "^2.5.0" + +"@smithy/hash-node@^2.0.15": + version "2.0.16" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-2.0.16.tgz#babd9e3fb13339507ffcc182834cf10c4df028b1" + integrity sha512-Wbi9A0PacMYUOwjAulQP90Wl3mQ6NDwnyrZQzFjDz+UzjXOSyQMgBrTkUBz+pVoYVlX3DUu24gWMZBcit+wOGg== + dependencies: + "@smithy/types" "^2.6.0" + "@smithy/util-buffer-from" "^2.0.0" + "@smithy/util-utf8" "^2.0.2" + tslib "^2.5.0" + +"@smithy/invalid-dependency@^2.0.13": + version "2.0.14" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-2.0.14.tgz#fc898c8cf0c4ceb29bb23c6a90f7522193622e75" + integrity sha512-d8ohpwZo9RzTpGlAfsWtfm1SHBSU7+N4iuZ6MzR10xDTujJJWtmXYHK1uzcr7rggbpUTaWyHpPFgnf91q0EFqQ== + dependencies: + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + +"@smithy/is-array-buffer@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz#8fa9b8040651e7ba0b2f6106e636a91354ff7d34" + integrity sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug== + dependencies: + tslib "^2.5.0" + +"@smithy/middleware-content-length@^2.0.15": + version "2.0.16" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-2.0.16.tgz#0d77cfe0d375bfbf1e59f30a38de0e3f14a1e73f" + integrity sha512-9ddDia3pp1d3XzLXKcm7QebGxLq9iwKf+J1LapvlSOhpF8EM9SjMeSrMOOFgG+2TfW5K3+qz4IAJYYm7INYCng== + dependencies: + "@smithy/protocol-http" "^3.0.10" + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + +"@smithy/middleware-endpoint@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.2.1.tgz#7fc156aaeaa0e8bd838c57a8b37ece355a9eeaec" + integrity sha512-dVDS7HNJl/wb0lpByXor6whqDbb1YlLoaoWYoelyYzLHioXOE7y/0iDwJWtDcN36/tVCw9EPBFZ3aans84jLpg== + dependencies: + "@smithy/middleware-serde" "^2.0.14" + "@smithy/node-config-provider" "^2.1.6" + "@smithy/shared-ini-file-loader" "^2.2.5" + "@smithy/types" "^2.6.0" + "@smithy/url-parser" "^2.0.14" + "@smithy/util-middleware" "^2.0.7" + tslib "^2.5.0" + +"@smithy/middleware-retry@^2.0.20": + version "2.0.21" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.0.21.tgz#7c18cbb7ca5c7fd1777e062b3cbebc57a60bddca" + integrity sha512-EZS1EXv1k6IJX6hyu/0yNQuPcPaXwG8SWljQHYueyRbOxmqYgoWMWPtfZj0xRRQ4YtLawQSpBgAeiJltq8/MPw== + dependencies: + "@smithy/node-config-provider" "^2.1.6" + "@smithy/protocol-http" "^3.0.10" + "@smithy/service-error-classification" "^2.0.7" + "@smithy/types" "^2.6.0" + "@smithy/util-middleware" "^2.0.7" + "@smithy/util-retry" "^2.0.7" + tslib "^2.5.0" + uuid "^8.3.2" + +"@smithy/middleware-serde@^2.0.13", "@smithy/middleware-serde@^2.0.14": + version "2.0.14" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-2.0.14.tgz#147e7413f934f213dbfe4815e691409cc9c0d793" + integrity sha512-hFi3FqoYWDntCYA2IGY6gJ6FKjq2gye+1tfxF2HnIJB5uW8y2DhpRNBSUMoqP+qvYzRqZ6ntv4kgbG+o3pX57g== + dependencies: + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + +"@smithy/middleware-stack@^2.0.7", "@smithy/middleware-stack@^2.0.8": + version "2.0.8" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-2.0.8.tgz#76827e2818654eb5a482ede36a59de6d6db7b896" + integrity sha512-7/N59j0zWqVEKExJcA14MrLDZ/IeN+d6nbkN8ucs+eURyaDUXWYlZrQmMOd/TyptcQv0+RDlgag/zSTTV62y/Q== + dependencies: + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + +"@smithy/node-config-provider@^2.1.5", "@smithy/node-config-provider@^2.1.6": + version "2.1.6" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-2.1.6.tgz#835f62902676de71a358f66a0887a09154cf43c2" + integrity sha512-HLqTs6O78m3M3z1cPLFxddxhEPv5MkVatfPuxoVO3A+cHZanNd/H5I6btcdHy6N2CB1MJ/lihJC92h30SESsBA== + dependencies: + "@smithy/property-provider" "^2.0.15" + "@smithy/shared-ini-file-loader" "^2.2.5" + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + +"@smithy/node-http-handler@^2.1.10", "@smithy/node-http-handler@^2.1.9": + version "2.1.10" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-2.1.10.tgz#8921a661dfb273a21dd1dff3ad1fe5196ea3c525" + integrity sha512-lkALAwtN6odygIM4nB8aHDahINM6WXXjNrZmWQAh0RSossySRT2qa31cFv0ZBuAYVWeprskRk13AFvvLmf1WLw== + dependencies: + "@smithy/abort-controller" "^2.0.14" + "@smithy/protocol-http" "^3.0.10" + "@smithy/querystring-builder" "^2.0.14" + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + +"@smithy/property-provider@^2.0.0", "@smithy/property-provider@^2.0.15": + version "2.0.15" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-2.0.15.tgz#7a5069f6bab4d59f640b2e73e99fa03e3fda3cc1" + integrity sha512-YbRFBn8oiiC3o1Kn3a4KjGa6k47rCM9++5W9cWqYn9WnkyH+hBWgfJAckuxpyA2Hq6Ys4eFrWzXq6fqHEw7iew== + dependencies: + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + +"@smithy/protocol-http@^3.0.10", "@smithy/protocol-http@^3.0.9": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-3.0.10.tgz#235ffdcdc3022c4a76b1785dbc6f9f8427859e1f" + integrity sha512-6+tjNk7rXW7YTeGo9qwxXj/2BFpJTe37kTj3EnZCoX/nH+NP/WLA7O83fz8XhkGqsaAhLUPo/bB12vvd47nsmg== + dependencies: + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + +"@smithy/querystring-builder@^2.0.14": + version "2.0.14" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-2.0.14.tgz#3ba4ba728ab10e040b46079afc983c3378032328" + integrity sha512-lQ4pm9vTv9nIhl5jt6uVMPludr6syE2FyJmHsIJJuOD7QPIJnrf9HhUGf1iHh9KJ4CUv21tpOU3X6s0rB6uJ0g== + dependencies: + "@smithy/types" "^2.6.0" + "@smithy/util-uri-escape" "^2.0.0" + tslib "^2.5.0" + +"@smithy/querystring-parser@^2.0.14": + version "2.0.14" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-2.0.14.tgz#0e3936d44c783540321fedd9d502aac22073a556" + integrity sha512-+cbtXWI9tNtQjlgQg3CA+pvL3zKTAxPnG3Pj6MP89CR3vi3QMmD0SOWoq84tqZDnJCxlsusbgIXk1ngMReXo+A== + dependencies: + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + +"@smithy/service-error-classification@^2.0.7": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-2.0.7.tgz#9ef515fdc751a27a555f51121be5c37006a4c458" + integrity sha512-LLxgW12qGz8doYto15kZ4x1rHjtXl0BnCG6T6Wb8z2DI4PT9cJfOSvzbuLzy7+5I24PAepKgFeWHRd9GYy3Z9w== + dependencies: + "@smithy/types" "^2.6.0" + +"@smithy/shared-ini-file-loader@^2.0.6", "@smithy/shared-ini-file-loader@^2.2.5": + version "2.2.5" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.5.tgz#7fe24f5f8143e9082b61c3fab4d4d7c395dda807" + integrity sha512-LHA68Iu7SmNwfAVe8egmjDCy648/7iJR/fK1UnVw+iAOUJoEYhX2DLgVd5pWllqdDiRbQQzgaHLcRokM+UFR1w== + dependencies: + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + +"@smithy/signature-v4@^2.0.0": + version "2.0.16" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-2.0.16.tgz#51456baa6992120031692e1bf28178b766bf40ac" + integrity sha512-ilLY85xS2kZZzTb83diQKYLIYALvart0KnBaKnIRnMBHAGEio5aHSlANQoxVn0VsonwmQ3CnWhnCT0sERD8uTg== + dependencies: + "@smithy/eventstream-codec" "^2.0.14" + "@smithy/is-array-buffer" "^2.0.0" + "@smithy/types" "^2.6.0" + "@smithy/util-hex-encoding" "^2.0.0" + "@smithy/util-middleware" "^2.0.7" + "@smithy/util-uri-escape" "^2.0.0" + "@smithy/util-utf8" "^2.0.2" + tslib "^2.5.0" + +"@smithy/smithy-client@^2.1.15", "@smithy/smithy-client@^2.1.16": + version "2.1.16" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.1.16.tgz#eae70fac673b06494c536fa5637c2df12887ce3a" + integrity sha512-Lw67+yQSpLl4YkDLUzI2KgS8TXclXmbzSeOJUmRFS4ueT56B4pw3RZRF/SRzvgyxM/HxgkUan8oSHXCujPDafQ== + dependencies: + "@smithy/middleware-stack" "^2.0.8" + "@smithy/types" "^2.6.0" + "@smithy/util-stream" "^2.0.21" + tslib "^2.5.0" + +"@smithy/types@^2.5.0", "@smithy/types@^2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.6.0.tgz#a09c40b512e2df213229a20a43d0d9cfcf55ca3e" + integrity sha512-PgqxJq2IcdMF9iAasxcqZqqoOXBHufEfmbEUdN1pmJrJltT42b0Sc8UiYSWWzKkciIp9/mZDpzYi4qYG1qqg6g== + dependencies: + tslib "^2.5.0" + +"@smithy/url-parser@^2.0.13", "@smithy/url-parser@^2.0.14": + version "2.0.14" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-2.0.14.tgz#6e09902482e9fef0882e6c9f1009ca57fcf3f7b4" + integrity sha512-kbu17Y1AFXi5lNlySdDj7ZzmvupyWKCX/0jNZ8ffquRyGdbDZb+eBh0QnWqsSmnZa/ctyWaTf7n4l/pXLExrnw== + dependencies: + "@smithy/querystring-parser" "^2.0.14" + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + +"@smithy/util-base64@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-2.0.1.tgz#57f782dafc187eddea7c8a1ff2a7c188ed1a02c4" + integrity sha512-DlI6XFYDMsIVN+GH9JtcRp3j02JEVuWIn/QOZisVzpIAprdsxGveFed0bjbMRCqmIFe8uetn5rxzNrBtIGrPIQ== + dependencies: + "@smithy/util-buffer-from" "^2.0.0" + tslib "^2.5.0" + +"@smithy/util-body-length-browser@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz#5447853003b4c73da3bc5f3c5e82c21d592d1650" + integrity sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg== + dependencies: + tslib "^2.5.0" + +"@smithy/util-body-length-node@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz#313a5f7c5017947baf5fa018bfc22628904bbcfa" + integrity sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw== + dependencies: + tslib "^2.5.0" + +"@smithy/util-buffer-from@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz#7eb75d72288b6b3001bc5f75b48b711513091deb" + integrity sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw== + dependencies: + "@smithy/is-array-buffer" "^2.0.0" + tslib "^2.5.0" + +"@smithy/util-config-provider@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz#4dd6a793605559d94267312fd06d0f58784b4c38" + integrity sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg== + dependencies: + tslib "^2.5.0" + +"@smithy/util-defaults-mode-browser@^2.0.19": + version "2.0.20" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.20.tgz#efabf1c0dadd0d86340f796b761bf17b59dcf900" + integrity sha512-QJtnbTIl0/BbEASkx1MUFf6EaoWqWW1/IM90N++8NNscePvPf77GheYfpoPis6CBQawUWq8QepTP2QUSAdrVkw== + dependencies: + "@smithy/property-provider" "^2.0.15" + "@smithy/smithy-client" "^2.1.16" + "@smithy/types" "^2.6.0" + bowser "^2.11.0" + tslib "^2.5.0" + +"@smithy/util-defaults-mode-node@^2.0.25": + version "2.0.26" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.26.tgz#a701b6b0cc3f2bb57964049ccb0f8d147a8654df" + integrity sha512-lGFPOFCHv1ql019oegYqa54BZH7HREw6EBqjDLbAr0wquMX0BDi2sg8TJ6Eq+JGLijkZbJB73m4+aK8OFAapMg== + dependencies: + "@smithy/config-resolver" "^2.0.19" + "@smithy/credential-provider-imds" "^2.1.2" + "@smithy/node-config-provider" "^2.1.6" + "@smithy/property-provider" "^2.0.15" + "@smithy/smithy-client" "^2.1.16" + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + +"@smithy/util-endpoints@^1.0.4": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-1.0.5.tgz#9e6ffdc9ac9d597869209e3b83784a13f277956e" + integrity sha512-K7qNuCOD5K/90MjHvHm9kJldrfm40UxWYQxNEShMFxV/lCCCRIg8R4uu1PFAxRvPxNpIdcrh1uK6I1ISjDXZJw== + dependencies: + "@smithy/node-config-provider" "^2.1.6" + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + +"@smithy/util-hex-encoding@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz#0aa3515acd2b005c6d55675e377080a7c513b59e" + integrity sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA== + dependencies: + tslib "^2.5.0" + +"@smithy/util-middleware@^2.0.6", "@smithy/util-middleware@^2.0.7": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.0.7.tgz#92dda5d2a79915e06a275b4df3d66d4381b60a5f" + integrity sha512-tRINOTlf1G9B0ECarFQAtTgMhpnrMPSa+5j4ZEwEawCLfTFTavk6757sxhE4RY5RMlD/I3x+DCS8ZUiR8ho9Pw== + dependencies: + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + +"@smithy/util-retry@^2.0.6", "@smithy/util-retry@^2.0.7": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-2.0.7.tgz#14ad8ebe5d8428dd0216d58b883e7fd964ae1e95" + integrity sha512-fIe5yARaF0+xVT1XKcrdnHKTJ1Vc4+3e3tLDjCuIcE9b6fkBzzGFY7AFiX4M+vj6yM98DrwkuZeHf7/hmtVp0Q== + dependencies: + "@smithy/service-error-classification" "^2.0.7" + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + +"@smithy/util-stream@^2.0.21": + version "2.0.21" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-2.0.21.tgz#290935084e026afae6bacec7481abdae3498ee35" + integrity sha512-0BUE16d7n1x7pi1YluXJdB33jOTyBChT0j/BlOkFa9uxfg6YqXieHxjHNuCdJRARa7AZEj32LLLEPJ1fSa4inA== + dependencies: + "@smithy/fetch-http-handler" "^2.2.7" + "@smithy/node-http-handler" "^2.1.10" + "@smithy/types" "^2.6.0" + "@smithy/util-base64" "^2.0.1" + "@smithy/util-buffer-from" "^2.0.0" + "@smithy/util-hex-encoding" "^2.0.0" + "@smithy/util-utf8" "^2.0.2" + tslib "^2.5.0" + +"@smithy/util-uri-escape@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz#19955b1a0f517a87ae77ac729e0e411963dfda95" + integrity sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw== + dependencies: + tslib "^2.5.0" + +"@smithy/util-utf8@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.0.2.tgz#626b3e173ad137208e27ed329d6bea70f4a1a7f7" + integrity sha512-qOiVORSPm6Ce4/Yu6hbSgNHABLP2VMv8QOC3tTDNHHlWY19pPyc++fBTbZPtx6egPXi4HQxKDnMxVxpbtX2GoA== + dependencies: + "@smithy/util-buffer-from" "^2.0.0" + tslib "^2.5.0" + +"@smithy/util-waiter@^2.0.13": + version "2.0.14" + resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-2.0.14.tgz#b2c8ce5728c1bb92236dfbfe3bf8f354a328c4f7" + integrity sha512-Q6gSz4GUNjNGhrfNg+2Mjy+7K4pEI3r82x1b/+3dSc03MQqobMiUrRVN/YK/4nHVagvBELCoXsiHAFQJNQ5BeA== + dependencies: + "@smithy/abort-controller" "^2.0.14" + "@smithy/types" "^2.6.0" + tslib "^2.5.0" + "@socket.io/component-emitter@~3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" @@ -7449,6 +8289,13 @@ dependencies: "@types/ms" "*" +"@types/debug@^4.1.8": + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== + dependencies: + "@types/ms" "*" + "@types/electron@^1.6.10": version "1.6.10" resolved "https://registry.yarnpkg.com/@types/electron/-/electron-1.6.10.tgz#7e87888ed3888767cca68e92772c2c8ea46bc873" @@ -8111,6 +8958,11 @@ resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.7.13.tgz#05f2e5663d5d518b04bd69694766807ab20c7288" integrity sha512-EMfHccxNKXaSxTK6DN0En9WsXa7uR4w3LQtx31f6Z2JjG5hJQeVX5zUYMZoatjZgnoQmRcT94WnNWwi0BzQW6Q== +"@types/validator@^13.7.17": + version "13.11.7" + resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.11.7.tgz#99e19760297667ae46b7069ec8b96cbfe0a08b98" + integrity sha512-q0JomTsJ2I5Mv7dhHhQLGjMvX0JJm5dyZ1DXQySIUzU1UlwzB8bt+R6+LODUbz0UDIOvEzGc28tk27gBJw2N8Q== + "@types/verror@^1.10.3": version "1.10.6" resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.6.tgz#3e600c62d210c5826460858f84bcbb65805460bb" @@ -8123,6 +8975,19 @@ dependencies: "@types/node" "*" +"@types/webidl-conversions@*": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz#1306dbfa53768bcbcfc95a1c8cde367975581859" + integrity sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA== + +"@types/whatwg-url@^8.2.1": + version "8.2.2" + resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-8.2.2.tgz#749d5b3873e845897ada99be4448041d4cc39e63" + integrity sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA== + dependencies: + "@types/node" "*" + "@types/webidl-conversions" "*" + "@types/ws@^8.2.2", "@types/ws@^8.5.1": version "8.5.4" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.4.tgz#bb10e36116d6e570dd943735f86c933c1587b8a5" @@ -9621,6 +10486,61 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== +atlassian-connect-express@^8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/atlassian-connect-express/-/atlassian-connect-express-8.5.0.tgz#5d546b5e1c6dde10e36981aeabdc74c9d44f320c" + integrity sha512-2eNb0AnekQeqhscJwgpxiulUcJsgW+Ogt2otT4mLgb+L21jAld+UNpfeRnLUN7+djWHKsHtm0ih3HMhDbwgpxQ== + dependencies: + "@aws-sdk/client-dynamodb" "^3.398.0" + atlassian-connect-validator "0.0.9" + atlassian-jwt "^2.0.2" + atlassian-oauth2 "^0.5.0" + colors "1.4.0" + inquirer "^8.2.5" + json5 "^2.2.3" + lodash "^4.17.21" + md5 "^2.3.0" + moment "^2.29.4" + mongodb "5.8.1" + node-fetch "^2.6.9" + redis "^3.1.2" + request "^2.88.2" + sequelize "^6.29.0" + urijs "^1.19.11" + +atlassian-connect-validator@0.0.9: + version "0.0.9" + resolved "https://registry.yarnpkg.com/atlassian-connect-validator/-/atlassian-connect-validator-0.0.9.tgz#d08a1f3b395e5f61c254c0ece3da343cc41b5fff" + integrity sha512-wJQkwe3+reJjI+6HAWlEsXKaL864neqyI56Y/UeUlOfDHuhKSV+aISxIl1YwuEIds8cziATZKw/bVJeLZl9Utw== + dependencies: + jsonschema "~1.0.2" + lodash "^4.3.0" + +atlassian-jwt@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/atlassian-jwt/-/atlassian-jwt-1.0.3.tgz#ba86fc4d9cdc0b723329e8e11954ab784f4130c2" + integrity sha512-x5+tZVhR0Rpy8QvaEFQmJdKgjO0MJSDANj69E2yJYhoik8ufvBDJ7rxiZ98tjcUYDAiF2u6aKs5kk/akS0j6HQ== + dependencies: + jsuri "^1.3.1" + lodash "^4.17.11" + +atlassian-jwt@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/atlassian-jwt/-/atlassian-jwt-2.0.2.tgz#38ec00737b4b2761877b74d587f4a0ee198efd4f" + integrity sha512-HgG2p+gJeEqKREnPynEDy76UoShF01jTYMSe0NlRL2rEqXBNDzJiiCyUP7P2cbxcRmI4OC8g40zJjqftFNJ/4A== + dependencies: + jsuri "^1.3.1" + lodash "^4.17.21" + +atlassian-oauth2@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/atlassian-oauth2/-/atlassian-oauth2-0.5.1.tgz#63216f33e9d3a3154b7e966bab0950e58e3e1e34" + integrity sha512-eVM4VtN1qsz8zca6+VTrrCjJl7vBXOM4UZC4GHsYmhhTR1IkpW2M+/D3ictBTKiZpckboewx5Mf0OlpCxc6u6Q== + dependencies: + atlassian-jwt "^1.0.2" + request "^2.88.0" + rsvp "^4.8.4" + atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" @@ -10357,6 +11277,11 @@ bottleneck@^2.15.3, bottleneck@^2.18.1: resolved "https://registry.yarnpkg.com/bottleneck/-/bottleneck-2.19.5.tgz#5df0b90f59fd47656ebe63c78a98419205cadd91" integrity sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw== +bowser@^2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" + integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== + boxen@5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" @@ -10719,6 +11644,11 @@ bser@2.1.1: dependencies: node-int64 "^0.4.0" +bson@^5.4.0: + version "5.5.1" + resolved "https://registry.yarnpkg.com/bson/-/bson-5.5.1.tgz#f5849d405711a7f23acdda9a442375df858e6833" + integrity sha512-ix0EwukN2EpC0SRWIj/7B5+A6uQMQy6KMREI9qQqvgpkV2frH63T0UDVd1SYedL6dNCmDBYB3QtXi4ISk9YT+g== + btoa-lite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" @@ -14896,6 +15826,11 @@ dotenv@~10.0.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== +dottie@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/dottie/-/dottie-2.0.6.tgz#34564ebfc6ec5e5772272d466424ad5b696484d4" + integrity sha512-iGCHkfUc5kFekGiqhe8B/mdaurD+lakO9txNnTvKtA6PISrw86LgqHvRzWYPyoE2Ph5aMIrCw9/uko6XHTKCwA== + ds-store@^0.1.5: version "0.1.6" resolved "https://registry.yarnpkg.com/ds-store/-/ds-store-0.1.6.tgz#d1024ef746ed0c13f0f7fec85c7e858e8c4b7ca7" @@ -16976,6 +17911,13 @@ fast-url-parser@^1.1.3: dependencies: punycode "^1.3.2" +fast-xml-parser@4.2.5: + version "4.2.5" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz#a6747a09296a6cb34f2ae634019bf1738f3b421f" + integrity sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== + dependencies: + strnum "^1.0.5" + fastest-levenshtein@^1.0.12, fastest-levenshtein@^1.0.16: version "1.0.16" resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" @@ -19721,6 +20663,11 @@ infer-owner@^1.0.3, infer-owner@^1.0.4: resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== +inflection@^1.13.4: + version "1.13.4" + resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.13.4.tgz#65aa696c4e2da6225b148d7a154c449366633a32" + integrity sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw== + inflight@^1.0.4, inflight@~1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -19886,6 +20833,27 @@ inquirer@8.2.5: through "^2.3.6" wrap-ansi "^7.0.0" +inquirer@^8.2.5: + version "8.2.6" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.6.tgz#733b74888195d8d400a67ac332011b5fae5ea562" + integrity sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^6.0.1" + insert-module-globals@^7.0.0, insert-module-globals@^7.2.1: version "7.2.1" resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.2.1.tgz#d5e33185181a4e1f33b15f7bf100ee91890d5cb3" @@ -22242,7 +23210,7 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -json5@2.x, json5@^2.1.2, json5@^2.2.0, json5@^2.2.2: +json5@2.x, json5@^2.1.2, json5@^2.2.0, json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -22315,6 +23283,11 @@ jsonpointer@^5.0.0: resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559" integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== +jsonschema@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.0.3.tgz#1a4df9611e75b3b4b4e52a00c1110ed0e9d7b360" + integrity sha512-rgGG2VbD1PkT7pwz6tJ4l4O+2egLjYRP5wJMFV0x2z9UWRwJLEKGzl1eAvtWHAbNw+lVlXCLHeoRarMn8UIX3Q== + jsonwebtoken@9.0.0, jsonwebtoken@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz#d0faf9ba1cc3a56255fe49c0961a67e520c1926d" @@ -22353,6 +23326,11 @@ jstransformer@1.0.0: is-promise "^2.0.0" promise "^7.0.1" +jsuri@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsuri/-/jsuri-1.3.1.tgz#cd93fc6a87b255142cb7b0f479f00517ab9395ed" + integrity sha512-LLdAeqOf88/X0hylAI7oSir6QUsz/8kOW0FcJzzu/SJRfORA/oPHycAOthkNp7eLPlTAbqVDFbqNRHkRVzEA3g== + jszip@^3.1.3: version "3.10.1" resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" @@ -23726,7 +24704,7 @@ lodash@4.17.12: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.12.tgz#a712c74fdc31f7ecb20fe44f157d802d208097ef" integrity sha512-+CiwtLnsJhX03p20mwXuvhoebatoh5B3tt+VvYlrPgZC1g36y+RRbkufX95Xa+X4I59aWEacDFYwnJZiyBh9gA== -lodash@4.17.21, lodash@4.x, lodash@>=4.17.13, lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0: +lodash@4.17.21, lodash@4.x, lodash@>=4.17.13, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.3.0, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -24246,7 +25224,7 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" -md5@^2.2.1: +md5@^2.2.1, md5@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== @@ -24306,6 +25284,11 @@ memory-fs@^0.5.0: errno "^0.1.3" readable-stream "^2.0.1" +memory-pager@^1.0.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" + integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== + memorystream@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" @@ -25130,6 +26113,13 @@ mkdirp@^2.1.3: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-2.1.5.tgz#78d7eaf15e069ba7b6b47d76dd94cfadf7a4062f" integrity sha512-jbjfql+shJtAPrFoKxHOXip4xS+kul9W3OzfzzrqueWK2QMGon2bFH2opl6W9EagBThjEz+iysyi/swOoVfB/w== +mnemonist@0.38.3: + version "0.38.3" + resolved "https://registry.yarnpkg.com/mnemonist/-/mnemonist-0.38.3.tgz#35ec79c1c1f4357cfda2fe264659c2775ccd7d9d" + integrity sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw== + dependencies: + obliterator "^1.6.1" + mobx@~4.14.1: version "4.14.1" resolved "https://registry.yarnpkg.com/mobx/-/mobx-4.14.1.tgz#0dc5622523363f6f5b467a5a0c4c99846b789748" @@ -25192,11 +26182,37 @@ moment-timezone@^0.5.31, moment-timezone@^0.5.32, moment-timezone@^0.5.40, momen dependencies: moment "^2.29.4" +moment-timezone@^0.5.43: + version "0.5.43" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.43.tgz#3dd7f3d0c67f78c23cd1906b9b2137a09b3c4790" + integrity sha512-72j3aNyuIsDxdF1i7CEgV2FfxM1r6aaqJyLB2vwb33mXYyoyLly+F1zbWqhA3/bVIoJ4szlUoMbUnVdid32NUQ== + dependencies: + moment "^2.29.4" + moment@>=2.14.0, moment@^2.10.2, moment@^2.29.4: version "2.29.4" resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== +mongodb-connection-string-url@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz#57901bf352372abdde812c81be47b75c6b2ec5cf" + integrity sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ== + dependencies: + "@types/whatwg-url" "^8.2.1" + whatwg-url "^11.0.0" + +mongodb@5.8.1: + version "5.8.1" + resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-5.8.1.tgz#dc201adfbd6c6d73401cdcf12ebdb75f14771faf" + integrity sha512-wKyh4kZvm6NrCPH8AxyzXm3JBoEf4Xulo0aUWh3hCgwgYJxyQ1KLST86ZZaSWdj6/kxYUA3+YZuyADCE61CMSg== + dependencies: + bson "^5.4.0" + mongodb-connection-string-url "^2.6.0" + socks "^2.7.1" + optionalDependencies: + "@mongodb-js/saslprep" "^1.1.0" + moo@^0.5.0, moo@^0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/moo/-/moo-0.5.2.tgz#f9fe82473bc7c184b0d32e2215d3f6e67278733c" @@ -26940,6 +27956,11 @@ object.reduce@^0.1.7: dependencies: for-own "^0.1.3" +obliterator@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/obliterator/-/obliterator-1.6.1.tgz#dea03e8ab821f6c4d96a299e17aef6a3af994ef3" + integrity sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig== + obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" @@ -28175,6 +29196,11 @@ pg-connection-string@2.5.0, pg-connection-string@^2.5.0: resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.5.0.tgz#538cadd0f7e603fc09a12590f3b8a452c2c0cf34" integrity sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ== +pg-connection-string@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.6.2.tgz#713d82053de4e2bd166fab70cd4f26ad36aab475" + integrity sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA== + pg-cursor@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/pg-cursor/-/pg-cursor-2.9.0.tgz#6e55af7511a484f9c8f4100f519990fb9c8e797c" @@ -30931,6 +31957,11 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== +retry-as-promised@^7.0.4: + version "7.0.4" + resolved "https://registry.yarnpkg.com/retry-as-promised/-/retry-as-promised-7.0.4.tgz#9df73adaeea08cb2948b9d34990549dc13d800a2" + integrity sha512-XgmCoxKWkDofwH8WddD0w85ZfqYz+ZHlr5yo+3YUCfycWawU56T5ckWXsScsj5B8tqUcIG67DxXByo3VUgiAdA== + retry@0.13.1, retry@^0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" @@ -31539,7 +32570,7 @@ semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.1.3, semver@^ dependencies: lru-cache "^6.0.0" -semver@^7.5.3: +semver@^7.5.3, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -31594,6 +32625,33 @@ send@^0.17.1: range-parser "~1.2.1" statuses "~1.5.0" +sequelize-pool@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/sequelize-pool/-/sequelize-pool-7.1.0.tgz#210b391af4002762f823188fd6ecfc7413020768" + integrity sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg== + +sequelize@^6.29.0: + version "6.35.1" + resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-6.35.1.tgz#e640bc11a7a37f6fa23a92974b5e5ca20affd150" + integrity sha512-UlP5k33nJsN11wCDLaWZXw9bB8w4ESKc5QmG6D04qMimwBwKVNeqRJiaaBlEJdtg8cRK+OJh95dliP+uEi+g9Q== + dependencies: + "@types/debug" "^4.1.8" + "@types/validator" "^13.7.17" + debug "^4.3.4" + dottie "^2.0.6" + inflection "^1.13.4" + lodash "^4.17.21" + moment "^2.29.4" + moment-timezone "^0.5.43" + pg-connection-string "^2.6.1" + retry-as-promised "^7.0.4" + semver "^7.5.4" + sequelize-pool "^7.1.0" + toposort-class "^1.0.1" + uuid "^8.3.2" + validator "^13.9.0" + wkx "^0.5.0" + serialize-error@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a" @@ -32114,7 +33172,7 @@ socks-proxy-agent@^7.0.0: debug "^4.3.3" socks "^2.6.2" -socks@^2.3.3, socks@^2.6.2: +socks@^2.3.3, socks@^2.6.2, socks@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== @@ -32296,6 +33354,13 @@ sparkles@^1.0.0: resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== +sparse-bitfield@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" + integrity sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ== + dependencies: + memory-pager "^1.0.2" + spawn-command@^0.0.2-1: version "0.0.2-1" resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" @@ -33016,6 +34081,11 @@ strip-outer@^1.0.1: dependencies: escape-string-regexp "^1.0.2" +strnum@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" + integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== + strong-log-transformer@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" @@ -33866,6 +34936,11 @@ topo@2.x.x: dependencies: hoek "4.x.x" +toposort-class@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toposort-class/-/toposort-class-1.0.1.tgz#7ffd1f78c8be28c3ba45cd4e1a3f5ee193bd9988" + integrity sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg== + totalist@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" @@ -33919,6 +34994,13 @@ tr46@^2.1.0: dependencies: punycode "^2.1.1" +tr46@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" + integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== + dependencies: + punycode "^2.1.1" + tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" @@ -34127,7 +35209,7 @@ tslib@2.5.0, tslib@^2, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.2.0, t resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== -tslib@^1.10.0, tslib@^1.13.0, tslib@^1.7.1, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: +tslib@^1.10.0, tslib@^1.11.1, tslib@^1.13.0, tslib@^1.7.1, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -34903,6 +35985,11 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +urijs@^1.19.11: + version "1.19.11" + resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.11.tgz#204b0d6b605ae80bea54bea39280cdb7c9f923cc" + integrity sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ== + urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" @@ -35129,6 +36216,11 @@ validator@^13.0.0, validator@^13.7.0: resolved "https://registry.yarnpkg.com/validator/-/validator-13.9.0.tgz#33e7b85b604f3bbce9bb1a05d5c3e22e1c2ff855" integrity sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA== +validator@^13.9.0: + version "13.11.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-13.11.0.tgz#23ab3fd59290c61248364eabf4067f04955fbb1b" + integrity sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ== + value-or-promise@1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.11.tgz#3e90299af31dd014fe843fe309cefa7c1d94b140" @@ -35429,6 +36521,11 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== +webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== + webpack-bundle-analyzer@^4.4.2: version "4.8.0" resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.8.0.tgz#951b8aaf491f665d2ae325d8b84da229157b1d04" @@ -35721,6 +36818,14 @@ whatwg-mimetype@^3.0.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== +whatwg-url@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" + integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== + dependencies: + tr46 "^3.0.0" + webidl-conversions "^7.0.0" + whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" @@ -35842,6 +36947,13 @@ with@^7.0.0: assert-never "^1.2.1" babel-walk "3.0.0-canary-5" +wkx@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/wkx/-/wkx-0.5.0.tgz#c6c37019acf40e517cc6b94657a25a3d4aa33e8c" + integrity sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg== + dependencies: + "@types/node" "*" + word-wrap@^1.0.3, word-wrap@~1.2.3: version "1.2.4" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f" @@ -35881,7 +36993,7 @@ wrap-ansi@^5.1.0: string-width "^3.0.0" strip-ansi "^5.0.0" -wrap-ansi@^6.2.0: +wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==