aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2023-11-27 19:38:32 +0100
committerArmand Philippot <git@armandphilippot.com>2023-11-27 20:06:56 +0100
commitff79add1d59375817a10331a35458cca3c419cfe (patch)
tree5e678e2c3cd43ace5cb7fd27a22f6e8403ccd211
parentf111685c5886f3e77edfd3621c98d8ac1b9bcce4 (diff)
test: add MSW to intercept GraphQL requests
-rw-r--r--.cspell/project-words.txt1
-rw-r--r--jest.config.js15
-rw-r--r--jest.polyfills.cjs34
-rw-r--r--jest.setup.js7
-rw-r--r--package.json4
-rw-r--r--tests/msw/index.ts3
-rw-r--r--tests/msw/schema/index.ts38
-rw-r--r--tests/msw/schema/types/author.types.ts26
-rw-r--r--tests/msw/schema/types/common.types.ts36
-rw-r--r--tests/msw/schema/types/featured-image.types.ts24
-rw-r--r--tests/msw/schema/types/index.ts26
-rw-r--r--tests/msw/schema/types/post.types.ts72
-rw-r--r--tests/msw/schema/types/thematic.types.ts20
-rw-r--r--tests/msw/schema/types/topic.types.ts21
-rw-r--r--yarn.lock270
15 files changed, 582 insertions, 15 deletions
diff --git a/.cspell/project-words.txt b/.cspell/project-words.txt
index 7bae5e1..532871a 100644
--- a/.cspell/project-words.txt
+++ b/.cspell/project-words.txt
@@ -26,3 +26,4 @@ Shaarli
stylelint
svgr
thematics
+undici
diff --git a/jest.config.js b/jest.config.js
index 34f960e..f724475 100644
--- a/jest.config.js
+++ b/jest.config.js
@@ -15,6 +15,10 @@ const createJestConfig = nextJest({
* @type {import('jest').Config}
*/
const customJestConfig = {
+ // Needed because of mswServer export in tests directory.
+ coverageProvider: 'v8',
+ coveragePathIgnorePatterns: ['/node_modules/', '<rootDir>/tests'],
+
// if using TypeScript with a baseUrl set to the root directory then you need the below for alias' to work
moduleDirectories: ['node_modules', '<rootDir>/'],
@@ -22,17 +26,18 @@ const customJestConfig = {
'^.+\\.(svg)$': '<rootDir>/tests/jest/__mocks__/svgr.mock.tsx',
},
+ setupFiles: ['./jest.polyfills.cjs'],
+
// Add more setup options before each test is run
setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
// The test environment that will be used for testing
testEnvironment: 'jsdom',
+ testEnvironmentOptions: {
+ customExportConditions: [''],
+ },
- testPathIgnorePatterns: [
- '<rootDir>/tests/jest/__mocks__',
- '<rootDir>/tests/utils',
- '<rootDir>/tests/cypress/',
- ],
+ testPathIgnorePatterns: ['/node_modules/', '<rootDir>/tests'],
};
/**
diff --git a/jest.polyfills.cjs b/jest.polyfills.cjs
new file mode 100644
index 0000000..4039ab5
--- /dev/null
+++ b/jest.polyfills.cjs
@@ -0,0 +1,34 @@
+/* eslint-disable */
+// jest.polyfills.js
+/**
+ * @note The block below contains polyfills for Node.js globals
+ * required for Jest to function when running JSDOM tests.
+ * These HAVE to be require's and HAVE to be in this exact
+ * order, since "undici" depends on the "TextEncoder" global API.
+ *
+ * Consider migrating to a more modern test runner if
+ * you don't want to deal with this.
+ *
+ * @see https://mswjs.io/docs/migrations/1.x-to-2.x#requestresponsetextencoder-is-not-defined-jest
+ */
+
+const { TextDecoder, TextEncoder } = require('node:util');
+
+Object.defineProperties(globalThis, {
+ TextDecoder: { value: TextDecoder },
+ TextEncoder: { value: TextEncoder },
+});
+
+const { Blob } = require('node:buffer');
+const { fetch, Headers, FormData, Request, Response } = require('undici');
+
+Object.defineProperties(globalThis, {
+ fetch: { value: fetch, writable: true },
+ Blob: { value: Blob },
+ Headers: { value: Headers },
+ FormData: { value: FormData },
+ Request: { value: Request },
+ Response: { value: Response },
+});
+
+// cSpell:ignore undici
diff --git a/jest.setup.js b/jest.setup.js
index 92c6c3b..718f274 100644
--- a/jest.setup.js
+++ b/jest.setup.js
@@ -1,7 +1,8 @@
-import { jest } from '@jest/globals';
+import { afterAll, afterEach, beforeAll, jest } from '@jest/globals';
import '@testing-library/jest-dom/jest-globals';
import nextRouterMock from 'next-router-mock';
import './tests/jest/__mocks__/matchMedia.mock';
+import { mswServer } from './tests/msw';
jest.mock('next/router', () => nextRouterMock);
jest.mock('next/dynamic', () => () => 'dynamic-import');
@@ -15,3 +16,7 @@ jest.mock('src/utils/helpers/rehype.ts', () => {
updateContentTree: jest.fn((str) => str),
};
});
+
+beforeAll(() => mswServer.listen());
+afterEach(() => mswServer.resetHandlers());
+afterAll(() => mswServer.close());
diff --git a/package.json b/package.json
index 6f39487..cc0e479 100644
--- a/package.json
+++ b/package.json
@@ -72,6 +72,8 @@
"@commitlint/config-conventional": "^18.4.0",
"@cspell/dict-fr-fr": "^2.2.2",
"@formatjs/cli": "^6.2.4",
+ "@graphql-tools/schema": "^10.0.2",
+ "@graphql-tools/utils": "^10.0.11",
"@jest/globals": "^29.7.0",
"@storybook/addon-essentials": "^7.5.3",
"@storybook/addon-interactions": "^7.5.3",
@@ -110,6 +112,7 @@
"jest": "^29.7.0",
"jest-environment-jsdom": "^29.7.0",
"lint-staged": "^15.1.0",
+ "msw": "^2.0.9",
"next-router-mock": "^0.9.10",
"postcss": "^8.4.31",
"prettier": "^3.1.0",
@@ -120,6 +123,7 @@
"stylelint-config-standard": "^34.0.0",
"stylelint-config-standard-scss": "^11.1.0",
"typescript": "^5.2.2",
+ "undici": "^5.28.1",
"unist-util-visit": "^5.0.0",
"webpack": "^5.89.0"
}
diff --git a/tests/msw/index.ts b/tests/msw/index.ts
new file mode 100644
index 0000000..997ae40
--- /dev/null
+++ b/tests/msw/index.ts
@@ -0,0 +1,3 @@
+import { setupServer } from 'msw/node';
+
+export const mswServer = setupServer(...[]);
diff --git a/tests/msw/schema/index.ts b/tests/msw/schema/index.ts
new file mode 100644
index 0000000..3763616
--- /dev/null
+++ b/tests/msw/schema/index.ts
@@ -0,0 +1,38 @@
+import { addResolversToSchema } from '@graphql-tools/schema';
+import type { IResolvers } from '@graphql-tools/utils';
+import { buildSchema } from 'graphql';
+import { types } from './types';
+
+/* eslint-disable camelcase -- We have no control on WP GraphQL types */
+const resolvers: IResolvers = {
+ Post_Acfposts_PostsInThematic: {
+ __resolveType() {
+ return 'Thematic';
+ },
+ },
+ Post_Acfposts_PostsInTopic: {
+ __resolveType() {
+ return 'Topic';
+ },
+ },
+ Thematic_Acfthematics_PostsInThematic: {
+ __resolveType() {
+ return 'Post';
+ },
+ },
+ Topic_Acftopics_PostsInTopic: {
+ __resolveType() {
+ return 'Post';
+ },
+ },
+};
+/* eslint-enable camelcase */
+
+// cSpell:ignore Acfposts Acfthematics Acftopics camelcase
+
+const schemaFromTypes = buildSchema(types.join('\n'));
+
+export const schema = addResolversToSchema({
+ schema: schemaFromTypes,
+ resolvers,
+});
diff --git a/tests/msw/schema/types/author.types.ts b/tests/msw/schema/types/author.types.ts
new file mode 100644
index 0000000..bbb50a4
--- /dev/null
+++ b/tests/msw/schema/types/author.types.ts
@@ -0,0 +1,26 @@
+export const authorTypes = `enum AvatarRatingEnum {
+ G
+ PG
+ R
+ X
+}
+
+type Avatar {
+ height: Int
+ url: String
+ width: Int
+}
+
+type User {
+ avatar(
+ forceDefault: Boolean
+ rating: AvatarRatingEnum
+ size: Int = 96
+ ): Avatar
+ databaseId: Int!
+ name: String
+ url: String
+}
+type NodeWithAuthorToUserConnectionEdge {
+ node: User!
+}`;
diff --git a/tests/msw/schema/types/common.types.ts b/tests/msw/schema/types/common.types.ts
new file mode 100644
index 0000000..23baeb3
--- /dev/null
+++ b/tests/msw/schema/types/common.types.ts
@@ -0,0 +1,36 @@
+export const commonTypes = `enum PostObjectFieldFormatEnum {
+ RAW
+ RENDERED
+}
+
+enum OrderEnum {
+ ASC
+ DESC
+}
+
+enum PostObjectsConnectionOrderbyEnum {
+ AUTHOR
+ COMMENT_COUNT
+ DATE
+ IN
+ MENU_ORDER
+ MODIFIED
+ NAME_IN
+ PARENT
+ SLUG
+ TITLE
+}
+
+type ContentPartsType {
+ afterMore(format: PostObjectFieldFormatEnum): String
+ beforeMore(format: PostObjectFieldFormatEnum): String
+}
+
+type InfoType {
+ wordsCount: Int
+}
+
+type PostTypeSEO {
+ metaDesc: String
+ title: String
+}`;
diff --git a/tests/msw/schema/types/featured-image.types.ts b/tests/msw/schema/types/featured-image.types.ts
new file mode 100644
index 0000000..788da5f
--- /dev/null
+++ b/tests/msw/schema/types/featured-image.types.ts
@@ -0,0 +1,24 @@
+export const featuredImageTypes = `type MediaDetails {
+ height: Int
+ width: Int
+}
+
+enum MediaItemSizeEnum {
+ LARGE
+ MEDIUM
+ MEDIUM_LARGE
+ THUMBNAIL
+ _1536X1536
+ _2048X2048
+}
+
+type MediaItem {
+ altText: String
+ mediaDetails: MediaDetails
+ sourceUrl(size: MediaItemSizeEnum): String
+ title(format: PostObjectFieldFormatEnum): String
+}
+
+type NodeWithFeaturedImageToMediaItemConnectionEdge {
+ node: MediaItem!
+}`;
diff --git a/tests/msw/schema/types/index.ts b/tests/msw/schema/types/index.ts
new file mode 100644
index 0000000..ea749be
--- /dev/null
+++ b/tests/msw/schema/types/index.ts
@@ -0,0 +1,26 @@
+import { authorTypes } from './author.types';
+import { commonTypes } from './common.types';
+import { featuredImageTypes } from './featured-image.types';
+import { postTypes } from './post.types';
+import { thematicTypes } from './thematic.types';
+import { topicTypes } from './topic.types';
+
+const rootQueryType = `type Query {
+ posts(
+ after: String
+ before: String
+ first: Int
+ last: Int
+ where: RootQueryToPostConnectionWhereArgs
+ ): RootQueryToPostConnection
+}`;
+
+export const types = [
+ authorTypes,
+ commonTypes,
+ featuredImageTypes,
+ postTypes,
+ thematicTypes,
+ topicTypes,
+ rootQueryType,
+];
diff --git a/tests/msw/schema/types/post.types.ts b/tests/msw/schema/types/post.types.ts
new file mode 100644
index 0000000..04c4f37
--- /dev/null
+++ b/tests/msw/schema/types/post.types.ts
@@ -0,0 +1,72 @@
+export const postTypes = `union Post_Acfposts_PostsInThematic = Thematic
+
+union Post_Acfposts_PostsInTopic = Topic
+
+type Post_Acfposts {
+ postsInThematic: [Post_Acfposts_PostsInThematic]
+ postsInTopic: [Post_Acfposts_PostsInTopic]
+}
+
+type Post {
+ acfPosts: Post_Acfposts
+ author: NodeWithAuthorToUserConnectionEdge
+ commentCount: Int
+ contentParts: ContentPartsType
+ databaseId: Int!
+ date: String
+ featuredImage: NodeWithFeaturedImageToMediaItemConnectionEdge
+ info: InfoType
+ modified: String!
+ seo: PostTypeSEO
+ slug: String
+ title(format: PostObjectFieldFormatEnum): String
+}
+
+enum PostStatusEnum {
+ ACF_DISABLED
+ AUTO_DRAFT
+ DRAFT
+ FUTURE
+ INHERIT
+ PENDING
+ PRIVATE
+ PUBLISH
+ REQUEST_COMPLETED
+ REQUEST_CONFIRMED
+ REQUEST_FAILED
+ REQUEST_PENDING
+ TRASH
+}
+
+input PostObjectsConnectionOrderbyInput {
+ field: PostObjectsConnectionOrderbyEnum!
+ order: OrderEnum!
+}
+
+input RootQueryToPostConnectionWhereArgs {
+ authorName: String
+ orderby: [PostObjectsConnectionOrderbyInput]
+ search: String
+ status: PostStatusEnum
+ title: String
+}
+
+type RootQueryToPostConnectionEdge {
+ cursor: String
+ node: Post!
+}
+
+type RootQueryToPostConnectionPageInfo {
+ endCursor: String
+ hasNextPage: Boolean!
+ hasPreviousPage: Boolean!
+ startCursor: String
+ total: Int
+}
+
+type RootQueryToPostConnection {
+ edges: [RootQueryToPostConnectionEdge!]!
+ pageInfo: RootQueryToPostConnectionPageInfo!
+}`;
+
+// cSpell:ignore Acfposts
diff --git a/tests/msw/schema/types/thematic.types.ts b/tests/msw/schema/types/thematic.types.ts
new file mode 100644
index 0000000..afa95c9
--- /dev/null
+++ b/tests/msw/schema/types/thematic.types.ts
@@ -0,0 +1,20 @@
+export const thematicTypes = `union Thematic_Acfthematics_PostsInThematic = Post
+
+type Thematic_Acfthematics {
+ postsInThematic: [Thematic_Acfthematics_PostsInThematic]
+}
+
+type Thematic {
+ acfThematics: Thematic_Acfthematics
+ contentParts: ContentPartsType
+ databaseId: Int!
+ date: String
+ featuredImage: NodeWithFeaturedImageToMediaItemConnectionEdge
+ info: InfoType
+ modified: String
+ seo: PostTypeSEO
+ slug: String
+ title(format: PostObjectFieldFormatEnum): String
+}`;
+
+// cSpell:ignore Acfthematics
diff --git a/tests/msw/schema/types/topic.types.ts b/tests/msw/schema/types/topic.types.ts
new file mode 100644
index 0000000..ba9abb7
--- /dev/null
+++ b/tests/msw/schema/types/topic.types.ts
@@ -0,0 +1,21 @@
+export const topicTypes = `union Topic_Acftopics_PostsInTopic = Post
+
+type Topic_Acftopics {
+ officialWebsite: String
+ postsInTopic: [Topic_Acftopics_PostsInTopic]
+}
+
+type Topic {
+ acfTopics: Topic_Acftopics
+ contentParts: ContentPartsType
+ databaseId: Int!
+ date: String
+ featuredImage: NodeWithFeaturedImageToMediaItemConnectionEdge
+ info: InfoType
+ modified: String
+ seo: PostTypeSEO
+ slug: String
+ title(format: PostObjectFieldFormatEnum): String
+}`;
+
+// cSpell:ignore Acftopics
diff --git a/yarn.lock b/yarn.lock
index ca5cba9..c4ddaee 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1135,6 +1135,27 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
+"@bundled-es-modules/cookie@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@bundled-es-modules/cookie/-/cookie-2.0.0.tgz#c3b82703969a61cf6a46e959a012b2c257f6b164"
+ integrity sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==
+ dependencies:
+ cookie "^0.5.0"
+
+"@bundled-es-modules/js-levenshtein@^2.0.1":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@bundled-es-modules/js-levenshtein/-/js-levenshtein-2.0.1.tgz#b02bbbd546358ab77080a430f0911cfc2b3779c4"
+ integrity sha512-DERMS3yfbAljKsQc0U2wcqGKUWpdFjwqWuoMugEJlqBnKO180/n+4SR/J8MRDt1AN48X1ovgoD9KrdVXcaa3Rg==
+ dependencies:
+ js-levenshtein "^1.1.6"
+
+"@bundled-es-modules/statuses@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz#761d10f44e51a94902c4da48675b71a76cc98872"
+ integrity sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==
+ dependencies:
+ statuses "^2.0.1"
+
"@colors/colors@1.5.0":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
@@ -1860,6 +1881,11 @@
resolved "https://registry.yarnpkg.com/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz#c05ed35ad82df8e6ac616c68b92c2282bd083ba4"
integrity sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==
+"@fastify/busboy@^2.0.0":
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.0.tgz#0709e9f4cb252351c609c6e6d8d6779a8d25edff"
+ integrity sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==
+
"@floating-ui/core@^1.4.2":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.5.0.tgz#5c05c60d5ae2d05101c3021c1a2a350ddc027f8c"
@@ -1989,6 +2015,39 @@
tslib "^2.4.0"
typescript "5"
+"@graphql-tools/merge@^9.0.1":
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-9.0.1.tgz#693f15da152339284469b1ce5c6827e3ae350a29"
+ integrity sha512-hIEExWO9fjA6vzsVjJ3s0cCQ+Q/BEeMVJZtMXd7nbaVefVy0YDyYlEkeoYYNV3NVVvu1G9lr6DM1Qd0DGo9Caw==
+ dependencies:
+ "@graphql-tools/utils" "^10.0.10"
+ tslib "^2.4.0"
+
+"@graphql-tools/schema@^10.0.2":
+ version "10.0.2"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-10.0.2.tgz#21bc2ee25a65fb4890d2e5f9f22ef1f733aa81da"
+ integrity sha512-TbPsIZnWyDCLhgPGnDjt4hosiNU2mF/rNtSk5BVaXWnZqvKJ6gzJV4fcHcvhRIwtscDMW2/YTnK6dLVnk8pc4w==
+ dependencies:
+ "@graphql-tools/merge" "^9.0.1"
+ "@graphql-tools/utils" "^10.0.10"
+ tslib "^2.4.0"
+ value-or-promise "^1.0.12"
+
+"@graphql-tools/utils@^10.0.10", "@graphql-tools/utils@^10.0.11":
+ version "10.0.11"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-10.0.11.tgz#1238fbe37e8d6c662c48ab2477c98269d6fd851a"
+ integrity sha512-vVjXgKn6zjXIlYBd7yJxCVMYGb5j18gE3hx3Qw3mNsSEsYQXbJbPdlwb7Fc9FogsJei5AaqiQerqH4kAosp1nQ==
+ dependencies:
+ "@graphql-typed-document-node/core" "^3.1.1"
+ cross-inspect "1.0.0"
+ dset "^3.1.2"
+ tslib "^2.4.0"
+
+"@graphql-typed-document-node/core@^3.1.1":
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861"
+ integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==
+
"@humanwhocodes/config-array@^0.11.13":
version "0.11.13"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297"
@@ -2341,6 +2400,23 @@
dependencies:
"@types/mdx" "^2.0.0"
+"@mswjs/cookies@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@mswjs/cookies/-/cookies-1.1.0.tgz#1528eb43630caf83a1d75d5332b30e75e9bb1b5b"
+ integrity sha512-0ZcCVQxifZmhwNBoQIrystCb+2sWBY2Zw8lpfJBPCHGCA/HWqehITeCRVIv4VMy8MPlaHo2w2pTHFV2pFfqKPw==
+
+"@mswjs/interceptors@^0.25.11":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@mswjs/interceptors/-/interceptors-0.25.12.tgz#f54d9e432aa5d3b149aa6c6356e611ac12eba5d4"
+ integrity sha512-a+zyoR01cPQeukSmaDEkE6aMwSjjfcT5ILzsyxmctEeCePnc2DMOd0X8Fn9bytq1IsAfMxJf/lu2aTfdivDbRg==
+ dependencies:
+ "@open-draft/deferred-promise" "^2.2.0"
+ "@open-draft/logger" "^0.3.0"
+ "@open-draft/until" "^2.0.0"
+ is-node-process "^1.2.0"
+ outvariant "^1.2.1"
+ strict-event-emitter "^0.5.1"
+
"@ndelangen/get-tarball@^3.0.7":
version "3.0.9"
resolved "https://registry.yarnpkg.com/@ndelangen/get-tarball/-/get-tarball-3.0.9.tgz#727ff4454e65f34707e742a59e5e6b1f525d8964"
@@ -2447,6 +2523,24 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
+"@open-draft/deferred-promise@^2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz#4a822d10f6f0e316be4d67b4d4f8c9a124b073bd"
+ integrity sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==
+
+"@open-draft/logger@^0.3.0":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@open-draft/logger/-/logger-0.3.0.tgz#2b3ab1242b360aa0adb28b85f5d7da1c133a0954"
+ integrity sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==
+ dependencies:
+ is-node-process "^1.2.0"
+ outvariant "^1.4.0"
+
+"@open-draft/until@^2.0.0", "@open-draft/until@^2.1.0":
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/@open-draft/until/-/until-2.1.0.tgz#0acf32f470af2ceaf47f095cdecd40d68666efda"
+ integrity sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==
+
"@pkgjs/parseargs@^0.11.0":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
@@ -4022,6 +4116,11 @@
dependencies:
"@types/node" "*"
+"@types/cookie@^0.4.1":
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d"
+ integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==
+
"@types/cross-spawn@^6.0.2":
version "6.0.5"
resolved "https://registry.yarnpkg.com/@types/cross-spawn/-/cross-spawn-6.0.5.tgz#1f9a5311e0e54d6f88017ba6d564a958d1aa359f"
@@ -4178,6 +4277,11 @@
expect "^29.0.0"
pretty-format "^29.0.0"
+"@types/js-levenshtein@^1.1.1":
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/@types/js-levenshtein/-/js-levenshtein-1.1.3.tgz#a6fd0bdc8255b274e5438e0bfb25f154492d1106"
+ integrity sha512-jd+Q+sD20Qfu9e2aEXogiO3vpOC1PYJOUdyN9gvs4Qrvkg4wF43L5OhqrPeokdv8TL0/mXoYfpkcoGZMNN2pkQ==
+
"@types/jsdom@^20.0.0":
version "20.0.1"
resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808"
@@ -4369,6 +4473,11 @@
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8"
integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==
+"@types/statuses@^2.0.1":
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/@types/statuses/-/statuses-2.0.4.tgz#041143ba4a918e8f080f8b0ffbe3d4cb514e2315"
+ integrity sha512-eqNDvZsCNY49OAXB0Firg/Sc2BgoWsntsLUdybGFOhAfCD6QJ2n9HXUIHGqt5qjrxmMv4wS8WLAw43ZkKcJ8Pw==
+
"@types/tough-cookie@*":
version "4.0.5"
resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304"
@@ -5719,7 +5828,7 @@ chalk@^3.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2:
+chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -5752,12 +5861,17 @@ character-reference-invalid@^2.0.0:
resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9"
integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==
+chardet@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
+ integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+
check-more-types@^2.24.0:
version "2.24.0"
resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600"
integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==
-"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3:
+"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.2, chokidar@^3.5.3:
version "3.5.3"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
@@ -5869,6 +5983,11 @@ cli-truncate@^3.1.0:
slice-ansi "^5.0.0"
string-width "^5.0.0"
+cli-width@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
+ integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
+
client-only@0.0.1, client-only@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1"
@@ -6370,7 +6489,7 @@ cookie-signature@1.0.6:
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
-cookie@0.5.0:
+cookie@0.5.0, cookie@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
@@ -6479,6 +6598,13 @@ create-jest@^29.7.0:
jest-util "^29.7.0"
prompts "^2.0.1"
+cross-inspect@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/cross-inspect/-/cross-inspect-1.0.0.tgz#5fda1af759a148594d2d58394a9e21364f6849af"
+ integrity sha512-4PFfn4b5ZN6FMNGSZlyb7wUhuN8wvj8t/VQHZdM4JsDcruGJ8L2kf9zao98QIrBPFCpdk27qst/AGTl7pL3ypQ==
+ dependencies:
+ tslib "^2.4.0"
+
cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
@@ -7193,6 +7319,11 @@ dotgitignore@^2.1.0:
find-up "^3.0.0"
minimatch "^3.0.4"
+dset@^3.1.2:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.3.tgz#c194147f159841148e8e34ca41f638556d9542d2"
+ integrity sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==
+
duplexer@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
@@ -7994,6 +8125,15 @@ extend@^3.0.0, extend@~3.0.2:
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+external-editor@^3.0.3:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
+ integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
+ dependencies:
+ chardet "^0.7.0"
+ iconv-lite "^0.4.24"
+ tmp "^0.0.33"
+
extract-zip@2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a"
@@ -8109,7 +8249,7 @@ fetch-retry@^5.0.2:
resolved "https://registry.yarnpkg.com/fetch-retry/-/fetch-retry-5.0.6.tgz#17d0bc90423405b7a88b74355bf364acd2a7fa56"
integrity sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==
-figures@^3.1.0, figures@^3.2.0:
+figures@^3.0.0, figures@^3.1.0, figures@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
@@ -8990,6 +9130,11 @@ he@^1.2.0:
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+headers-polyfill@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/headers-polyfill/-/headers-polyfill-4.0.2.tgz#9115a76eee3ce8fbf95b6e3c6bf82d936785b44a"
+ integrity sha512-EWGTfnTqAO2L/j5HZgoM/3z82L7necsJ0pO9Tp0X1wil3PDLrkypTBRgVO2ExehEEvUycejZD3FuRaXpZZc3kw==
+
hmac-drbg@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
@@ -9157,7 +9302,7 @@ husky@^8.0.3:
resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184"
integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==
-iconv-lite@0.4.24:
+iconv-lite@0.4.24, iconv-lite@^0.4.24:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
@@ -9267,6 +9412,27 @@ inline-style-parser@0.1.1:
resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1"
integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==
+inquirer@^8.2.0:
+ 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"
+
internal-slot@^1.0.4, internal-slot@^1.0.5:
version "1.0.6"
resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930"
@@ -9500,6 +9666,11 @@ is-negative-zero@^2.0.2:
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
+is-node-process@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/is-node-process/-/is-node-process-1.2.0.tgz#ea02a1b90ddb3934a19aea414e88edef7e11d134"
+ integrity sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==
+
is-number-object@^1.0.4:
version "1.0.7"
resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc"
@@ -10165,6 +10336,11 @@ jiti@^1.18.2, jiti@^1.19.1:
resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d"
integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==
+js-levenshtein@^1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"
+ integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==
+
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -11450,6 +11626,38 @@ ms@2.1.3, ms@^2.1.1:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+msw@^2.0.9:
+ version "2.0.9"
+ resolved "https://registry.yarnpkg.com/msw/-/msw-2.0.9.tgz#ac42b8382ed8178b9b0fe6087a1efcc2ee8209a8"
+ integrity sha512-rl3kuGS+wuB4EKyL5nJ5WIoteCIzIgySp5b2hmIQ7fuXFfDfn/yD+E0k/3lDNFnC79tM3cuws6XmJEdPr7y+Zg==
+ dependencies:
+ "@bundled-es-modules/cookie" "^2.0.0"
+ "@bundled-es-modules/js-levenshtein" "^2.0.1"
+ "@bundled-es-modules/statuses" "^1.0.1"
+ "@mswjs/cookies" "^1.1.0"
+ "@mswjs/interceptors" "^0.25.11"
+ "@open-draft/until" "^2.1.0"
+ "@types/cookie" "^0.4.1"
+ "@types/js-levenshtein" "^1.1.1"
+ "@types/statuses" "^2.0.1"
+ chalk "^4.1.2"
+ chokidar "^3.4.2"
+ graphql "^16.8.1"
+ headers-polyfill "^4.0.1"
+ inquirer "^8.2.0"
+ is-node-process "^1.2.0"
+ js-levenshtein "^1.1.6"
+ outvariant "^1.4.0"
+ path-to-regexp "^6.2.0"
+ strict-event-emitter "^0.5.0"
+ type-fest "^2.19.0"
+ yargs "^17.3.1"
+
+mute-stream@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
+ integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
+
nanoid@^3.3.6:
version "3.3.7"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
@@ -11811,11 +12019,21 @@ os-browserify@^0.3.0:
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==
+os-tmpdir@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+ integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==
+
ospath@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b"
integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==
+outvariant@^1.2.1, outvariant@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.0.tgz#e742e4bda77692da3eca698ef5bfac62d9fba06e"
+ integrity sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw==
+
p-limit@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
@@ -12044,6 +12262,11 @@ path-to-regexp@0.1.7:
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
+path-to-regexp@^6.2.0:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.1.tgz#d54934d6798eb9e5ef14e7af7962c945906918e5"
+ integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==
+
path-type@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
@@ -13140,6 +13363,11 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
hash-base "^3.0.0"
inherits "^2.0.1"
+run-async@^2.4.0:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
+ integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
+
run-parallel@^1.1.9:
version "1.2.0"
resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
@@ -13147,7 +13375,7 @@ run-parallel@^1.1.9:
dependencies:
queue-microtask "^1.2.2"
-rxjs@^7.5.1:
+rxjs@^7.5.1, rxjs@^7.5.5:
version "7.8.1"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543"
integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==
@@ -13589,7 +13817,7 @@ stackframe@^1.3.4:
resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310"
integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==
-statuses@2.0.1:
+statuses@2.0.1, statuses@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
@@ -13663,6 +13891,11 @@ streamx@^2.15.0:
fast-fifo "^1.1.0"
queue-tick "^1.0.1"
+strict-event-emitter@^0.5.0, strict-event-emitter@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz#1602ece81c51574ca39c6815e09f1a3e8550bd93"
+ integrity sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==
+
string-argv@0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6"
@@ -14167,7 +14400,7 @@ through2@^4.0.0:
dependencies:
readable-stream "3"
-through@2, "through@>=2.2.7 <3", through@^2.3.8:
+through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
@@ -14184,6 +14417,13 @@ tiny-invariant@^1.3.1:
resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642"
integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==
+tmp@^0.0.33:
+ version "0.0.33"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
+ dependencies:
+ os-tmpdir "~1.0.2"
+
tmp@~0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14"
@@ -14478,6 +14718,13 @@ undici-types@~5.26.4:
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
+undici@^5.28.1:
+ version "5.28.1"
+ resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.1.tgz#1052d37bd1a2e8cf3e188d7caebff833fdc06fa7"
+ integrity sha512-xcIIvj1LOQH9zAL54iWFkuDEaIVEjLrru7qRpa3GrEEHk6OBhb/LycuUY2m7VCcTuDeLziXCxobQVyKExyGeIA==
+ dependencies:
+ "@fastify/busboy" "^2.0.0"
+
unicode-canonical-property-names-ecmascript@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"
@@ -14758,6 +15005,11 @@ validate-npm-package-license@^3.0.1:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
+value-or-promise@^1.0.12:
+ version "1.0.12"
+ resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c"
+ integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==
+
vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
@@ -15037,7 +15289,7 @@ wordwrap@^1.0.0:
string-width "^4.1.0"
strip-ansi "^6.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==