From 18e6ef9e8876d4b80ae21535cb7fc60d4de14ca6 Mon Sep 17 00:00:00 2001 From: Tracey Date: Thu, 16 Mar 2023 15:41:52 -0700 Subject: [PATCH] adjusting tests to use msw and other changes requested in pr Signed-off-by: Tracey --- .changeset/new-pigs-jam.md | 4 +- .../README.md | 20 +- .../package.json | 7 +- .../confluence/confluenceToMarkdown.test.ts | 121 ++- .../confluence/confluenceToMarkdown.ts | 21 +- .../src/actions/confluence/helpers.ts | 22 +- .../src/index.ts | 2 +- yarn.lock | 717 ++++++++++-------- 8 files changed, 466 insertions(+), 448 deletions(-) diff --git a/.changeset/new-pigs-jam.md b/.changeset/new-pigs-jam.md index 4c7f74d17f..c56880e891 100644 --- a/.changeset/new-pigs-jam.md +++ b/.changeset/new-pigs-jam.md @@ -1,5 +1,5 @@ --- -'@backstage/plugin-scaffolder-backend-module-confluence-to-markdowwn': minor +'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': minor --- -Created new action for converting confluence docs to Markdown, to be pushed to GitHub repos onboarded onto Techdocs +Created new action for converting confluence docs to Markdown, to be pushed to GitHub repos configured for Techdocs diff --git a/plugins/scaffolder-backend-module-confluence-to-markdowwn/README.md b/plugins/scaffolder-backend-module-confluence-to-markdowwn/README.md index 61cc1efe13..56ca4afffc 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdowwn/README.md +++ b/plugins/scaffolder-backend-module-confluence-to-markdowwn/README.md @@ -1,4 +1,4 @@ -# @backstage/plugin-scaffolder-backend-module-confluence-to-markdowwn +# @backstage/plugin-scaffolder-backend-module-confluence-to-markdown Welcome to the `transform:confluence-to-markdown` action for the `scaffolder-backend`. @@ -10,7 +10,7 @@ You need to configure the action in your backend: ```bash # From your Backstage root directory -yarn add --cwd packages/backend @backstage/plugin-scaffolder-backend-module-confluence-to-markdowwn +yarn add --cwd packages/backend @backstage/plugin-scaffolder-backend-module-confluence-to-markdown ``` Configure the action: @@ -21,7 +21,7 @@ Configure the action: import { createBuiltinActions } from '@backstage/plugin-scaffolder-backend'; import { ScmIntegrations } from '@backstage/integration'; -import { createConfluenceToMarkdownAction } from '@backstage/plugin-scaffolder-backend-module-confluence-to-markdowwn'; +import { createConfluenceToMarkdownAction } from '@backstage/plugin-scaffolder-backend-module-confluence-to-markdown'; export default async function createPlugin( env: PluginEnvironment, @@ -58,16 +58,15 @@ export default async function createPlugin( You will also need an access token for authorization with `Read` permissions. You can create a Personal Access Token (PAT) in confluence and add the PAT to your `app-config.yaml` -``` +```yaml confluence: baseUrl: ${CONFLUENCE_BASE_URL} token: ${CONFLUENCE_TOKEN} - ``` After that you can use the action in your template: -``` +```yaml apiVersion: scaffolder.backstage.io/v1beta3 kind: Template metadata: @@ -85,7 +84,7 @@ spec: properties: confluenceUrls: type: array - description: Urls for confluence doc to be converted to markdown. In format /display// or /pages/viewpage.action?spacekey=&title= + description: Urls for confluence doc to be converted to markdown. In format /display// items: type: string default: confluence url @@ -95,8 +94,8 @@ spec: maxItems: 5 repoUrl: type: string - title: GitHub url mkdocs.yaml link - description: The GitHub repo url to your mkdocs.yaml file. Example + title: GitHub URL mkdocs.yaml link + description: The GitHub repo URL to your mkdocs.yaml file. Example steps: - id: create-docs name: Get markdown file created and update markdown.yaml file @@ -118,9 +117,8 @@ spec: input: prUrl: ${{ steps['publish'].output.remoteUrl }} forceAdmin: true - ``` Replace `` with your GitHub url without `https://`. -You can find a list of all registred actions including their parameters at the /create/actions route in your Backstage application. +You can find a list of all registered actions including their parameters at the /create/actions route in your Backstage application. diff --git a/plugins/scaffolder-backend-module-confluence-to-markdowwn/package.json b/plugins/scaffolder-backend-module-confluence-to-markdowwn/package.json index 6ae6ea8688..10aef2bca3 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdowwn/package.json +++ b/plugins/scaffolder-backend-module-confluence-to-markdowwn/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-confluence-to-markdown", - "description": "The confluence-to-markdowwn module for @backstage/plugin-scaffolder-backend", + "description": "The confluence-to-markdown module for @backstage/plugin-scaffolder-backend", "version": "0.0.0", "main": "src/index.ts", "types": "src/index.ts", @@ -31,16 +31,19 @@ "@backstage/plugin-scaffolder-backend": "workspace:^", "@backstage/plugin-scaffolder-node": "workspace:^", "@backstage/types": "workspace:^", - "fs": "^0.0.1-security", "fs-extra": "^11.1.0", "git-url-parse": "^13.1.0", + "jest": "^29.5.0", "node-fetch": "2.6.7", "node-html-markdown": "^1.3.0", + "ts-jest": "^29.0.5", "yaml": "^2.2.1" }, "devDependencies": { "@backstage/cli": "workspace:^", + "@backstage/test-utils": "workspace:^", "mock-fs": "^5.2.0", + "msw": "^1.1.0", "os": "^0.1.2" }, "files": [ diff --git a/plugins/scaffolder-backend-module-confluence-to-markdowwn/src/actions/confluence/confluenceToMarkdown.test.ts b/plugins/scaffolder-backend-module-confluence-to-markdowwn/src/actions/confluence/confluenceToMarkdown.test.ts index 6a3a497d99..ae98c38c03 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdowwn/src/actions/confluence/confluenceToMarkdown.test.ts +++ b/plugins/scaffolder-backend-module-confluence-to-markdowwn/src/actions/confluence/confluenceToMarkdown.test.ts @@ -19,14 +19,14 @@ import { getVoidLogger } from '@backstage/backend-common'; import { UrlReader } from '@backstage/backend-common'; import { ConfigReader } from '@backstage/config'; import { ScmIntegrations } from '@backstage/integration'; +import { setupRequestMockHandlers } from '@backstage/test-utils'; import mockFs from 'mock-fs'; import os from 'os'; -import fetch from 'node-fetch'; import type { ActionContext } from '@backstage/plugin-scaffolder-node'; -import { readFile, writeFile } from 'fs-extra'; -import { Readable } from 'stream'; +import { readFile, writeFile, createWriteStream } from 'fs-extra'; +import { rest } from 'msw'; +import { setupServer } from 'msw/node'; -jest.mock('node-fetch'); jest.mock('fs-extra', () => ({ mkdirSync: jest.fn(), readFile: jest.fn().mockResolvedValue('File contents'), @@ -38,12 +38,15 @@ jest.mock('fs-extra', () => ({ createWriteStream: jest.fn().mockReturnValue(new PassThrough()), writeStream: jest.fn(), })); -const { Response } = jest.requireActual('node-fetch'); describe('transform:confluence-to-markdown', () => { + const baseUrl = `https://nodomain.confluence.com`; + const worker = setupServer(); + setupRequestMockHandlers(worker); + const config = new ConfigReader({ confluence: { - baseUrl: 'https://nodomain.confluence.com/', + baseUrl: baseUrl, token: 'fake_token', }, }); @@ -131,25 +134,19 @@ describe('transform:confluence-to-markdown', () => { ], }; - (fetch as jest.MockedFunction) - .mockResolvedValueOnce( - new Response(JSON.stringify(responseBody), { - status: 200, - statusText: 'OK', - }), - ) - .mockResolvedValueOnce( - new Response(JSON.stringify(responseBodyTwo), { - status: 200, - statusText: 'OK', - }), - ) - .mockResolvedValueOnce( - new Response(Readable.from('Hello world'), { - status: 200, - statusText: 'OK', - }), - ); + worker.use( + rest.get(`${baseUrl}/rest/api/content`, (_, res, ctx) => + res(ctx.status(200, 'OK'), ctx.json(responseBody)), + ), + rest.get( + `${baseUrl}/rest/api/content/4444444/child/attachment`, + (_, res, ctx) => res(ctx.status(200, 'OK'), ctx.json(responseBodyTwo)), + ), + rest.get( + `${baseUrl}/download/attachments/4444444/testing.pdf`, + (_, res, ctx) => res(ctx.status(200, 'OK'), ctx.body('hello')), + ), + ); const mockCreateWriteStream = jest.fn().mockReturnValue({ on: jest.fn(), @@ -169,8 +166,7 @@ describe('transform:confluence-to-markdown', () => { `Fetching the mkdocs.yml catalog from https://notreal.github.com/space/backstage/mkdocs.yml`, ); expect(logger.info).toHaveBeenCalledTimes(5); - - expect(fetch).toHaveBeenCalledTimes(3); + expect(createWriteStream).toHaveBeenCalledTimes(1); expect(readFile).toHaveBeenCalledTimes(1); expect(writeFile).toHaveBeenCalledTimes(1); }); @@ -199,19 +195,15 @@ describe('transform:confluence-to-markdown', () => { results: [], }; - (fetch as jest.MockedFunction) - .mockResolvedValueOnce( - new Response(JSON.stringify(responseBody), { - status: 200, - statusText: 'OK', - }), - ) - .mockResolvedValueOnce( - new Response(JSON.stringify(responseBodyTwo), { - status: 200, - statusText: 'OK', - }), - ); + worker.use( + rest.get(`${baseUrl}/rest/api/content`, (_, res, ctx) => + res(ctx.status(200, 'OK'), ctx.json(responseBody)), + ), + rest.get( + `${baseUrl}/rest/api/content/4444444/child/attachment`, + (_, res, ctx) => res(ctx.status(200, 'OK'), ctx.json(responseBodyTwo)), + ), + ); jest.mock('fs-extra', () => ({ readFile: jest.fn().mockResolvedValue('File contents'), @@ -225,7 +217,7 @@ describe('transform:confluence-to-markdown', () => { ); expect(logger.info).toHaveBeenCalledTimes(5); - expect(fetch).toHaveBeenCalledTimes(2); + expect(createWriteStream).not.toHaveBeenCalled(); expect(readFile).toHaveBeenCalledTimes(1); expect(writeFile).toHaveBeenCalledTimes(1); }); @@ -237,13 +229,13 @@ describe('transform:confluence-to-markdown', () => { config, }; const responseBody = {}; - (fetch as jest.MockedFunction).mockResolvedValueOnce( - new Response(JSON.stringify(responseBody), { - status: 401, - statusText: 'npot', - ok: false, - }), + + worker.use( + rest.get(`${baseUrl}/rest/api/content`, (_, res, ctx) => + res(ctx.status(401, 'nope'), ctx.json(responseBody)), + ), ); + const action = createConfluenceToMarkdownAction(options); await expect(async () => { await action.handler(mockContext); @@ -259,12 +251,13 @@ describe('transform:confluence-to-markdown', () => { const responseBody = { results: [], }; - (fetch as jest.MockedFunction).mockResolvedValueOnce( - new Response(JSON.stringify(responseBody), { - status: 200, - statusText: 'ok', - }), + + worker.use( + rest.get(`${baseUrl}/rest/api/content`, (_, res, ctx) => + res(ctx.status(200, 'OK'), ctx.json(responseBody)), + ), ); + const action = createConfluenceToMarkdownAction(options); await expect(async () => { await action.handler(mockContext); @@ -295,19 +288,17 @@ describe('transform:confluence-to-markdown', () => { }; const responseBodyTwo = {}; - (fetch as jest.MockedFunction) - .mockResolvedValueOnce( - new Response(JSON.stringify(responseBody), { - status: 200, - statusText: 'OK', - }), - ) - .mockResolvedValueOnce( - new Response(JSON.stringify(responseBodyTwo), { - status: 404, - statusText: 'notok', - }), - ); + worker.use( + rest.get(`${baseUrl}/rest/api/content`, (_, res, ctx) => + res(ctx.status(200, 'OK'), ctx.json(responseBody)), + ), + rest.get( + `${baseUrl}/rest/api/content/4444444/child/attachment`, + (_, res, ctx) => + res(ctx.status(404, 'nope'), ctx.json(responseBodyTwo)), + ), + ); + const action = createConfluenceToMarkdownAction(options); await expect(async () => { await action.handler(mockContext); diff --git a/plugins/scaffolder-backend-module-confluence-to-markdowwn/src/actions/confluence/confluenceToMarkdown.ts b/plugins/scaffolder-backend-module-confluence-to-markdowwn/src/actions/confluence/confluenceToMarkdown.ts index 62bebb752f..2a7d28048a 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdowwn/src/actions/confluence/confluenceToMarkdown.ts +++ b/plugins/scaffolder-backend-module-confluence-to-markdowwn/src/actions/confluence/confluenceToMarkdown.ts @@ -22,11 +22,9 @@ import { InputError, ConflictError } from '@backstage/errors'; import { NodeHtmlMarkdown } from 'node-html-markdown'; import fs from 'fs-extra'; import parseGitUrl from 'git-url-parse'; +import YAML from 'yaml'; import { - parseFromYaml, readFileAsString, - transformToYaml, - updateFile, fetchConfluence, getAndWriteAttachments, createConfluenceVariables, @@ -92,12 +90,9 @@ export const createConfluenceToMarkdownAction = (options: { }, }); - for (let p = 0; p < confluenceUrls.length; p++) { - const confluenceUrl = confluenceUrls[p]; - + for (const url of confluenceUrls) { const { spacekey, title, titleWithSpaces } = - await createConfluenceVariables(confluenceUrl); - + await createConfluenceVariables(url); // This calls confluence to get the page html and page id const getConfluenceDoc = await fetchConfluence( `/rest/api/content?title=${title}&spaceKey=${spacekey}&expand=body.export_view`, @@ -105,7 +100,7 @@ export const createConfluenceToMarkdownAction = (options: { ); if (getConfluenceDoc.results.length === 0) { throw new InputError( - `Could not find document ${confluenceUrl}. Please check your input.`, + `Could not find document ${url}. Please check your input.`, ); } // This gets attachements for the confluence page if they exist @@ -132,7 +127,7 @@ export const createConfluenceToMarkdownAction = (options: { // This reads mkdocs.yml file const mkdocsFileContent = await readFileAsString(repoFileDir); - const mkdocsFile = parseFromYaml(mkdocsFileContent); + const mkdocsFile = await YAML.parse(mkdocsFileContent); ctx.logger.info( `Adding new file - ${titleWithSpaces} to the current mkdocs.yml file`, ); @@ -151,14 +146,14 @@ export const createConfluenceToMarkdownAction = (options: { ); } } - const newTemplateFileContent = transformToYaml(mkdocsFile); - await updateFile(newTemplateFileContent, repoFileDir); + + await fs.writeFile(repoFileDir, YAML.stringify(mkdocsFile)); // This grabs the confluence html and converts it to markdown and adds attachments const html = getConfluenceDoc.results[0].body.export_view.value; const markdownToPublish = NodeHtmlMarkdown.translate(html); let newString: string = markdownToPublish; - productArray.map((product: string[]) => { + productArray.forEach((product: string[]) => { const regex = product[1].includes('pdf') ? new RegExp(`(\\[.*?\\]\\()(.*?${product[0]}.*?)(\\))`, 'gi') : new RegExp(`(\\!\\[.*?\\]\\()(.*?${product[0]}.*?)(\\))`, 'gi'); diff --git a/plugins/scaffolder-backend-module-confluence-to-markdowwn/src/actions/confluence/helpers.ts b/plugins/scaffolder-backend-module-confluence-to-markdowwn/src/actions/confluence/helpers.ts index d0125b5a0d..d59a4cc3f5 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdowwn/src/actions/confluence/helpers.ts +++ b/plugins/scaffolder-backend-module-confluence-to-markdowwn/src/actions/confluence/helpers.ts @@ -17,7 +17,6 @@ import { Config } from '@backstage/config'; import { ResponseError, ConflictError, InputError } from '@backstage/errors'; import fs from 'fs-extra'; -import YAML from 'yaml'; import fetch, { Response } from 'node-fetch'; interface Links { @@ -49,18 +48,6 @@ export const readFileAsString = async (fileDir: string) => { return content.toString(); }; -export const parseFromYaml = (content: string) => { - return YAML.parse(content); -}; - -export const transformToYaml = (content: any) => { - return YAML.stringify(content); -}; - -export const updateFile = async (content: string, file: string) => { - await fs.writeFile(file, content); -}; - export const fetchConfluence = async (relativeUrl: string, config: Config) => { const baseUrl = config.getString('confluence.baseUrl'); const token = config.getString('confluence.token'); @@ -100,7 +87,6 @@ export const getAndWriteAttachments = async ( Authorization: `Bearer ${token}`, }, }); - // console.log(`${workspace}/${mkdocsDir}docs/img/${downloadTitle}`) if (!res.ok) { throw ResponseError.fromResponse(res); } else if (res.body !== null) { @@ -126,11 +112,11 @@ export const getAndWriteAttachments = async ( }; export const createConfluenceVariables = async (url: string) => { - let spacekey: string | null = null; - let title: string | null = null; - let titleWithSpaces: string | null = ''; + let spacekey: string | undefined = undefined; + let title: string | undefined = undefined; + let titleWithSpaces: string | undefined = ''; const params = new URL(url); - if (url.includes('display')) { + if (params.pathname.split('/')[1] === 'display') { spacekey = params.pathname.split('/')[2]; title = params.pathname.split('/')[3]; titleWithSpaces = title?.replace(/\+/g, ' '); diff --git a/plugins/scaffolder-backend-module-confluence-to-markdowwn/src/index.ts b/plugins/scaffolder-backend-module-confluence-to-markdowwn/src/index.ts index e38cee3557..bda2c7f9a1 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdowwn/src/index.ts +++ b/plugins/scaffolder-backend-module-confluence-to-markdowwn/src/index.ts @@ -15,7 +15,7 @@ */ /** - * The confluence-to-markdowwn module for @backstage/plugin-scaffolder-backend. + * The confluence-to-markdown module for @backstage/plugin-scaffolder-backend. * * @packageDocumentation */ diff --git a/yarn.lock b/yarn.lock index 3585d449fc..4514e3757b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7651,9 +7651,9 @@ __metadata: languageName: unknown linkType: soft -"@backstage/plugin-scaffolder-backend-module-confluence-to-markdowwn@workspace:plugins/scaffolder-backend-module-confluence-to-markdowwn": +"@backstage/plugin-scaffolder-backend-module-confluence-to-markdown@workspace:plugins/scaffolder-backend-module-confluence-to-markdowwn": version: 0.0.0-use.local - resolution: "@backstage/plugin-scaffolder-backend-module-confluence-to-markdowwn@workspace:plugins/scaffolder-backend-module-confluence-to-markdowwn" + resolution: "@backstage/plugin-scaffolder-backend-module-confluence-to-markdown@workspace:plugins/scaffolder-backend-module-confluence-to-markdowwn" dependencies: "@backstage/backend-common": "workspace:^" "@backstage/cli": "workspace:^" @@ -7662,14 +7662,17 @@ __metadata: "@backstage/integration": "workspace:^" "@backstage/plugin-scaffolder-backend": "workspace:^" "@backstage/plugin-scaffolder-node": "workspace:^" + "@backstage/test-utils": "workspace:^" "@backstage/types": "workspace:^" - fs: ^0.0.1-security fs-extra: ^11.1.0 git-url-parse: ^13.1.0 + jest: ^29.5.0 mock-fs: ^5.2.0 + msw: ^1.1.0 node-fetch: 2.6.7 node-html-markdown: ^1.3.0 os: ^0.1.2 + ts-jest: ^29.0.5 yaml: ^2.2.1 languageName: unknown linkType: soft @@ -11173,50 +11176,50 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/console@npm:29.4.3" +"@jest/console@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/console@npm:29.5.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 "@types/node": "*" chalk: ^4.0.0 - jest-message-util: ^29.4.3 - jest-util: ^29.4.3 + jest-message-util: ^29.5.0 + jest-util: ^29.5.0 slash: ^3.0.0 - checksum: 8d9b163febe735153b523db527742309f4d598eda22f17f04e030060329bd3da4de7420fc1f7812f7a16f08273654a7de094c4b4e8b81a99dbfc17cfb1629008 + checksum: 9f4f4b8fabd1221361b7f2e92d4a90f5f8c2e2b29077249996ab3c8b7f765175ffee795368f8d6b5b2bb3adb32dc09319f7270c7c787b0d259e624e00e0f64a5 languageName: node linkType: hard -"@jest/core@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/core@npm:29.4.3" +"@jest/core@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/core@npm:29.5.0" dependencies: - "@jest/console": ^29.4.3 - "@jest/reporters": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/transform": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/console": ^29.5.0 + "@jest/reporters": ^29.5.0 + "@jest/test-result": ^29.5.0 + "@jest/transform": ^29.5.0 + "@jest/types": ^29.5.0 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 ci-info: ^3.2.0 exit: ^0.1.2 graceful-fs: ^4.2.9 - jest-changed-files: ^29.4.3 - jest-config: ^29.4.3 - jest-haste-map: ^29.4.3 - jest-message-util: ^29.4.3 + jest-changed-files: ^29.5.0 + jest-config: ^29.5.0 + jest-haste-map: ^29.5.0 + jest-message-util: ^29.5.0 jest-regex-util: ^29.4.3 - jest-resolve: ^29.4.3 - jest-resolve-dependencies: ^29.4.3 - jest-runner: ^29.4.3 - jest-runtime: ^29.4.3 - jest-snapshot: ^29.4.3 - jest-util: ^29.4.3 - jest-validate: ^29.4.3 - jest-watcher: ^29.4.3 + jest-resolve: ^29.5.0 + jest-resolve-dependencies: ^29.5.0 + jest-runner: ^29.5.0 + jest-runtime: ^29.5.0 + jest-snapshot: ^29.5.0 + jest-util: ^29.5.0 + jest-validate: ^29.5.0 + jest-watcher: ^29.5.0 micromatch: ^4.0.4 - pretty-format: ^29.4.3 + pretty-format: ^29.5.0 slash: ^3.0.0 strip-ansi: ^6.0.0 peerDependencies: @@ -11224,7 +11227,7 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: 4aa10644d66f44f051d5dd9cdcedce27acc71216dbcc5e7adebdea458e27aefe27c78f457d7efd49f58b968c35f42de5a521590876e2013593e675120b9e6ab1 + checksum: 9e8f5243fe82d5a57f3971e1b96f320058df7c315328a3a827263f3b17f64be10c80f4a9c1b1773628b64d2de6d607c70b5b2d5bf13e7f5ad04223e9ef6aac06 languageName: node linkType: hard @@ -11237,15 +11240,15 @@ __metadata: languageName: node linkType: hard -"@jest/environment@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/environment@npm:29.4.3" +"@jest/environment@npm:^29.4.3, @jest/environment@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/environment@npm:29.5.0" dependencies: - "@jest/fake-timers": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/fake-timers": ^29.5.0 + "@jest/types": ^29.5.0 "@types/node": "*" - jest-mock: ^29.4.3 - checksum: 7c1b0cc4e84b90f8a3bbeca9bbf088882c88aee70a81b3b8e24265dcb1cbc302cd1eee3319089cf65bfd39adbaea344903c712afea106cb8da6c86088d99c5fb + jest-mock: ^29.5.0 + checksum: 921de6325cd4817dec6685e5ff299b499b6379f3f9cf489b4b13588ee1f3820a0c77b49e6a087996b6de8f629f6f5251e636cba08d1bdb97d8071cc7d033c88a languageName: node linkType: hard @@ -11258,60 +11261,60 @@ __metadata: languageName: node linkType: hard -"@jest/expect-utils@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/expect-utils@npm:29.4.3" +"@jest/expect-utils@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/expect-utils@npm:29.5.0" dependencies: jest-get-type: ^29.4.3 - checksum: 2bbed39ff2fb59f5acac465a1ce7303e3b4b62b479e4f386261986c9827f7f799ea912761e22629c5daf10addf8513f16733c14a29c2647bb66d4ee625e9ff92 + checksum: c46fb677c88535cf83cf29f0a5b1f376c6a1109ddda266ad7da1a9cbc53cb441fa402dd61fc7b111ffc99603c11a9b3357ee41a1c0e035a58830bcb360871476 languageName: node linkType: hard -"@jest/expect@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/expect@npm:29.4.3" +"@jest/expect@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/expect@npm:29.5.0" dependencies: - expect: ^29.4.3 - jest-snapshot: ^29.4.3 - checksum: 08d0d40077ec99a7491fe59d05821dbd31126cfba70875855d8a063698b7126b5f6c309c50811caacc6ae2f727c6e44f51bdcf1d6c1ea832b4f020045ef22d45 + expect: ^29.5.0 + jest-snapshot: ^29.5.0 + checksum: bd10e295111547e6339137107d83986ab48d46561525393834d7d2d8b2ae9d5626653f3f5e48e5c3fa742ac982e97bdf1f541b53b9e1d117a247b08e938527f6 languageName: node linkType: hard -"@jest/fake-timers@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/fake-timers@npm:29.4.3" +"@jest/fake-timers@npm:^29.4.3, @jest/fake-timers@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/fake-timers@npm:29.5.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 "@sinonjs/fake-timers": ^10.0.2 "@types/node": "*" - jest-message-util: ^29.4.3 - jest-mock: ^29.4.3 - jest-util: ^29.4.3 - checksum: adaceb9143c395cccf3d7baa0e49b7042c3092a554e8283146df19926247e34c21b5bde5688bb90e9e87b4a02e4587926c5d858ee0a38d397a63175d0a127874 + jest-message-util: ^29.5.0 + jest-mock: ^29.5.0 + jest-util: ^29.5.0 + checksum: 69930c6922341f244151ec0d27640852ec96237f730fc024da1f53143d31b43cde75d92f9d8e5937981cdce3b31416abc3a7090a0d22c2377512c4a6613244ee languageName: node linkType: hard -"@jest/globals@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/globals@npm:29.4.3" +"@jest/globals@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/globals@npm:29.5.0" dependencies: - "@jest/environment": ^29.4.3 - "@jest/expect": ^29.4.3 - "@jest/types": ^29.4.3 - jest-mock: ^29.4.3 - checksum: ea76b546ceb4aa5ce2bb3726df12f989b23150b51c9f7664790caa81b943012a657cf3a8525498af1c3518cdb387f54b816cfba1b0ddd22c7b20f03b1d7290b4 + "@jest/environment": ^29.5.0 + "@jest/expect": ^29.5.0 + "@jest/types": ^29.5.0 + jest-mock: ^29.5.0 + checksum: b309ab8f21b571a7c672608682e84bbdd3d2b554ddf81e4e32617fec0a69094a290ab42e3c8b2c66ba891882bfb1b8b2736720ea1285b3ad646d55c2abefedd9 languageName: node linkType: hard -"@jest/reporters@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/reporters@npm:29.4.3" +"@jest/reporters@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/reporters@npm:29.5.0" dependencies: "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/transform": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/console": ^29.5.0 + "@jest/test-result": ^29.5.0 + "@jest/transform": ^29.5.0 + "@jest/types": ^29.5.0 "@jridgewell/trace-mapping": ^0.3.15 "@types/node": "*" chalk: ^4.0.0 @@ -11324,9 +11327,9 @@ __metadata: istanbul-lib-report: ^3.0.0 istanbul-lib-source-maps: ^4.0.0 istanbul-reports: ^3.1.3 - jest-message-util: ^29.4.3 - jest-util: ^29.4.3 - jest-worker: ^29.4.3 + jest-message-util: ^29.5.0 + jest-util: ^29.5.0 + jest-worker: ^29.5.0 slash: ^3.0.0 string-length: ^4.0.1 strip-ansi: ^6.0.0 @@ -11336,7 +11339,7 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: 7aa2e429c915bd96c3334962addd69d2bbf52065725757ddde26b293f8c4420a1e8c65363cc3e1e5ec89100a5273ccd3771bec58325a2cc0d97afdc81995073a + checksum: 481268aac9a4a75cc49c4df1273d6b111808dec815e9d009dad717c32383ebb0cebac76e820ad1ab44e207540e1c2fe1e640d44c4f262de92ab1933e057fdeeb languageName: node linkType: hard @@ -11369,50 +11372,50 @@ __metadata: languageName: node linkType: hard -"@jest/test-result@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/test-result@npm:29.4.3" +"@jest/test-result@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/test-result@npm:29.5.0" dependencies: - "@jest/console": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/console": ^29.5.0 + "@jest/types": ^29.5.0 "@types/istanbul-lib-coverage": ^2.0.0 collect-v8-coverage: ^1.0.0 - checksum: 164f102b96619ec283c2c39e208b8048e4674f75bf3c3a4f2e95048ae0f9226105add684b25f10d286d91c221625f877e2c1cfc3da46c42d7e1804da239318cb + checksum: 2e8ff5242227ab960c520c3ea0f6544c595cc1c42fa3873c158e9f4f685f4ec9670ec08a4af94ae3885c0005a43550a9595191ffbc27a0965df27d9d98bbf901 languageName: node linkType: hard -"@jest/test-sequencer@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/test-sequencer@npm:29.4.3" +"@jest/test-sequencer@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/test-sequencer@npm:29.5.0" dependencies: - "@jest/test-result": ^29.4.3 + "@jest/test-result": ^29.5.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.4.3 + jest-haste-map: ^29.5.0 slash: ^3.0.0 - checksum: 145e1fa9379e5be3587bde6d585b8aee5cf4442b06926928a87e9aec7de5be91b581711d627c6ca13144d244fe05e5d248c13b366b51bedc404f9dcfbfd79e9e + checksum: eca34b4aeb2fda6dfb7f9f4b064c858a7adf64ec5c6091b6f4ed9d3c19549177cbadcf1c615c4c182688fa1cf085c8c55c3ca6eea40719a34554b0bf071d842e languageName: node linkType: hard -"@jest/transform@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/transform@npm:29.4.3" +"@jest/transform@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/transform@npm:29.5.0" dependencies: "@babel/core": ^7.11.6 - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 "@jridgewell/trace-mapping": ^0.3.15 babel-plugin-istanbul: ^6.1.1 chalk: ^4.0.0 convert-source-map: ^2.0.0 fast-json-stable-stringify: ^2.1.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.4.3 + jest-haste-map: ^29.5.0 jest-regex-util: ^29.4.3 - jest-util: ^29.4.3 + jest-util: ^29.5.0 micromatch: ^4.0.4 pirates: ^4.0.4 slash: ^3.0.0 write-file-atomic: ^4.0.2 - checksum: 082d74e04044213aa7baa8de29f8383e5010034f867969c8602a2447a4ef2f484cfaf2491eba3179ce42f369f7a0af419cbd087910f7e5caf7aa5d1fe03f2ff9 + checksum: d55d604085c157cf5112e165ff5ac1fa788873b3b31265fb4734ca59892ee24e44119964cc47eb6d178dd9512bbb6c576d1e20e51a201ff4e24d31e818a1c92d languageName: node linkType: hard @@ -11443,9 +11446,9 @@ __metadata: languageName: node linkType: hard -"@jest/types@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/types@npm:29.4.3" +"@jest/types@npm:^29.4.3, @jest/types@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/types@npm:29.5.0" dependencies: "@jest/schemas": ^29.4.3 "@types/istanbul-lib-coverage": ^2.0.0 @@ -11453,7 +11456,7 @@ __metadata: "@types/node": "*" "@types/yargs": ^17.0.8 chalk: ^4.0.0 - checksum: 1756f4149d360f98567f56f434144f7af23ed49a2c42889261a314df6b6654c2de70af618fb2ee0ee39cadaf10835b885845557184509503646c9cb9dcc02bac + checksum: 1811f94b19cf8a9460a289c4f056796cfc373480e0492692a6125a553cd1a63824bd846d7bb78820b7b6f758f6dd3c2d4558293bb676d541b2fa59c70fdf9d39 languageName: node linkType: hard @@ -17711,20 +17714,20 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^29.4.3": - version: 29.4.3 - resolution: "babel-jest@npm:29.4.3" +"babel-jest@npm:^29.5.0": + version: 29.5.0 + resolution: "babel-jest@npm:29.5.0" dependencies: - "@jest/transform": ^29.4.3 + "@jest/transform": ^29.5.0 "@types/babel__core": ^7.1.14 babel-plugin-istanbul: ^6.1.1 - babel-preset-jest: ^29.4.3 + babel-preset-jest: ^29.5.0 chalk: ^4.0.0 graceful-fs: ^4.2.9 slash: ^3.0.0 peerDependencies: "@babel/core": ^7.8.0 - checksum: a1a95937adb5e717dbffc2eb9e583fa6d26c7e5d5b07bb492a2d7f68631510a363e9ff097eafb642ad642dfac9dc2b13872b584f680e166a4f0922c98ea95853 + checksum: eafb6d37deb71f0c80bf3c80215aa46732153e5e8bcd73f6ff47d92e5c0c98c8f7f75995d0efec6289c371edad3693cd8fa2367b0661c4deb71a3a7117267ede languageName: node linkType: hard @@ -17750,15 +17753,15 @@ __metadata: languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^29.4.3": - version: 29.4.3 - resolution: "babel-plugin-jest-hoist@npm:29.4.3" +"babel-plugin-jest-hoist@npm:^29.5.0": + version: 29.5.0 + resolution: "babel-plugin-jest-hoist@npm:29.5.0" dependencies: "@babel/template": ^7.3.3 "@babel/types": ^7.3.3 "@types/babel__core": ^7.1.14 "@types/babel__traverse": ^7.0.6 - checksum: c8702a6db6b30ec39dfb9f8e72b501c13895231ed80b15ed2648448f9f0c7b7cc4b1529beac31802ae655f63479a05110ca612815aa25fb1b0e6c874e1589137 + checksum: 099b5254073b6bc985b6d2d045ad26fb8ed30ff8ae6404c4fe8ee7cd0e98a820f69e3dfb871c7c65aae0f4b65af77046244c07bb92d49ef9005c90eedf681539 languageName: node linkType: hard @@ -17897,15 +17900,15 @@ __metadata: languageName: node linkType: hard -"babel-preset-jest@npm:^29.4.3": - version: 29.4.3 - resolution: "babel-preset-jest@npm:29.4.3" +"babel-preset-jest@npm:^29.5.0": + version: 29.5.0 + resolution: "babel-preset-jest@npm:29.5.0" dependencies: - babel-plugin-jest-hoist: ^29.4.3 + babel-plugin-jest-hoist: ^29.5.0 babel-preset-current-node-syntax: ^1.0.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: a091721861ea2f8d969ace8fe06570cff8f2e847dbc6e4800abacbe63f72131abde615ce0a3b6648472c97e55a5be7f8bf7ae381e2b194ad2fa1737096febcf5 + checksum: 5566ca2762766c9319b4973d018d2fa08c0fcf6415c72cc54f4c8e7199e851ea8f5e6c6730f03ed7ed44fc8beefa959dd15911f2647dee47c615ff4faeddb1ad languageName: node linkType: hard @@ -18360,6 +18363,15 @@ __metadata: languageName: node linkType: hard +"bs-logger@npm:0.x": + version: 0.2.6 + resolution: "bs-logger@npm:0.2.6" + dependencies: + fast-json-stable-stringify: 2.x + checksum: d34bdaf68c64bd099ab97c3ea608c9ae7d3f5faa1178b3f3f345acd94e852e608b2d4f9103fb2e503f5e69780e98293df41691b84be909b41cf5045374d54606 + languageName: node + linkType: hard + "bser@npm:2.1.1": version: 2.1.1 resolution: "bser@npm:2.1.1" @@ -23081,16 +23093,16 @@ __metadata: languageName: node linkType: hard -"expect@npm:^29.0.0, expect@npm:^29.4.3": - version: 29.4.3 - resolution: "expect@npm:29.4.3" +"expect@npm:^29.0.0, expect@npm:^29.5.0": + version: 29.5.0 + resolution: "expect@npm:29.5.0" dependencies: - "@jest/expect-utils": ^29.4.3 + "@jest/expect-utils": ^29.5.0 jest-get-type: ^29.4.3 - jest-matcher-utils: ^29.4.3 - jest-message-util: ^29.4.3 - jest-util: ^29.4.3 - checksum: ff9dd8c50c0c6fd4b2b00f6dbd7ab0e2063fe1953be81a8c10ae1c005c7f5667ba452918e2efb055504b72b701a4f82575a081a0a7158efb16d87991b0366feb + jest-matcher-utils: ^29.5.0 + jest-message-util: ^29.5.0 + jest-util: ^29.5.0 + checksum: 58f70b38693df6e5c6892db1bcd050f0e518d6f785175dc53917d4fa6a7359a048e5690e19ddcb96b65c4493881dd89a3dabdab1a84dfa55c10cdbdabf37b2d7 languageName: node linkType: hard @@ -23305,7 +23317,7 @@ __metadata: languageName: node linkType: hard -"fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": +"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" checksum: b191531e36c607977e5b1c47811158733c34ccb3bfde92c44798929e9b4154884378536d26ad90dfecd32e1ffc09c545d23535ad91b3161a27ddbb8ebe0cbecb @@ -24009,13 +24021,6 @@ __metadata: languageName: node linkType: hard -"fs@npm:^0.0.1-security": - version: 0.0.1-security - resolution: "fs@npm:0.0.1-security" - checksum: 53c6230e1faae9fa32c1df82c16a84b51b1243d20f3da2b64bd110bb472b73b9185169b703e008356e3cdc92d155088b617d9d39a63b5227a30b3621baad7f5d - languageName: node - linkType: hard - "fsevents@npm:^2.3.2, fsevents@npm:~2.3.2": version: 2.3.2 resolution: "fsevents@npm:2.3.2" @@ -26697,57 +26702,58 @@ __metadata: languageName: node linkType: hard -"jest-changed-files@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-changed-files@npm:29.4.3" +"jest-changed-files@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-changed-files@npm:29.5.0" dependencies: execa: ^5.0.0 p-limit: ^3.1.0 - checksum: 9a70bd8e92b37e18ad26d8bea97c516f41119fb7046b4255a13c76d557b0e54fa0629726de5a093fadfd6a0a08ce45da65a57086664d505b8db4b3133133e141 + checksum: a67a7cb3c11f8f92bd1b7c79e84f724cbd11a9ad51f3cdadafe3ce7ee3c79ee50dbea128f920f5fddc807e9e4e83f5462143094391feedd959a77dd20ab96cf3 languageName: node linkType: hard -"jest-circus@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-circus@npm:29.4.3" +"jest-circus@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-circus@npm:29.5.0" dependencies: - "@jest/environment": ^29.4.3 - "@jest/expect": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/environment": ^29.5.0 + "@jest/expect": ^29.5.0 + "@jest/test-result": ^29.5.0 + "@jest/types": ^29.5.0 "@types/node": "*" chalk: ^4.0.0 co: ^4.6.0 dedent: ^0.7.0 is-generator-fn: ^2.0.0 - jest-each: ^29.4.3 - jest-matcher-utils: ^29.4.3 - jest-message-util: ^29.4.3 - jest-runtime: ^29.4.3 - jest-snapshot: ^29.4.3 - jest-util: ^29.4.3 + jest-each: ^29.5.0 + jest-matcher-utils: ^29.5.0 + jest-message-util: ^29.5.0 + jest-runtime: ^29.5.0 + jest-snapshot: ^29.5.0 + jest-util: ^29.5.0 p-limit: ^3.1.0 - pretty-format: ^29.4.3 + pretty-format: ^29.5.0 + pure-rand: ^6.0.0 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: 2739bef9c888743b49ff3fe303131381618e5d2f250f613a91240d9c86e19e6874fc904cbd8bcb02ec9ec59a84e5dae4ffec929f0c6171e87ddbc05508a137f4 + checksum: 44ff5d06acedae6de6c866e20e3b61f83e29ab94cf9f960826e7e667de49c12dd9ab9dffd7fa3b7d1f9688a8b5bfb1ebebadbea69d9ed0d3f66af4a0ff8c2b27 languageName: node linkType: hard -"jest-cli@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-cli@npm:29.4.3" +"jest-cli@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-cli@npm:29.5.0" dependencies: - "@jest/core": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/core": ^29.5.0 + "@jest/test-result": ^29.5.0 + "@jest/types": ^29.5.0 chalk: ^4.0.0 exit: ^0.1.2 graceful-fs: ^4.2.9 import-local: ^3.0.2 - jest-config: ^29.4.3 - jest-util: ^29.4.3 - jest-validate: ^29.4.3 + jest-config: ^29.5.0 + jest-util: ^29.5.0 + jest-validate: ^29.5.0 prompts: ^2.0.1 yargs: ^17.3.1 peerDependencies: @@ -26757,34 +26763,34 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: f4c9f6d76cde2c60a4169acbebb3f862728be03bcf3fe0077d2e55da7f9f3c3e9483cfa6e936832d35eabf96ee5ebf0300c4b0bd43cffff099801793466bfdd8 + checksum: 39897bbbc0f0d8a6b975ab12fd13887eaa28d92e3dee9e0173a5cb913ae8cc2ae46e090d38c6d723e84d9d6724429cd08685b4e505fa447d31ca615630c7dbba languageName: node linkType: hard -"jest-config@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-config@npm:29.4.3" +"jest-config@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-config@npm:29.5.0" dependencies: "@babel/core": ^7.11.6 - "@jest/test-sequencer": ^29.4.3 - "@jest/types": ^29.4.3 - babel-jest: ^29.4.3 + "@jest/test-sequencer": ^29.5.0 + "@jest/types": ^29.5.0 + babel-jest: ^29.5.0 chalk: ^4.0.0 ci-info: ^3.2.0 deepmerge: ^4.2.2 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-circus: ^29.4.3 - jest-environment-node: ^29.4.3 + jest-circus: ^29.5.0 + jest-environment-node: ^29.5.0 jest-get-type: ^29.4.3 jest-regex-util: ^29.4.3 - jest-resolve: ^29.4.3 - jest-runner: ^29.4.3 - jest-util: ^29.4.3 - jest-validate: ^29.4.3 + jest-resolve: ^29.5.0 + jest-runner: ^29.5.0 + jest-util: ^29.5.0 + jest-validate: ^29.5.0 micromatch: ^4.0.4 parse-json: ^5.2.0 - pretty-format: ^29.4.3 + pretty-format: ^29.5.0 slash: ^3.0.0 strip-json-comments: ^3.1.1 peerDependencies: @@ -26795,7 +26801,7 @@ __metadata: optional: true ts-node: optional: true - checksum: 92f9a9c6850b18682cb01892774a33967472af23a5844438d8c68077d5f2a29b15b665e4e4db7de3d74002a6dca158cd5b2cb9f5debfd2cce5e1aee6c74e3873 + checksum: c37c4dab964c54ab293d4e302d40b09687037ac9d00b88348ec42366970747feeaf265e12e3750cd3660b40c518d4031335eda11ac10b70b10e60797ebbd4b9c languageName: node linkType: hard @@ -26820,15 +26826,15 @@ __metadata: languageName: node linkType: hard -"jest-diff@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-diff@npm:29.4.3" +"jest-diff@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-diff@npm:29.5.0" dependencies: chalk: ^4.0.0 diff-sequences: ^29.4.3 jest-get-type: ^29.4.3 - pretty-format: ^29.4.3 - checksum: 877fd1edffef6b319688c27b152e5b28e2bc4bcda5ce0ca90d7e137f9fafda4280bae25403d4c0bfd9806c2c0b15d966aa2dfaf5f9928ec8f1ccea7fa1d08ed6 + pretty-format: ^29.5.0 + checksum: dfd0f4a299b5d127779c76b40106c37854c89c3e0785098c717d52822d6620d227f6234c3a9291df204d619e799e3654159213bf93220f79c8e92a55475a3d39 languageName: node linkType: hard @@ -26841,16 +26847,16 @@ __metadata: languageName: node linkType: hard -"jest-each@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-each@npm:29.4.3" +"jest-each@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-each@npm:29.5.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 chalk: ^4.0.0 jest-get-type: ^29.4.3 - jest-util: ^29.4.3 - pretty-format: ^29.4.3 - checksum: 1f72738338399efab0139eaea18bc198be0c6ed889770c8cbfa70bf9c724e8171fe1d3a29a94f9f39b8493ee6b2529bb350fb7c7c75e0d7eddfd28c253c79f9d + jest-util: ^29.5.0 + pretty-format: ^29.5.0 + checksum: b8b297534d25834c5d4e31e4c687359787b1e402519e42664eb704cc3a12a7a91a017565a75acb02e8cf9afd3f4eef3350bd785276bec0900184641b765ff7a5 languageName: node linkType: hard @@ -26875,17 +26881,17 @@ __metadata: languageName: node linkType: hard -"jest-environment-node@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-environment-node@npm:29.4.3" +"jest-environment-node@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-environment-node@npm:29.5.0" dependencies: - "@jest/environment": ^29.4.3 - "@jest/fake-timers": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/environment": ^29.5.0 + "@jest/fake-timers": ^29.5.0 + "@jest/types": ^29.5.0 "@types/node": "*" - jest-mock: ^29.4.3 - jest-util: ^29.4.3 - checksum: 3c7362edfdbd516e83af7367c95dde35761a482b174de9735c07633405486ec73e19624e9bea4333fca33c24e8d65eaa1aa6594e0cb6bfeeeb564ccc431ee61d + jest-mock: ^29.5.0 + jest-util: ^29.5.0 + checksum: 57981911cc20a4219b0da9e22b2e3c9f31b505e43f78e61c899e3227ded455ce1a3a9483842c69cfa4532f02cfb536ae0995bf245f9211608edacfc1e478d411 languageName: node linkType: hard @@ -26903,11 +26909,11 @@ __metadata: languageName: node linkType: hard -"jest-haste-map@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-haste-map@npm:29.4.3" +"jest-haste-map@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-haste-map@npm:29.5.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 "@types/graceful-fs": ^4.1.3 "@types/node": "*" anymatch: ^3.0.3 @@ -26915,24 +26921,24 @@ __metadata: fsevents: ^2.3.2 graceful-fs: ^4.2.9 jest-regex-util: ^29.4.3 - jest-util: ^29.4.3 - jest-worker: ^29.4.3 + jest-util: ^29.5.0 + jest-worker: ^29.5.0 micromatch: ^4.0.4 walker: ^1.0.8 dependenciesMeta: fsevents: optional: true - checksum: c7a83ebe6008b3fe96a96235e8153092e54b14df68e0f4205faedec57450df26b658578495a71c6d82494c01fbb44bca98c1506a6b2b9c920696dcc5d2e2bc59 + checksum: 3828ff7783f168e34be2c63887f82a01634261f605dcae062d83f979a61c37739e21b9607ecb962256aea3fbe5a530a1acee062d0026fcb47c607c12796cf3b7 languageName: node linkType: hard -"jest-leak-detector@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-leak-detector@npm:29.4.3" +"jest-leak-detector@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-leak-detector@npm:29.5.0" dependencies: jest-get-type: ^29.4.3 - pretty-format: ^29.4.3 - checksum: ec2b45e6f0abce81bd0dd0f6fd06b433c24d1ec865267af7640fae540ec868b93752598e407a9184d9c7419cbf32e8789007cc8c1be1a84f8f7321a0f8ad01f1 + pretty-format: ^29.5.0 + checksum: 0fb845da7ac9cdfc9b3b2e35f6f623a41c547d7dc0103ceb0349013459d00de5870b5689a625e7e37f9644934b40e8f1dcdd5422d14d57470600350364676313 languageName: node linkType: hard @@ -26948,15 +26954,15 @@ __metadata: languageName: node linkType: hard -"jest-matcher-utils@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-matcher-utils@npm:29.4.3" +"jest-matcher-utils@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-matcher-utils@npm:29.5.0" dependencies: chalk: ^4.0.0 - jest-diff: ^29.4.3 + jest-diff: ^29.5.0 jest-get-type: ^29.4.3 - pretty-format: ^29.4.3 - checksum: 9e13cbe42d2113bab2691110c7c3ba5cec3b94abad2727e1de90929d0f67da444e9b2066da3b476b5bf788df53a8ede0e0a950cfb06a04e4d6d566d115ee4f1d + pretty-format: ^29.5.0 + checksum: 1d3e8c746e484a58ce194e3aad152eff21fd0896e8b8bf3d4ab1a4e2cbfed95fb143646f4ad9fdf6e42212b9e8fc033268b58e011b044a9929df45485deb5ac9 languageName: node linkType: hard @@ -26977,31 +26983,31 @@ __metadata: languageName: node linkType: hard -"jest-message-util@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-message-util@npm:29.4.3" +"jest-message-util@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-message-util@npm:29.5.0" dependencies: "@babel/code-frame": ^7.12.13 - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 "@types/stack-utils": ^2.0.0 chalk: ^4.0.0 graceful-fs: ^4.2.9 micromatch: ^4.0.4 - pretty-format: ^29.4.3 + pretty-format: ^29.5.0 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: 64f06b9550021e68da0059020bea8691283cf818918810bb67192d7b7fb9b691c7eadf55c2ca3cd04df5394918f2327245077095cdc0d6b04be3532d2c7d0ced + checksum: daddece6bbf846eb6a2ab9be9f2446e54085bef4e5cecd13d2a538fa9c01cb89d38e564c6b74fd8e12d37ed9eface8a362240ae9f21d68b214590631e7a0d8bf languageName: node linkType: hard -"jest-mock@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-mock@npm:29.4.3" +"jest-mock@npm:^29.4.3, jest-mock@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-mock@npm:29.5.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 "@types/node": "*" - jest-util: ^29.4.3 - checksum: 8eb4a29b02d2cd03faac0290b6df6d23b4ffa43f72b21c7fff3c7dd04a2797355b1e85862b70b15341dd33ee3a693b17db5520a6f6e6b81ee75601987de6a1a2 + jest-util: ^29.5.0 + checksum: 2a9cf07509948fa8608898c445f04fe4dd6e2049ff431e5531eee028c808d3ba3c67f226ac87b0cf383feaa1055776900d197c895e89783016886ac17a4ff10c languageName: node linkType: hard @@ -27024,95 +27030,95 @@ __metadata: languageName: node linkType: hard -"jest-resolve-dependencies@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-resolve-dependencies@npm:29.4.3" +"jest-resolve-dependencies@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-resolve-dependencies@npm:29.5.0" dependencies: jest-regex-util: ^29.4.3 - jest-snapshot: ^29.4.3 - checksum: 3ad934cd2170c9658d8800f84a975dafc866ec85b7ce391c640c09c3744ced337787620d8667dc8d1fa5e0b1493f973caa1a1bb980e4e6a50b46a1720baf0bd1 + jest-snapshot: ^29.5.0 + checksum: 479d2e5365d58fe23f2b87001e2e0adcbffe0147700e85abdec8f14b9703b0a55758c1929a9989e3f5d5e954fb88870ea4bfa04783523b664562fcf5f10b0edf languageName: node linkType: hard -"jest-resolve@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-resolve@npm:29.4.3" +"jest-resolve@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-resolve@npm:29.5.0" dependencies: chalk: ^4.0.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.4.3 + jest-haste-map: ^29.5.0 jest-pnp-resolver: ^1.2.2 - jest-util: ^29.4.3 - jest-validate: ^29.4.3 + jest-util: ^29.5.0 + jest-validate: ^29.5.0 resolve: ^1.20.0 resolve.exports: ^2.0.0 slash: ^3.0.0 - checksum: 056a66beccf833f3c7e5a8fc9bfec218886e87b0b103decdbdf11893669539df489d1490cd6d5f0eea35731e8be0d2e955a6710498f970d2eae734da4df029dc + checksum: 9a125f3cf323ceef512089339d35f3ee37f79fe16a831fb6a26773ea6a229b9e490d108fec7af334142e91845b5996de8e7cdd85a4d8d617078737d804e29c8f languageName: node linkType: hard -"jest-runner@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-runner@npm:29.4.3" +"jest-runner@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-runner@npm:29.5.0" dependencies: - "@jest/console": ^29.4.3 - "@jest/environment": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/transform": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/console": ^29.5.0 + "@jest/environment": ^29.5.0 + "@jest/test-result": ^29.5.0 + "@jest/transform": ^29.5.0 + "@jest/types": ^29.5.0 "@types/node": "*" chalk: ^4.0.0 emittery: ^0.13.1 graceful-fs: ^4.2.9 jest-docblock: ^29.4.3 - jest-environment-node: ^29.4.3 - jest-haste-map: ^29.4.3 - jest-leak-detector: ^29.4.3 - jest-message-util: ^29.4.3 - jest-resolve: ^29.4.3 - jest-runtime: ^29.4.3 - jest-util: ^29.4.3 - jest-watcher: ^29.4.3 - jest-worker: ^29.4.3 + jest-environment-node: ^29.5.0 + jest-haste-map: ^29.5.0 + jest-leak-detector: ^29.5.0 + jest-message-util: ^29.5.0 + jest-resolve: ^29.5.0 + jest-runtime: ^29.5.0 + jest-util: ^29.5.0 + jest-watcher: ^29.5.0 + jest-worker: ^29.5.0 p-limit: ^3.1.0 source-map-support: 0.5.13 - checksum: c41108e5da01e0b8fdc2a06c5042eb49bb1d8db0e0d4651769fd1b9fe84ab45188617c11a3a8e1c83748b29bfe57dd77001ec57e86e3e3c30f3534e0314f8882 + checksum: 437dea69c5dddca22032259787bac74790d5a171c9d804711415f31e5d1abfb64fa52f54a9015bb17a12b858fd0cf3f75ef6f3c9e94255a8596e179f707229c4 languageName: node linkType: hard -"jest-runtime@npm:^29.0.2, jest-runtime@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-runtime@npm:29.4.3" +"jest-runtime@npm:^29.0.2, jest-runtime@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-runtime@npm:29.5.0" dependencies: - "@jest/environment": ^29.4.3 - "@jest/fake-timers": ^29.4.3 - "@jest/globals": ^29.4.3 + "@jest/environment": ^29.5.0 + "@jest/fake-timers": ^29.5.0 + "@jest/globals": ^29.5.0 "@jest/source-map": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/transform": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/test-result": ^29.5.0 + "@jest/transform": ^29.5.0 + "@jest/types": ^29.5.0 "@types/node": "*" chalk: ^4.0.0 cjs-module-lexer: ^1.0.0 collect-v8-coverage: ^1.0.0 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-haste-map: ^29.4.3 - jest-message-util: ^29.4.3 - jest-mock: ^29.4.3 + jest-haste-map: ^29.5.0 + jest-message-util: ^29.5.0 + jest-mock: ^29.5.0 jest-regex-util: ^29.4.3 - jest-resolve: ^29.4.3 - jest-snapshot: ^29.4.3 - jest-util: ^29.4.3 + jest-resolve: ^29.5.0 + jest-snapshot: ^29.5.0 + jest-util: ^29.5.0 slash: ^3.0.0 strip-bom: ^4.0.0 - checksum: b99f8a910d1a38e7476058ba04ad44dfd3d93e837bb7c301d691e646a1085412fde87f06fbe271c9145f0e72d89400bfa7f6994bc30d456c7742269f37d0f570 + checksum: 7af27bd9d54cf1c5735404cf8d76c6509d5610b1ec0106a21baa815c1aff15d774ce534ac2834bc440dccfe6348bae1885fd9a806f23a94ddafdc0f5bae4b09d languageName: node linkType: hard -"jest-snapshot@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-snapshot@npm:29.4.3" +"jest-snapshot@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-snapshot@npm:29.5.0" dependencies: "@babel/core": ^7.11.6 "@babel/generator": ^7.7.2 @@ -27120,25 +27126,24 @@ __metadata: "@babel/plugin-syntax-typescript": ^7.7.2 "@babel/traverse": ^7.7.2 "@babel/types": ^7.3.3 - "@jest/expect-utils": ^29.4.3 - "@jest/transform": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/expect-utils": ^29.5.0 + "@jest/transform": ^29.5.0 + "@jest/types": ^29.5.0 "@types/babel__traverse": ^7.0.6 "@types/prettier": ^2.1.5 babel-preset-current-node-syntax: ^1.0.0 chalk: ^4.0.0 - expect: ^29.4.3 + expect: ^29.5.0 graceful-fs: ^4.2.9 - jest-diff: ^29.4.3 + jest-diff: ^29.5.0 jest-get-type: ^29.4.3 - jest-haste-map: ^29.4.3 - jest-matcher-utils: ^29.4.3 - jest-message-util: ^29.4.3 - jest-util: ^29.4.3 + jest-matcher-utils: ^29.5.0 + jest-message-util: ^29.5.0 + jest-util: ^29.5.0 natural-compare: ^1.4.0 - pretty-format: ^29.4.3 + pretty-format: ^29.5.0 semver: ^7.3.5 - checksum: 79ba52f2435e23ce72b1309be4b17fdbcb299d1c2ce97ebb61df9a62711e9463035f63b4c849181b2fe5aa17b3e09d30ee4668cc25fb3c6f59511c010b4d9494 + checksum: fe5df54122ed10eed625de6416a45bc4958d5062b018f05b152bf9785ab7f355dcd55e40cf5da63895bf8278f8d7b2bb4059b2cfbfdee18f509d455d37d8aa2b languageName: node linkType: hard @@ -27156,47 +27161,47 @@ __metadata: languageName: node linkType: hard -"jest-util@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-util@npm:29.4.3" +"jest-util@npm:^29.0.0, jest-util@npm:^29.4.3, jest-util@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-util@npm:29.5.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 "@types/node": "*" chalk: ^4.0.0 ci-info: ^3.2.0 graceful-fs: ^4.2.9 picomatch: ^2.2.3 - checksum: 606b3e6077895baf8fb4ad4d08c134f37a6b81d5ba77ae654c942b1ae4b7294ab3b5a0eb93db34f129407b367970cf3b76bf5c80897b30f215f2bc8bf20a5f3f + checksum: fd9212950d34d2ecad8c990dda0d8ea59a8a554b0c188b53ea5d6c4a0829a64f2e1d49e6e85e812014933d17426d7136da4785f9cf76fff1799de51b88bc85d3 languageName: node linkType: hard -"jest-validate@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-validate@npm:29.4.3" +"jest-validate@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-validate@npm:29.5.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 camelcase: ^6.2.0 chalk: ^4.0.0 jest-get-type: ^29.4.3 leven: ^3.1.0 - pretty-format: ^29.4.3 - checksum: 983e56430d86bed238448cae031535c1d908f760aa312cd4a4ec0e92f3bc1b6675415ddf57cdeceedb8ad9c698e5bcd10f0a856dfc93a8923bdecc7733f4ba80 + pretty-format: ^29.5.0 + checksum: 43ca5df7cb75572a254ac3e92fbbe7be6b6a1be898cc1e887a45d55ea003f7a112717d814a674d37f9f18f52d8de40873c8f084f17664ae562736c78dd44c6a1 languageName: node linkType: hard -"jest-watcher@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-watcher@npm:29.4.3" +"jest-watcher@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-watcher@npm:29.5.0" dependencies: - "@jest/test-result": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/test-result": ^29.5.0 + "@jest/types": ^29.5.0 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 emittery: ^0.13.1 - jest-util: ^29.4.3 + jest-util: ^29.5.0 string-length: ^4.0.1 - checksum: 44b64991b3414db853c3756f14690028f4edef7aebfb204a4291cc1901c2239fa27a8687c5c5abbecc74bf613e0bb9b1378bf766430c9febcc71e9c0cb5ad8fc + checksum: 62303ac7bdc7e61a8b4239a239d018f7527739da2b2be6a81a7be25b74ca769f1c43ee8558ce8e72bb857245c46d6e03af331227ffb00a57280abb2a928aa776 languageName: node linkType: hard @@ -27231,26 +27236,26 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-worker@npm:29.4.3" +"jest-worker@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-worker@npm:29.5.0" dependencies: "@types/node": "*" - jest-util: ^29.4.3 + jest-util: ^29.5.0 merge-stream: ^2.0.0 supports-color: ^8.0.0 - checksum: c99ae66f257564613e72c5797c3a68f21a22e1c1fb5f30d14695ff5b508a0d2405f22748f13a3df8d1015b5e16abb130170f81f047ff68f58b6b1d2ff6ebc51b + checksum: 1151a1ae3602b1ea7c42a8f1efe2b5a7bf927039deaa0827bf978880169899b705744e288f80a63603fb3fc2985e0071234986af7dc2c21c7a64333d8777c7c9 languageName: node linkType: hard -"jest@npm:^29.0.2": - version: 29.4.3 - resolution: "jest@npm:29.4.3" +"jest@npm:^29.0.2, jest@npm:^29.5.0": + version: 29.5.0 + resolution: "jest@npm:29.5.0" dependencies: - "@jest/core": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/core": ^29.5.0 + "@jest/types": ^29.5.0 import-local: ^3.0.2 - jest-cli: ^29.4.3 + jest-cli: ^29.5.0 peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -27258,7 +27263,7 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: 084d10d1ceaade3c40e6d3bbd71b9b71b8919ba6fbd6f1f6699bdc259a6ba2f7350c7ccbfa10c11f7e3e01662853650a6244210179542fe4ba87e77dc3f3109f + checksum: a8ff2eb0f421623412236e23cbe67c638127fffde466cba9606bc0c0553b4c1e5cb116d7e0ef990b5d1712851652c8ee461373b578df50857fe635b94ff455d5 languageName: node linkType: hard @@ -27756,7 +27761,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.1.2, json5@npm:^2.1.3, json5@npm:^2.2.0, json5@npm:^2.2.1": +"json5@npm:^2.1.2, json5@npm:^2.1.3, json5@npm:^2.2.0, json5@npm:^2.2.1, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -28726,7 +28731,7 @@ __metadata: languageName: node linkType: hard -"lodash.memoize@npm:^4.1.2": +"lodash.memoize@npm:4.x, lodash.memoize@npm:^4.1.2": version: 4.1.2 resolution: "lodash.memoize@npm:4.1.2" checksum: 9ff3942feeccffa4f1fafa88d32f0d24fdc62fd15ded5a74a5f950ff5f0c6f61916157246744c620173dddf38d37095a92327d5fd3861e2063e736a5c207d089 @@ -29010,7 +29015,7 @@ __metadata: languageName: node linkType: hard -"make-error@npm:^1.1.1": +"make-error@npm:1.x, make-error@npm:^1.1.1": version: 1.3.6 resolution: "make-error@npm:1.3.6" checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 @@ -30258,9 +30263,9 @@ __metadata: languageName: node linkType: hard -"msw@npm:^1.0.0, msw@npm:^1.0.1": - version: 1.0.1 - resolution: "msw@npm:1.0.1" +"msw@npm:^1.0.0, msw@npm:^1.0.1, msw@npm:^1.1.0": + version: 1.1.0 + resolution: "msw@npm:1.1.0" dependencies: "@mswjs/cookies": ^0.2.2 "@mswjs/interceptors": ^0.17.5 @@ -30288,7 +30293,7 @@ __metadata: optional: true bin: msw: cli/index.js - checksum: e5d6cbe67067ca46f42aaa33011f53a4e5a873abcf81c52a6996536b3c41a88f522821d3a4cf589658252581506afddb58fd8c3dfd79a5cbf06e26e14f9570b6 + checksum: e555547defbc3f07532bdadcbf9f4e3a32b92156d3869e85c9038ecaac220cfc93901727da097b7f9d3ecf9cbbc5a9178c0ecdd3999a9201db4c85c99b92c361 languageName: node linkType: hard @@ -32959,14 +32964,14 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.4.3": - version: 29.4.3 - resolution: "pretty-format@npm:29.4.3" +"pretty-format@npm:^29.0.0, pretty-format@npm:^29.5.0": + version: 29.5.0 + resolution: "pretty-format@npm:29.5.0" dependencies: "@jest/schemas": ^29.4.3 ansi-styles: ^5.0.0 react-is: ^18.0.0 - checksum: 3258b9a010bd79b3cf73783ad1e4592b6326fc981b6e31b742f316f14e7fbac09b48a9dbf274d092d9bde404db9fe16f518370e121837dc078a597392e6e5cc5 + checksum: 4065356b558e6db25b4d41a01efb386935a6c06a0c9c104ef5ce59f2f476b8210edb8b3949b386e60ada0a6dc5ebcb2e6ccddc8c64dfd1a9943c3c3a9e7eaf89 languageName: node linkType: hard @@ -33326,6 +33331,13 @@ __metadata: languageName: node linkType: hard +"pure-rand@npm:^6.0.0": + version: 6.0.1 + resolution: "pure-rand@npm:6.0.1" + checksum: 4bb565399993b815658a72e359f574ce4f04827a42a905105d61163ae86f456d91595a0e4241e7bce04328fae0638ae70ac0428d93ecb55971c465bd084f8648 + languageName: node + linkType: hard + "pvtsutils@npm:^1.3.2": version: 1.3.2 resolution: "pvtsutils@npm:1.3.2" @@ -35422,16 +35434,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.0": - version: 6.3.0 - resolution: "semver@npm:6.3.0" - bin: - semver: ./bin/semver.js - checksum: 1b26ecf6db9e8292dd90df4e781d91875c0dcc1b1909e70f5d12959a23c7eebb8f01ea581c00783bbee72ceeaad9505797c381756326073850dc36ed284b21b9 - languageName: node - linkType: hard - -"semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.1.3, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:~7.3.0": +"semver@npm:7.x, semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.1.3, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:~7.3.0": version: 7.3.8 resolution: "semver@npm:7.3.8" dependencies: @@ -35442,6 +35445,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^6.0.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.0": + version: 6.3.0 + resolution: "semver@npm:6.3.0" + bin: + semver: ./bin/semver.js + checksum: 1b26ecf6db9e8292dd90df4e781d91875c0dcc1b1909e70f5d12959a23c7eebb8f01ea581c00783bbee72ceeaad9505797c381756326073850dc36ed284b21b9 + languageName: node + linkType: hard + "send@npm:0.18.0": version: 0.18.0 resolution: "send@npm:0.18.0" @@ -37619,6 +37631,39 @@ __metadata: languageName: node linkType: hard +"ts-jest@npm:^29.0.5": + version: 29.0.5 + resolution: "ts-jest@npm:29.0.5" + dependencies: + bs-logger: 0.x + fast-json-stable-stringify: 2.x + jest-util: ^29.0.0 + json5: ^2.2.3 + lodash.memoize: 4.x + make-error: 1.x + semver: 7.x + yargs-parser: ^21.0.1 + peerDependencies: + "@babel/core": ">=7.0.0-beta.0 <8" + "@jest/types": ^29.0.0 + babel-jest: ^29.0.0 + jest: ^29.0.0 + typescript: ">=4.3" + peerDependenciesMeta: + "@babel/core": + optional: true + "@jest/types": + optional: true + babel-jest: + optional: true + esbuild: + optional: true + bin: + ts-jest: cli.js + checksum: f60f129c2287f4c963d9ee2677132496c5c5a5d39c27ad234199a1140c26318a7d5bda34890ab0e30636ec42a8de28f84487c09e9dcec639c9c67812b3a38373 + languageName: node + linkType: hard + "ts-log@npm:^2.2.3": version: 2.2.3 resolution: "ts-log@npm:2.2.3" @@ -39571,7 +39616,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^21.0.0": +"yargs-parser@npm:^21.0.0, yargs-parser@npm:^21.0.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c